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
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.
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.
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.
Document-centric environments have been around as long as GlobalView (i.e. it's older than Windows). They invariably have a flaw in that they become only as good as the object model they're based on. All objects have to pick up behavior, but they eventually develop silos, and you get applications. And that's just emergent behavior -- do you think Adobe is interested in designing their canvases, brushes, transforms, plugins, and so on for maximum reuse across the system? It's not just proprietary fences put up deliberately, it's also that it would be more effort than actual payback. In the end, photo editing is about tasks, not documents.
Basically, you have to have a system that can do both documents and applications well. Of course I believe that applications should still run on an orthogonally persistent fine-grained object database underneath, provided and managed by the system, but there is still the notion of a task that runs and completes.
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.
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?
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 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."
Sure, you can use Windows 95 all you like... until you
- want to use a USB device.
- use a standards compliant web browser (although I think Firefox is still available for Windows 95).
- want to network securely.
- want to leave your PC on for more than 6 hours.
- install a wireless network interface.
- want to run a secure operating system.
- realise you're running an OS which is as old as Sega's Daytona USA.
Hey, I'm sure it's working for you, but it simply won't cut it for me.
sort of how your tivo starts to think you're gay because you're girlfriend keeps recording oprah?
TFA was completely worthless. besides the whole "big brother" strawman the author sets up, there are so many other issues that are simply not addressed. he uses a silly example of having the computer learn that you don't like to be bothered with emails while working on a video editing project except for "critical emails". well, how does the computer "learn" this behavior? if you don't check your mail when you edit video, you're not likely to find the "critical" email. thus, the computer doesn't understand that an email from "bob my client" is somehow more important than an email from "my nigerian ancestor who is also a prince." if you DO check your email during your video editing session, i suppose the computer would think that you like to be bothered with your emails while you're working on video.
then you have to factor in the complexities of whether or not editing video is in the same importance category as photo retouching. and is that also as important was writing a letter? i think i'd rather my computer let me be the judge of whether or not an email is important to me and when. besides, there's no easy way for the computer to know if i'm doing "entertainment work" (in my case, farking a photo) or "work work" (retouching photographs for publication).
also, as anyone who's used any sort of "learning technology" like voice recognition or hwr, we all know there's a long and frustrating process to getting the software to work even passably well. so i guess the first six months or so of your new system you'll have your computer making all sort of bad assumptions about your workflow and deciding to hide or highlight certain functions in your apps. while working within a tradition WIMP methaphor might not be the theoretically most efficient way to get work done, it's at least generally consistent. which, in turn, probably makes it the most efficient.
if i need a tool, i want it to be where i left it. i don't need my full set of hex keys as often as i need my cordless drill, but i sure don't need any magic gnomes running hiding all my hex keys and replacing them with my drill (which i already have a place for).