The Future Of The GUI?
Graymalkin sent in a nice article written for fairly novice folks comparing Mac OS X, Microsoft's upcoming .NET, and Nautilus's respective user interfaces. Considering all 3 are still vapor, it'll be even more
interesting to read an article like this in a year, and compare it to
this.
I am not saything there is not anything wrong with the new stuff, I am just saying that the old stuff ain't bad either. At least they work.
Gorkman
Why are you afraid of cookies? Is Big Brother(tm) watching you?
(Big Brother is a registered trademark of Microsoft corporation and is used without consent.)
Lee
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Hmmm. Completely objectively, I use Enlightenment to manage my Linux X windows. It is certainly innovative to a level that I find lacking in both Windows (unless they've vastly changed the GUI in Win2k, which I've not yet used) and Mac OS.
A docking bar with a mini-preview-snapshot deal for each "minimized" application. Multiple virtual desktops, with a small map with previews of each application. The ability to scroll over the edge of the screen and have it flip up the next window.
No start bar. No task bar. No stupid menu bar stuck across the top of my screen. No silly pull out control bar. No shortcut bar. BUT a configurable start-type menu that appears anywhere on the background that I left-click. How much more innovative should Linux be before it is released from this myth that the Linux GUI is nothing more than a copy of windows & macintosh?
I do not have a signature
Your Gnome apps? Would need to be completely rewritten. Ditto for the KDE apps.
Everything needs to get recoded using OmniORB, C++, GGI, and the Berlin libs.
As a result, jumping to Berlin means losing all the GUIed applications that you might be running now, from StarOffice to GNOME to Netscape to KDE.
If you run Berlin atop GGI atop X, then maybe you can run some of those concurrently...
It makes you jump through the hoop of applying DPS to everything, which will be quite wonderful for anything that should be WYSIWYG, and which may represent a big "who cares?" for other sorts of applications.
It has the merit over Berlin that there may be some existing NeXTstep and OPENSTEP applications out that would be an "easy port away," and might have a bit more ability to play well with existing X apps.
Unfortunately, both suffer from the same daunting problem that in order to make them useful, there's a whopping lot of code that needs to be written. And they're pretty useless until both libraries, services, and applications get written.
GNUstep is somewhat closer to usefulness, with the added merit that there are parts of it (namely the DPS services/libraries) that can be usable with other graphical environments.
In similar senses, Linux and the BSDs are not particularly "innovative," as they all "merely" represent Yet Another Unix Clone. In contrast, EROS is a truly innovative OS kernel design, but since building a user space to go along with that is daunting, practically nobody uses EROS.
Innovation is pretty cool and all, but I'm just not sure that it actually represents something deployable.
If you're not part of the solution, you're part of the precipitate.
I must admit I just don't get Eazel (yet). It appears to me that all it is is a file browser. What the hell do I care about a fancy file browser? I have that with konqueror, and honestly, I can't see any real difference other than look (HUGE icons, like everything in Gnome...WAY too frickin' huge like everyone has vision problems).
Would someone explain to me why Eazel, a mere file browser (web browser?) is in the company of full GUIs like the doze interface IDEA and the MacOS X reality? It is just an app that can be run on an interface system...like gnome or kde for instance.
In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
What a pud. More innovation has come out of development on Linux than from M$ and crApple combined.
What are you talking about? Completely objectively (I am a user of Windows, Linux, and the Macintosh), the GUIs for Linux are more attempts to outdo Windows than anything else. You won't find much in terms of amazing human engineering or honest innovation, just more doodads.
Very unfortunately, the "we must beat the evil empire" attitude has hurt Linux development in a number of ways. Isn't Linus always saying "there is no war"? Doesn't anyone listen?
I think that the GUI is going to need to take another leap and a few bounds, before it actually improves. What OS X really needs to introduce is voice input. Mac has always had great graphics capability. They are showing commercials that show how easy it is to hook a video camera to the system. They need to push some kind of easy to use send mom the video campaign. I started sending my relatives mp3s of me talking to them already rather than a typee letter. Sure they are larger, but it si almost like a one sided phone call. The technology is here and a 1 meg donload over 56k is about 5 minutes, which is not that bad. If Mac could make this the NORM, then I think it it would be a leap in the right direction. If they could make it standard with voice input, even if it is as a side assistant then it would be real cool. Like prody parrot or something.
If nothing else Mac should introduce handwriting recognition devices as part of its top of the line machines.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
every minute a computer user realizes that eye-candy sugar coated user interfaces are a waste of time and computer resources and detract you form whatever it is you were trying to do before a shitty user interface got in your way.
check out this.
Note that this is not a lame link to goatse.cx or otherwise dried up joke.
GONE FISHING
Last I checked you could purchase an OS X Beta CD for $29US to run on your G3 or G4. And in a few months the full OS will be available to everyone.
All I ever ask for in a GUI is hot keys. I use them as often as the mouse. That's the only thing I can think of that helps me speed up productivity, whether it's Ctrl C/V/X for cut n paste in just about any app(as well as ctrl+shift for more specific cut n paste) or Alt-Tab switching, I use them all the time. Even the weird ones that make you contort your fingers.
While the job of revamping Macintosh and Windows obviously belongs to their respective stewards, the same can't be said for the upstart Linux system. Nobody owns this Unix-based operating system built around the code first created by Finnish programmer Linus Torvalds.
Uhhmmm, actually Linux is owned. Different portions of it are owned by different people. Linus Torvalds owns parts of the kernel, as does Alan Cox and many other people. The GNU utilities are probably owned by the FSF rather than the individual coders who created them. The fact that all of these pieces of code have been licensed under the GPL in no way nullifies anyone's ownership of them.
So many people confuse the GPL with something being in the public domain. If a piece of code was in the public domain, the GPL would be unenforcable. It is only because individuals do own and hold the rights to the code they have created that the GPL has any meaning at all.
Something that a lot of people don't realize is that code licensed under the GPL can be licensed by its creator under other licensing terms which are incompatible with the GPL. Users of that code, who use it under the GPL, do not have such rights, but the copyright holder does. So the next time someone tries to tell you that you can't license your own code to anyone else once you placed it under the GPL, tell them to go study copyright law just a little before they start running their mouth.
Lee Reynolds
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
One thing that strikes me on reading all of this is how the GUI deliberately restricts and channels the actions the user may perform -- "Here is the metaphor, you must make your actions fit this model". .NET very much present a set of actions, a set of ways to show your data and interact with it (I reserve comments on Nautilus, I can't really draw any conclusions on it from the article). For instance, .NET offers different "levels" of user (Basic, Intermediate, presumably "Expert"). Within these, it seems like you can edit some aspects of what that levels means in your interactions with the GUI.
Both Aqua and
But what happens when the desired action isn't made available? When I decide I'd like to be able to drag one document on top of another and concatenate them? (cat doc1 doc2 > doc3 in good old CLI world). I cannot.
It seems like the "dream" GUI really is the CLI / pipe metaphor taken to the next level -- put data in this widget, output it to that widget, send the results of that to my Web site. If only that were possible and easy to use! *That* is the next stage for me -- a visual environment where I am free to hook up components in a meaningful way, and save that "hookup" as a new widget of it's own (The "spell check, reformat, ftp" widget).
It's a strange world -- let's keep it that way
One of the things they mention as a feature they want for .NET (it sounded like eventually, but they might want it right away) is to have one "entry field" where you would do whatever you wanted to - write a letter, e-mail, or paint a picture (I presume) and it would figure out what you were trying to do. Basically, God Emperor of Office Assistant.
.NET and OSX and that other thing seemed nice, they really had nothing at all innovative. I like OSX and the concept of various levels of user interfaces in the other product sounded great, but these are all just re-hashing of ideas we have seen before. Granted they might be very GOOD rehashing as we have learned through iteration, but they are not really unique.
I think that approach is fundamentally flawed, and the constant instance that it is the right thing to do infests all Microsoft products. There's such a thing as the right tool for a job, and just as I would not start framing a basement without a hammer, nails and two-by-fours I also would not start a task of any sort by simply starting to work and then figuring out what tools I need as I go along.
Even in Emacs, greatly and wrongly derided for being the kitchen sink of all applications, you choose a mode to work in before you actually start work and thus many task specific features are made available to you.
My other thought was that while
It's time for some real experimentation. Where are the 3D GUI's? What about a GUI with a lite-brite set used for application control?
One of my own crazy pet theories is that the world of comics offers much in the way of possibilities for computer GUI's. After reading "Understanding Comics" by Scott McCloud over the years (sorry, too lazy to produce a link right now) it really seems that somewhere lurking in the mechanism of how readers perceive flow and structure in a comic has something interesting, new and relevant to say about the way humans interact with computers.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
This from Neal Stephenson explains why almost all of our current UIs are crap myself I find myself in console more and more often also I find that when I'm helping someone I take them into the CLI. It is in many ways just easier now I know this is not for everyone but the limitations of a GUI make it impossible to create something that is *really* good.
Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
I'm not so sure the "beat the evil empire" thing is altogether bad. I agree that most efforts seem to be an attempt to out-Windows Windows and that probably isn't inherently good. However it does provide a competitive influence as a driver. Windows sets a benchmark to beat. Right now linux is beating that benchmark in some ways and has a ways to go in other areas. But without Windows (or some similar dominant system) I seriously doubt that linux would be getting as much development effort as it is. You have to admit that there are more than a few developers working on linux simply because they don't like Windows/Microsoft.
Linus himself may not be at war, but for better or worse a lot of linux developers certainly are.
Is it just me, or does .NET feel like a dumbing down of the Windows UI to AOL levels to other people too? Perhaps, I'm not thinking outside the box enough, but where's the desktop? Where do things get done? Does anyone have more info on how the .NET desktop works?
When I complain that the whole metaphor for desktop objects that virtualize objects like 'folders' instead of oraganizing around work or processes or workflows or the logical reason for collecting objects... I get flamed for CWG (computing while geezer) and that everyone young has no trouble with this. I'll reapeat myself. The entire notion of organizing a GUI around "LOCATIONS" on a PC is completely bogus. The entire notion of creating a desktop on your PC is bogus. I don't want to organize something on my PC I can't organize in the solid world. That's why I have a PC. I don't care about folder names or file paths. Other than the fact that it is a kludgey mnemonic for ME to assign context to a collection of objects it has no bearing. The GUI, to be useful must have two basic attributes: First it has to be event driven so that the appearance and function change with events that trigger it. So the GUI takes on visual attributes that are useful for say document processing vs. ftp vs. backup administration. So that File, Edit, View..... actually have some real context built into them and mean, do and appear like different things depending on what I'm doing. Print for example has no meaning if the app if WinAmp so why would not put EQ there instead (silly example but you get the gist. And second, the GUI has to be flow, or if you prefer, event sequenced context driven object oriented, organized so that if I have 35 different file objects related to task "project 1" and they have different formats and sources, I can collect and use them in-flow without having to open each app and laboriously open-review-cut-paste......print.
Why for example do you have to start an equalizer and then drag artifacts up and down or side to side. Why not just have a functional driver that allows you to 'other mouse button click' swipe the pointer anywhere in any direction to do something like increase volume? Why can't we make use of 'tics' small dedicated mouse movements that trigger discrete events like poping a document, print, pan left-right.
Wow, so 95% of the users could get by with a one-button mouse?
Some company should come up with a one-button mouse.
--
NetInfo connection failed for server 127.0.0.1/local
Here's the deal...although the interface now may look clunky (which I admit it does), the .NET strategem includes XML. And what does this mean to you? It means that the whole damn interface will be extensible through just some simple (or not-so-simple, depending on your preferences) editing of XML configuration file(s). This means that your entire GUI, not just the window hangings, not just the widgets...the WHOLE thing, will be extensible to any document format that's supported under XML. I know Apple has got XML configuration down in Mac OS X, but I don't think it's as widespread throughout the OS, as in Microsoft's case. And since ALL MS products are moving to the XML base, theoretically you should be able to click on a link, see your most commonly used Office documents, and then have one of them "materialize" on your desktop, workspace, whatever, SEAMLESSLY. Imagine having several programs/documents open at the same time and be able to seamlessly operate between them, as if they were one program.
.NET frameworks get ported to other OSes (think Linux), this same extensibility will be there in all .NET platforms, with the same commonality features. No more Windows, Linux, or Mac specific GUI's. One person's interface on a Linux box will be able to be used on any other platform. Just copy the XML config files (and the appropriate extensions) and you're done. No porting necessary.
.NET frameworks on your platform, the app will work.
.NET and just having it run on your Linux box...no modifications needed.
And you think Enlightenment is customizable? Heh. MS isn't playing here. This is gonna be a BIG thing.
And think of this...once the
They're going for COMMONALITY here people. They realize the money's not in the OS any more, it's in the applications. As long as you have the
Period.
Imagine going to the store and buying Microsoft Office
This, I think will be a very exciting thing.
-Kevin, MSCE+I, MCT
My posts don't reflect the opinion of my employer, and my employer's opinion doesn't influence the content of my posts.
They need to be able to see what things are. Right now, our system of icons just doesn't work well enough -- see the iloveyou, which apparently was partly perpetrated by the fact that the text icon looks similar to the script icon. (At least, that's what I heard.) Documents often have the same icon as the related executable. When the icons are small, they're had to identify. Etc, etc. One person suggested that they'd like a color-coding system: for instance, all text/word processor documents are green (or shades of green), perhaps along with an icon to identify exactly what type it is. Executables are red. A directory window full of music might have a blue border around it, but the documents folder has green. Nautilus makes a big deal of quickly seeing what information is where; perhaps this will be a good step.
The other thing they want is application integration. For instance, if they go to file/open, and open a text document, they want an editor. If they then open an MP3 file, a player should show up. You should be able to click a button in your spreadsheet program and have it sent via e-mail to everyone in your address book. This, of course, runs counter to the unix way of doing things in a lot of ways -- lots of small programs that each have their seperate task. (Disregard that if you use emacs, of course :) It seems that M$ has the jump on everyone there, with the mentality that every program should do everything. (I think it makes for shoddy software, but apparently a lot of people like it.)
To make the unix way of doing things more attractive to these people, I think the best move is to make sure that all programs work together in a standard way. Right now, we have the GNOME and KDE projects that try to set standards, but what if we think a bit bigger? For instance, a body could be chosen that could set exacting standards for how specific applications work. (For instance, an e-mail program can be invoked like so, reads a global address book from such-and-such, etc.) Then, I can imagine (for instance) a toolbar or global menu that has a send e-mail button on it. If you press it, the system tells the current application, "The user wants to send something via e-mail." The application returns what it is they want to send (for instance, the current document.) Then, it's sent to the e-mail program for processing. You could switch from one program to another and continue to use it in the same manner you always have been.
I don't know if that's the best way of doing it, or exactly what kind of interface and technical details would be needed, but it's definately within our grasp. (And here I am, the one who usually says that we don't need to pander to the Windows users, but ... hey, I think this would be useful too.)
Finally, about this stuff about getting rid of the files/folders analogy: all the people I've talked to say "don't." As has been pointed out, there's a lot of data on a computer. Some sort of hierarchical method of organization is necessary. I've heard suggestions of organization based on type of data, rather than by what's related to it (like we generally do now), and that may be doable, but the folders analogy makes sense to them. Until someone can give a convincing alternative that makes more sense, we should hold on to it.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
I've been using MacOS X PB for a few months now and I still for the most part don't like the interface (too much fluff). But... I really have started to loose the sense that I'm running individual applications.
The windows from any 'application layer' can be interchanged (I can have a browser window from IE, then a terminal window, then my Macster window, then another IE window, etc.)
I rarely end up using the 'desktop' to search for applications anymore as I've but 99% of my most used Apps in the dock...
Anyway... strange sensation...
Not to make a federal case of it, but should the browser be an adjunct to the interface--or should it become the interface itself?
God help us.
and maybe the results will infuse new energy into the aging PC itself
sarcasm.start(cluelessauthor); What we need to do is replace PC's with a better - more NOW! - interface... yeah! Video, Sound and Text dont cut it anymore... we need a new paradigmn man - we need to think outside the box...sarcasm.end(cluelessauthor);
What a load of crap. Dont get me wrong, I love change, I love to see new technolody and real innovation - but does anyone else get the feeling that there is a force right now in computing pushing 'change' for change's sake? I dont get it, Im pretty convinced that the PC 'idea' is still a pretty good one. Other 'technology devices' have value for specific functions, but its pretty hard to argue that the power and adaptability of a PC. A PC has a lot to offer to those devices in order to 'empower them' to some degree. Short of creating all 'tech devices' equal (making them 'self-aware' and 'self-discovring' in an adhoc 'peer-to-peer' network) I cant see the PC being replaced any time soon.
As for the first quote above - what a horrible prospect... havnt these people ever heard of XWindows? I mean, isnt the browser a replacment for the 'network portability' of an X App? How much 'easier' would life be if a browser was an XServer - or tech of similar mind... just an idea...
MSXML.
.NET exists on other platforms, it will be to lure people into dependence on .NET. Then, when .NET achieves dominance, they will slowly decrease cross-platform parity. Certain features won't be implemented on non-windows. Performance and stability on non-windows will lag. The disparity will ramp slowly, until people who may have been on other platforms, slowly migrate to windows to mitigate their own support costs. Cutting development costs on MS's end is the main goal, but dominance is a sweet side benefit.
'nuff said.
no. not 'nuff said. The money is not necessarily in the OS, and never was. It's in control. Domination. The middleware. The platform. Sure, MS may port to other platforms, to get seats - but don't believe for one minute that that will not be used as a migration tactic. Cross platform development doubles the developer's costs. Even with Java. If
Same shit, different day.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
Really? I guess the definition of "crude" is subjective, but I don't know where the "no one was willing" bit comes from. I guess both the Gnome and KDE folks are trying for a barely mediocre interface, too fearful of what the fame and fortune of being "world-class" might bring them....
And, just my opinion, but I felt that particular prototype of .NET looked damn dumb - very busy, much like a poorly laid out web-site or magazine.
I'm really curious to hear other opinions on this... I've never really heard a really good argument as to why every damn window needs to look like a browser, or why some people have this driving desire to get away from "simpler" GUI layouts.
Hi! This is the Sig, blatantly attached to the end of this comment.
You can download nightly builds of Nautilus at nautilus.eazel.com. Hardly vaporware.
Sensual: Running a feather down your lover's body
Kinky: Using the whole chicken
It's a very dark ride.
Interface Should Be Invisible
Only recently have I encountered this concept starting to surface in places like the Enlightenment WM. If you're running pure E without Gnome, there is no start menu, no status bar, no obstuction to the task at hand... If you're not running something, all you see is the background, fullscreen. The menu comes up when you click. That has its PROs and CONs, of course... If you're running lots of windows, it is too much easier to click what *is* there than what *isn't*.
Instant Readiness
"I should be able to pick up my MIDI keyboard and start playing. I should be able to draw five lines on the tablet, at the computer should know it's a staff for composing music." None of this wait-ten-minutes-as-I-boot crap either. BEOS lowered the bar on unnecessary boot times. MS Windows swears that Whistler and whatever follows will boot in 20 seconds and 10 seconds respectively. (I gotta SEE that!) But these stupid enumerations and initializations are not what a computing appliance should be wasting our time doing. Today's sleep and suspend modes are just a hint at *the right thing*, at the ready, and even those aren't as instant as they should be.
One of the best lines in the video was his description of the Amiga applications of that day. (Like most older European software...) "Some programs were really bad... I mean, CREATIVELY bad! You'd have a maze of buttons, all alike, and somewhere in the center, is the exit!" We've come a long way...
Hundreds of millions on dollars spent on GUI redesign and they came up with the command line.
Dave
Andamooka: Open support for open content.