Introduction and an Idea

Dylan McCall dylanmccall at gmail.com
Mon Nov 10 08:10:28 UTC 2008


Hi,

Here's a bit of a tangent on my part, but ideas grow well when there are
a few different ones! I was thinking that the conventional "backup tool"
is a rather unnecessary, kludgey design. Perhaps this could be
accomplished with a "backup:" URI implemented in gvfs, where backup
destinations get configured via a special GUI but everything else done
through normal file management. This way functionality magically grows
as file managers get smarter and as configuration tools gather the wits
to provide easy drag & drop for the configuration files they control.

Dropping a file in the backup area would create a link to it, then a
backup daemon would do its thing, perhaps triggered upon the insertion
of a particular device. By doing it as a virtual file system, the thing
is modular. Different backup solutions could be created, perhaps that
specialize in revision control or that talk to box.net, without exerting
any pressure on the user.
Tidy and integrated :)

Recovering backups is on the other side of the spectrum. A more
specialized backup recovery GUI would do the trick there since it is a
different kind of operation - one that the user expects to give his full
attention to and expects a rich interface from in return. Ideas for rich
interface:

      * The Nemo file manager organizes files by date with a calendar
        view. Could be cool to explore similar ideas for some aspects.
      * We should present revisions of files. With backups happening
        passively, a super intelligent system could do them to multiple
        media. For example, backups could be made to a 1 GB box.net
        account as well as a portable hard drive, where the more
        important files are kept up to date on box.net (since of course
        not everything can be stored in that little space!) and the
        portable hard drive has its main priority set to storing
        significant modifications of files over a long period of time. A
        backup of backup settings could be quietly done to a selected
        USB flash drive, as a hidden file on its base directory. Open
        the restore tool and it detects all media with backups on them,
        then merges them into a single view. With the backup of backups,
        it could suggest other places the files may be. (On a different
        topic, wouldn't it be awesome if the OS could keep track of such
        things all the time?)
      * Autodetect configuration files from programs and offer to
        restore them.
      * Drag and drop. Hold nothing back. On that topic, we should be
        able to yank configuration details from their GUI tools and dump
        them (maybe archived), wherever we want such as into backup
        directories. I think the holy grail there is having something
        like the Tango Window Experiments but even cooler; the top left
        of every configuration window (gnome-control-center stuff,
        gconf-editor and Preferences in every application) becomes a big
        emblem that represents the file being controlled by said
        interface, which is draggable and droppable just like any other
        file in a file manager and can have another copy of itself
        seamlessly dropped on top... but that's someone else's battle.
        (Well, actually I'm working on it, but you can too :P).

Another thing that needs to be pondered is letting other applications in
on the backup and restore thing. For example, a "Backup my photos" and
"Restore my photos" button in F-Spot that talks to the backup system.
Programs talking to that system could be a simple as accessing a backup:
and restore: URI. The restore URI could mirror the existing file
hierarchy, so a program "just" stops reading file: and starts reading
restore:

The big problem with backup tools today is that it's where everyone's
user interface paradigm (including our own) crumbles into dust. That
user interface is both application-centric and file-centric. In short,
sometimes the user runs an application to open a file; other times he
opens a file to run an application. Sometimes he does both, sometimes he
does one and a half and sometimes he does neither, opting to use a
sledgehammer.

Take, as an example, uploading a photo to a web site. You can open the
site in a web browser and use their Browse... button. That gives you a
basic file browser. Your photo is stored in the F-Spot photo library.
Good luck finding it without opening F-Spot and asking it for the path.
That is not intuitive. The other option is to open F-Spot itself and use
its "Export to PhotoShareSite" function. Thus is the big problem. F-Spot
only supports a few photo share sites, and that site of course doesn't
provide an upload path itself; F-Spot has to provide that on its own. So
we have two methods for users to work with, and neither method is
directly compatible with the other.

At this point both methods of getting and making content are here to
stay, and that may be for the better. We do indeed have two kinds of
applications: Ones that treat files as workspaces (word processors,
photo editors, video converters), and ones that treat themselves as
workspaces (games, photo managers, _file browsers_). What we need is a
happy medium technology that allows those two kinds of applications to
talk to each other more directly, not just through the VFS and the file
browser widget supplied by GTK.

Back to the web site example, with the fancy new world order:
User goes to the web site and clicks "Browse...". Instead of a file
browser, a fancy (and of course semi-transparent) content finder widget
appears. It reads into the file type filters to realize that the user
wants files of type image/jpeg image/png. Heeeey... the user's favourite
applications that provide those are Cheese, GIMP, Generic File Browser,
and F-Spot! The user sees a choice between those four content providers
and knows that he has the photos stored in F-Spot Photo Manager (not
"the folder that F-Spot Photo Manager is meant to be abstracting" as the
user must think in the present). In the future he chooses F-Spot,
selects the photo using the F-Spot interface he is accustomed to and is
done.

That would necessitate some extra work for everyone, but more in adding
simple tubes than refactoring anything.

Yes, this all comes back to backups at some point. We cannot expect
backup tools to be user friendly until the problems inherent in file
management with our user interface are tidied up, because backing up and
restoring files needs a fair bit of contact with the matter. It would
help the user very, very much if a file looked the same aboard the
backup media (eg: from the backup restore tool) as it looks in F-Spot.
That can be done by allowing a program like F-Spot to browse a photo
library when the user opens it, because that program is really nothing
more than a file manager. Why only use the one generic file manager when
F-Spot is perfectly adequate for its own content? Indeed, this doesn't
happen today, largely because the interface has been built with the
generic file manager (Nautilus in our case) on top as some omnipresent
super-being, when really it should be nothing more than a nice fallback.
In short, everything needs to fit into the same flow of steps. For a lot
of user's, their collection of files is really an assortment of
libraries, each of which belongs to a different application that you can
dig up from GNOME's Known Applications list.

I am confident that some day the file management mess will be tidier, so
the best way to help that along is by not doing anything particularly
kludgey for /this/; by building something that will stretch.


So there is my thought on the matter. Rather different from yours, but
we certainly agree on one thing: Backup tools are nice and this is a
place where we CAN innovate.


Bye,
-Dylan McCall

PS: Now /that/ is stream of consciousness writing. Speaking of cruft...

> Hello all,
> 
> This is my first post to ubuntu-devel-discuss, but not my first posting
> to a linux development list. I posted to ubuntu-devel after being
> directed there, but that group is literally ubuntu developers only.
> Anyway, I was heavily active on the lists in the earlier days of BusyBox
> and uClibc, as well as a few other packages along those lines. Rather
> than drone on, I will try to keep this post mostly business.
> 
> I would like to discuss Brainstorm Idea #1
> (http://brainstorm.ubuntu.com/idea/1/) with you. I feel that backup and
> restore is an extremely important topic as we move further and further
> into the digital future. Media such as digital photos, home movies,
> school and university work, and much more are all at risk. This is
> something that many of us know too well.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20081110/335569b3/attachment.sig>


More information about the Ubuntu-devel-discuss mailing list