GUIs for Everyone
An anonymous submitter writes: "A former Microsoft and Creative Labs interface designer has an interesting diatribe on the approach of Linux GUIs on the desktop. Thomas Krul has three Microsoft patents for human factors research into digital interfaces and graphic software functionality. Probably most known for the interface work he had done on Softimage DS and its web site. Though not a technical read, it does provide an interesting note on the approach for Linux on the desktop." And headless_ringmaster notes that Jef Raskin, the guy who designed the first Macintosh and author of The Humane Interface, has a SourceForge project putting his ideas into action.
It seems to me that the GUI's available (including KDE) favor substance over style. To make significant inroads to the desktop market, that needs to change. People love flashy things!
Curb CO2 emissions: Kill yourself today!
When I was in grad school, I did a paper on the Windows interface from an end-user design perspective, and it sucks. Surely there are other ways to handle a GUI that might make sense.
Other people who've weighed in on this subject include prominent researchers like Jpseph Goguen, Terry Winograd, and Eben Moglen.
Right now I'm not proposing a solution, either, but I am working on understanding the problem.
I'm not a geek, I'm just a clever script.
I don't put a lot of stock into articles like these because the way I use my computer is so vastly different from others that most people couldn't even sit down and use my computer if they wanted to.
No, that's not "bragging" or me feeling "31337". It's just a fact that over the period of eight years of using UNIX, I've gotten things reduced to the minimum amount of stuff I need with the exact customizations I want.
My desktop has nothing but an xclock (yes, the real xclock in digital mode). My Emacs has no toolbars or scrollbars. All fvwm does for me is decorate my windows and give me a root menu. zsh is finely tuned for my daily tasks with all kinds of aliases.
And that's the thing... UNIX has always given me the capabilities to make my user interface work exactly like I want. This is something most other OSes just haven't given me. If you use Windows, you get a one-size-fits-all interface that assumes you do a particular set of common tasks. For many people, that's exactly what they want, because they do very similar tasks. But for me, I spend my days using a large number of xterms, Emacs, and Mozilla. I need nothing else, I want nothing else. Just give me screen real estate, UNIX, and I'll customize it to my precise needs.
I'd be great if Windows would give you those kinds of capabilities. I find myself frustrated every time I use it. Mostly because it's not what I'm used to, but partially because I can't change the way it works when I disagree with what the human-computer interaction, GUI-gurus have dictated everyone needs.
To make significant inroads into the desktop market, we need to learn how to make it so substance and style don't conflict, so we can have *both* at the same time.
The living have better things to do than to continue hating the dead.
Oh my god, Creative Labs produce software with some of the worst interfaces i've ever seen!
no sig.
The guy worked for creative, the live software has a crappy interface, their video card drivers have absolutely horrid interface and dont even talk to me about the infra drive software. So take what he says with a grain of salt.
"My head hurts, My feet stink, and I dont love Jesus." -Jimmy Buffett
Now of course the climate is different, Linux is hardly in the same position Microsoft was when they released Win95, but it just goes to show that some people DON'T mind copies.
Dark Nexus
"Sanity is calming, but madness is more interesting."
great article. it points out one of the interesting things i witness over the past few years with linux guis. namely, the obscurity of the linux o/s, or any o/s for that matter, is difficult to hide with a gui. yes, it may look more appealing and candy like, but as the author says, when the system finishes booting, you're faced with thousands of options.
simply having a solid o/s and a vast open-source community does not make your gui any more successful. it feels that the general consensus about linux guis is: hm, now why didn't that work as well as we expected?
a previous poster asked if there were any aesthetes with input?
here are mine:
1. limit all fonts to a 24 point minimum
2. design the gui for a 3 year old -- make the boot screen look more like palm o/s
3. screw power users -- you want power-user mode, boot to an ANSI console (root doesn't get a gui)
tv manufacturers used to understand this: they even merged on/off with volume, and there was the channel changer. the power user could pop open a a panel to adjust contrast, brightness and hue, though i doubt anyone ever did.
then sony went bananas and added all this digital shit, audio stuff, PIP, sleep timers, gah...
https://www.accountkiller.com/removal-requested
"It's all about Pleasure."
"I used to derive pleasure when using my Apple, Amiga and sgi because they had a unique personality through various touches and tools that made the interface more cognicent of my existence. Windows completely lacks that interface. It's dumb and arrogant. It's heartless and ultimately disposable."
I don't know about other Linux users, but I do get pleasure in having a desktop with several windows that can all be doing something. I find typing enjoyable and flexible. I can write small scripts to automate some tasks or make some jobs more efficient. I like grep. Compare this to the mouse. The mouse is boring, and very one-dimensional. Without the OS, or a software package, the mouse is pretty useless. That is why there are so many menus (right-click) associated with the mouse. Typing can be melodic, but that click-click-click of the mouse about drives me nuts.
I think what the author is missing is that he thinks the user interface needs to be a GUI. No, that is what Windows offered, and they have pretty much taken it as far as it can go. I am not a Mac person, but I am guessing that the GUI there has gone about as far as it can go too. It's about going back to the basics, back to the keyboard.
Unless of course, someone can figure out a 3D UI like they have in the movies. But that always seems REALLY annoying.
My beliefs do not require that you agree with them.
I am a little sick of articles and comments that bash current GUIs for being derivative, without coming out with new ideas. It all fine and good to say that we need something new and exciting, like the GUI was to the commandline, but it hardly does any good to complain about there not being something new if you don't present your ideas on what the new paradigm should be.
The most creative thing I have seen are 3D desktops, but those don't seem to be a major improvement over virtual desktops. I guess the next big thing should be computers that you can converse with(not neccessarily with spoken speech) and just tell to do a job, which would be great if we could do it.
I guess I am just tired of people complaining about WIMP derivatives. If there were better viable ideas out there, we could do them, but I haven't heard any.
If anyone would like to enlighten me as to what the next paradigm should be, I would be happy to encourage and help it's developement, otherwise stop complaining until you have an epiphany.
Spencer Ogden
I think the biggest failing behind Windows (and by implication the Mac that it so blatently stole from) was that it hid the Command Line Interface (or shell if you prefer)
GUIs are well-suited for simple tasks, and are good for the important-task-infrequently-used items, but for items of moderate complexity, nothing beats dropping into a shell.
But by hiding the shell (and making it clunky, as per Windows and DOS) or by removing it entirely (Mac) there is now a huge class of computer users who expect *everything* on the computer to be availible via GUI widgets. The concept of communicating with the computer via a type of language is completely and utterly foreign to them, and is viewed with fear and distrust.
But to ignore the shell is to ignore the greater part of the power of the machine!
It's like all the books in the world were suddenly converted into comic books, and all literature was abandoned. Not that there's anything wrong with a comic book, but they don't deal well with Shakespere or Gibbon.
Celebrate the shell! Bring back the CLI!
DG
Want to learn about race cars? Read my Book
That said, let me address his points: The mistake I see this guy making in his logic is assuming that OSS makes large-scale innovations. In reality, I've noticed that OSS projects tend to borrow a basic framework and when innovate in smaller steps. Linux looks like Unix, KDE and Gnome look like Windows, etc. The difference, of course, is the small changes and nifty add-ons that make any given system more configurable, useful or whatever.
The real strength of OSS is the rate of evolution, not in the ground-up creation. I'm convinced that it takes a small group of well-led, motivated people with an original idea and good planning to make truly structural leap -- think Be. I haven't seen an open source project do this *yet* (not saying it's impossible, however).
So, instead of just doing is shallow-understanding critique of open source development, he should have been discussing a way to allow open source development to make these sorts of large-scale fundemental leaps. That would have been useful.
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
Usability isn't just for the framework, it is also for the individual applications. Windows has standards that are recommended for applications.
First, are there application or user experience standards for KDE, Gnome, X, or command line apps? I know that there are a few de-facto standards on the command line, but is anything codified (especially for gui)?
Second, how many open source projects have done a usability study to see if your aunt, cousin, grandmother, or neighbor can easily use your cool new application or tool without significant assistance?
Formal usability studies are expensive and time consuming, but they do work.
Then again, if you are building a car in your garage, do you just care about yourself, or do you spend the extra week to make an adjustable seat so that it is comfortable for other drivers?
If you want me to move back to using linux as my main desktop machine, you need to make it much easier to install and configure the OS, the desktop, and all of the applications. Linux may be powerful, but I don't necessarily want the power to cut my leg off if I don't spend an hour reading the docs before I attempt to compile and install a new program.
Oh well not for a weirdo like me. At first I was gonna scroll up to continue reading but then I realised that there's a (more) link and thought that this may lead me to another page but I decided to run my mouse over the link and saw that it actually scrolls up.
Sure it's nice but it required way too much thinking on my part.
Actually, it kinda confused me when I saw a link at the bottom of the first column. I knew there was a second column, but did not know which way I was supposed to go to continue the thread I was on. If it was newspaper style, the more link would be the way, but it could be that the more was supposed to be interpreted after the whole article. I highlighted the link to see, and all was made clear, but it certainly threw me for a loop there, hardly intuitive...
XML is like violence. If it doesn't solve the problem, use more.
Yes, go ahead and mod this as troll.
It appears that so many people here are completely missing the point of the article, and instead do the standard slashdot pessimistic "oh, well give us an example if you're so smart," or attacking the guy personally. Grow up.
The article's purpose is simply to provolk some thoughts: it's a big pointer to the situation, not a solution. The solution, my friends, is in YOU, the READER'S, hands. No one's going to hand you a vison of a better alternative on a silver platter.
I believe that despite the attacks on his credibility, he's right on mark. There's not much effort creativity-wise required in emulating Xerox/Mac/MS Windows, and "no one got fired for following the crowd." He is right, though: the current computing paradigm is inefficient and stagnant. The Linux/*BSD movement is a sign that there are many who believe the desktop paradigm isn't working, hence the inclination to use things like linux/*BSD which possess the previous paradigm, the command line (which is a much more powerful interface to the machine, but requires much more from the user).
Instead of spouting off like spoiled children about all the negative aspects about the article, what about actually getting up out of that lazy-boy, and doing something yourself. Use that mass of brains cells you've got crammed in that head and _think_up_ a better paradigm! Insults aside, I'd reckon that the vast majority of people here are actually very intelligent people (there's plenty of immaturity, but that's par for the course). You've got a good head on your shoulders, so why not use it.
If you want to make progress in this area, the way to do it is to set up a proper human interface evaluation. You need a quiet room, a camcorder or two, a Wal-Mart Linux box in its carton, and a half dozen or so people representative of the customer population. You put them in the room, start the camcorders, and give them a list of tasks, like "Unpack and set up the machine, connect to the Internet, compose an E-mail, and mail it to this address".
When you play back the tapes, you log everything that slowed the users down or, worse, stopped them. Then you make your developers fix all those problems. Repeat until the initial user experience is comparable to that of a new game console user.
Yea, great.
There are already 2 categories of people that use computers
1) That hate distractions. They are better working alone and in silence. They love passive interface.
Windows95-like interface is very passive and is made exactly for them - it does nothing until you do anything.
2) That love distractions. These people (including me) have maximum productivity if they are near other people, can chat, etc. When leaved alone - becomes depressed and looping in unproductive mode. That people usually put walking sheeps on screen - it allows them have at least some interactivity for their stucked brains.
For them a wizard-like, chatting interface is much better than original silence. Unfortunately,
most decisions on interface made by people who are persons type 1.
If you hate chatting, dialoged interface - you are type 1 and this interface is obviously not for you. But let us, people who cannot live without interactions, have some useful distraction from computer!
- No more overlapping windows. I found that a lot of my time is wasted resizing,moving,shading, opening,closing window. There shall be a better way. I know the experiments with non-conventional window management techniques, like ion or PWM or that other tabbed window manager
... they are not there yet.I'd like to see something which implements emacs window management. In one-buffer mode, every windows take the full screen. For special needs like drag and drop or multi-windows apps like Gimp or Glade, you can split the screen orizzontally or vertically and have one windows on each half, allowing users to resize the two halfs moving the separation bar.Maybe window belonging to the same class may share the same screen area and auto-arranged to look a feel like a MDI. All windows are resized to take all the space they can, unless they are marked non-resizable (like toolbars) or the user sets its own preferences.Dialogs always-on-top and centered wrt their application. - An active desktop background, which actually works as a full-screen, always-on-back file-manager window. It always show your current working directory..Able to split in a multiple-direcory view. With the capability to specialize background (and other user preferences) on a per-directory basis.I know, it looks a little like StarOffice 5.x desktop. But it wasn't a bad idea, it was only half-cooked: too simple and rigid for a desktop, too overwelming for an app main window.
- On the bottom quarter (or less) a shrinkable command line or mini-terminal, which is kept in sync and can interact with the graphical part, the way the mini-buffer of ROX Filer works (or the embedded Terminal in Konqueror).
As you see, no brand new ideas. But I'd love to see them put all togheter, even oly to discover that it was a giant mistake. Maybe one day I'll try it.Ciao
----
FB
I love these trolls - they complain about the author's lack of any solutions and then don't offer any alternatives themselves.
The author is trying to spur discussion for new interface ideas.
So - I'll try suggesting something.
How about a search-engine based UI?
Here's a use case:
You are presented with a prompt - it says "What do you want to do today?" (ala MS) I enter in "email Bob Johnson about the party on Wednesday". The computer then responds with an email form - it has already entered Bob Johnson's email into the "To" field and has put "Re: the party on Wednesday" into the "Subject" field. The cursor is in the contents of the email with my signature already entered at the bottom and a greeting at the top.
Once I am done - I click on the gigantic "Send" button.
I never even see an email application - just the form to create a single email.
Programs would be installed into a database along with keywords and use cases - this is where the search engine gets all of the info.
Each use case has an associated wizard or application or form for the user to fill out. If the search comes back with more than one entry - it presents the user with the entries so that they can choose.
The web (and various web search engines) could meld with your machine. If the search through the local database turns up nothing, it will go to the web and give you some results.
Other use cases:
-- Burn MP3s
-- Create a picture (opens the GIMP)
-- What's for dinner? (search for a good recipe)
-- What's the weather like? (web search)
-- Troll on Slashdot
-- Buy movie tickets (web search)
-- Write a resume (loads a word processor)
-- Balance the checkbook
The computer will create convenient shortcuts
to the use cases that the user frequents to
further customization.
Applications would be defined by their use cases. That way, when someone talks about a
piece of software, people can discuss the use cases it adds to their system.
Oh well. I just thought I'd offer something instead of whining about the author's lack of solutions. What do you think? Offer constructive criticism - don't just troll.
The business and educational markets - where no one except the IT schlep really worries about setting up hardware and installing drivers - is more important and more dynamic than the home "where's the ANY key" market, and will lead it. (Besides, most home users don't get gray boxes, they get hardware support from a name-brand vendor like Dell). A lot of computer hobbyists - yes, that's you - make a mistake about extrapolating their own relationships with technology onto everyone else.
...it's with the input devices. As long as we are still using mice as the primary input devices for our GUIs, we're going to be stuck with the usual descriptive buttons.
Not that buttons are a bad thing, does anyone here want to dial a phone number using a rotary dialer?
How about inputting your account # by lining up numbers a'la a bicycle lock mechanism?
There are only so many ways you can create a GUI as long as the user has to point at the screen and click on something.
new ideas for input devices:
How about gloves that allow you to manipulate the desktop? Want a file? Open up the drawer and get the file. Want to read it? Hold it up as if you were reading it. Yeah, yeah I know..old 80's movie cliche about how computers will work in the future.
Maybe the future of the GUI is that it isn't tied to a central information store. I can already enter my address book into my Palm Pilot and interact with that. If I want to watch a movie I have a TV. If I want to listen to music I have a stereo.
Maybe the role of the computer desktop should change from "tool" to "information storage and coordination". If I want to watch a movie, rather than opening up Windows media player or Quicktime, I turn on my TV, it connects to my computer and the computer plays the movie through my TV. Same with music.
Maybe the future of the desktop is extinction?
"For a successful technology, honesty must take precedence over public relations for nature cannot be fooled." -Feynman
- I used to derive pleasure when using my Apple, Amiga and sgi because they had a unique personality through various touches and tools that made the interface more cognicent of my existence.
- Windows completely lacks that interface. It's dumb and arrogant. It's heartless and ultimately disposable
Emphasis mine.I have to disagree here, the Windows interface DOES have style, and it is continuously evolving. Windows 98 was a large leap ahead in terms of interface design over Windows 95, and Windows 2000 was at least an equally large leap over Windows 98.
It is the little things that count. Unfortunately most of them are not enabled by default.
Being able to open a DOS box to any directory by simply right clicking on it and selecting "Open Prompt Here."
Being able to open any file with any application, and have a list of commonly used applications used to open that particular type of file listed automatically for the user. Sweet.
Almost everybody knows of Alt-Tab to shift through running applications, but did you know of Shift-Alt-Tab to reverse shift through the list of running applications?
Backspace goes back a page in IE, but guess what shift-backspace does? Yup, it goes forward a page. Amused the heck out of me when I realized that somebody at Microsoft had taken the time to make the user interface that consistent. Shift is the universal reverse modifier key in Windows (or at least it is in those applications that follow the UI specs, which unfortunately a good deal of the parts of Office do not. *sighs* Makes MS look bad that, ick. )
Control-Z is undo. Shift-Control-Z is redo. (before shift was made The Big Reverse Key many programs had Control-Y as the redo key. Unfortunately some applications are still hardwired to only support hotkeys consisting of only two keystrokes.)
Control-Tab cycles through the list of view panes in the currently running program, Shift-Control-Tab reverse cycles through the list of view panes in the currently running program.
See, consistency.
In Windows 2000, the Location Bar in the upper portion of Explorer View panes is actually semi-intelligent. It has a REALLLLY nice auto-complete setup that actually first selects the most commonly gone to files and directories, and then if you do not select one of those, it narrows down the list using frequency of access sorting based upon how many times you have entered that item in the Location Bar. Reaaaaly handy and saves me a lot of time, on a properly setup Windows 2000 system is is capable to access any of literally thousands upon thousands of files with just a few keystrokes! Sweet.
You can select which hotkey you want to use for Auto-Complete in DOS boxs, and can even choose at which level the Auto-Complete works at. Files, Directories, Files and Directories, there are even more options but I do not have the complete list of them sitting in front of me right now.
Of course if a person wishes they can completely
ditch explorer.exe for their UI and plug in whatever shell that they want too. In fact there is a very healthy and active software market out there for alternative shells for Windows. Heck back in Windows 9x for awhile I even ditched the GUI thing all together and just used command.com. Sweet. I think 4DOS released a 32bit version of their shell, so if you wanted a CLI for Windows that was darn nearly infinitely customizable, there you go.
Microsoft is successful in the UI biz because their UI is consistent all around, easy to use, and does not do unexpected things. Exactly the opposite of the reasons that people hate the Office UI so much, ick.
Of course all this is a rather moot point with XP, which tries way to hard to do shit for the user, even if it can be disabled, I don't even want an OS on my machine that has that sort of crud compiled into it.
(which is of course where the advantages of Open Source Software come into play.
Need help treating your acne? Come here!
you assert that developers "often run into is the myth of the pure non-user" but you do not back up this statement. It is an interesting point but i wished you had backed it up.
One of the follow up replies suggests you go to rural africa (rural anywhere for that matter), but i would also suggest you look to your family (particulary your grandparents if you are fortunate enough to still have them) look to the very young and the very old in any society.
Granted there are lots of Electronic Devices such as mobile phones, telephones, toasters, kettles, fridges, video recorders (even TiVo) that may contain microchips and could be considered computers but the users dont see it that way and they are designed to be used differently (i am loathe to use the word paradigm) they are generally focussed on a single task rather than multipurpose machines like PCs so i dont think it is fair to say that because some one is familiar with other modern technology they are not a blank slate when it comes to computers.
It usually makes sense to base your interface on real word interfaces that users can relate to but take a look at the criticisms of Quicktime 5 in the Interface Hall of Shame (google for it) and you will see a few examples when not to.
Sorry, I don't mean to be mean or anything, but you are the exact reason why this approach should not be taken for the mass market. But I agree with you, for my own preferences.
But here is the deal - the mass market needs to be the same, or very similar. Think about TVs, VCRs, etc. They all have the same basic functions. On, off, channel up, channel down, vol up, vol down, play, pause, stop, fwd, rwd, etc. Everyone needs to have similar interfaces. Can you imagine being on the support line of a company that allowed you to configure the interface however you wanted it? Nightmare. It is a nightmare now, when all the interfaces are the same, but at least there is a common starting point. (Go to Start->Settings->...)
Most people don't want to configure that stuff, they just want something that works. I am stepping out of my techie shoes here, because MOST computer users don't care about all that crap. They don't mind that Microsoft makes all the decisions about this or that - as long as it works. I like Linux because it gives me the choice of what I want to use. I like trying out Mozilla, Opera, Konqueror, etc. My family doesn't understand why they would want to use anything other than what they are used to using. I recently got them off of Netscape 4.72 and put them on Opera. I still field phone calls and emails about various things, and get the inevitable "It didn't used to do that".
Microsoft knows what the average shmoe wants, they want things handed to them. They want to be spoon fed because they don't understand these scary computer thingys.
But I think that time could be changing. I have been playing with computers since high school back in the early 80's. I like computers. Kids growing up with computers are taking to them. The time is going to pass where people are scared of them, just like the fear of electricity, telephone, and automobiles passed. The new generation of computer users are going to be the ones who are not aware that computers didn't even exist at some point in time. (just like it is hard for me to imagine a time when telephones or cars didn't exist). They are going to be the ones who decide what direction the personal computer goes. They are the ones who are going to be saying "I remember my first computer, a Pentium 4 with 512MB of memory" instead of "back when I was growing up, we didn't have computers".
But until that time, whatever appeals to the unwashed masses will rule the desktop.
My beliefs do not require that you agree with them.
The problem with this, and it wasn't just a problem with OpenDoc, but it continues to be a problem to day with component models, is that the interface does change right out from under you.
I really like the idea of having a document-centric model. It just makes sense. But in the practice of using OpenDoc, it brought back the concept of modes. Unlike the command vs edit modes of vi, one of the greatest achievments of the Mac was to eliminate modes. You just opened up MacWord and typed your letter. Wanted to adjust formatting? No "format" mode, just edit it from the menu. The menu didn't change ever.
OpenDoc was confusing because it brought back those modes. You've got your word processor mode. You've got your vector drawing mode. You have your web browser mode. Etc, etc. This is bad, because the interface becomes a constantly changing thing. With separate apps, there are clear divisions between things, but not so with a document-centric model, because it's all data in the document. What if you just want to view the picture rather than edit it? What if you want to use the text in a page layout fashion rather than plain ASCII editing? Data is mutable and it makes the UI mutable too.
Honestly, I can't think of anything worse for the end user than a constantly shifting UI. You can set it up so that the UI components are your choice, but they are, by necessity, still shifting within a multi-type document. This difficulty on the user was particularly apparent in OpenDoc when you looked at the menubar to see what you were running and it didn't tell you. Strange problems abound in that UI (although it's been so long I don't remember a lot of my gripes). It was great tech, and great theory, but OpenDoc still had major problems that were never solved, mainly due to being killed in its infancy.
"I may not have morals, but I have standards."
This would have maximized competition, as well as making computers much more sensible, in my opinion. It got killed, and I'm not sure why, but I'd sure like to see it get revived.
I did a lot of research on OpenDoc around the time it was taking off, and worked closely with one of the companies that was doing tons of development for it. They bet the farm on OpenDoc and lost big when it tanked.
For those who don't remember it, the whole affair was based on a couple of core concepts:
(1) Big, monolithic applications suck. They never provide the perfect set of features for a given user, they're overkill for everyone, and they tilt the market in favor of huge companies with massive feature lists, punishing smaller companies that make focused products.
(2) Users don't care about applications: they care about documents and tasks. As long as the user's "favorite" tool works and lets them manipulate the same data as any other tool, the user will be happy.
(3) Creating solutions out of many tiny components instead of monolithic applications will result in a larger, richer software market.
Although it all looks good on paper, it didn't play out. In my opinion, it failed for the following reasons:
(1) may be true, but tracking down two or three dozen text manipulation components to build your 'pefect word processor' isn't much better than biting the bullet and buying MS Word. In fact, most Opendoc demos were really monolithic apps with a few custom components 'plugged in' to provide simple image editing, or graphing. It was the only way to provide a workable UI for users in the soup of 'universal data.' At that point, the 'revolutionary paradigm' is nothing more than a meta plug-in format.
(2) Users may care about tasks and documents more than applications. This point is actually the best one, but Opendoc's soup of "container apps," "editor components" and "read-only components" for distribution made building that 'perfect mix of features' more difficult for a user than just buying a monolithic app. Want to send a document to a friend? Unless they have the very same mix of components, you'll need to imbed them in the document. Watch that letter to grandma swell to a meg or so...
(3) Building software out of discrete parts was supposed to make everything cheaper for uesrs, and provide more opportunities for developers. Someone has to pay, though. Even if a user only has to pay $15 or $20 for each component of his perfect word processing solution, the aggregate cost is likely to be higher than a monolithic solution. Apple talked about companies selling 'pre-packaged' collections of OpenDoc parts as readymade solutions and making a profit on the integration work, but this is no better, in the long run, than monolithic apps with hooks for other programs to integrate with.
In addition, it would require complete re-writes of existing monolithic applications with no benefit to the companies save additional competition. Since it was a Mac-only technology, it would have made porting software nigh impossible as well.
Mind you, I never actually DEVELOPED OpenDoc software. I used OpenDoc software o nmy own maching for almost six months, and I spent quite a bit of time talking to developers who were willing to bet the farm on the idea. I'm still sad that Apple didn't succeed -- the problems they wanted to solve wree real ones, but the solution died under its own weight. There was no real value proposition for end users or software companies.
Apple eventually realized this, and axed it.
--the verb
Gee, let's just rant on a bit without saying a damn thing! There is absolutely no substance in this article. He bitches that we need an Open Source GUI (even though we have several already) but offers absolutely no suggestions on how to get there.
He even said that Mac OSX is a Windows clone. Duh! If neither KDE, GNOME, GNUstep, XFCE, Blackbox or even OSX are improvements over the Windows GUI, then I guess the situation is hopeless. What does he want us to do? Throw away the monitor?
As near as I can tell, he wants something that is stunningly new and amazingly original. He wants the GUI to be a "killer app". Well that's just not going to happen anytime soon.
Examples: you want to launch an application. Your choices include typing a command at a prompt, clicking on an icon, or selecting it from a menu, or annoying your coworkers by using a voice command. Or maybe the computer should be document-centric. Fine. You want to write a memo. You either select "new document" from a menu, type it at a prompt, speak it into a mike, or drag a template off of an icon. Given the currently available hardware, I can't think of any other interface that will do the job. Does he want the GUI to read our minds or something?
A general purpose computer with multiple applications available for any given task will NEVER be as easy to use as a single-purpose appliance like a toaster or refrigerator. It simply will not happen. His only hope for a "pleasurable" GUI is for specific purpose computers to make a comeback. Like PDAs that only do address books, or game consoles that will only play one game.
A Government Is a Body of People, Usually Notably Ungoverned
It involves a keyboard and a piece of paper.
I'm being serious.
Want to write something? Pull out a Bluetooth keyboard, and an 8.5 x 11 touch-screen OLED, what I like to call "Bluetooth paper". Start typing on the Bluetooth keyboard, and watch your text appear right on the paper, with quality as good as a laser printer. Or you can dictate it. Or you can handwrite it. It's completely up to you.
Want to check your email? Press a key sequence, or say "email", or write "email", and your email is shown right on the paper. Flip the paper over to see the second page, flip it over again in the same direction to see the next page, flip it in the other direction to go back.
Want to print something? Put the paper near a printer, press a button on the printer, and whatever's on the Bluetooth paper will be printed out on the real paper; a permanent copy.
Want to surf the web? Type in, or handwrite, the URL; the page will load up, viewable on the paper. If you've got another sheet, it can split itself, showing content on one page, and navigation on the other. Touch a link, and it opens up.
Now, tell me you wouldn't want to use an interface like that. The OLEDs and keyboards (of course) are in production today, even if the paper's a bit expensive. All you'd need is a device that would intermediate, that would accept input from whatever source and broadcast the raw pixel data back to the paper. It could be in a hub-like box, in a cellphone, even in a wristband. Anything.
To make it work optimally, you'd need the Bluetooth paper to be a touchscreen. That's not possible yet, but it will be soon; until then, you could use a wireless Bluetooth "remote control", or trackball. Also, you'd need to embed a Bluetooth chip in the OLED; again, if it's not possible today, it will be by this time in 2003.
Revolutionary? Not quite. It's simply making computers more natural. And until what I describe is widely available, we need to make existing computers work more like that. One wonders, why aren't all current desktops running WinCE or Symbian? Both of those OSes are powerful enough to run productivity and email apps, and WinCE is powerful enough to run games, too (if the Dreamcast could use it, so can desktops). Imagine if someone could press the power button on their PC, and have a list of applications come up *instantly*, because the OS is installed in ROM! It might mean multitasking isn't as powerful as it is now, but no users use multitasking anyway; just us geeks, and our boxen are not desktops, but workstations.
So, in the short term, what should we do? Extend the LinuxBIOS project to be a full-featured OS with a Palm-style interface, that can load applications off a hard drive, but caches the most frequently used apps (browser, email, word processor) on flash for fast access. Obviously, X is completely out of the picture; really, gtkfb should be appropriate. Start shipping 64MB flash cards, in USB2, FireWire, and IDE versions, with LinuxBIOS, some GTK launcher applet, Galeon, Balsa, and AbiWord preinstalled; you could charge, say, $150 for the initial device, $20 for future upgrades on CD-ROM (or free download). And make very liberal use of AutoPlay for the CD-ROMs; for example, if someone wanted to play Alpha Centauri, all they need to do is pop in the game, click Install, and *everything* happens for them; in the future, all they need to do is pop in the CD-ROM and it loads. For system upgrades, you pop in the CD, wait for a dialog that says "OK" and ejects the CD, take the disc out, and watch it restart itself.
And better still, we could ship a computer, with a custom mobo (or at least, a mobo with a custom BIOS), that has the whole thing built-in to the computer; so it's even faster than IDE, in fact instantaneous. And that computer could be quite small and cheap. Why? Base it on VIA's VPSD Mini-ITX mobo. Smaller than FlexATX, it clocks in at 17 square centimeters - quite possibly, the world's smallest x86 mobo. It has an embedded processor, and sells for $125 from PriceWatch (including shipping). About the only thing it doesn't have onboard is RAM. You could sell one of these things for cheaper than a Dell, and that's including a 15" flat-panel monitor! As long as it had game support, I imagine lots of people would buy it.
The problem with all the other devices that were like this was that they didn't run standard apps. This box, being a real PC, would run standard apps; it could run most any console or GTK program, even if it required a recompile. The killer app, though, would be games. Sell the box in two editions; regular, and gamer's edition. The game one comes with a GeForce 4 Ti (or the latest card at the time), VGA-to-RCA converter cable, and no monitor.
Sounds like a console? So it is; essentially the Linux version of Xbox. But it can also be used as a regular computer; considering that, it wouldn't cost very much at all, and importantly, neither would the games. No subsidised loss-leaders here.
So, enough of my rambling. Between all these ideas, we should be able to do *something*. So why aren't we?
The "taskbar" introduced the idea that there would be a thing on the desktop representing a window that stayed there whether or not the window was open. Almost all modern interfaces copy this (OS/X and the new Linux ones) and as far as I can tell MicroSoft invented it. Before that everybody, including MicroSoft, thought of "iconization" where a window was replaced by a small representation, and the small representation disappeared when the window was opened.
If anybody can point to prior art where there was something created when the window is created that did not disappear when the window was opened I would like to know, but as far as I can tell this is a real invention by MicroSoft.
I also want to commend them on figuring out that text is much more important than icons, and getting rid of the large icons, especially in the taskbar, and supporting large amounts of text. This was a dramatic reversal from contemporary designs then and they should be commended for it, though I guess it isn't really an innovation.
I believe having Alt+Tab navigate to closed windows (not just opened ones like it did in CDE) is an innovation as well.
I think MicroSoft should be criticized for some stuff that now pollutes Unix and Windows and often is considered "user friendly" so it is impossible to fight them: click to type replacing point to type was very bad. Clicks raising windows completely defeats the whole purpose of overlapping windows. MDI and tiled windows are a horrible abonimation that was created because of the clicks raising windows. Tying all the app windows together so you can't insert non-app ones inbetween also defeats the purpose of overlapping windows. And icons on the desktop (why not in a window that can be raised?)