Tuesday, June 17, 2008

desktop-like Desktops

I know it's hard to believe for young'ens, but most of you out there probably remember a time before all the computer terms. Remember the "information superhighway"? Or the first time you used "bookmarks". Now, what about "desktops"? like way back in windows 3.1... when you start windows by typing "win" do you remember first hearing about those?

Wasn't that an interesting way of introducing a new user interface? See this picture thing? It's just like your desktop, you can put stuff on it and it's where you can do your work. Except back in 3.1, computers weren't very impressive. The "desktop" was just a wallpaper image with files and shortcuts.

Fast forward fifteen years, to Windows Vista, Apple Leopard, Ubuntu H. The "desktop" works exactly the same way it did before -- namely, nothing. "Go to Desktop" actually means "clear off all these pesky windows." Oh, there are little things here and there, like the pretty windows effects, cool alt-tab animations, and apple has them cool things for show-offs to show off, but it's pretty much the same ol' useless desktop that you'll need to clear off every few months.

When I'm in the office, whether I'm busy filing papers or pretending to file papers with a stapler and some post-it notes, my desktop is always packed with stuff I need. Student records, telephone book, pens, blank sheets of paper, a sycophant made out of 7 staples on a sticky note, it's all there, right where I need them.

On Windows, when you are trying to be productive, you'll probably have word, email, online thesaurus, some classical music, and minesweeper all opened at the same time. You don't really want your aim on (at least not with sound), and probably want excel and pdf to be preloaded so checking some xls files won't take up 2 minutes each, and you ABSOLUTELY do not want windows update to restart your computer for any reason(unless you're really desperate for an excuse).

It would also be nice to have friendly timer that reminds you of lunch breaks and when you get off work and when your boss is in a meeting. You'll also want to access all the latest documents without searching through each subfolder in "my documents."

Yet, this is only if you're at work. If you bring your computer back home, you don't want to look at all the files that you almost finished at work or any of your TODO lists. It just needs to open up the walkthough for mass effect and start the game.

So, to design a desktop-like Desktop, the experience has to be about productivity -- what does a user need to do their work? How does an operating system help the user to get stuff done? We have the machinery, just gotta put it together. Why did people care about tabbed browsing? It's the SAME EXACT thing as having multiple windows opened, except that you can actually read the words on the toolbar when you open more than five webpages. Organize the desktop programmers!

First off, programs. Each program needs to have different session information. Look at unix. Boot up, and it'll automatically load the programs you had when you shut it off. That's great, but let's have more of that. Give users the ability to save the session and come back to it later. I'm opening up wikipedia, dictionary.com, google, work gmail on firefox, and I'm gonna have a sleepy music playlist on winamp for work. At home, I want to have ebay, personal gmail, amazon.com opened on firefox, and some cool music playlist on winamp. If your program have sessions, let the user save them.

Second, workspace. Don't have just one, have many. Look at how cool compiz fusion is. Linux/unix have had them around for ages. But it's not just a cool, geeky feature, it helps the user organize the programs that are running. Which also means each workspace should have its own session information. Place the time widget on the workspace for work, and don't put it on the workspace for play, and remember it the next time I get on those workspaces. Make it easy for the user to change between different workspaces. In fact, forget about "creating a new workspace" and "closing this workspace". Do it automatically. When the user leaves the workspace for a set period of time or need the resources for something else, set that workspace to standby. Save sessions, autosave documents, copy the memory to the disc and free the memory.

Third, files. Each workspace should remember the files that have changed when it's opened. If the os doesn't want to do it, save enough information someplace and let other programs suggest the files you'll be interested in. Have I ever told anyone how much I hate organizing my desktop? URG! common, stuff I put on there from 8:00~4:00 are for work, and stuff after are for play. If I only accessed the file once ever (like an installation file), it probably doesn't need to waste space on my cluttered desktop. It's common sense, people! Now, of course files needs to be saved somewhere so that you can find it from your file directory. But is it really necessary to have the desktop to only contain files in the c:\documents and settings\username\desktop ? Having a video in the background, and do a little google magic to find out what programs I wanna run and what files I want to use, okay?

Speaking of which, here's a little tangrant on files -- WHY ARE THERE SO MANY FILES!!!!???? Out of the 5 gazillion files I have on my hd, I created 50, regularly use 70, want to keep 90, and what are all the other 5 gazillion minus 210 files doing there? They're just waiting for me to mistakenly delete them and destroy my computer. Yahyah, I know what you're thinking, you need those files to run windows, and it's the data file for such and such program, and you need the dll's to be separate files so other programs can use it, blah blah. WHO cares!!?? The user only wants to know what it is and what to do with it. Windows has the right idea when it hides system files, but what about other program's "system files"? Use metadata and organize the filesystem, which programs uses which files, which ones are supposedly user accessible, and which aren't. Unless they are 1337 programmers, users probably won't be changing any binary files, so don't let the user or other programs change binary files with any program without a sudo. It's user permission for programs. File x belongs to program y, other programs may read x, but only program y can change the file. Linux/unix uses home directories to separate user stuff from system stuff. But what if I want to see which files WoW has accessed, or I suspect a program is infected? Permissions / easily accessed log files will go a long way.

We use computers everyday but with the way we have to bend over backwards to get the simplest stuff to work the way we want it, it's like computers are using us. Here are just a few of my ideas to make the desktop better. So... Anyone up to the task?

No comments: