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.
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.
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!
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.
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?
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....
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.