I haven’t written a proper tech article since before I (re-)started this blog, so I thought it was high time. Besides, I’ve been wanting to write this post ever since I read some articles on Google’s Chrome OS, around the time right after my old blog vaporized. So there’s a couple of buzzwords to hopefully sucker you into clicking the ‘more’ button and actually reading the article – It’s about Google’s upcoming Chrome OS and it’s implications for the web, the desktop and the browser, as well as why desktop evolution can take an alternative path, exemplified by KDE’s budding Project Silk movement.
I’d really like to link to some of the posts I read on Chrome OS as they were really interesting, but I read them around half a year ago and I sadly couldn’t find them anymore. Anyway I’m going to start by doing a brief exploration of what Google likely wants to achieve with Chrome OS. Most of you probably already have an idea of what Chrome OS will be like:
For the uninitiated, Chrome OS is Google’s next attempt at an operating system (after Android). It is based on the Linux kernel and will probably be released late this year. It is primarily aimed at netbooks, with a minimalistic design that basically resembles a souped-up Google Chrome browser. The philosophy of the design is that users who spend most of their time online really need very little else other than their web browser, so Chrome OS will literally be one big browser adorned with little side-applications instead of the traditional one big collection of applications including a browser.
What Chrome OS aims to do
Not surprisingly Chrome OS is already widely hyped as Google’s new weapon in their war with Microsoft, and there are already tonnes of articles discussing whether Chrome OS will be a ‘Windows killer’. I don’t personally think it likely and I’m not alone – even in the netbook market, Ubuntu‘s ultimate defeat at the hands of Windows XP shows that laypeople value familiarity and want their netbooks to be able to run the stuff they are used to running on other computers. Chrome OS has very little advantage over Ubuntu along those lines – except that Google has a very strong and relatively positive public image. The OS hasn’t even been released, and it has probably already generated more hype than Ubuntu cumulatively enjoyed in it’s much longer lifespan. It is pretty likely that Chrome OS will do better than Ubuntu in the market for this reason – but it certainly won’t ‘kill’ Windows. Not anytime soon.
However an article I’ve read (I would really like to give credit but I can’t find it! >.< ) pointed out that Google doesn't need to kill Windows to accomplish their goals with Chrome OS. It was never meant to kill Windows at all. The article points out that what Chrome OS can really do is allow some new ideas to begin germinating and spreading amongst the end userbase. It is the next calculated step in Google's bid to slowly move everything we now do offline into the web. It is no surprise that Google started out by assembling a formidable suite of online machinery that often parallels current desktop apps in one way or another - most notably Google Docs, and to some extent also Youtube, Gmail/Gchat, and now Google Wave. When Google released the Google Chrome web browser, it seemed like a rather random move, but they have been able to leverage it to help push powerful new ideas into web standards that would make the web an even more appealing platform to developers, who will in turn be compelled to build more powerful and more interesting programs on it. And now that we look back on it, Google Chrome may really have been a dress rehearsal for Chrome OS, when Google will finally release a full-fledged computing platform that relies almost exclusively on online services and applications. Chrome OS is Google's proof-of-concept for a future where everything - both data and the programs and services that manipulate them - will live on the wide web. Why we can do differently
So this is Google’s dream – the universe in the browser. What’s more, they seem to be doing a pretty good job gradually nudging us there. But I don’t personally think this is the inevitable path of evolution for end user computing. I don’t personally find it a very appealing path either, and the things I’ll be talking about below will probably explain why. What’s definitely true though is that, more and more, I am finding the browser a rather unwieldy piece of software in today’s end-user computing climate. Innovation on the browser has been relatively slow despite there being multiple parties working on it, and the browser today isn’t exactly a fundamentally different creature from the first Netscape browsers that we used – we just got more tabs and better ways of remembering and revisiting favourite sites. The thing that has really been changing and enhancing our web experience is changes in the wide web itself – the evolution from static web pages to having guestbooks and then the appearance of forums and blogs and wikis and now powerful social networks. However, the influence of web-bound technologies will always be rate-limited by hardware – network bandwidth, speed, reliability – as well as Internet availability, which is still atrocious in some countries, and doesn’t look like it’s improving in too much of a hurry. In other words, it’ll probably take a looong time before we have the infrastructural power needed to support a truly ubiquitous computing platform that exclusively relies on web technologies. In yet other words, even if Google wants to diminish the desktop and ‘replace’ it with the browser, it’s not gonna happen soon. So the desktop is gonna be sticking around – what does it do in the meantime? Sit around and wait, maintaining an awkward relationship with the browser?
I think the desktop can do better. I think there are a lot of things the desktop can do to stay relevant and exciting in at least the near future. And I think, in the context of this article, one of the fundamental things the Desktop should be doing, is
Deconstructing the Browser
I think the main problem of the browser in the present desktop system is that it is just another desktop program, yet it can do so many amazing things because the web has evolved so tremendously. Outside of the browser you have a collection of powerful desktop applications who collectively and in synchrony can do a lot of wonderful things. Inside the browser you have a collection of powerful web applications who collectively can do a lot of other wonderful things. The browser is, quite simply, a bridge too narrow. With so much power on either side, it is only natural to want to be able to collaborate the two seamlessly, and there is no way a single generic program like a browser would be able to provide for the many different possibilities of integration.
The answer is simple – if the browser is too narrow a bridge, create more bridges. There is no reason the browser should be the only desktop application that consumes web content. The web is getting inexorably more and more powerful now and so the natural thing desktop apps should be doing is evolving to work seamlessly with the web. This is already happening to some small extent – Windows Vista came with little (admittedly rather useless) desktop gadgets that could display RSS feeds on your desktop as well as retrieve weather information online. I’ve been told that in Windows 7 you can key in web urls of pictures or documents into common desktop applications like paint and wordpad and they will seamlessly open it as if it was a normal file. At KDE we have been up to even cooler things. Thanks to KIO, we have long been able to seamlessly browse and edit files through the web using the desktop’s default file manager and editors. Instead of publishing desktop themes and widgets on web sites where you need to download them, KDE has integrated a technology called ‘Get Hot New Stuff’ into the desktop that allows you to directly browse the online collection and instantly download/install it from the desktop without ever touching a browser – while still maintaining the standard web interface for people who prefer using the browser. And perhaps the most shining example of desktop-web integration is in KDE’s amazing Amarok music player.
Amarok has plugins that directly consume content from popular web sites and displays them to you as you play music. For example it can look in Flickr for photos of your currently playing track’s artist and display them in a nice slide show to enhance the mood, or display a Wikipedia page about the artists, or look up the lyrics of the song, or even look up similar Youtube videos and offer to play them – inside Amarok. Think you need a web browser to browse Youtube? Amarok has changed that! And this is what it is about – enhancing the power of desktop applications by giving them the ability to consume from similar web services. The possibilities are endless. Fact is that we have come to rely on the browser for too many things, and if you really stopped to think about it it’s really rather senseless. When I’m listening to music, why do I need to open an extra browser window just to find lyrics or look up artist/album information? When I’m writing a document, why should I have an extra browser window to look for material? When I’m writing a program, why should I have an extra browser window open just to look up API references? The browser is today trying to do too much! This awkward work flow needs to change – we need to make our desktop programs more ‘web-sensitive’ and independent of the browser. (Remember the documentation widget I built into PlasMate?). At KDE we have already identified this as a critical path in the evolution of the desktop, and are already setting plans in motion to this end. We even have a cool codename for the movement – Project Silk.
I think what we need is for other desktop systems – Windows, Mac OS X, even Gnome and the plethora of other Unix DE’s – to follow suit. Web standards and conventions today are still highly geared towards the browser, making it a little difficult to adapt those technologies for consumption by other applications. But if enough desktop applications start doing it we’ll be able to create a demand for more versatile web services and technologies, and so skew the evolution of the web so that it becomes progressively more integrated into the desktop. The end result could be a network of providers that live on the web who provide services and data that are consumed by various exotic combinations of consumer applications that live on the desktop. We would still inevitably be moving all our data and tasks into the cloud, but we would probably be able to retain much more choice on how we are able to interact with the things on the web by choosing different combination of consuming programs. That wouldn’t be half bad, and I personally think it sounds a lot more exciting than the “universe in a browser” dream.
But of course, the future is just speculation. The main point though is that there is a pertinent need now, I think, for a more web-aware and relevant desktop. And the sad thing is I don’t see this being really pushed for in any of the desktop environments I’m familiar with, except KDE’s. How about we buck up?
Mark Kretschmann
Great article, thanks :)
I didn’t see this appear on Planet KDE, but I think it could be good to have it there, as your article explains Project Silk, and other KDE goodies.
How about adding your feed to Planet KDE? :)
Regards, Mark.
Jason "moofang"
Hi Mark! Wow thanks for reading :)
Hmmm, I only have my dev-related posts syndicated on Planet KDE at the moment. Maybe I’ll create a new tag for Planet KDE instead and go change my feed P:
EDIT: done! w00t!
idyllictux
Webified Desktop Apps (vs Browser-based Apps) are noticeably superior, offering almost all the benefits of web applications without any limitations. Indeed, I think the two environments are not even directly comparable. . But what ultimately matters is productivity, scalability and speed.
Jason "moofang"
Hmmm actually I think the difference is blurring – Google is seeing to that. If it isn’t too blasphemous I’d actually say I like using Gmail better than Thunderbird :P Browser-based apps have been rapidly overcoming limitations and by all indications are still doing so. If we don’t start adapting our non-browser apps to take advantage of these new breed apps, they will at some point truly ‘take over’ :) It’s Plasma’s tagline all over again – we need to make the desktop relevant again.
Patcito
Remember that chrome has support for HTML5 offline storage, that means the internet will *not* be needed to make use of chromeos, gmail, google docs can be used offline, then it syncs when you go online.
Also the web is progressing rapidly now with technologies such as canvas, web sockets, fast js engines, webgl, native client, hardware access from JS in html5 such as webcam and mic and more are turning the browser into a powerful platform not only for traditional web apps but also any kind of apps.
Another strong point of the web, once your web app is online, anyone can use it (win, mac, nix) with zero need to install anything, try that with a kde/win/mac app. As a dev I want my app to be easy to access and only the web gives me so much ease. Don’t underestimate the web+browser.
Adam Williamson
i think you’re not quite right about google’s intentions. Google doesn’t care whether you use a browser or something else; it just wants to make sure as much data as possible runs through google’s servers. The more users their services have, the more ads they can serve, and the more accurately they can tie data from different services together and track users to serve ever more ads at them. as logn as you’re keeping your data in Googles cloud, Google doesn’t really mind how you access it. By the way, amarok’s hardly unique in reformatting Youtube access. Media centers and phones have been doing it for years.
Warbo
I think this is a well argued point, but an area I’d like to emphasise is on standards. Having access to YouTube, Flickr and Wikipedia in native applications is great, but really we should be after access to Video, Image and Database content. This is where the dominance of providers is dangerous, since in a browser they can offer HTML+CSS+JS in such specific ways that trying to parse it for anything other than a browser becomes impossible. Of course this is why sites offer APIs, but they are a vendor lock-in device. Identi.ca, for instance, has an API similar to YouTube, but I *much* prefer its use of XMPP messaging, since that’s a standard.
Basically, writing Application-to-extract-data-from-HTML is incredibly difficult and completely site-specific, which providers want since it forces consumption of their ads (unless adblock or a site-specific greasemonkey script is used), whilst writing Application-to-get-data-through-APIs is easier, but completely tied to a single provider, which is vendors’ next-favourite, whilst the ideal as far as users and developers are concerned would be writing Application-to-extract-data-from-standard-container, but which providers are reluctant to use since it allows competition between frontends, and having content in a form that machines can understand means that it becomes trivial to filter out advertising, tracking enablers and other things that users don’t want.
Don’t get me wrong, the situation with the Web is much better than the days of take-it-or-leave-it binary programs with data stored in useless program-specific, undocumented binary formats, but whilst the Web is perfect for text and to some extent images, the complex UIs backed by inaccessible databases which are prevalent today are not as much in the original spirit of the Web as could be: ie. to put data on a Web page is to make information accessible to everyone with as few restrictions as possible. These days most Web data is purely for manual reading via a Web browser :(
Warbo
Oops, I meant Identi.ca has an API similar to Twitter of course ;)
The User
Hi,
one word seems to miss in the article: “Freedom”.
When implementing the social desktop we should care about different aspects:
Web applications are a pitfall for Freedom: You download obscure JavaScript and execute it without being asked. You put your data on a web-server and you do not no, what it is doing. When you move applications into the browser and into the web your chances to control them and to be free will decrease. Desktop applications can provide more Freedom than Chrome OS but they should also care about the services they use. Using a proprietary web-service is like using a proprietary library. The user will lose the control and his Freedom. When implementing the social desktop we should always try to avoid proprietary services. Sometimes it is good to integrate them, but do not forget that this is also some kind of promotion for using proprietary services. There should always be at least alternatives and that is also not perfect. Yes, I am speaking about Facebook integration in Kopete and Plasma and Youtube integration in Amarok. Because I have mentioned them, I want to say what is special about this cases: Facebook is a service nobody really needs, all its functionality can be replaced by XMPP etc. Youtube unfortunately has no real alternative. But it is even worse: It needs Adobe Flash to be viewed, proprietary formats with proprietary implementations. For now there are not real problems. It is okay to have one protocol more for Kopete, the Amarok’s Youtube Plasmoid is still useful without Flash (it would be more comfortable, if Amarok would convert it), but we see that there are a lot of risks.
The User
The User
About web-services:
Of course JavaScript is platform-independent and it is easier to handle different version. But it is terribly slow. C++/Ruby/Python+Qt is platform-independent and provides much more possibilities for developers. I do not think that there are any developers who want JS+server side the onliest way to do programming. And do not forget privacy…
Jason "moofang"
@ Patcito : I wrote this article precisely because I’m not underestimating the browser :) In fact the point of my entire post is that Google and other web-interested parties are making the web too powerful to be ignored – the desktop should start taking advantage. And even with offline features it is clear I think that nobody would use ChromeOS if there wasn’t internet – the traditional alternative is clearly better. ChromeOS is meant to live on the internet, the offline stuff is mostly for the *exceptional* case where internet isn’t available.
@ Adam Williamson : Actually I think Google might care – as later commenters pointed out, it’s not clear what would happen to online advertising (Google’s gold mine) if web content becomes widely consumed by non-browser apps. At any rate I think it’s pretty clear from their recent moves at least that they are nudging the desktop down the ‘One Big Browser’ path and if we don’t really like that we need to do something to exert a counter-influence.
@ Warbo, the user : You are both right and the browser-centric nature of today’s web technologies, as well as freedom/vendor lock-in is a real problem in this context today. But I think that can change if web-enabled desktop apps become ubiquitous enough – and I think it can become ubiquitous because it creates real value and addresses an (often overlooked) usability problem in today’s end-user computing habits. If there is enough demand for it, there will be better motivation for web developers to either create an API to their services or write their applications in a way that sensibly allows non-browser consumption. It all boils down to how people want to use a web service, if even 30% of people prefer to use a service via non-browser apps then that creates a significant force in favor of making a service “cross-app” friendly.
Of course, we will likely suffer problems with potential vendor lock-in for awhile (not like we aren’t already) but again if we create enough demand it is likely that future web standards revisions would include specifications for non-browser consumers. Who would’ve thought in the old days that HTML 5 would feature offline caching? HTML 6 could feature revisions that make web pages more semantically parseable. Web standards evolve according to usage trends, so the point is to make browser deconstruction into a trend. With such a trend in place we could push for open standards for supplying data and services to counter and diminish the myriad of proprietary API’s in existence now.
There is still the question of losing control of your data I know, but I don’t really have an answer to that. In short it’ll be somewhat like using proprietary software, except perhaps more inevitable. The power of the cloud is too great to ignore even today, and you’d be hard-pressed to find a computer user even today who doesn’t have significant amounts of personal data surrendered to external servers. Necessary evil?
dai1313
Good article. I agree with almost everything you wrote (even the KDE stuff, shocking!) If you don’t mind (or even if you do) let me give you a few of my thoughts.
I like the basic concept of Chromium OS. How, once it is installed on a computer you can login from anywhere reminds my of the same system that is in place at my school. It is an awesome idea if you think about it. Also, the OS is VERY different than windows, mac or linux(I think it is good to get some heavy innovation). Quickness in bootup and speed after login is also something I live for(more or less).
However I am not so sure that the OS is going to take well with most people. I have a few worries. (additional worries, as I agree with yours)
My biggest problem with Google Chrome OS is that I don’t have any hardware that can run it. No, I am serious, the whole idea where they plan to put the chromium machines on cheap netbooks with SSD’s is smart and all… and the bootup time would take longer if they were to have a verity of different drivers at startup… but still, I want to try it out but I can’t because it would not run on any of my computers. Nooooeees!!! ZETSUBOU SHITA!!!!!
Another worry that I have with the OS is “exactly how compatible is this thing to other OS’s”. First of all, the basics – file management. Obviously they don’t plan on having a lot of files stored of the machines themselves (actually, I don’t think that you can put any files on the machines themselves actually) so you end up with a sort remote drive like dropbox or something and that is where you put all your files right? Simple right? Fast right?
Alright, lets say (hypothetically of course) that I am downloading some rather large file via p2p and I want to play a movie from my so called remote hard drive… It would be like streaming a youtube video on a bad day. Horrid. Choppy. And quite frankly I don’t have that kind of patience.
Also “Chrome OS” seems a little oxymoronic to me – an OS built around a browser that has very little functionality. Of all the major or once major web browsers that you could decide to build an entire operating system around I would think that opera would be the best… BUT NO! Instead the web browser destined to be the centerpiece of an entire operating system is Google Chrome. I mean, the browser itself can’t even parse rss feeds unless you install a plugin to do so. EVERYTHING will have to be in an online app – and there simply is not enough online apps to do everything I want to do with a computer available online. (don’t get me wrong, I like google chrome. I use it all the time as my primary browser)
But who knows it might work fine as a second computer OS, I all ready have a gmail account(as a secondary account) and I use google reader to manage my rss feeds.
And besides, the project is in good hands. As much as I would like to think that I don’t like the company Google, they have this nice tendency to put out really good products. Anticipation~
Jason "moofang"
Zetsubou shinai de ^^ I’m pretty sure this is just the first step. As I noted the computing climate today is not yet ripe for a true web-reliant platform, so Google is trialling their proof-of-concept on netbooks, which are implicitly meant for web-heavy, desktop-light users anyway. Google is taking their time with allowing the ideas to sink in, and if things go just as keikaku, it is likely that we’ll see a Chrome OS for conventional hardware before long.
I’m not entirely sure but I believe ChromeOS does allow you to work with a hard drive? I remember reading it has a built in media player too. At any rate you’re right that it’s way, way too early to be replacing local drives with cloud-based storage, so I’m pretty sure Google has thought that through. My impression was that you could still store files in the disk, you just have less programs to work with them – you are meant to use programs in the cloud, like Google’s online suite. Oh well, we’ll see when it actually gets released.
I’m pretty sure the reason is Google wants explicit control over their own technology, which is critical since they want to change people’s conception of computing. I think part of the reason for creating Chrome the browser in the first place is so they can experiment with things at will without revealing their future business plans and without needing to convince an existing body of developers to go with their wishes. And Google is a very strong technical company with very smart people – they probably have every capability to create any feature they think is important on their own anyway, so there is really no need to start with a powerful browser.
Exactly :)
Haha. I’m planning a KDE-heavy post for the release of KDE SC 4.4 to insidiously further convert you, especially now as you are zetsubou-ing over Chrome OS *cackles evilly*
Wolfgang
Hello all,
I have not read all replies so perhaps this point has been made already.
Integrating the web in apps where it is sensible is the way to go, I think. But it must be assured that if no internet connection is present the apps are aware of this. At the moment if I fire up kde 4.3 without internet connection I get an error message for every mailbox kmail tries to access.
I think due to solid this should not be a big problem to make apps aware of the connection state of the computer but this awareness should be implemented from day 1 on.
Cheers Wolfgang
P.s.: From time to time I have to express my great reverence to all the people who write the great software I am using every day. Thanks to all of you!
Adam Williamson
Jason: I think that Chrome OS isn’t really Google’s vision of ‘the ultimate way everyone should consume Google content’ – it’s just another way to consume Google content. Google is keen to provide you with as many ways to consume Google content as it can.
I think you’d have to work quite hard to come up with a method of accessing Google content which would not allow Google to serve ads at you, if it felt so inclined. Take Gmail – Google’s perfectly happy to provide ten zillion different ways to connect to Gmail, including very good IMAP support, because it can stick the ads in the mails if it wants. Youtube? Once Google reckons it’s safe enough, it can inline ads with the videos themselves. No matter how you’re accessing them, it’d be hard to dodge those. Same applies to most content Google provides; there’s always a mechanism for ad delivery already present or easily implementable.
Jason "moofang"
@ Wolfgang : I don’t know much about Solid and the network interface, but I do know that a key part of Project Silk is seamless offline support, so I think your point of concern is already being deliberated on :)
@ Adam Williamson : Hmm, I don’t know. Functionally Chrome OS isn’t any different from a regular netbook with a competent browser – they both consume Google content in the same way, so I don’t see how Chrome OS is an alternative ‘way’ to consume Google content in the functional sense. But obviously Google is not into wasting their time, so my own best conclusion is that Chrome OS represents a new ‘methodological’ way to consume Google content. It plays up the browser and removes other key components of the traditional desktop, thus what it really does is it reshapes your usage patterns to become more browser-centric, and at the same time demonstrates to you that hey! You can really survive pretty well living in the browser!
I do agree that maybe Google doesn’t care all that much about this in the end, and have very little doubt that Google will adapt and survive quite well even if we successfully deconstruct the browser. However, I’m still pretty sure that they are deliberately – nonchalantly, perhaps, but still deliberately – nudging us deeper and deeper into the browser. They have a motive too – we all know that their much-hyped archrival rules the world outside the browser, much to my own displeasure.
Daskreech
Google doesn’t care about your consumption. That’s not what they are built on. They care about access to your data and/or information. The more data is publicly available and reachable by people (but mostly Google) the better it is for them. They are very strong believers in search and you cannot search for what you do not know. They simply want more things to happen on the web instead of Locally.
I know this has nothing to do with this discussion since we are not in any case speaking within this context of Google, it’s place of position and power in the world and what we will do in view of that. This is a discussion of how the browser is being presented as a new way of all interactions with the world which even the “archrival” is stepping into as a buyin for that concept.
If we believe in the desktop however we have to find a way to maximize use of the resources available. Whether that is going to be in a manner that provides data held on servers and provides Google with information to index is a different discussion. Google doesn’t care if you have data locally or whereever as long as they can get a chance to see it at least once.
Mauricio Marine
I’m still learning from you, but I’m trying to reach my goals. I absolutely liked reading all that is posted on your site.Keep the aarticles coming. I liked it!