My Perfect Desktop (part 1 – documents)

Posted by on Nov 20, 2008 in KDE | 13 Comments

Over the last few month I though a lot about the future of desktop operating systems and how a perfect desktop operating should look like in my opinion.

After discussing this stuff with friends I decided to blog about the ideas. Please post your comments and ideas.

This is strictly from a user point of view. So this is not about technologies but about user experience.

Lots of this stuff is already possible in recent linux distributions. But it is not enabled by default, requires a lot of technical understanding or even custom scripting. I think all this聽functionality聽should be available and enabled by default so that an average user can use this without much learning. No difficult system administration should be needed.

Part 1 – Documents

Document and file handling is more or less the same as 25 years ago.

I store my personal documents and files on my pc in a document folder. Organized in subfolders.

What I expect from a 2008 desktop operating system is:

  • document folder in my home directory. Not readable for other users.
  • fulltext search on all documents
  • tagging, rating, commenting of the documents
  • different semantic views on the file. For example show all files of project X
  • export. It should be possible to export and archive specific tagged files to a dvd with on click. for example all holiday pictures.
  • encrypted. the document folder should be encrypted by default
  • very sensible files should additionally encrypt-able. This should work easy without complicated key management.
  • compression. rarely used files should be compressed automatically to safe storage. decompress should work transparently. The user don麓t have to care.
  • accessible from remote. If I have only my mobile phone with me I still want to access all my documents. Access should also be possible from an internet cafe from the other side of the world. Strong encryption and authentication, of course.
  • 聽backup. automatic backups to a different harddisk, fileserver or webservice. No setup or configuration of backup software should be needed. Old backups are automatically deleted if the harddisc gets full.
  • versioned – all files are revision controlled. I can always go back to an older version of a document. Old revisions are automatically deleted if the harddisc gets full. So no system administration is needed. Accessible view a user friendly GUI and the filedialog. So now svn commands please.
  • sync with other computers – I want to sync all files or a part of the files to a second pc or a notebook. The files a synchronized automatically later if the pc are in the same network again.
  • share with other people – I can mark files or folders and share them with specific friends. This should be easy. Without knowledge of network infrastructure.
  • extensible – if the harddisk is full you can buy an additional one and have a more space without much configuration.
Enough daydreaming for now. 馃檪
What do you think?

13 Comments

  1. Dorian
    20/11/2008

    Now lets make it happen with KDE. 馃檪

    Reply
  2. Some
    20/11/2008

    You are so right! I had similar thoughts as well …

    As for backup and versioning, something like time machine is probably the answer. I use dirvish for backup on my desktop machine, but as you say: it’s way too complicated to setup and not exactly user friendly when it comes to browsing and restoring…

    What I consider really important for syncing is syncing not only files, but also their metadata. This becomes even more important, the more nepomuk becomes widely used i.e. syncing also comments, ratings and so on. However this is not only about files, but also about apps. E.g. in amarok it should sync all metadata that is not stored in the songfiles. When I sorted out all the covers from amazon for my collection, I don’t want to do it all over again on my laptop. Or KMail: I have set up a bunch of filters, and I don’t want to have to do that manually again on my laptop. Of course it should sync email as well (IMAP is not always an option) … Kopete: sync histories, Basket: sync notepads, Konqueror: sync bookmarks… and so on …

    Michael

    Reply
  3. Crist贸v茫o Sousa
    20/11/2008

    For file sync, revison and sharing: something like a mix of Timemachine, ZFS and Dropbox?…

    For metadata: big questions about storage model. One metadata file per data file? One big metadata file for everything? One metadata file per group of files? Per folder? Metadata embedded in data files? File system support? Metadata storage visible or invisible to the user?

    Reply
  4. Carsten Niehaus
    20/11/2008

    I really think that tagging + encryption + search (with metainformation like “give me all text about dogs in paris”) is what I want. The rest cannot be done automatically, I think.

    Kerry/Beagle is already quite nice, but still is not enough for me. Still, I am using it every day as it is the currently best solution (even though I am also sometimes using Tracker ’cause it is also quite nice).

    Reply
  5. DanielW
    20/11/2008

    Cristóvão Sousa:

    KDE has already answerd the question of about how storing the metadata. (The rating, tagging, coments is already there).

    It uses Nepomuk for that, which uses a RDF trible store.

    Reply
  6. Gr贸sz
    21/11/2008

    For me: no, thanks. I want to control what the computer does and I don’t want it to guess what I want. If I want these features, I configure my system so that it does them. Of course cimple users can’t do that but they don’t want most of these features. Some of them could be made easies for newbies, otoh I don’t think all these things as default is a good idea. And of course access from everywhere by default is impossible (needs either an always internet-connected machine at home or files stored on a server maintained by someone else but the latter is slow and insecure).

    Reply
  7. zypres
    21/11/2008

    Thanks for sharing what we all missed.. Lets put it up in the roadmap, and make some new pillars and stuff..

    Reply
  8. Il Lunatico
    21/11/2008

    Personally speaking, I don’t like the idea of too much things done automatically by the PC.

    Reply
  9. Janne
    21/11/2008

    “Of course cimple users can’t do that but they don’t want most of these features.”

    Users don’t want backups? Everybody wants backups. They might not know that they want them, but they do.

    Users don’t want full, desktop-wide searching? yes they do

    OS X has really nailed this down. Backups are so simple that everybody does them. And not only does it backs up, it’s versioning as well. This isn’t such a feature that you need a PhD. in computer science to have it. And if aren’t an uber-geek, you don’t deserve that feature?

    I’m sorry, but that’s just wrong.

    Features, even advanced features should be simple.

    “I want to control what the computer does and I don’t want it to guess what I want.”

    You have already given up huge amount of control to the computer. Besides, these features ar not the kind that forces you to alter your workflow. Rather, they are things that make your work easier. I mean, how would 100% transparent indexing of your files harm you? It wouldn’t. How would automatic and transparent backups harm you? It wouldn’t. How woudl optional tagginh harm you? it wouldn’t.

    And the way I see this list of features, it isn’a a list of features that would be forced on the suer, but rather, a list of capabilities that is presented to the user.

    Reply
  10. Fran莽ois
    21/11/2008

    “I want to control what the computer does”

    Your comments are counterproductive. Just install your custom made kernel, use only a console and you’ll have what you want. We’re talking about desktop here.

    So please go control those threads that do too much context switching on their own and give the rest of the world a break.

    Reply
  11. Crist贸v茫o Sousa
    21/11/2008

    Ah, Nepomuk… I knew it but I wasn’t sure it does the work in best way. RDF? Hum, it sounds very good 馃檪 Nice.

    Again, about transparent revisions, I’ve read a little more about ZFS… Bad it’s not compatible with GPL license 馃檨

    As I understand KDE have many goals that are in the list 馃檪

    I think this type of brainstorming (technology agnostic) is fundamental to software design: first know what you want, then find the best way to do that.

    Reply
  12. Gr贸sz
    22/11/2008

    “Users don’t want backups?”

    The request was that no configuration is needed. But in many computers there is only one hard disk – automatic backup is impossible. And if there is more than one, it should just start to copy the contents of the disk containing the system to the other? And if the user wants to store other data on it? If we drop the “no configuration” requirement, there is RAID for a long time.

    “You have already given up huge amount of control to the computer.”
    “Just install your custom made kernel, use only a console and you’ll have what you want.”

    But I can normally predict what it will do, where it stores what, which computer and which hardware does an operation use, and whether it does what I told it to do or also some other (neccessary or not neccessary) things (that will use what order of resource).

    “I mean, how would 100% transparent indexing of your files harm you?”

    Slows down my system while I don’t need it. Beagle did that until I killed it. If I keep my files organized, even if I have to search, I can tell in which files I have to search so it’s needless to search in all my files. But actually I practically never do search in the contents of files.

    “How would automatic and transparent backups harm you?”

    It harms me if I don’t know exactly what is backed up and where because I might think that something is backed up somewhere while it isn’t. It does not harm me if it’s me who says what should be backed up and where but that’s what we call configuration.

    “How woudl optional tagginh harm you?”

    I could (actually I won’t because I check how it works if I’m uncertain, but simple users could) not know where the tags are stored and at which operations are they preserved, and could believe that they are parts of the files. This would easily lead to bad surprises e. g. if the user makes a backup of the files with filesystem commands and does not realize that metadata is not saved, while in the meantime he got unused to organize the files in a good directory structure and got used to rely on tags. Metadata in filesystem would be better but (most) current filesystems do not support it and all OSes and removable devices won’t use such a filesystem in the foreseeable future.

    Reply
  13. Gr贸sz
    22/11/2008

    So about the points one-by-one:

    “document folder in my home directory. Not readable for other users.”

    Users of desktop computers are tipically family members. What causes more problems is tipically that simple users who don’t know the permission system can’t work on the same document when logged in with different account. If they know anything about permissions, they can make the home directory non-readably by others with a few clicks.

    “fulltext search on all documents”

    As I said previously, slows down things, many times unnecessarily. And, if users se all kind of documents appear as desktop search hits, they might think that any kind of document, or even any content they open is indexed, and rely on desktop search like if it reliably found everything that contains the pattern, so one format or program that does not support indexing is enough to make the user think that what he searches for does not exist, while in fact it does. If the user has to look at files in a well-oprganized directory structure, they won’t miss that file because it is in the directory where the searched file has to be.

    “tagging, rating, commenting of the documents”

    As I said before, it does more harm than good if metadata are not stored strongly linked to the file at filesystem level. And if we wanted such a filesystem-level connection, not only the OS has to use such a filesystem but also every CD and pendrive, and every network protocol has to support it. This is unlikely to happen, and if it happens, it is absolutely not a desktop environment-level thing.

    “different semantic views on the file. For example show all files of project X”

    If you want it with file metadata, my opinion about the previous point applies. Btw normally one keeps files of a project in a directory.

    “export. It should be possible to export and archive specific tagged files to a dvd with on click. for example all holiday pictures.”

    This can be done if you store your photos in any way where those photos can be easily found, either by metadata/desktop search or good directory structure. In the latter way it is surely a few clicks.

    “encrypted. the document folder should be encrypted by default”

    Makes sense in case the computer is stolen (but not to protect data from other users, with physical access simply encripting the document folder cannot stop them from installing a keylogger to steal your password). But I think an encrypted folder in the home directory is better because many documents don’t have to be encrypted and encription just slows down the thing. And of course encryption has to be done with a strong password of the user.

    “compression. rarely used files should be compressed automatically to safe storage. decompress should work transparently. The user don´t have to care. “

    Makes sense. It can also lead to bad surprises but not with simple users. (Bad surprise: e. g. it’s a DVD ISO, and you need a file from it. You want to mount it with -o loop but you have to wait for the decompressing of 4 GB.)

    “accessible from remote. If I have only my mobile phone with me I still want to access all my documents. Access should also be possible from an internet cafe from the other side of the world. Strong encryption and authentication, of course.”

    As I wrote before, this is also a case where it cannot be done completely automatically because the computer of the user is normally not always turned on. There are many solutions (home server, computer always turned on, web storage etc.) but all of them has advantages and inconveniences and necessarily need setup.

    “versioned – all files are revision controlled. I can always go back to an older version of a document. Old revisions are automatically deleted if the harddisc gets full.”

    Has little value if it is not completely clear which old versions of which files, and when will be deleted because the user cannot rely on anything still being present next time. What’s worse, they might realize that old versions are sometimes deleted when it first happens.

    “sync with other computers”

    I like that idea and have already thought before that such a networking filesystem is missing. But it cannot be completely automatic because conflicts can occur whena file is modified on two computers when they are offline and apart from simple cases conflicts cannot be automatically solved.

    “share with other people – I can mark files or folders and share them with specific friends. This should be easy. Without knowledge of network infrastructure.”

    With IPv4 this is practically impossible without knowledge of the network structure mecause many computers are behind routers. With fixed IP address of every computer the missing part will be the authentication of friends. That is an interesting idea.

    Reply

Leave a Reply