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.
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
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?
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.
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.
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.
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
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.
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
Parent makes an excellent point.
You can find dozens of good (many bad) shells for Windows or *nix.
GUI != Operating System
[Fuck Beta]
o0t!
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.
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: