A New Kind of OS
trader writes "OSWeekly.com discusses a possibility of futuristic OSes with both negatives and positives. From the article: 'Imagine if you will, a world where your ideas and perhaps, even your own creative works became part of the OS of tomorrow. Consider the obvious advantages to an operating system that actually morphed and adapted to the needs of the users instead of the other way around. Not only is there no such OS like this, the very idea goes against much of what we are currently seeing in the current OS options in the market.'"
Consider the obvious advantages to an operating system that actually morphed and adapted to the needs of the users instead of the other way around. Not only is there no such OS like this, the very idea goes against much of what we are currently seeing in the current OS options in the market.
I don't know about the parent, but when I build a kernel I don't just default to everything. I build for what I'll need. If that changes significantly then I'll do another with different options and settings.
While it may seem novel to "morph" to what's currently needed, it's not really so revolutionary an idea. It once was that operating systems cleared out unused libraries from memory (rather unlike the way Windows behaves, by loading 385 MB of junk you just might need during a session) and dynamically adjust the amount of processor priority and time (Priority and Run Burst) each task is assigned as needed depending upon system load, etc. Some things appear to have gone backward as we've got more dependent on ooh, shiny! features, whistles and bells.
Maybe like NASA digging up how they once did the Apollo Moon missions, to relearn, it's time for some of the people who do operating systems today to look back at how we did things 20-30 years ago.
A feeling of having made the same mistake before: Deja Foobar
Must be a slow news day. I read through the entire article and I didn't find anything substantial. He spends 6 paragraphs on the first "page" explaining how cool (and "weird") it would be to attach adaptive intelligence to our workflow. (His example is, what if the computer knew when NOT to bother you with email?)
:)
He then goes on for another 5 paragraphs just to tell us that Evil Corporations(TM) could misuse the data about our personal preferences against us. (Shocker, isn't it?) So we might as well forget the whole idea, because the Bad Guys(TM) have it in for us.
*Sigh*
I suppose I could plug my own Linux Desktop Distribution of the Future article to fill space and provide something substantive, but then I'd be accused of shameless self-promotion. So instead, I'm going to bed. 'Night all!
Javascript + Nintendo DSi = DSiCade
My major concern with such a system (besides the obvious privacy ones touched on in the article) is what happens when some other user sits at my comptuter uses it for a while. Would the "adaptive engine" or whatever be smart enough to figure out that there was someone else there or would I have to reset my settings and have it relearn everything?
Another interesting aspect would be as a constant check to make sure the allowed user is the one at tthe keyboard. Different enough input stats and the password box pops up.
This sort of "adaptive learning" for applications has already been done, albeit in a limited and utterly frustrating way courtesy of MS Office and their magical hiding menus.
As a Mac user who has to interact with PCs quite often at work, I find this not only not helpful, but completely obnoxious. I realize this is probably due to MS's fairly awful learning algorithm, but I think the lesson here is that it's going to take a long, long, long time before anything like this can make its way to the desktop without pissing off 50% of the users. Or more.
Per Square Mile, a blog about density
The OS is just a hardware multiplexer. Anything above that level is called an application.
Basically your future OS is like a game that learns about you.
:>
A future OS is only going to be as good as the hardware it runs on.*
*Guess what I'm working on?
From experience, it's a whole lot easier to have a standard interface to things (especially things like the control panel) than to have it rearranged for each user.
Trying to fix someone's computer with an adapted OS would be a real pain, and asking for help via email would be next to impossible, because your options could be in a different place.
Even today's OS adapatability can be unnerving. I get used to using something from the top N programs on the Start Menu (Sorry, no Linux on the work computer), but when it gets bumped off because Windows thinks I used something else more often, I'm confused for a few seconds, just enough to be annoyed.
So my guess is that this "new kind of OS" won't succeed because of support hassles and confusing the user. But it'd be darn cool if those problems could be fixed.
I have seen it, and it's called LCARS
Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
More control of my computer by me, instead of by someone else.
I keep hearing about stuff like "all your base are belong to thin clients and remote servers" whenever someone mentions the future of OSes and that deeply disturbs me, especially the part about remote storage of data and subscription based access to remotely hosted apps. Forget morphing; I would prefer changing my OS settings as I please. In fact, give me OS the option where I can save my settings to a profile and then load up a profile to fit what I'm doing.
I'll pay more for having everything on my hard drive, under my control, without any need to phone home to authorize further usage of my media, software or OS. Unfortunately we the sheeple are being herded towards the digital corporate nanny state where the corporations decide what we'll get and these little heuristic tricks the OS of tomorrow will do for us, will give us the illusion that we have control.
Funny how it is that to get the kind of extra value I desire, I need to actually pay less. Ok, so I'll purchase a support contract, does that count as "paying more"?
--- Grow a pair, liberals... stop letting the Republicans bully you!
One of the FIRST things I do is go and turn of "Use personalized menues".
Hunting for the widget the FIRST time was annoying enough. Why would I want to hunt for it a SECOND time? I have already learned where it is the first time.
Not to mention that I'm usually doing at least 3 different tasks at once.
If you want to improve the OS "of the future", then START with a reduced set of commands and allow the user to choose what level s/he is comfortable with. Do NOT move items once they've been learned.
For example, users will see flavors of the OS that are secure, fast, web-based, all-inclusive, or geared towards some specialized function such as controlling a robot or doing scientific calculations. Already you see Linux forks all over the place, just for this reason. I think the trend will continue down that path - an OS for every need.
Users? Aren't those the guys who always need their passwords reset and profiles restored? It already morphed and adapted and became Windows. We have only ourselves to blame. In Soviet Russia OS does not adapt to users; users adapt to... Oh, wait.
You're entering the sector of an filesystem adjacent to a partition, the kind of place where there might be a bootloader or some kind of weird Linux. These are just examples. It could also be something much better. Prepare to enter... The Scary OS.
Fellowship 9/11
fingerprint reader on the keyboard, that is tied to the machine with a hash, combined with a cadence reader. Everyone types at their own cadence. I imagine a large enough sample would give you a profile. Profile doens't match-no input. wrong keyboard and no fingerprint match-no input. Might even lock the machine automagically, send a text message to you on your 5g cell, and activate the room halon sprayers..
I like my typing cadence idea actually-first dibs, copyleft, right and center, prior art, TM, pat pending and so on. Give me candy! Candy License EULA.
If those questions had answers, someone would already be writing the "OS of the future." Sadly, at least in present and near-future technological terms, those questions don't have answers, and so they'll remain in the world of hand waving prognostications about some techno-utopia.
This article sounds like articles from 1990 about the house of 2015, you know, the ones talking about how saying "light" will turn light on, how you will check and reply to your video e-mails from your living room big screen TV well you know.. just like Back To the Future II.
My point is, I don't think you'll really see or even want a self deciding or modifying OS, even if the idea sounds cool. Mod me down for this if you want, but I think this whole article is just some nearly-worthless futuristic rambling, even if it's got some interesting ideas, don't pay attention.
You just got troll'd!
In recent news, it was found that the Pentagon is looking for ways to gather meaningful data from social networking sites.
Adaptive OSes would be one step better since breaking into your specific "morphing" would reveal more intimate data about the way you think, the importance you place on specific topics based on the way you prioritize your email message accesses,etc. To some degree this is possible by cross referencing cookie data between big corporate sites who just love one another. But adaptation potentially makes it much easier.
I'll bet that people will be clamoring to include morphing (if it ever exists) in web 2.0 type applications. I don't really understand this excitement. Your data is only as secure as the trust you place on the system admins of your site. No contract ever really guarantees they won't give into law enforcement agencies who want to know what color underwear you like.
I wish people would stop confusing Interface with OS.
Sure, when people talk about OS X they are often referring to it's interface (Aqua), but an interface does NOT have to be integral to the OS.
Linux / X-Windows are the obvious example on Slashdot.
For the lazy, here's the description from the article about how the futuristic OS is going to work:
Now, I don't know about anybody else, but I would kind of expect that the video editing program would make the tools easily accessible the first time I use it, rather than waiting until I've spent a couple hours hunting through menus before doing so. And my e-mail program already has an option controlling whether it notifies me of new messages or not.
In a general sense, the idea of an adaptive OS sounds nice, but the author sure didn't come up with any examples that sound particularly compelling -- or even interesting -- to me. The hard part of coming up with a next-generation OS isn't in programming new features; it's actually inventing or designing something that people will find useful.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
I don't see what this has to do with an operating system at all. This article shows the level of understanding of a middle-age soccer mom. I don't even think LCARS would fit that definition.
d exed- piece of software with a modular and stable-yet-clean api. Just look at the past and look at what servers are doing/have done. Its not hard to see the trends. What this means for end users is more capable software, more reliable software, and hopefully an end to constant upgrading.
A next gen OS will probably be a virtualized-modular-scalable-secure-networking-in
Take mac os x for instance. Add zfs, and more intelligent/complete programs for mail, music, and videos. Add a web 3.0 capable browser and drivers for every device out there. Give it the kernel upgrade (l4 rumours are about!) and perhaps cocoa interfaces for a dozen managed and unmanaged languages. Of course it would be nice to change the user-seen file system to a tagged database rather than a tree-based structure with symlinks and hardlinks. Further develop core video, audio, animations, etc. to completion and add a few other niceties and then you'll have the os of the next decade. The next decade after that computers better lose the keyboard and mouse interface... and hopefully they will be unrecognizable machines entirely! The OS of the future will be something the users will be completely unaware of. It will siltently do its job of running software and managing resources.
----
Go canucks, habs, and sens!
On page one of this "article" the author posits a wonderful OS that intuits what you want out of it and arranges itself in such a way that your workflow is made easier. Then page two comes to a screaming halt and slams into reverse with some lame caveat about how any OS that would do all the thinking for you is a tempting lure to "evildoers". There wasn't much substance in that. No. Not much at all. In fact we've all thought about how you would craft the perfect OS. I had an idea a while back for a document type "DNS" system. It would tell ANY OS that used it, which applications for that platform would open which documents and provide download links if you didn't have the software or would just launch it if you did. This Doctype DNS could be local on your network and also would be global just like real DNS with the root controlled by a non-profit organization that way there is no profit motive behind it. Great idea (I think) on paper. But it's not really workable. And that's just one idea. I think just a few of us posters could probably come up with better ideas for an OS of the future than the author of the linked piece did. For a minute I thought I was on Digg when I read that article. Besides, my current kick is the Xen hypervisor. I just love having such flexibility and power that is as yet unheard of on any other x86 system (and no VMWare Workstation doesn't do what Xen does).
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
The features that column describes are not OS features. They're app features. There's nothing stopping an app developer from including those features in an app running on any OS, or even a cross-plaform app running on Windows/Linux/OSX.
At best their "popular palette" system across apps is a windowing toolkit, only marginally part of the OS, and also possible in any current desktop OS, or in a shared app library.
What's such a dumb article so wrong about what an OS is doing in _OS Weekly_?
--
make install -not war
In a society that hates fair use, you simply cannot have an OS that assimilates ideas that might be redistributed elsewhere. Lawyers would force DRM on every I/O & messaging call. Of course, this article doesn't even try to get that deep.
The sci-fi bend is more along the lines of A.I., which disturbs me. Not because I don't want my computer to take over the world, but the feeble-minded author seemed more excited about the prospect of needing to do less than he was about being able to do more.
Almost since the inception of computers and then later modern OS design we've been trapped in a paradigm that although mirroring some aspects of the real world (the desktop, tools, etc), is quite backwards from other aspects. I think it is time we ditched some of these decades old concepts. For one the concept of an "application" has to go. It's an outdated and locks us down and restricts what we can do. See it's not about the applications; it's about the data. The data is the most important thing. Data should not be imprisoned in an application or even a series of compatible applications. Rather than the application being the focus of our OS and UIs, we should make the data, or the "document" be the focus. Instead of applications we have smaller, simpler, tools that can be applied to the documents (data objects or whatever). Common tools can work equally well on like data objects no matter where they reside. A spell checker would spell check anything that is text. A pen could draw on anything that is a drawable (a surface of some kind). If you needed a better pen, you'd buy a better pen that would work on the same surfaces as the old one (but in a better way perhaps). Everything would be document-centric with the concept of, perhaps, tool palettes or something. But it would be very modular and loosely coupled. The irony of loose coupling is that it could lead to the integration of widely differing sets of tools. For years Microsoft has tought us that to have good integration between the various tasks (word processing, spreadsheets, etc) we need a tightly intergrated application. This is false. We really need just open document objects that can support a variety of types of data and the tools to work on them. The OS becomes the app and *everything* is then integrated, but in a more open and extensible way. Of course this dramatic shift would lead to the demise of many major software houses until they can learn to adapt to the new way of doing things. But in the end the OS gets out of the way and lets us *work*.
If some of these concepts sound familiar, it is because they are not new. Apple and IBM once talked about this in their Taliget (http://en.wikipedia.org/wiki/Taligent) project which died. Unfortunately while we talk about technologies like OOP, they really haven't moved very much beyond languages. OSs are modular and even object-oriented to a degree, but they haven't quite arrived at the things I describe yet. Having the KDE libraries being object-oriented and manipulatable over RPC and DCOP is a step towards a possible document-centric future.
I adapt the OS to me with bubblegum, duct tape, and shellcode. I ain't sharing that shit. /me *spits on the floor*
Then let me recompile it optimally and and write make files for all my most popular commands
Not really an article, so much as a quick pointer of what we may get in the future.
It would have been better if the writer had actually analysed some of the things he spoke about and discussed them. I can sum up the article in one sentence using as much depth, research and intelligence as he did:
"In the future computers may be able to predict your work habits, but some people will use it for bad and stuff."
Good on ya mate.
The reason girls and Windows users don't understand UNIX is because all the documentation is in Man files.
I'm not concerned about how pretty OSes will be in the future or how clever they'll be at filing away my stuff to make it easier to find again later since the history of OSes shows that they are designed better at these tasks as time goes on.
:-)
My OS of the near future will be secure and stable, the likes of which we can only dream about now. It will recover gracefully from hardware errors, it will use high-level APIs to talk to all hardware making drivers a thing of the past, it will put large parts of itself inside read-only flash RAM on the PC where no application program (read: viruses and spyware) can touch it. It will back itself up automatically as well as specifying a level of hardware redundancy as standard.
It will be designed so well that it will rarely need maintenance and re-installing will seem as quaint then as loading a computer program with a stack of punched cards seems to us now.
That would be a nice OS to use. It might also find me looking for a new career path though as sys admins would find it hard to get work
The best OS would be a magical OS that could do everything by mystically knowing everything!
I put the 't' in electrical engineering.
It's a Hypervisor.
/.
Your applications provide (or are provided with) enough OS foundation to function in the limited virtual machine they live in.
The Hypervisor manages the hardware, inter-application communication, networking for each, and of course picking up the trash and keeping everything polite.
Apps only see the shared resources the Hypervisor permits.
But most important, two features:
- Each app gets the OS features it needs. My word processor may not need the same things the database needs, nor the e-mail app, nor the music player. So the OS for each app is lighter and nimbler.
- Each app is restricted in how it interacts with other apps. No more OLE, DDE, much less opportunity for the backdoor/under the hood shenanigans we call worms, viruses, trojans, and 'badware' (ick, stupid name).
I saw an article describing this and promptly lost any way to find the FRAKKING ARTICLE! Did anyone else, and where the heck is it? I thought it was *here*, on
Grrrrr....
But I love the idea. It ain't really new, but it's clever.
rick
deleting the extra space after periods so i can stay relevant, yeah.
This is basically referring to prediction: the OS predicts what you'll be doing and alters its behavior so that the predicted action will occur more efficiently. The problem is that no matter how good this prediction is, it's not going to be perfect, so the user will still need to work around the cases where it's wrong, as the user always must. But adding prediction means that the user will have a much harder time predicting how the computer will respond, which will require that the user work more slowly and verify the response of each action one step at a time. This is a step backwards. The best computer is one that has predictable responses to user input, allowing the user to work ahead of the machine and do much of interaction at an unconscious level.
Either the OS already had been programmed to show this recent actions palette and was just holding out, or the author is suggesting that it actually think up the concept of a recent actions palette and then program it itself!
The problem with the OS determining that in situation X you want behavior Y is that it probably will under-specify or over-specify what situation X is. For example, it might define situation X as the front window being at coordinates 239, 23.
Man, I'd like an OS that figured out that I want to read the entire article on one page, without any visual distractions.
Systems that try to be smart are a pet-peeve of mine, and it never seems like people have thought the idea through. I remember some like this for the Mac many years ago, though I never tried them.
If you want the closest thing to an adaptable operating system, learn Emacs inside and out. With elisp only a buffer away, it doesn't take long to adapt it the way you want to work. No restart required!
And prior to Emacs there were Lisp Machines. From what I know, every function available on one was redefinable all the way to the hardware without needing a restart. Now that's adaptable!
And it was done in the early 1980s too. Microsoft should have stole from MIT and Symbolics instead of stealing from Apple. Come to think of it, Xerox's UI that Apple stole may have been done in Lisp. Please correct me if I'm wrong.
1. Non-intrusive.
2. Stable.
3. Efficient.
4. Intuitive.
Some time ago, I worked on a friend's computer that was running Windows 95 on a Pentium 166. I was astounded at how fast and responsive it was. Windows XP on an A64/P4 barely keeps up, yet offers very little more to me in terms of usefulness. Neither Windows, MacOS, nor XWindows particularly fits #4, at least not for me.
I will say, in terms of scalability, XWindows is a *real* screamer on a quad-Opteron with 8 gigs of RAM and a nice, fast SCSI array.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
I would point out that such an OS would need to be task oriented, rather than user oriented. /desktop use.
If I start working a novel task, one that I've never done before, I'd hate to have to 'teach' my OS how to behave.
Many people I know already customize their OS for the task they are doing.
The easiest way is to just create several user accounts or desktops, each of which runs different 'background' applications. My gaming logon in windows runs very few services, keeping the system as lean as possible , whereas my 'day-to-day' login has virus scanners, screensavers, desktop backgrounds etc configured.
The next iteration of this, for me, at least, is the virtual appliance. While popular in servers for a while now, they are really beginning to take off for home
I am beginning to use these quite frequently, creating my own installations that contain the tools neccessary for a given task.
Biggest advantages include cross-platform, wide availabilty, and great uptime (as long as you backup your images.
Imagine if you are sitting there playing Halo. After stopping to go grab a coke, your girlfriend walks into the room asking you if you'd like her to roll into adaptive mode. You say yes and she begins to learn, as you play, what your needs are.
....
You go to resume your game again after the coke and almost immediately, you find that the your girlfriend seems more quiet and responsive to your needs. Out in the kitchen, she is out there preparing a virtual smorgasboard of all the food and drink you need the most. No longer are you being forced to locate old cheese snacks from some resealable container. No, instead your girlfriend has done the work for you with no interaction on your part whatsoever. Sounds interesting? Just wait, it gets weirder
During the course of your gaming, your girlfriend has already learned from previous experiences that you do not like to be bothered with request for attention when working on specific missions. It's not so much the game being used mind you, rather the type of "work" being done at the time.
An important sms from your brother with his score comes in along with a number of less important family messages. Thanks to Brandy X's new attitide, the only sms you are alerted to is the one your girlfriend knows will be critical. Even though the other less important sms are coming from the same person, your girlfriend understands how to respond for you, just the way you prefer.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
That was the dumbest article I've read in a long time. Inarticulate, nonsensicle rubbish. digg--... oh wait... :-)
Why? Because I want to do my OWN thing. I want to customise and fine tune my work to the way I want it. I don't want to have to conform to the standards that are most commonly observed in customer feedback reports. So what if I'm using the the software in a way not forseen by Billy Gates, Steve Ballmer and an army of overpaid consumer research suits.
I also have some questions:
*At what point does the PC take over and do everything for you?
*When does the user become obsolete?
*Where should the line drawn where we force people to learn about the computer instead of vice versa?
*When do the MIBs take me away and neuralise me for stumbling upon their secret plot?
*runs*
Kai Krause tried something like that once, in "Kai's Power Tools". The interface started out simple, and as you used it, when the software decided you were good enough, you advanced to the next level and more tools appeared. This was one of the first programs to have really cool functional widgets, like draggable on-screen trackballs and joysticks.
Users hated it. The cool user interface just got in the way of getting work done. At one point, a rumor started that Kai was going to redesign Photoshop's interface, and there were organized protests to Adobe.
But his programs looked so cool.
Part of the problem was that Kai was addressing a very hard problem - the user interface for a drawing program. The MacOS X toolbar looks like a Kai interface. But that tool bar is really just a menu. Serious drawing programs, from AutoCAD to Maya, have to offer so many different yet interacting capabilities to the user that they're terrifyingly hard. A full-scale 3D animation program is about as hard as an interface gets. There before you is the ability to create a synthetic world. Animation programs struggle to provide all the needed tools without overwhelming the user.
There's also the issue in that world that working artists want quite a different set of capabilities than amateurs do. Artists seldom edit freehand-drawn lines. They delete them and sketch new ones; they don't drag spline control points. An experienced animator creating a human head in a 3D animation system won't build it up one polygon at a time, or start pulling on an ellipsoid. They may draw a series of cross-sections and skin them. I've seen this done in less than a minute. So the needed tools may be quire different from what a programmer would imagine.
A CLI is no more "the system" than a GUI, it's just another abstraction. Most black-and-white movies were made that way because it was the best that could be done, not because the filmmaker thought it was more artistic. In a like manner, most OS's of the 70's used a CLI not because it was a "minimum metaphor", but because it was the only practical option at the time.
Daisy, Daisy, give me your answer do. I'm half crazy all for the love of you. It won't be a stylish marriage, I can't afford a carriage. But you'll look sweet upon the seat of a bicycle built for two.
I think I'm way too random in my PC usage habits for an OS like this to help. Does anyone else feel this way?
This article, like so many other ones, assumes that AI will make some sort of miraculous progress within the very short term. Many of the features mentioned are fairly banal and not really OS functions at all (application customization) and many others would be wildly frustrating unless the OS really did solve major unsolved problems in AI (the email agent that just miraculously knows whether I'll find an e-mail important and can be interrupted right now).
A related problem is that few OS's and applications do a particularly good job of setting out their static functionality, much less building good menu structures on-the-fly in reponse to my behavior (the trick of grouping frequently-used operations is such low-hanging fruit, and already done so many places, that it's hard to imagine this as particularly impressive).
Given all the real problems with current OS's (general usability problems, backward compatibility, stability, bloat, taking advantage of increasingly complicated hardware - GPUs and multicore spring to mind) it's hard to imagine some sort of spray-on AI layer being the answer to all of our prayers.
User, From your usage history, it seems to me that you like bloated software, spyware, torjans, viruses, worms, and other malware. I've take the liberty of installing all of these with the latest features. I've also removed all productivity software, as my records indicate you were failing out of school anyway. Regards, Your new-age OS.
--fetch daddy's blue fright wig, i must be handsome when i release my rage
Give them many (usable) options, let them customize the damn OS themselves, I say!
It starts out as just as something on a disk, you push it in, and it grows inside your HD as it was shipped.
Then, it's a-la-carte land where you get to select what apps you wanted, what options of the apps you don't want, what multiple versions of apps you want at the same time, flip around kernel options, and update it all from CVS at anytime while keeping your own modified sources of something.
Build and install without worrying about dependencies. No frozen precompiled distros, no fumbling around RPM hell, no keeping the apps in sync with the OS nor forced upgrades of the apps because the distro decided so, no tightly coupled interdependencies between the OS and the third party apps. It grows with you as you want it, the way you want it.
You know, Windows is great for this too. Some of the Linux out there (Red Hat/Fedora) needs to wake up.
Parent makes an excellent point.
You can find dozens of good (many bad) shells for Windows or *nix.
GUI != Operating System
[Fuck Beta]
o0t!
More pseudo-visionary clap trap from people who can't bang two bits together.
Hey, I'm Slashdot user 1484. I have a waiver that lets me be a curmudgeon whenever I please, which is pretty much all the time.
Why would you ever want your creative ideas to become _part_ of the OS? IMO the ideal OS should be 100% transparent and you never know of its existance. It would facilitate the seamless transport of information, ideas, and media. Beyond perfect natural voice recognition, I don't see any potential evolution of the OS as significant.
It's worse than that. As an infrequent user of MS Office, I've noticed that the time it takes me to correlate the label on a menu item that my mouse is hovering over with what I want to do is just fractionally longer than the time that Office decides is the right time to expand the menu into full glory mode. Bang! The menu item that I then click on is *not* the one that I was hovering over, and something inexplicable happens to my document. (Of course, the menu goes away as soon as you release the mouse button, so you can't even see what option it was that was clicked.)
Bah, humbug. Gimme VIM any day.
-- Andrew
Bayes filter + plugin in Thunderbird + option to pop up window when "messages like this" show up = good enough "AI" for mail priority filtering. I don't actually pop up a window, but I have PopFile separate my mail into a variety of folders, including one marked "Urgent Action"*, and while its not quite as effective as having a human screener its a whole lot cheaper and PopFile will never accuse me of sexual harassment for exposing it to the contents of my spam folder.
But, as you say, there is no reason this is (or should be) an OS function. Dyamically optimizing the actual OS-level stuff for you ("We're going to alter the functionality of malloc() on the fly so that your applications are more responsive!") is probably a much more difficult problem. Some of the real pie-in-the-sky stuff in the article actually would require Strong AI.
* I like digging under the hood. My Urgent Action bucket seems to work primarily off of header information (mails from my boss are more likely to be urgent than those from my mother, mails from @hotmail.com are vanishingly likely to be urgent) with some spice coming from keywords (the filter "knows" what words relate to an illness a certain family members is suffering, what words are about my pet project at work, etc).
Help poke pirates in the eyepatch, arr.
(Yes, I'm a liberal, but left wing Liberalism is as much Communism as Reagan is a Nazi... oh wait...)
I'd like a stretch SUV if I could get it running Biodiesel or hydrogen or electric power, thank you very much.
I do not like the idea of "on demand clustering" because then someone else gets to decide whether or not my usage of said CPU power is acceptable or not, or just as bad, how much I will pay for said CPU power (whereas now it is free for me; I own the CPU and I do with it as I wish, notwithstanding electricity costs). What if I can slap on a nice big fat solar panel on my roof to pay for my computer usage? I already do right now, on my own house, and it supports my uberthirsty computer habits (to a large minority extent, at least).
In short:
What if I decide to convert my DVD to mpeg and the conversion flops halfway through and I need to start over? Does this count as "abuse of collective CPU power"? Hello, cable modem bandwidth hog overusage charges/down-throttling effect! No, that's not for me. If I overuse, I'll pay the electric bill on it, but the community does not get to decide what's allocated to me. We've already seen what happens with this in bandwidth allocation.
And by God Almighty, I do not want the "collective" that allocates that CPU power, knowing what I am doing with it. Yes, I have everything to hide because no one, and I mean absolutely no one has any business knowing about my business unless I consent to it.
This only relates to "OS" ideas, not TFA. I saw the "a new kind of OS" title and the first thing that came to mind was this idea I had about improving the way running instances of applications are manipulated and managed: I think that each active window (independent of if it's N windows of a single app or not) should keep track of the last time the user voluntarily interacted with it and that windows with similar timestamps should be assumed to be implicitly linked together to form a sort of hiearchial workspace session.
:(. Someone go code it up, pretty please
It may be easier to explain using an example:
User is working on some project that involves a schematic editor (lets say OrCAD), five instances of Firefox (looking up IC specs, etc), and some sort of a code editor (vi!).
Now someone comes in and asks for some help with some completely different project. I know that what I do is I usually open up N more instances of firefox, another one or two apps, etc. Suddenly I'm burried under 20+ different windows having to do with some horrifyingly large number of projects.
Here's the catch: when I switch back to my original instance of the schematic editor the OS should automatically bump up the windows that I last touched when I was last using the schem. editor app. So those five original Firefox windows should magically emerge from the pile of active firefox sessions (windows, tabs, you get the idea). All of a sudden, you CAN keep those hundreds of idle windows open in the background, a dynamic world of your own creation that lets you access all the information that you need... and having this kind of prioritized taskbar/ tool I, for one, think would be incredibly helpful.
Too bad i hate software coding and dont know the internals of KDE
Genera
I think the idea is cool to ponder and the stuff that makes good science fiction plot devices. it would kinda be like having an apprentice to hand your tools to you while your working, or a receptionist to divert your anoying messages. Maby just a tool bar that keeps up your most recently used tools in addition to the normal set would be a decent solution(think its been done before). As for the email perhaps settings that would only alert you to messages from specific senders.
"We would like an OS that has the following characteristics:
Linux does 2, most of 1 and 3 and some of 4 and 5. Plan 9 seems to be working on other aspects of 4 and 5. In theory, mandatory access controls should provide 6, as automagic functions would be tightly defined, but MAC is not well-understood on general-purposes operating systems to the point where the Fedora defaults of SELinux are almost useless.
I'll go through these cases, as the above list isn't entirely clear:
No OS in the world is capable of providin
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
If an OS was simply just that... an "operating system"... then it wouldn't have to morph. That is the job of the applications. An OS only needs to provide an interface between the applications and the hardware. An OS doesn't need to include virus scanning, firewalls, defragging, etc....
Remember when an OS could fit on a single sided 5.25 floppy disk?
First you find a person who can program the computer. You tell him what you want in English and give him a bucket of cash. Then you cross your fingers and hope that he was worth a bucket of cash. He goes off and writes a program based on what you told him. If neither you nor he were on crack at the time, you might get a system that approximates what you wanted it to do. You then use what he made for you to make two buckets of cash, at which point you can get two more programmers to make a computer do something else that you want it to. It's a very user friendly system, really...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Everything TFA mentions as adaptive OS features would be more appropriately called adaptive applications. You don't need to change the OS, and by that I mean the kernel, or a little higher level components (e.g. X server etc). You just need a suite of adaptive applications.
With zero degrees of separation from you. If someone can crash the whole system then someone could also root the "collective" cpu and own all of your base.
The author of TFA obviosuly hasn't tried to train a computer user on efficient use of computer technology. Most Excel users don't even know about the SUM button, let alone writing a formula on their own. Most Thunderbird users delete their junkmail rather than marking it as junk. Most MS Exchange/Outlook users don't archive important e-mail locally, instead allowing themselves to go over quota. And scripts might as well be written in Sanskrit.
Now imagine a world where the computer has to guess what the novice user is doing. Programming a digital device requires strong task analysis skills, skills that are utterly deficient in the majority of computer users.
Frankly, for the overwhelming majority of users, computers represent too much choice. They actually benefit from strongly regimented click paths and limiting interfaces.
Well reading through the article I found the first problem to be that this future OS requires a lot of training. Sure as things get smarter they adapt and learn how to do certian things, but if you are running a bussiness or working with time critical things you might not have time to "train" the os which emails are important and which are not.
Now I'm not saying that this isn't an improvement. However, I am saying that as the number of options pertaining to a particular decision grows it becomes harder for us to choose rationally. The more options their are means that the more evaluation the user must perform in order to sort through those choises. Now in the Real world we can do this simply through reflex and learning. We've evolved over thousands and millions of years and individualy learn from expiriance. We start off with parents guiding us, a default factory human setting if you will. In the real world our senses have also evolved to detect not everything, but what is relevent. We are omnivores who tend to eat a lot of fruit so we have good color vision to tell at a glance what is tastey and what is not. We do not hunt at night so we have poor night vision. The sense of touch is much more accute in our fingers than our toes in order to use tools better.
The problem comes when we make adaptive computer systems we must also be sure that options are intuitive as well. Just look at the unix shell for a somewhat non-intuitive example, and many aspex of windows are worse as we can't even see into much of those inner workings.
Revolutions make good PR slogans but generally bad development models. The way forward to the "OS of the future" is to keep developing what we have now(my own bias is debian(ubuntu) linux) and perhaps shift to a bit more of a focus on both the backend of how the computer runs the code and the backend of how the user interacts with the computer. While a bell or whisle may be a few wavey lines highlighting some widget on a screen, if they help you find that widget when you need it then they probably have earned their keep.
The vision of this article seems to be an OS where everything is run by a super-AI version of clippy.
Unless the AI really is that super, how annoying.
If anybody read far enough though, the real point of the article is that if this is ever achieved, it could really be quite scary -
"So before too many of us become overly excited about the prospect of having a PC that totally anticipate our every whim, we ought to consider the consequences of such ability. I don't think there is any question whatsoever that enjoying the fruits of tomorrow's coders will be something truly amazing. However, nothing in life is free. And this includes the right to privacy with our operating systems."
What's your GCNSEQNO?
Learning that a set of instructions in sequence is needed to complete the job, learning about conditions, finding out that some operations are slow and others are fast - these are all concepts that are not difficult and that help a great deal when you want a computer to complete a task. Remember that these are the concepts that are seen as being too hard and that the computer should do it all for you without you having a clue why. We don't need to know exactly what a compiler is doing, but we need to know a few simple rules as to how computers work. For example, defining a varible to dozens of significant figures when an integer will do would not look like a time waster to someone that knows nothing about digital computers. Newbies may suggest that a lot of extra time to run something doesn't matter, but there are still a lot of us out there that run stuff on clusters that takes weeks - time savings of a few percent obviously help in that situation.
The fact is, making something "user friendly" means making the front-end more simple -- and thus making the back-end more complicated. But this complexity always eventually compounds and compounds until the end user can't understand what's happening and gets confused. In the end, we learn that computers are easier to use if you understand the back-end, and that can only happen if you use a minimum of metaphor. That is-- a straight-forward system that is obvious and transparent.
While I agree completely with the point you're making, the first sentence of this paragraph seems to contradict it. Unless you just mean that when people *commonly speak of* making things "user friendly", they're talking about hiding things for the sake of simplicity while actually adding complexity. But that's certainly not the way it has to be, which seems to be the overarching point you're making.
People (users and programmers) seem to think that making something user-friendly involves hiding complexity behind some kind of "wizard" or cheesy metaphor, because the legacy systems underlying most computers in the world and irreversibly complex kludges full of inconsistencies and weird hacks. When you have a very complex system with lots of little rules and exceptions to those rules, it's damn near impossible to make that "user friendly" without hiding it all under the rug.
Instead, the better approach - though I understand why it's largely impractical for reasons of backwards compatibility - is just to have the underlying system less complex to begin with, and then let the users look "directly" at that - whether that be via GUI or CLI doesn't matter. Have the underlying system operate according to the smallest number of rules that can be consistently adhered to while still achieving the necessary functionality, and then present the operation of those rules to the user in the clearest and most consistent manner possible. Maybe attach a metaphor to each rule (e.g. the "directories are like folders, disks are like filing cabinets" analogy works well), but make sure that there's a 1:1 correlation between metaphorical objects and the "real" (logical) objects dealt with by the computer.
For an example of how NOT to do things... One of my biggest complaints about Apple's declining UI standards (which used to be top-notch) has been the way that iPhoto organizes it's albums (or at least used to... I've been told this is different in newer versions, but haven't confirmed that). When you create an album in iPhoto, and move your photos into there, it's not actually creating a folder on the HD and moving or even copying your photos into that. The iPhoto album grouping is contained entirely in iPhoto. This means that if I want to send someone an album, I can't just zip some folder in my iPhoto library and send it... I've got to go into iPhoto and "export" those photos. (This has the further fault, aside from not accurately mapping metaphor onto what's really happening with the data, of reinforcing the false notion that files are "in" programs. I get so tired of users telling me, when asked where such-and-such file is, that it's "in Word". I'd go so far as to abolish all Open dialogs if it'd make users realize there's a structure on their disk organizing their files, and that files don't live inside of programs).
So yeah. Metaphors aren't bad, so long as the metaphor accurately maps on to what's really happening - i.e. so long as the system is transparent. If you've got a very complex system underneath, making it transparent is going to make it user-unfriendly. But hiding what's really going on will also make it user-unfriendly, for the reasons you stated in the quoted paragraph. So your only solution is to have the underlying system itself be simple, but flexible and thus powerful, and then present that simplicity transparently to the user. Then your users won't have much to learn, and once they've learned those few rules, the entire possible realm of functionality in the system will be at their fingertips.
-Forrest Cameranesi, Geek of all Trades
"I am Sam. Sam I am. I do not like trolls, flames, or spam."
The machine isn't supposed to think much about anything, it's just supposed to let me use what I want and that's it. Anything else would be plain annoying. What if in this specific video editing session I'm expecting an email from my secret lover on the side or I don't know what?
o hai
What is your dream operating system?
Personally, I want a computer that can respond to voice commands. Not just through microphone but also through the cellphone from a remote location. I could tell the computer to turn house lights on from block away or download lastest
Voice Activated Computer w/ Remote Control.
\
I want an OS that I can plug into my brain as some sort of extension. Then I can give commands to by thinking rather than typing it on a keyboard or clicking with a mouse. I can think of the general principle that I want to accomplish, for instance calculate the googolth (http://en.wikipedia.org/wiki/Googol) prime number, and the computer then does the brute-force calculations. As when you think about it, I am good about thinking what I want to accomplish and how to accomplish it, but rubbish and error-prone in the process of actually executing it. Whereas the computer is not very creative in coming up with new ideas, but is excellent in executing mine. This does mean that the computer should distinguish main thoughts from day dreaming, otherwise this BrainOS could labelled as one that is prone to many indecent pop-ups.
1. Non-intrusive.
2. Stable.
3. Efficient.
4. Intuitive.***
and 5. Predictable.
It may be possible to build an adaptive user interface that isn't an incredible PITA for users and a nightmare for support personal. But you can ship the first ten releases to someone more masochistic than I am. Why would anyone want an OS that might decide that I need bigger or smaller typefaces, want a variable font instead of courier, and really don't need an File menu because I haven't used the one I have for 97 minutes? ***Some time ago, I worked on a friend's computer that was running Windows 95 on a Pentium 166. I was astounded at how fast and responsive it was.***
I'm typing this on a ... P166 running Windows 95. Why am I using this antique? Because it is faster and more responsive than the Windows 98, W2K and XP machines around here. It's also faster and more responsive than the K2-450 with Linux that I can switch to any time using the KVM switch.
No, I don't think we should all be using Windows 95 (plus two dozen patches). But I do think there is something wrong when more modern OSes on much faster hardware consistently deliver inferior performance. ... Doing the same damn job.
When OS designers get the GUI interface right, maybe it'll be time to try to improve it. But I think that the GUI interface hasn't improved in the last decade. In fact, it's actually deteriorated a bit. It used to be that I at least knew what single and double click would do. Now days I'm just like everyone else, CUSH (Click Until Something Happens).
Bah...
I feel an attack coming on ... where's that blood pressure medication?
You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
I'm not even going to read the article, because the summary tells me that the article is crap.
Here's why: there's a difference between an operating system, and an operating environment. Back in the old days, for example, Windows ran on top of DOS. DOS was the Disk Operating System, and Windows was the operating environment which made it easier to work within that operating system. Adaptive environments have already been attempted with minimal success (read all the other comments about personalized menus). It's very difficult for a computer to "know" what you want it to do at all times, since all it does is compute. It reacts to input, period. Without input, without stimulus, it is able to accomplish nothing.
I suppose that one example of not interrupting you with email is novel, but how would you propose to accomplish this? How does your computer know which emails you do and don't want to be interrupted with, without you telling it? You might want your old college buddy's mail to pop up, no matter how waist-deep in code you are, but if the lady in HR bothers you about your direct deposit one more time, you might snap. How does your computer know that? Without the long, drawn-out process of programming (or "teaching" or whatever you want to call it) the computer, the computer won't intrinsically know how to respond to various conditions. Without explicitly telling it "I don't want to be interrupted unless it's bob" then the computer will never know.
Admittedly, having additional keyboard buttons to conveniently toggle email alert functionality would be a step in the right direction, as I don't think anybody wants to press Contrl+Alt+Shift+NOMAIL at the same time. Email alerts, being global things, should have the innate functionality to be turned on or off globally, whether you're in a full-screen command line or you're browsing the web. Adding more keys to the keyboard may seem a little intimidating, but wouldn't everyone like it if they had some keys on their keyboard that they instantly knew the functionality of? How about a toggle column down the left side, to toggle email alerts, IM alerts, and so on? Move away from the generic "function keys" and move towards "functionality keys." Maybe this would be a decent use for the new Optimus keypad.
I'm just rambling now, but my point is this: There's a difference between an operating environment and an operating system. KDE and Gnome are open-source operating environments which can be altered in any way anyone sees fit. Knock yourself out.
Reinvent the wheel only at either a lower cost, greater effectiveness, or your own personal enrichment and satisfaction.
... this is about applications and user environments.
Big difference.
"It was hell!" recalls former child.
One of the FIRST things I do is go and turn of "Use personalized menues".
Not the spell checker?
...unless it is a dupe, of course.
And since it is the same, here is my response in osnews:
"Real progress would be to get rid of the concept of processes/filesystems/etc and instead focus on 'information' and ways that information can be manipulated.
I imagine an operating system where the 4 foundamental actions are:
1) define a new type / input a new computation.
2) create a new value / apply a computation.
3) search for values.
4) delete one or more values.
Initially the user has the capability of doing one or more of the above, as well as creating new computations that consist of these actions.
The user interface presents the available values as the results of computations, as well as a set of actions/computations that can be done over the information.
Each action opens a new window/screen. The previous actions are available, of course, unless the user can't go back.
In this type of O/S, there is no concept of 'program' and 'filesystem'.
Information is stored internally without hierrarchy, in tables. The system builds association of information depending on the queries the user does. Information is persistent, but it is thrown out if the system detects that it is no longer referenced by any computation.
Computations can be arranged by the system to run in sequence or in parallel, depending on their dependencies.
The user interface is uniform, i.e. some part of the screen shows the information, and some part of the screen shows the available actions, including commands for visiting other parallely executing computations.
The system shall also offer a 'screen-builder', i.e. visual way to construct new screens, visualise information in different ways and arrange actions in other formats. The screen-builder data are also information handled in the same way.(i.e. typed, inserted into a table, queried etc).
Device drivers would be a series of computations/screens packaged together. Same goes for 'programs'.
The binary interface of all this shall be consistent from architecture to architecture, and pieces of code/data would be distributed as bytecode.
The kernel shall have the task of translating the bytecode to native code, store the native code and reuse it once the same computation is run.
The kernel shall also see the network as a potential target for distributing computations.
Under all this, a powerful lisp-like programming language shall be the medium where all this is realized.
I would have much more respect for big companies like Microsoft and Sun if they pursued something like this, instead of seeing the same old unix/C-based stuff over and over."
Link:
http://www.osnews.com/comment.php?news_id=15643
I thought the article was short, badly written and sounded like somebody had taken a slashdot comment and scaled up.
You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
AI OS?
IMHO, if you are going to the trouble of writing artificially intelligent elements for an OS it shouldn't necessarily be visible to the user, it should be more to help the OS become stable and work more appropriately. It would be nice if an OS learnt how to use whatever hardware was plugged into its system. I'm not sure how possible this would be but I know there are several projects out there working on writing applications that better them selves at performing certain and can almost in effect, work things out with out given any specific pointers or direction by the programmer.
Users should be bought out of this technophobia. Software companies are hiding more and more and this is a bad thing. I don't know how the average user will look in 20 years time because more and more people are becoming less scared of using computers for basic tasks because they are being bought up using them but Software companies are insisting on hiding any thing remotely technical.
People change their minds and what if you get a schizophrenic using an Auto-adaptive GUI? Their system might go to far in one direction and then every thing would have to be reset. It all depends on how far developers want to take it.
Who are the guys that write these things in the first place any way? I always assumed people with the brains to write a piece of software like this would be a frequent slashdoter and would see that this is a bad idea. Are they really growing developers with these capabilities, with no idea of what would actually work and be useful? Is it all about money?
$ cat
cat:
Imagine if you will, a world where your ideas and perhaps, even your own creative works became part of the OS of tomorrow.
Sounds like new age marketing bullshit to me.
"Open the web browser app, Hal."
"I'm sorry, Dave. I'm afraid I can't do that."
or
I for one welcome our new adaptive OS overlords!
or
In former Soviet Russia, OS adapts YOU!
In the second half of the 90s, I basically had an ever-more-elaborate setup for six years with OS/2 because it had a separate boot partition like linux and a relatively simple file system with HPFS so it was easy to bare metal backup by just Zipping to Jaz disks from a floppy boot. As such, over several years I could build in a considerable depth of individualization in program interactions, email filtering logic and the like.
At the same time, it seemed like every Windows home user I knew was reinstalling every 3-6 months. That would have driven me crazy. Where was the opportunity to build individualization into your setup when you did that? As such I have to wonder whether Windows has conditioned people to think of a computer as the lowest common installation and _not_ as a tool which can be expanded to a user's individualizations. If the computer asked them whether they would like it to set up a macro from one program to another to automate a task they would probably freak.
The whole point of a GUI is that it is easier to find how to do things: no reading the man page, the button is there and tells you what is available.
However, for common tasks, this is not a problem in either a GUI or CLI system: they have been used enough that you KNOW what is there. For uncommon tasks, you may not know it is possible and you may know it is there *somewhere* but not really how to get at it. So why is MSO trying to hide them from you? You'll never find it now!
Also, if you're helping someone over the phone, it is a PITA telling someone "it may be hidden, so look here" all the time. Bad enough when the GUI changes where the option is. The CLI usually doesn't change much or at all.
Can you imagine trying to support something like that?
;)
Yes, I'd like you to click on the Start buttton... Oh, you don't have one. Press WindowsKey-R? You have a goldfish swimming around you say..? Ummm. Perhaps we'd better reformat and reinstall.
Plus ça change, plus c'est la même chose
My first thought reading this is that it reminded me of MS products that constantly try to anticipate what you are doing (shudder). This seems like it would drive me insane. If you thought Clippy was annoying...
Be kind, for everyone you meet is fighting a difficult battle. - Plato
The article confuses adaptive applications with an adaptive OS.
My regular OS has way too many features for what I do with my laptop most of the time.
scenario 1: I'm on the train and want to write a document
-> I want the battery to last!!!
scenario 2: I'm on the move and want an MP3 player.
-> Again, make the battery last.
scenario 3: I'm plugged in and am busy developing.
-> I want all the bells and whistles
The hardware and services running are different in each scenario. For me a "morphing OS" adjusts *system* activities to what I am doing and switches off hardware if power is limited.
If I am on a plane depending on my battery, it really is not a good time to re-index the hard disk. This doesn't need fancy algorithms or "AI", just a flexible OS that has different modes of operation.
You just want to be the in controll alpha geek, who knows everything better...
Wake up dude there is a world with real world people out there....
Get used to it, live with the fact that you are oart of a small minority...
You would have a blank screen with a cursor at the bottom, like a Unix or DOS command line cursor. Type "XMMS Zepplin" and XMMS would play your Led Zepplin playlist.
It would also be graphical. You could put icons on the screen, like you now can in any graphical interface (thanks, Apple and Xerox). This OS would have no double clicks; the double click is the hardest thing for a new user to learn and I'd be done with them, period. One click would highlight an icon, a second click would run its program. I mean, come on, mice have had two or more buttons for a decade now, the double click is stupid.
In place of a taskbar, you could put clocks, etc anywhere on the screen. Clicking anywhere that wasn't an icon would bring up a menu - not a traditional menu like we've had since we had green screen mainframes, but a round menu with its items situated around your cursor. I've read that useability testers say this is the easiest to use, and wonder why nobody's done it yet.
Menus would be sticky. If a menu is up, it stays up whether you hover over it or not. It only goes away when you click somewhere or something else.
The OS under the GUI would be Linux, although I guess any open source *nix would do.
Thoughts?
-steve (sm62704, MRC="circus")
Imagine the support nightmare this would cause....
I need to read your files, so I can find out your credit card details. Should the OS morph to please me?
It sounds like the second coming of clippy to me. Oh dear.
Never know what OS stands for when I first read a /. title... Open Source? Operating System? Over Stressed?
Cinépatas.com - Locos por el CINE
That sounds good in theory, but when you try to apply it in the real world you find that people don't want to work that way. People don't want to "apply a tool to their data". They want to edit their document, and they want to do it with the application they are familiar with. They don't want to apply the "text tool" to edit the text, then find the "picture tool" to insert a picture. They want to use the menu item or the hotkey that they are familiar with and just get it done.
The kind of architecture you're talking about sounds good to the geek writing the applications, but it doesn't fit the workflow that actual users want.
"Seriously, look at all of the privacy problems that AOL has been plagued with lately. They're not a malicious company really;"
Well, he lost me there.
Maybe he's not on their mailing list?
see mirror
A mjor operating system makeover costs a billion dollars (unless you are MicroSoft where it costs five). Examples include Apples incorporation of NextStep, MicroSoft Vista, NT, etc. If you valuate the millions of "free" hours spent contributing to Linux, the Linux OS companies, and installation labeor over the years, thats effectively a billion too. Plus there are the expensive failures like OS/2 and BeOS.
The cost is probably why we rarely see totally new OSes and mostly tinkering with old ones.
That was one incredibly dumb FA, guys. First, the ads. Jesus but what a crap website, with popup ads under double underlined words. They split it into two pages, even though there's damned little on page two. But what's worse I had to endure that for a completely crap article.
Steal the first sentence from Rod Serling! Nothing like starting an article off with a little plagairism.
As they say in the UK, "WOT??" And how do you accomplish THAT? Oh, I see, it's just crap writing. They mean that NOW it makes no difference, not after your PC loves you.
Which is exactly one of the things I hate about Windows XP. I don't want any dialog boxes I don't specifically ask for, unless the PC somehow "knows" I want it to ask.
And there's the rub right there - this will never work. I seldom do exactly the same thing every time I perform an action. There is no way the OS can guess what I want. Microsoft has partly implimented this hare brained idea in office, where you click "file" and only the few menu items the program "thinks" you want pop up. They are the ones most recently used, and usually I don't need to use it again, I need a different one. It's not like there's no screen estate for the menu, or like I can't read more than four items without being confused.
Exactly how using a new program is now - once I know how to get it to do something, doing that something is easy. Which is another thing I hate about Microsoft products: every "upgrade" is a new learning curve. Why in the hell can't they leave the menu items alome? If you have "options" under "file" then leave it there, damn it!
And I'll invariably need a tool it isn't displaying. There's a WHOLE OTHER MONITOR, you can't find room for all the tools on it? If I know where they are I don't have to hunt for them!
I don't WANT a wierd computer, thanks.
Oh, you have a mind-reading computer that can tell that an email from George is important enough to open now, while it knows that a different email from George can wait?
You have this now: it's called IM and email. IM is intrusive, email isn't. Don't want to be disturbed? Shut off IM.
No, it doesn't. I would like, however, a voice recognition system coupled with a touchscreen. Now THERE'S a good OS!
Hell, HAL was nothing. Giskard destroyed the earth! "Fi" is short for "fiction" and only in fiction do you have an evil computer that plots to... ? do evil? Computers are dumb tools, and will always be. You all know as well as I do that a computer is just an electric
The whole problem of an OS is drenched in the way it has to differentiate between users. Everything else is under its control, but it doesn't (yet) have a way to determine whether a user is present, if (s)he is involved with it (and not looking away) and whether a process has been started up by a user or by the machine itself (something UNIX refuses to address).
You see, as soon as an OS can be safely determined to be a single user's OS (the computer in someone's mom's bedroom), the box and its possibilities can be thrown wide open (I'll get to the network bit later). When we have a box on which countless amounts of users are all competing for the CPU, and are possibly using it with malicious intent, it has to be locked down.
Why is there (yet) no mechanism to determine whether a process (and its children) were actually started off through a CLI or a GUI ? I mean, the windoze way of differentiating between services and windows-apps is ugly, hackprone and not well thought-through, but it does have one advantage; I can always tell which processes are user-initiated, which ones are services, which one run as scheduled jobs, and which ones are unreliable.
If this aforementioned flag was properly implemented, then a (accidentally, or stupidly) downloaded executable would not be trusted, could never run as a service, and would always have (some form of) a user interface. In other words, it could never become malicious before the user actually agreed to its actions, and it could never install itself as a service and live in the shadows beyond where an average user would dare to look.
Religion is what happens when nature strikes and groupthink goes wrong.
Many PowerPoint presentations plagued with meaningless charts because there is a simple chart-generator in PowerPoint. Making a meaningful chart only requires opening up another program, but hey - why bother when you've got the PowerPoint chart generator?
Important business data that deserves a proper database is stored in Excel spreadsheets, because Excel is part of the standard software. Without data constraints, the whole shebang becomes grossly inconsistent. But it was less hassle to start off with....
If you make certain tools more readily available than others, people will overuse them. Besides, since when was it quicker to drag a mouse across two screens than to type CTRL+T,P,Z?
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
Damn, no-one wants my article.
Wait, let's try OSWeekly.
s/Desktop Manager/OS/
From your post devoted solely to criticizing grandparent's "Kernal" spelling, I gather that you have never programmed on a Commodore 64. See KERNAL.
And noone noticed. The site is total speculative crap by some college kid. Doesn't "What If Windows Went Open Source?" under "Top stories" tell you something? :-D
Go to the first page of the website and you'll see lots of "Soon to Come..." in various sections of the page.
Judging by the ads the only purpose of the site is to get easy advertising money.
Practically speaking though, a CLI is usually far closer to "the system" than GUIs are. That's not the intrinsic nature of CLIs or anything, it's just how things developed.
But that's completely irrelevent to the point at hand regardless, I just wanted to point that out.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Are you seriously comparing the Windows GUI search tool to bash/find/grep/sed/awk, etc.?
Don't make me laugh. Woops! Sorry, already did =P
Actually, I'm partly kidding. I know perfectly well what you mean, many people fail to realize what you can in fact do with the Windows GUI -- but the *nix CLI is still far more powerful for searching than the Windows search tool.
OTOH... try adding some static routes to your routing table using the Windows GUI...
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I'm a programmer of many (way too many!) years, and I disagree with your position in almost every aspect.
Programming is hard, that's a given. But there is no reason why it should be. If you explain something to another human being in clear and simple terms you are effectively programming, especially if that explanation then allows the other person to perform some task or other.
This is not considered 'hard' at all, it's a trial-and-error method until the other party gets it sufficiently right to become independent.
After 50 years in the field of AI we have less real intelligence than what the average canine brings to the table.
Your whole rant is nothing but ivory tower mentality and job security rolled in to one.
I could really care less if my OS "morphs" to my personality and habits. How about an OS that is well tested, reliable, reasonably priced (or free), secure, runs all the apps I need, doesn't have obnoxious licensing / DRM, accepts only tested and approved hardware / drivers, has a default user interface that doesn't look like cow shit or a Care Bears cartoon, boots from a storage device with no moving parts, mobile with a non-exploding battery, affordable and fast "connect anywhere" network connection, and an easy to use developer environment?
Less abstract ideas, more fixing the crap we already have.
MS-Windows has demonstrably set the computer industry back 12 years.
In 1989, I was using a NeXT computer. It was Mach-based, UNIX-like, and had an *extremely* easy to use interface. It was stable. It was pretty. It was simple. It was a great software development platform (Object-C is a far superior OO language to C++). It was everything other computers were not.
Fast-forward a few years, to 2001. MS-Win2k was fairly stable, but it was complex, not intuitive, and still had stability problems. It was far behind the NeXT in ease-of-use and simplicity. Yes, there were problems with the NeXT: its price (thrice the price of a business-class PC), mainly.
Even today, MS-Window2k3 lags behind the NeXT in many important ways, like simplicity, stability, and ease-of-use. MS' idea of making something easier to use is to give it pretty, candy-like buttons and "cool" visual effects.
Every other OS is emulating the Microsoft way of doing things, becoming more complex for the sake of complexity. Oh, don't get me wrong-- I love my cool slidey windows and all that lovely Compiz goodness that comes with AIGLX. I too love eye candy.
But we shouldn't be here. We should be farther along than this. We are twelve years behind, and in the computer world, 12 years is an eternity.
MS-Windows has not only indoctrinated the population to accept a second-class operating system as *the* operating system of choice, but to accept crashes, viruses, poor development environments, and general vendor lock-in as the norm. And unfortunately, they have warped the computer business enough so that they have retarded most other software progress, as well.
Microsoft is to software what Budweiser is to beer.
Uhm....
The X Window System is a bare-bones networked graphics drawing system, not a user interface. Now, you could say the X Window System api is not very intuitive, but you'd have to talk about Gnome or KDE or FVWM or MWM or Enlightenment aren't intuitive, not the X Window System itself.
I will say, in terms of scalability, XWindows is a *real* screamer on a quad-Opteron with 8 gigs of RAM and a nice, fast SCSI array.
I remember running X on an old 386 with 8 meg RAM and an MFM hard drive. It wasn't bad at all. I remember how amazed I was that xgas kept running as I loaded up other programs. Ah, true multitasking.
Really, the scalability of X is measured more in terms of the network than in other factors. That's a metric in which OSX and MS-Windows fail completely.
Microsoft is to software what Budweiser is to beer.
The poster above cites one problem, which illustrates why this system would be hard to understand. I agree with everything said.
But I think it's a much more deeply flawed idea: you would hate this system!
Pretend that it's not an expert system in the OS doing this. Pretend that you got an intelligent, experienced, very clever co-worker in the next room, connected to your OS as root, with a screen up so he could see everything you are doing. Pretend that it is this intelligent agent that is doing these things for you.. he notices you have a hard time finding the XYZZY tool and puts it into a palette for you. He notices that you ignore email alerts and so reconfigures your alerts. He sees the header on the incoming email and so decides to give it high priority... all the things this magical "OS" is doing.
You would loathe this guy. You would hate him more than clippy. He's popping things on your screen. He's changing how the computer alerts you to things, so you might miss something, or think it's broken. He's changing defaults. He's interrupting your work.
Remember the scene in Jabberwocky, where the "efficiency expert" moves the chair and the whole workshop explodes? It would be like that. Or perhaps more colloquially, like a helpful friend who knows more than you about computers leaning over your shoulder as you're trying to write a paper... you might get a few percent more efficient, at the expense of having your work interrupted and bursting a blood vessel.
This goes back to the above point: you don't want an intelligent OS... you want an OS that's simpler to understand. That doesn't mean a simple OS, it just means that it has to do things in a way that is predictable and easy to learn.
---Nathaniel
When I first read your post, I thought you were joking. I guess I'm not schooled enough in MIT jargon. It's funny how younger geeks are more connected to MIT culture than most of those who were actually alive during its heyday.
To put it in more familiar (to me) language, your claim is that you can manipulate the system at a lower level of detail or with more details using a CLI than you can with a GUI (or at least the common ones).
I'm not sure if that is equivalent to "being closer to the system", but admittedly this is a rather vague concept. In any case, to draw the conlusion that your claim is true one would have to look carefully at a representative examples of CLI and GUI commands/actions.
This can be rather tricky because you can only have frobs to manipulate aspects of the OS that actually exist. For example, classic Unix didn't use fonts but it wouldn't be fair to use that as proof that Windows has more frobs because of the frobs available related to fonts. Likewise, I'm sure there are aspects of Unix that don't exist in Windows, so it wouldn't be fair to hold that against Windows either.
What's interesting about the Stephenson essay is that it has a flaw in it's very line:
"About twenty years ago Jobs and Wozniak, the founders of Apple, came up with the very strange idea of selling information processing machines for use in the home."
That "very strange idea" had been around a long time before Jobs and Wozniak thought about it and they were not the first to implement it either.
"I have an error in my very first line too. That should have been "in its very first line".
It's funny how times change.
I was about your age when the Mac was introduced and everyone I knew thought it was incredibly cool and a great advancement although few us were able to afford it. My friends and I were Atari 2600 programmers so we weren't exactly technical lightweights, but there was little thought given to the idea that a CLI was better. That was just the old primitive technology to us.
Later we came to understand that Xerox played a big role, but we still thought the Mac was cool. I've never ended up owning a Mac, but I appreciate its historical role.
Perhaps having to use a number of different incompatible OS's made the idea of memorizing commands a big waste of time. I suppose if Unix the only OS we were using we would have found more value in a CLI, who knows?
I too played with Kai's Power Tools a long time ago, it looked pretty, and I was impressed. However, those days I never did any serious work, I just played with the program's GUI widgets and saw how that influenced the final picture. Nowadays I wouldn't pay attention to this program, because I need to get things done, rather than play with an application.
Such a GUI may be a good thing when the user is interacting with the program for the first time. But when you need to seriously do something, eye-candy won't increase productivity.
For the past two days I've been reading a lot of info about GUI design guidelines, and here's a doc by Joel Spolsky; the funny thing is that he uses Kai's tool as an example of how not to do things
User interface design for programmers
Note that it was pointed out earlier that OS!=GUI, but still, a GUI plays a major role in the user's perception of the OS, therefore this sub-discussion we're having is on topic.
The saddest poem
I think the problem is really in the way you're looking at this. iPhoto, in effect, is a photo database. The "folders" you see in the iPhoto interface aren't supposed to represent file system folders - they're really more like queries. You wouldn't expect, Access, for example, to actually store records in file system folders that mapped to different views of the data, and you wouldn't expect to use an OS file system explorer to get at the data - you're content to let Access store the data however is most efficient, and use its interface to get at the data when you need it. iPhoto is the same thing, but for pictures.
Now it's possible that the "folder" metaphor used by iPhoto leads you down the wrong path, so maybe that could be improved. But in practice, I think that any attempt to provide a more accurate database type metaphor would baffle the hell out of Apple's customers, most of who don't know diddly about how databases work. So we're back to square one: users aren't getting everything they could out of their computers, because they don't really understand how their hardware and software works. But the chances of them actually putting forth the effort to learn what they need to know are very small. It's a conundrum.
Sean
I can't imagine how you'd train on it or customer support it.
Sure, it would start out all uniform, but then, if things evolve and personalize, then only you really know your OS, not your neighbor and not your tech support person.
How do you interface that with others?
Training? Support? Interfacing?
We already have enough of this with Johnny Six Pack.... Now, we have to work with Johnny Five Pack, as well!
Of course, everyone has their own preferred way of interacting with their computer... but I personally shudder in horror to think about a world in which voice command was the norm. Can you imagine working in a cube farm where everyone was talking to their computers literally all day long? I used to get annoyed enough when I was forced to listen in on people's speakerphone conversations.
Sean
- You know, as a programmer, I get really tired of people suggesting ways to program computers "without doing any coding". That's where BAD things come from. That's where "dynamically hiding menu items" come from, so you never know where things are. That's where "visual programming" comes from, so you're staring at a screen full of boxes and lines with little to no organizational structure.
This is dead on. I have felt this way ever since the Macintosh moved away from simple drop-down menus on the top of the screen to the "richer" completely graphical content (I really liked the mouse, though). Multiple metaphors just muddy the water. Better to put all the controls in one spot and keep the same conventions. Then users only have to learn the system once.The worst current examples are the varied media players and photo organizers, none of which have anything in common with each other except excessive gimcrackery. I frequently have trouble figuring out how do get the d*mn things to simply shut down, much less selecting an individual track and adjusting the volume.
Unfortunately, there is a marketing interest in breaking standards and creating unique methods of interfacing with programs and features. Once a customer is trained in how to do things one way, they don't want to make the effort to learn something completely different. Customer loyalty through mental fatigue. This explains why so many killer apps feature simple and intuitive controls when they debut, but quickly evolve into feature-bloated labyrinths of obtuse buttons and obscure functions. Gotta lock in that market share, baby!
Fundamentalism is a crime against humanity
Before we can dream of software such as you describe, we need to have our property rights fully protected for our hardware. This means that it must be our choice, not any third party, what software is installed on our hardware.
t ml
Recognized "BadWare" is not the largest problem, with many governments creating laws that ensure that the owners of computers aren't allowed to decide what software runs on their hardware.
Protecting property rights in a digital world
http://www.flora.ca/documents/digital-ownership.h
Digital Copyright Canada forum
All this is leading to the "Butlerian Jihad", the revolution against thinking machines Frank Herbert wrote of as the history of the worlds in his Dune novels. When we let the machines think for us, we stop thinking for ourselves. Sounds fatuous written like that, doesn't it. It's not though. Nothing wrong with machines as "slaves" doing our literal bidding, but 'puters making decisions for us is as dangerous a life as that led by The Dice Man (another literary reference, sorry.)
"I hope you like Guinness, Sir. I find it a refreshing substitute for, er... food." Col. Jack O'Neil, SG-1
Sounds a bit to much like MS Bob or Clippy for me. For those who did not RTFA or who read the first page and got the same impression as I did, at least the guy takes a counter view on the second page that makes more sense.
I do however like the idea of "intelligent agent" or assistant technology to help find, filter and deliver information in a efficant and timely manner. The evolution of GUI and/or voice recognition/feedback for user level programming tools for cron type actions, repetitive tasks and convergent technologies (PC,TV,Communication,Home Control) are areas I can see as useful and thus probable.
A OO toolkit based on modular scripts seems to me to me the best approach for such interfaces wherever possible. Of course the root engines/drivers/security controls for the AI components, device interfaces and voice tech will probably have to be binarys.
Matthew