The Browser Is The New Operating System
from the local-storage dept
A couple of weeks ago TechCrunch had a good write-up of the move toward open local storage APIs in web browsers. As websites have come to look more and more like applications rather than static pages, they've begun to bump up against the limits of what today's web browsers can do. Developers have responded by using a variety of proprietary plug-ins and workarounds to expand the browser's functionality. One example of this is local storage. There aren't a lot of good options for applications that want to store significant amounts of data client-side in a way that will continue to be available if the Internet connection goes away. Google has Google Gears, while Adobe has Flash. Each offers local storage, but neither is compatible with the other, nor are their APIs likely to be adopted by other browser vendors in the future.
Luckily, as part of the HTML 5 effort, it looks like the major browser vendors are moving toward a set of open APIs for local storage that will (theoretically, at least) enable developers to write an application targeting this functionality and have it work on any modern browser. It appears that the latest versions of Firefox largely already support the API, and support has been added to recent builds of WebKit, the foundation of Apple's Safari browser. The big laggard is Internet Explorer, which has some but not all of the functionality. But even IE users have the option of installing Google Gears, which has promised to add HTML 5-compliant local storage APIs. The broad support of these APIs by other browsers, along with the fear of giving the edge to its arch-rival Google, will put a lot of pressure on Microsoft to jump on the bandwagon.
What's really interesting about this is that browsers are starting to resemble operating systems in their own right. One of the most fundamental features of operating systems is to provide a consistent interface for data storage. OS developers call it a file system, rather than "local storage," but the concept is the same. And as websites come to increasingly resemble full-blown operating systems, I think browser vendors are increasingly going to have to solve the same kinds of problems that operating system vendors do.
For example, it has become increasingly common for my browser to slow to a crawl because one poorly-written, JavaScript-heavy website is sucking up all the CPU. Just as operating systems have preemptive multitasking to prevent one application from bringing the whole system to a crawl, browsers should have mechanisms to prevent one misbehaving website from bringing my browser grinding to a halt. Safari has an extremely primitive version of this - I'll sometimes get a dialog box informing me that a particular website's Javascript is creating problems and asking if I want to stop it - but there's a lot of room for improvement. The browser should automatically limit the amount of CPU one website can use when others are waiting. And I should be able to call up a "task manager" that shows me all the websites I've got open and gives their CPU and memory usage. When websites begin to resemble full-fledged applications, browsers are going to start behaving like full-fledged operating systems.
In a sense, this is the belated fulfillment of Netscape's "middleware" strategy to make the web browser the new operating system. As detailed in the Microsoft antitrust saga, Netscape's hope (and Microsoft's fear) was that the browser would supplant the operating system as the default platform for user applications. That's now starting to happen, although it didn't happen fast enough to save Netscape.
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: browsers, mozilla, operating system, storage
Reader Comments
Subscribe: RSS
View by: Time | Thread
It won't be long...
[ link to this | view in thread ]
Re: The Browser Is The New Operating System
[ link to this | view in thread ]
Asking for a task manager in a web browser is like asking for a saddle to ride a harley
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
The Browser Is The New Operating System? um, no.
It would seem that everything old is new again.
People that call the browser the OS don't really know what an OS does. That's like saying "the car is the road" if it has treads instead of wheels.
[ link to this | view in thread ]
Nothing is the new anything
It's very clear at this point that we need a cross-platform thick client. Maybe it will be AIR. Maybe Sun will finally figure out how to stop making Java so annoying to end users. But this attempt to force browsers into that role is asinine. First, because they're lousy at it: my computer can launch a pure-Java mail app with a much more complete and responsive interface than gmail in a fraction of the time it takes the gmail app to load. And the Java app is infinitely easier to write, test, and maintain.
When HTML 5 is the standard and every page on the web is riddled with JavaScript UI frameworks, embedded video, and inline SQL queries against local storage -- browsers still won't offer anything we don't already have with Java and Flash, and there will be nothing at all to fill the place browsers used to occupy: the thin client.
[ link to this | view in thread ]
Re: Nothing is the new anything
HAHA! ya, right. I wonder what it's like living in your dreamworld! dear god, that must be a wild and crazy world!
[ link to this | view in thread ]
nobody's making you use javascript/video/etc, plain html will still work
[ link to this | view in thread ]
nobody's making you use javascript/video/etc, plain html will still work
Yes someone is: web developers. Up until a couple of years ago I often used a lean browser program for a lot of my browsing. Now I have to use a slow, memory-hogging behemoth because a huge proportion of web sites do require javascript and hardcore css support, even if all I want from them is text.
[ link to this | view in thread ]
Cocoa for Windows + Flash Killer = SproutCore
http://www.roughlydrafted.com/2008/06/14/cocoa-for-windows-flash-killer-sproutcore/
[ link to this | view in thread ]
Just to add to the no vote ...
So what next? Will someone come up with the bright idea of compiling the code? That would mean requiring a standardized hardware architecture. And so we reinvent yet another stage of the repeating cycle...
[ link to this | view in thread ]
How many times...
No, the browser is not the next OS. At least not for a long, long time.
[ link to this | view in thread ]
And one more thing re the browser = OS mantra ... it is a very bad idea to allow the browser access to low level drivers simialr to that of an OS.
[ link to this | view in thread ]
Heeyah
[ link to this | view in thread ]
Just me?
I though everyone used NoScript...
[ link to this | view in thread ]
[ link to this | view in thread ]
Re: Nothing is the new anything
[ link to this | view in thread ]
Let's examine this from a few perspectives.
USERS
They don't really care. They just want it to work and not be a hassle. It has to be simple enough that they can install and use it as well. Also, they must be able to trust it (it's not going to do anything invasive to their machines). Java has done well with this with it's sandbox and Flash Player is nice when it asks the user can the app use the disk, microphone, etc.
DEVELOPERS
They want something that is preferably open, based on standards, and leverages what they already know. It should have rich functionality with a large API and it should be easy to develop with. Currently having to use half a dozen languages (HTML, CSS, Javascript, PHP, SQL, +frameworks) just to write a web app is ridiculous. The evolution of current web apps has been one hack added on top of another. The result is a development platform no longer suited for what it is used. It's time to take a step back and redesign the whole thing.
COMPANIES
Let's face it, companies need to agree on the platform as well or it will not take off. Yes there's Linux and that's fine if you only want fringe use, but if you want wide acceptance you need to address the needs and concerns of companies. The platform should allow you to protect your code and your content. Any code client-side in the browser is currently unprotected. Also, media should be able to be protected and several business models from protected streaming to save to disk for limited time (trial / rental) should also work. Additionally, companies will not jump on board unless the customers are already there.
The biggest challenge I think is combining the needs. If someone does, that platform will dominate. Open source would be nice but the community rarely addresses the needs of companies when it comes to DRM issues. There's also the concern that if it is open that people can remove the DRM aspects and get access to the code and content.
The problem with any one company is that it's hard to trust them and every company out there is going to try to do the same thing (as evidenced now) and create fragmentation (bad for developers and bad for users). Competition is good to foster growth and quality, but sucks if it creates fragmentation.
So far I like Adobe AIR the best. Especially with the functionality of Flash Player 10. The thing I don't like about them is that they are slow to innovate (e.g., Why must I use ECMAScript when you are just running bytecodes? Let me use whatever languages I want like .NET does.) and they also have sole-control over the platform so if I want a new feature they have to not only approve it but invest the resources to create a feature maybe only a few people want. In other words, not going to happen.
Let me know what you guys think. I'm especially interested in any ideas that would satisfy the needs of all 3 parties mentioned above.
[ link to this | view in thread ]
[ link to this | view in thread ]
Where is Mike?
If Mike were writing this blurb, at this point he'd assert how the patent system is inhibiting innovation by preventing all the programmers from actually implementing these apps that you've ideated.
[ link to this | view in thread ]
Humm
[ link to this | view in thread ]
[ link to this | view in thread ]
OS on the Web...
When it comes to radical ideas like this, if you want to find the real intentions behind it, you have to follow the money. In this case, it's pointing a huge finger at business & government control hiding behind the the "convience theme" and is pointing a huge middle finger at the consumers...
[ link to this | view in thread ]
Re: It won't be long...
[ link to this | view in thread ]
I think we all need a vocab lesson...
So let's get this straight: the web is not an operating system!
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
The "duh" heard round the world.
[ link to this | view in thread ]
Re: It won't be long...
[ link to this | view in thread ]
[ link to this | view in thread ]
Shut up and go get a CS degree
Hey, you have used a light socket. What are your thoughts on current energy crisis? You have stole money from your mommies purse. How would you fix our crowded prison system?
Why don't bloggers feel compelled to know anything about what they are writing? Do they not feel any shame? Do they not have any regard for their readers time?
[ link to this | view in thread ]
Flash Local Storage
In my experience this functionality of the Flash Player is rarely used. Most people use a database server for the bulk of data within Flash Player applications; which [as you probably guessed] is not local.
[ link to this | view in thread ]
[ link to this | view in thread ]
the best comment post ... save time
The new value of a website (or single page) is if that site or page is not static or dynamic but an actual web app. Reading from the article - my guess is that local storage right now is very hard to accomplish but OS it is not. The author of the article just needs to be a bit more careful when it comes to the use of specific terms.
[ link to this | view in thread ]
The great strength of web apps, which is what has caused so many developers and companies to embrace them, is that they solve the problem of deployment. Within corporate intranets, deploying new versions of desktop applications is a time-consuming process and carries inevitable risks of applications interfering or being otherwise incompatible with each other. If you just get all staff to bookmark a web app location, then you can update at your leisure and everybody has to use the new system.
Outside the corporate world, persuading users to upgrade to the latest version of your desktop software is always a pain. You tend to deliver lots of changes wrapped up in a single release, which is inherently dangerous, and you usually end up having to maintain at least a couple of historical versions until everybody has switched over. With web apps, problem solved. You can incrementally add features and roll them out to some or all users immediately. You can get feedback and roll out further fixes and changes straight away.
Of course, even desktop apps nowadays have updaters to check for newer versions, but they are still generally expected to get the user's permission before installing an update. With web apps, there's no need because the code resides on your servers.
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
Re: Re: Nothing is the new anything
[ link to this | view in thread ]
Re: Re:
[ link to this | view in thread ]
wow
[ link to this | view in thread ]
Re: Re: It won't be long...
[ link to this | view in thread ]
Re: Shut up and go get a CS degree
[ link to this | view in thread ]
Amazing that Ed Felden was involved in that too!
[ link to this | view in thread ]
Future
[ link to this | view in thread ]
Do Web apps really solve the deployment problem?
Not when where talking about the browser being the new OS. This means putting more code on the client side. They're talking about using LOCAL storage, preemptive multitasking of the locally running code. Whose CPU do you think is getting hogged by the local application? You can't do everything on the server if you expect the user to make significant use of your app when the Internet connection is unavailable or unreliable. All this will do is move the deployment problem and possibly make it worse. Instead of having to install a new desktop app, they will have to deploy updates to plugins, browsers, Java, and anything else running on the client machine that the web app depends upon.
Yes self-updating desktop apps require user permission to install an update. That is for security reasons, not technical ones. So, are web apps inherently more secure when the browser is the OS?
[ link to this | view in thread ]
Re: Nothing is the new anything
the gui is not the OS, but today the difference between them is largely academic. you need an OS to run the UI, and for most people without a computer science degree the UI is what they interact with, so to 90% of the computer using population, the UI is the OS.
lets take this to the next logical step. the browser is not the UI, which is not the OS, but since the browser is what most people interact with, the browser will soon be synonymous with the OS.
this situation isn't helped by certain browsers being used primarily on and/or popularized by a specific OS: konqueror on linux, safari on mac os, internet explorer on windows. sure, you can use IE and safari on both windows and mac OS and mozilla pretty much anything, but they are most popular on their native platforms.
so, while anyone with an ounce of technical ability can tell you that the browser is not the OS, as the web matures into the target platform for most applications, the difference between them will also become largely academic.
[ link to this | view in thread ]
Re: Just me?
[ link to this | view in thread ]
That said, I can imagine some twisted version of linux that has an address bar in the taskbar that lets you enter either a website or an application, and makes an effort to minimize the difference between webapps and regular apps. Bookmarks become regular shortcuts. Browsing proper is still needed, and blocking websites would have to become a core function, but I still find it an interesting concept.
[ link to this | view in thread ]
G.ho.st is the best Web OS / Web OS is the future operating systems
Eventhough there are very few simillar competitors to g.ho.st but i think they are very reliable and secure since they are hosting everything at amazon.com
I think this is the future and the revolution of the Operating system
[ link to this | view in thread ]
security is the problem
Granted as a concept of computer development it could lead to the creation of many non-intrusive developments. however till then I think I will keep my OS and just install a Internet browsing software program.
[ link to this | view in thread ]
UI, not OS
[ link to this | view in thread ]
Re:
There are some things I like about the idea web-based applications, and there are some things I do not like.
Web applications make deployment a little easier. If standards are followed, then the application "should" work the same on all platforms (write once, deploy anywhere). But as anybody who has done web development, it doesn't always work that way (F****** IE).
It's also a real pain to code web applications due to all the things that must interact with each other. It's not uncommon for a single web-application to be coded in PHP, SQL, JavaScript, Java, HTML, CSS, and XML. IMO it's easier to build desktop applications with layers that abstract the platform-specific things.
However, making the server do much of the work would allow for clients to be cheap, low-power systems. Also, it's nice to be able to open up a browser on any system, and have access to the same data.
I think the biggest reason companies are trying to really push web applications is because they can be much more profitable. There's no problem with piracy, and instead of the customer paying once, they have to pay a subscription fee.
Privacy and security is another big concern I have with these trends. A lot of these companies share and sell information to other companies and government agencies. It's already creepy to know that a lot of my personal information is already in databases accessible to anyone willing to pay.
[ link to this | view in thread ]