Tuesday, November 08, 2005

The Desktop is The Application

Why do we use separate apps to carry out simple, everyday tasks? Couldn't there be a simpler way to carry out those tasks? What I'm proposing is somewhat radical, yet very simple in everyday use. Namely: The Desktop is The Application.

More detailed description: How do we use our systems these days? What do I do when I decide to type and send a mail to someone? Well, after I have decided that I want to send some mail, I launch Kmail/Kontact. Using the app I then type the mail, and send it. But why do I need to launch a whole app just for something as simple as that? What if I want to read some website? I launch Konqueror. What if I want to copy some files around? I launch Konqueror. And so forth. Do I really need separate apps to do those tasks?

What if we had a plasmoid in the desktop that allows me to do those tasks, without having to launch separate apps to do them? Allow me to clarify:

The plasmoid would consist of a textbox (similar to location-texbox in Konqueror). Next to the textbox would be an area for handful (3-5 at most) of buttons that could be used to carry out the task. Underneath the textbox would be an area for actually carrying out the task. And that's it.

How could I use that plasmoid? Well, I could type an URL in to the textbox (either in the web, or in the filesystem). Contents of that URL would be displayed in the area underneath the textbox. The control-button in browsing-mode could be Back, Forward, Up and Home (for example). Or if I wanted to send an email, I could simply type the address of the recipient, and I would then get a text-area underneath the textbox where I could type the message. The control-buttons could simply be (for example) "Send" and "Attach". Additional buttons aren't really needed for everyday mailing. The app could also be used to read mail, but I'm still working out the details ofthat :).

As you propably noticed already, the capabilities of the plasmoid would be limited. But it would still allow the user to carry out most everyday tasks, without having to launch separate apps to do those tasks. If the user wants more features, the full-blown apps would still be available.

Now, why have something like this? Well, not all users need all the features Kmail, Konqueror etc. offer, so having an simple alternative would be ideal. Also, since the user doesn't have to launch separate apps for his tasks, it helps keep the system tidy and manageable. Didn't David Faure say that no-one wants to do windowmanagement? Well, in this case, no windowmanagement is required, because the desktop is the application :). The app is always there, right on the desktop. If the user wants to quickly do something, he could do it right in his desktop, without having to launch separate apps. Also, every time we introduce new apps to users, we require him to learn new stuff. That would not happen with this proposal, since there would be no apps to learn really.

Of course, the user could run as many of these plasmoids as he sees fit. But the fact remains that one plasmoid could only be used for one task at a time. So the user couldn't really surf the web and write an email at the same time, using the same plasmoid. But this system is not meant for something like that, this is meant for quick and simple tasks. Of course, the user COULD use the plasmoid for his primary email-client, and he could use it as his primary web-browser (for example). But then he would lose some of the advanced features Kontact and Konqueror offer (tabs etc.). Although in case of email, all the filters the user has set up would still be applied to messages. And typing email-addresses could be automatically looked up from the Kaddressbook etc. those things wouldn't really make the app more complex to use. But the plasmoid would not have any way to configure options related to those features for example, since that would make the app more complex than it needs to be.

The examples I have mentioned (web-browsing, email, filemanagement) are simply a tip of the iceberg. Developers could simply write plugins that added functionality to the plasmoid, like they do now with KIO-slaves. I could see the plasmoid being used for playback of music and video, and doing some simple text-editing.