What Features Would Make a "Better" GUI?
Rudyatek asks: "When it comes to desktop OSs, there has been much talk about 'the end of the desktop', 'reinventing the GUI', etc. Usability has become increasingly important as we battle the ugly UIs of Windows and X11, and watch companies like Red Hat and Ximian try to improve them. But I'm curious if anyone has any clear ideas on what a truly 'better' UI would really be like? As a hobby OS programmer I have a great interest in alternative OS ideas, and this is one that I hear more complaining about than actual ideas. Anyone have ideas?"
Well, there's always true translucency. Yes, it's mostly pointless, but it's so cool to look at. But if you're going to allow that, then you have to make everything hardware accelerated (just for speed). And if you're going to do that, well, you may as well base everything on a recognized standard such as PDF for cool scaling and whatnot, and then well ... you've got Aqua, and Quartz Extreme. So why not throw in a robust video layer too. And implement that funky vsync tweak that makes window movements sooooo smoothe.
I dunno, XFree has made little progress in these directions and I just doubt it'll ever get up to par. I'd like to have native rotation, and a fast shapelib. Maybe I'm just wrong though. Everytime I tell people about the real problems I encounter with XFree I'm told they don't exist. Or they mutter something about the protocol. All I know is that I don't give a damn about network translucency (I'm no admin, just a user), I want my bloody alpha translucency. And the slowness and bugs ARE really there.
The toolkits have really progressed over time, QT and GTK really are top quality. The only layer that I find lacking, surprisingly enough is the Window Management layer of the UI. Most window managers are either ugly or half complete (like MetaCity and Sawfish2 -- which I'm told have the FEATURES of being half-complete). The cool and configurable ones, like Enlightenment DR16 are buggy as HELL. And E17 doesn't look like it'll ever be realeased.
As you can see, I could go on for days on my misinformations, but I'll cut it off here. At least I know I want a hardware accelerated, eye candied up, configurable UI.
Scripting by dragging tool (program/action) icons onto a document and connecting them with reactions (follows / pipe to / while / if). One such document (sheet) can be used as a subprogram in others.
A desktop that continues left and right (not up or down) from visible area. Activities in unseen parts are mapped to stereophonic sounds with or without visual hints. turning head / pushing with mouse bring that side visible. Just like virtual desktops except for the part of the audiovisually directing hints.
BTW: if you have been annoyed by sound feedback from your UI, you have had the sounds too loud. Same goes for visual hints. Keep them low/small and short enough not to disturb you, just visible/audible enough to inform you. Helps with becoming closer to your content (be it then cli terminals) when your UI acts as what feels natural for you.
Vocal interfaces to chats: irc2speech and VoIP. No sad attempts to have computer understand speech. It's always faster to write that script with a keyboard. So why'd we need that D&D scripting? To ease the text2concept work for the brain. Our brains have it easier with pictures. So D&DS would be for those who like to continue coding even half asleep =)
That's just some. FP, I think, no more; had too much to say
I think, therefore thoughts exist. Ego is just an impression.
The "desktop" metaphor is getting increasingly outdated, but I haven't seen a really good overhaul yet. There are some links at this site, the most interesting of which is David Gelertner's LifeStreams.
How about using root-tail to show your logs on the root window (desktop) with transparent aterms to do the rest of the work?
:D
You can keep the sexual services if it's all the same
Look at the Palm OS gui. The Palm was the first widely used PDA because it's interface is so intuitive and easy to use. Why?
There is no concept of a "running application", nor is there a real concept of files or a file system. You basically just switch between apps, and you never have to worry about exiting, saving, quitting, etc. Furthermore, you are very abstracted from files. Each app knows what bits of data were created with it, and which to let you open.
Now granted, the apps on a PDA are much simpler than those on a desktop machine, but the concept is still good.
Applications are always available and you don't worry about "runnig" or "quitting"
Modern OSes have virtual memory, so there is really no need to worry about apps running and not being used. With slight additions of features like app "sleeping" (disallowing it from using CPU cycles on demand), File->Quit is a thing of the past. Just leave apps running when your first start them (or start common ones at boot time). The Mac OS X Dock fakes this pretty well by combining an app launcher and task bar. It's great, because I always do the same thing to use a particular app, regardless of whether or not it's running.
Removing the "file" metaphor, and the concepts of "saving" a file
By having applications constantly save files, and additionally version them as well, the user really has no need to ever save. I mean, you don't "save" your memo-pad entries or contacts in the palm, because you don't need to. They are simple structures, so versioning isn't needed, but for larger documents, something similar to the VMS file versioning can be used. Furthermore, since you abstract the user from managing files, their task is greatly simplified; you just click on your app, and choose which thing to work on. Since it's always saved, you never need to worry about exiting, or crashing, or anything. Additionally, apps know what files they created and can open, so the user never has to wade through files that aren't relevant to the current application (Mac OS 9 faked this by using the Type/creator codes).
Files, folders/directories, running apps, are a construct the user shouldn't need to be exposed to. That is why the Palm is so simple to use, and browsing in Windows Explorer is such a pain (for the avg. user).
http://www.naildrivin5.com/davec
respond to my input automatically
if i type "cstrike" start up counter-strike
if i type "google" start up a browser and go to google
if i type "letter to mom" or the start of a sentence open c:\data\letter_to_mom.txt in word processor
if i type a name listed in my contacts, open the contact and an email message
to use the cliched analogy of a car, i just want to get to my destination - i don't want to fuss with the tire pressure or change the oil first for every trip.
I want my computer/os/gui to learn from what I do. Do I launch mail at 9am every day? Then mail better be somewhere accesible at that time. Do I then load up a spreadsheet? Have it next in line. Make life easier for me.
On kde-look there is a very nice looking replacement proposal for kicker and the desktop metaphor.
The author proposes a card based metaphor which would allow you to mix and match componants to create your own desktop environment. There is no code yet, just some annotated "screenshots" here and here.
In the discussion there are several people volunteering to help code so this project may actually become reality.