When Google released its new (and first) browser a few days ago (Chrome), many praised that move or welcomed this new player into the arena, but many others simply were a bit surprised and wondered if a new browser was really needed when this market already features IE, Firefox, Opera, Safari, Konqueror and a plethora of smaller ones. While IE is still leader, those who aren’t satisfied with it have a good choice of alternatives, especially in Firefox and Opera. So fasten your seat belt to join me in a ride which will attempt to explain why this browser war could be a threat to Google’s very foundation and why Chrome is maybe the most important move Google could have done to protect itself.
A (quick) dissection of bigG
Given all news we hear, you might think Google does and IS many things, but this is not the bare truth. Google’s cash cow is essentially its search engine and, more specifically, its “AdWords” advertising division. That’s where Google gets most of its money, the same way Microsoft has its cash cows in Windows and Office. But unlike Microsoft, Google has no ways to channel itself and its products to users in a direct way. It’s all about typing that “www.” magical sequence in your browser: when you don’t, you’re out of Google’s reach. That’s important, even in browser wars.
Someone
might say that I’m crazy: Google does a LOT of things as we hear in the news everyday. But that’s not completely true. Google is ACTUALLY investing into many things, but as any of us can see, its revenues from all these investments are limited. True, bigG has a lot of things in place (GMail, Google Maps, Google Docs – or whatever it’s named, YouTube, Analytics… you name it!), invests in green energy, builds fiber and wi-fi networks, etc. True. But let’s tell ourselves the bare truth: none of those really brings much revenue to Google. In fact, most of those services (including, according to what I know, the wi-fi networks they built or they’re building) aren’t meant for users to pay to use them. A few of them (GMail, YouTube) can be linked to their advertising division but to be honest it’s only GMail itself that Google could actually think to sell users. It might get some cash from Government projects (for example, building networks or renting them) but that’s only a tiny part of their revenues.
If you think I’m just misinformed, let’s look at Google 2008 Q1 financial summary they publish at this address:
- total revenues for 2008 Q1 were $5.19 billions.
- Google-owned websites represent 66% of such revenues;
- Google network (AdSense) represents 33% of total revenues;
The sum is easy: 99% of Google revenues come from either advertising on their own websites or from other sites running ads from Google’s network. There are no significant revenues from building wi-fi networks or other fancy stuff we read about everyday.
Many people are talking about using YouTube to channel advertising (and I mean, inside videos, not textual one) but honestly this is mostly buzz. Years after its acquisition, Google is still not able to channel advertising inside videos and I doubt it will ever be able. Sometimes some friend (of Google, not mine, of course) journalist writes an article hinting that Google could use YouTube to sell advertising but there’s no clear sign of it and for a reason: YouTube is not streaming something you would absolutely want to see but just something that you MIGHT want to see. That is, it’s not streaming EXCLUSIVE contents, something you can see on YT only, so it’s very unlikely that you could swallow advertising in order to see contents. If there was advertising, those little kids would bring their cellphone movies somewhere else, where they could just show them to their friends without the need to learn why you would need to buy a new Ford.
Other key service for Google is Maps. As you might know, Maps is free unless you perform an insane number of requests per month. Free like in beer. Sure, that’s a GREAT service (and I mean GREAT, though Microsoft’s LiveMaps is very good too) but do you think Google could sell it? If, all of sudden, Google started to ask money to put those maps on your website, in most cases users would simply remove them. The great bulk of Maps-enabled websites are just pages showing where webmaster is now, though there are a few of very hi-end websites using Maps.
And what about green energy or renewable resources? Sun or wind? What about fiber or wi-fi networks? What about it’s massive scanning of ancient books to build a digital bibliotheque? What about subway paper advertising projects? Sometimes you hear something about Google and then… puff… nothing happens for months or years.
I will tell you a secret: reason why Google is not charging for all those services and it’s investing into basically anything is bigG knows a way to make money out of them without the need for you to pay. That secret is called “stock price”.
Enter the world of “stock price”
I’ll keep this short: do you feel sometimes confused about what you hear about Google? Me too. And everyone is. Sometimes Google is set to go to space, sometimes it’s going down into deep oceans, sometimes has satellites, sometimes is building something, sometimes is bulldozing something to build something else, sometimes it’s scanning all books on Earth, sometimes they just say they’re making a lot of money.
It’s a mess. And that’s how it’s meant to be.
For all public companies there’s a value which is more “valuable” than all others: stock price. As long the price of your stocks is going up, everything is fine. You might invest billions into making a better ice to sell penguins, that’s not important as long as that number is going up. And that number is going up only when people think you’re about to do something which could be really “Wow!” and they want be part of it to make money out of it as you will probably do. So people will buy your stocks, stock price will go up and actual value of your company will be bigger. That means that your company will have more money to do what it wants and you will be, essentially, richer.
By announcing something you will eventually do, people will see that on you’re on the move and will be eager to buy your stocks not to miss a chance to make some money. And, as the old saying goes, the less analysts understand about what you’re doing, the more they will recommend their customers to buy your stocks. It’s the Enron way.
Be aware I’m not stating that Google is going bankrupt. Refrain from accusing me of that nonsense. But the scheme is the same for all public companies, everywhere in the World.
In a summary, I’m stating that the core business of Google is their advertising division. The bulk of its other activities is to keep stock price up and running and a very few of them are real investments which bigG thinks it could get real money from. And, while this is not public, of course Google has a financial division whose task is to invest money into financial instruments to get revenues from. Remember about this as it will be important later.
The only thing Google is not talking about is its search engines and how they can make MORE money out of it. I wonder…
The “website-as-application” paradigm
I was a bit surprised when the comics used to launch Chrome used the “website-as-application” paradigm to justify Chrome itself. I was surprised because that’s the heart of my article too and I found that funny.
As a summary, Google stated that websites are often not a collection of pages, but most likely they represent an application. I agree. Today a smaller part of websites are simply collections of HTML markup. Most of them, at least most of those developed after 2000, can be better considered applications as they usually perform complex operations that pure HTML pages wouldn’t be able to do, most of them are connected to databases and/or other external services. So I agree about this, I agree 100%.
The thing here is if HTML/Javascript is the best way to create such applications or if there are other technologies which would be more suitable to be used for that. And if there are, why is Google heading its own way?
To understand my point of view, you have to remember what Google really is: a collection of services for business and individuals, all of them served via its magical “www.”. When you don’t visit Google, bigG is dead like a dodo. It’s simply not part of your disconnected life, unlike many of its competitors. When you’re on, Google is there and shines. When you’re off…
This is the heart of Google’s bet, whose status we will examine later.
To go back to web applications (or like many call them, RIAs, Rich Internet Applications), even the newbie knows that HTML+Javascript is definitely NOT the best way to implement them. Rather, it’s the worst way to do it, but there’s a very important reason why developers keep getting headaches from HTML instead of moving.
HTML is just markup and everything else which turned it into a foundation for RIAs can be considered an hack to its original goal. HTML is so popular because it’s historically been so simple to implement but RIAs today have nothing simple in them, nor is it handy to keep hacking HTML structure in order to support new concepts. The result is what we have in front of our eyes: loads of painfully slow javascript-based applications which require petabytes of memory to do almost anything. How many times were we forced to close our tabs because there’s a damn website eating up all my memory, or all my CPU or both of them? How many times you have to wait for tens of seconds to see anything on a webpage just because those scripts are sucking the hell out of your dual core machine? It’s simply inconceivable that machines which can handle millions of polygons when playing your favorite game are then unable to cope with a couple of javascript-based web pages.
That might seem a good go for Google because they used the same arguments to promote Chrome but the bare fact here is HTML+Javascript is not a good way to code RIAs, nor what we will be using in near future. That platform is slow, prone to errors, hacks and exploitation; it’s not secure enough, it’s not safe and fault-tolerant enough, it’s not able to cope with innovation (if it were, we would be using HTML to watch our favorite YouTube movies and instead we’re using Flash…), it’s not able to evolve fast enough (ditto), it’s not able to provide a complex infrastructure modern RIAs need, whatever extension you think and whatever script you load. Plus, the more complex you want it to be, the more painfully slow it will become. That platform wasn’t simply meant to do that and, as it’s clear, it won’t be able to last long. And no, Google won’t be able to native-compile Javascript and make it blazing fast even if they claim that. There are technical reasons for that and the only way to do that is to switch to a run-time based environment, the same way Flash, Silverlight and Java do (and that’s not actually “native” yet as they run VMs).
As it’s obvious, we have better and modern platforms which have been designed and developed with modern RIAs on mind. We basically have three of them now: Flash (the most popular), Silverlight and Java. It’s easy to understand that Google could develop its own technology for that but they didn’t.
And, by releasing Chrome, they promise to make HTML+JavaScript a platform suitable for modern RIAs, to make it blazing fast while still reducing resources it uses, to make it secure, to keep it simple (even when many webpages today loads hundreds and even thousands of lines of JS-based code). bigG is basically trying to defend JavaScript against anything and anyone and, while to common people their promise seems impossible to keep up, they’re just asking for an act of faith: trust them against all odds.
And to emphasize that the key problem is JavaScript, Chrome didn’t even care to implement a new rendering engine since they took an open-source one which is used by other browsers (WebKit). Rendering is not the real problem: most efforts will be dedicated to JS and to improve its performance. By doing this, Google is just sending out this message: “Keep coding JS because we will make JS blazing fast and secure and able to cope with everything you need. Keep investing into JS.”.
It’s just that: they want to defend JS. But why is that?
Google’s bet
Since Google was founded, a few years before the first dotcom crash, its bet was about the expansion of the Internet. For years, Google has been considered the successful model of a Internet-only company, based on extremely innovative services and away from traditional model of “selling a tangible product”. It has been considered the successful model of dotcom and of so-called New Economy.
At that time, the Internet and companies related to it were growing at the speed of light and many predicted that in a few years the network would have been a necessity just like connection to power is. Everyone was going to be connected to a very very fast Internet backbone, probably by spreading fiber connection almost everywhere, especially in Western countries. It looked so sure that Google wasn’t the only company betting on that (remember Sun’s “The network is the computer”?). Pervasive and fast connections: that was the key to Internet-only companies. The bet was you could be like TV: basically reaching anyone 24hrs per day.
Many predicted the end of traditional computers which could have been replaced by dumb (or almost dumb) terminals, whose only task was to connect to the Internet when turned on and download a basic OS which should have provided basic functionalities. Everything else users could need would come from the Internet. Many predicted end of traditional OSes and, of course, many predicted end of Windows era (how many times people and analysts predicted that Microsoft era was going to end?), because the OS needed by those terminals was going to be much lighter and, most of all, it would be possible to download it from the ‘net once the terminal was on. Guess what?
Today, after knowing what happened, it’s easy to say that bet didn’t materialize (yet). We still have Microsoft; we still use Windows. In essence, it’s not that Windows proved to be superior to anything else, it’s just that bet didn’t keep up. Fiber-based networks, after initial development, faced huge costs and while Google tried to cooperate and also sponsored some projects to build such networks (I believe they also built themselves a fiber network in the US), it soon became clear that building those networks was going to cost huge money even in metropolitan areas and even in biggest cities, let alone building them in less populated areas. Not to mention how incredibly SLOW was to pose such cables. Today fiber projects are still alive but they represent a tiny part of the whole and fibers are usually considered good for small tracks in huge metropolitan areas or to secure connections among Governments and institutional places.
xDSL connection are good but those also face a problem in less populated areas. Moreover, those connection face a lower bandwitdh peak and they tend to saturate very quickly. They’re still considered one of the best way to get connected but they’re not considered a way to keep up the “pervasive Internet” bet.
Wi-Fi and other wireless are spreading fast but while they reach good speeds (in Europe, they’re starting to sell 7.2mbit/s connections via HDSPA protocol), radio signals aren’t dependable as connection tends to drop where there are many interferences. Besides, there’s still a big question mark about such technology as studies are starting to hint they could be dangerous for people’s health and even bring cancer in some cases. While this is not proved yet, many are focusing on such researches which could affect mobile phones as well. Anyway, it’s proved that mobile phones can cause headaches and other problems to some people.
The reason why I talked about Internet situation is that this directly affects companies like Google, whose bet is still unfulfilled as of today. In 2008, if you don’t type those magical “www.”, Google is out of reach.
And that’s why two important events happened during 2008, both of which signal that bigG is aware of threat and that it conceded that its bet not only didn’t materialize, but that won’t materialize anytime soon and that could be a threat to Google itself.
First one was the Gears release: don’t underestimate its meaning. Gears might look like a side technology but it actually is a key technology for Google. For first time in its history, Google concedes and admits that there needs to be (and there will be need to be) “disconnected” applications which cannot work on the Internet only and whose data cannot reside on anyone’s server. For the first time in its history, Google concedes that traditional OSes are going nowhere soon: they will just stay and they will be part of future applications for at least an amount of time which is so long that Google must develop a strategy to cope with that (so it won’t be 1, 2 or 4 years… but longer).
Don’t get me wrong: Gears is great stuff. From a developer perspective, that’s an amazing technology and would be a MUST if… if developers didn’t have BETTER technologies to achieve the same goals. At its heart, Gears is a technology to build DESKTOP applications which could work disconnected from the Internet and access the network when present. It’s a good technology because it tends to blend differences between desktop and web applications, in a way in which developers can work in both ways. But Gears could also be used to built desktop applications which don’t need to connect to the Internet. The bare truth is that’s a technology to build HTML+JavaScript based desktop applications when you have technologies like Flash, Silverlight and Java which could do much more, in a easier way and with better results.
Couldn’t Google develop a technology like Flash or Silverlight itself too? Of course it could but they didn’t. They’re still trying to make developers swallow an inferior technology like JS, mixed to a presentation technology based on a lot of hacks like HTML is, instead of moving to something else. So you will be facing the daunting task of building complex and huge JS-based applications, hard to code and hard to maintain, instead of moving to something better, easier and more powerful. I think any developer would say his/her prayers when assigned to be part of an effort to build a Office-like applications using JS and HTML while Flash is moving to integrate PDF into its runtime and Silverlight will integrate (and already had) XPS into itself and even Google wasn’t able to get even closer to a full Office suite with its pile of cash and legions of developers. Why the hell is that?
The second notable event was the announcement of Android technology. This is Google’s answer to the problem I told you about earlier: if you don’t type “www.”, Google is dead in your life. While many hinted for a long time that Google was going to release its own OS for desktop PCs, bigG ended up releasing its OS for mobile phones. And this is perfectly understandable! They probably learned a lesson while watching Jobs struggle for 8 years with his OS X doll and still requiring iPods to save his ass. 8 years and he still owns … what? 2% market-share?
And I’m sure Google carefully watched IBM and loads of companies (including Google itself) pouring tons of money into Linux just to have a 0.something percent share. Schmidt correctly understood that’s a battle you cannot win until you will be able to download your OS at boot-time from the Internet. But yet, they couldn’t afford to let users stay out-of-reach until they typed “www.” and they needed a solution for that. The mobile phone market is still a virgin one, where Windows doesn’t rule and where other people are in trouble (Symbian anyone?). It’s a market where billions of terminals get sold every year and where people tend to replace their phones every 1 or 2 years at max. And best of all, a mobile phone is even more “personal” than a personal computer! Being on those phones means being able to channel their services to users even when they aren’t connected to the Internet. It means having the ability to get revenues from services you sell BUT ALSO from software you could make. And best of all, I always have my phone near me. For example, I’ve been 15 days in Kenya this August and I didn’t touch my notebook during my holidays but, guess what?, I always had my phone with me.
But Android and Gears prove that in 2008, you have to use an OS and/or disconnected applications to channel your company to users and being on the Internet only will not be enough. Please, note that, as was expected, while the whole Google strategy for the Web is based on HTML+JS, Android features full-fledged applications, which will be compiled to native (or almost “native”, given its VM) code.
This confirms my view: Google was looking for a mean to channel itself in a disconnected way and found mobile phones, the perfect environment. Android indirectly acknowledges that HTML+JS is not a good platform for today’s applications and, if you want to get serious, you have to switch to something better.
So why is Google instead promoting JS in Web and Desktop applications? To understand this, we also have to understand why developers keep investing into JS and only marginally into better technologies like Silverlight, Flash, Java, and I mean in RIA context and not in general (where, for example, .NET and Java are still ruling).
Google’s hidden dirty little secret…
… which is not hidden, nor little and neither a secret but it’s very dirty!
Let me ask myself: if Silverlight, Flash and Java RIAs are so much better than traditional one, why isn’t everyone switching to such technologies and they still invest into HTML+JS?
Answer is simple: because modern RIAs cannot be indexed! As you might have noticed, most websites rely on search engines to drive users to their pages and search engines cannot index Flash, Silverlight or Java content (yes, they can index a SWF file but that’s not enough for a RIA). So those websites which don’t rely on search engines (because they’re way too popular to need that), will switch to an advanced web application (you don’t need a search engine to visit Ford, or Coca-Cola, or Ferrari and so on…) like Flash. Those needing users from search engines will stay HTML and try to provide a better experience by using AJAX because they need their pages to be indexed to get more users.
So where’s the dirty secret? Here it is: Google must assure that developers will keep creating RIAs using HTML + JS because that will protect its search engine and, obviously, its advertising division, which is what drives 99% of Google revenues.
We have no doubts that Google is number 1 in search engines and nobody has doubts that it will stay on the top, unless they commit suicide or… unless rules change. Ask Microsoft or Yahoo: it’s not that they cannot create a good search engine: both of them have resources and technologies to do that and I can say both of those search engines aren’t that far from Google perfection. Yet Google is making loads of money and they aren’t.
Google will stay #1 for the very same reason for which Windows will stay #1: because they’ve been the first “good one”. And once you are the first good one, you just need to play conservatively and don’t bet too much in a single move: you will stay on top. That’s what happened to Windows and that’s what will happen to Google SE.
However, should the focus move from HTML to RIAs, the game will reset and positions will blend as Google might be the top player for HTML indexing but things could be different when you start indexing RIAs because then people who control platforms have a very very big advantage. And Google doesn’t have ANY platform to control.
So when a search engine will start indexing RIAs, Google will need to move and do the same but this time other companies won’t allow the company years of free ride: they will all start the very same second. Maybe Google will emerge again but maybe not…
A Google browser to rule them all
So that’s why Google released Chrome: it must prove that HTML+JS is still a good platform to invest and delay any other framework adoption. If they can succeed in pushing HTML+JS further, their near future will be bright because of dominance of position.
But if the market happens to move to different platforms, Google will have to struggle to stay on top and, without any platform to control, it won’t be easy.
It’s evident that Chrome’s release that the browser is all about defending Google current market. For example, many complained about lack of extensibility and minimalist UI but that’s not a surprise! Google doesn’t care at all about you investing your time in “extending” Chrome… it’s not Chrome the problem but rather the application in it. They don’t want you to provide disconnected code, they want you to code Web applications. You want to provide something “fancy”? Do that in JS. You want to provide some kind of utility? Do that in JS. At max, use Gears to provide disconnected functionalities but stay HTML. I won’t mention, as many emphasized, how difficult it will be to have an ad-blocking extension for Chrome and you can easily understand why.
Take Mozilla and Firefox: Google poured lots of money there and has a strong relationship with FF so one might think Google could have “influenced” Mozilla to bring it where Chrome is. But if they moved to release their own browser was because their priorities were different than Mozilla’s.
And their priority was basically to provide a better JS environment to keep developers investing into JS and HTML.
Look at me, look at me !
I’m sure there will be a very few people reaching this point. This article was sooo long and for sure sooo boring. But for those of you who were so brave to read up until here, I want to play the magician and (boldly) anticipate the future with my crystal ball.
Remember when Steve Ballmer said in a interview (and later, in a memo to MS employees) that Microsoft might be slow but they have resources and time to be number 1? Well, you might not like him but he’s no fool (isn’t he, Steve Jobs? How come Exchange support appeared on your iPhones?). So when he (humbly) said that Microsoft lost first search engine war but would emerge in the long run and that they’re going to change the very whole way you look at search engines, I don’t think he was boiling his supper.
In my opinion, in 2009 Microsoft will announce a revamped version of Live search engine, which will be able to index RIAs. They will probably provide an open API that RIAs can use to feed content to index (and will leave that open not only to Silverlight but to Flash and Java too) and then use some kind of token value to pass each other, in a way SE can later tell RIA which content user wants to see. And they for sure embed such new SE platform inside .NET and Silverlight, in a way some indexing can happen in auto-magical way, the very same way ASP.NET controls can be turned into AJAX-enabled ASP.NET controls. Dreams? We will see…
If they succeed to do that, they would open a break in Google dominance and, most of all, will weaken JS position in RIAs development, which could open new possibilities for more advanced platforms and, in case of Microsoft, for their Windows Server systems, which are extremely interconnected with .NET and Silverlight.
If that will actually happen in 2009 (it’s not a matter of “if”, it’s just when but search engines have to move from where they are now to incorporate new stuff), I’m sure Google will sit down and watch what happens but not for long as they cannot afford to loose a inch. I’m sure they’re full of statistics and if those stats will show that RIA websites will increase beyond current limit, they for sure do a couple of things: first, they will release Android VM for Windows (and possibly other OSes) in order to have a platform they can control; second, they will enable (because I’m sure they already considered this option) their search engine to index RIAs.
As for me, I just hope it will happen in 2009 so I will be able to put a nail into coffin of HTML and move on. Hell, I’ve been waiting for this since 1998…
(Notice: the bulk of this article was written before Google released Chrome. That event only confirmed my view and this article has been adapted to include that)
The article was interesting. I am sure some of his points were valid and perhaps some of his predictions will be as well.
Not sure what else to say about it tho’.
RIA indexing? I am sure ideas are being worked on now… a way to expose the applet content to search engines. I don’t know… I guess wait and see how things pan out. HTML will not go away any time soon, either.
It actually makes sense. For newsmedia API based system would make more sense since they have more control what they expose to search engines. Basicly it could be as simple as RSS feed system that delivers information to search engine. It would solve some problems we have nowdays like Cuil attacks(too aggressive search engine indexer bot).
I like that idea. Sounds good.
The article is a little too wordy and its points could be summed up in a piece a third of its length. The writer is subtle but insistent on painting html as outdated, boring and not “cool”, but the truth of the matter is that html is the very heart of the web.
This does not mean that the means by which we build html will not change to make easier or that html itself will not change to accommodate needed features, but by and large the web remains a library of interconnected “books” and “pages”, which by design must be simple and viewable in a host of devices and platforms.
To me, proprietary technologies like Silverlight and Flash introduce more problems than they solve. First and foremost, they are proprietary, slow and their wider acceptance would turn the web into a series of private channels controlled by a very small number of companies.
HTML is far more democratic and is a format which will continue to evolve, but whose simplicity is the reason why it has done so well.
Every so many years those companies that are slowly becoming irrelevant need to remind us how important their proprietary technologies are. While a few years ago, I couldn’t do most of my work exclusively on the web, today I can, and that is a testament that those who bet on a web-centric future are essentially correct.
Perhaps, but lets face it, creating RIA could be a whole lot easier.
Nice article Thom, but you could use some less words
It’s an interesting POV, and as a programmer, the sole mention of HTML+JS-based desktop applications gives me chills.
Let’s see how your crystal ball fares
Huh?? Look again:
“Written by The Bitland Prince on Tue 9th Sep 2008 17:50 UTC”
Ack, you’re right. Thanks for the heads up and my apologies to the author.
I agree with some others, this could’ve been said in one page. But the article is interesting. One thing I think the author doesn’t get: the other things Google does, besides search, aren’t just to fool the investors and increase the stock value. They want to create a huge ecosystem where everything is connected. This will increase their add revenue, and ensure ppl use, know and trust Google. Some of these things don’t make money? Sure, and some never will. That’s the risk of innovation – they have a clear strategy to innovate, and are willing to take that risk.
If I understand the crux of the argument in this article is that google released chrome to protect itself by encouraging developers to use html and js…
They could have waited for mozilla’s new js engine (which is already in FF 3.1 alphas) which supposedly is even speedier than v8, this would have saved them a whole load of effort and would have done the same thing (at least if following the rationale of this article)
Yes, but by having their own browser they accomplish a few more things: They have complete control of their own window to the internet, they also gain developer mind-share thanks to the technologies Chrome came with and broader brand presence (Google sponsoring Mozilla is less visible than a real Google Browser).
Moreover, I’m sure that someday we’ll see Chrome-only features in Google services like Gmail or Docs, making the browser a must-use for those who use those services. More people browsing without adblock apps means more ad views too.
Along with said services, Chrome is yet another way to track people’s online behavior and preferences, and we all know that solid information means power and money in our current information-centric world.
Or maybe I’m pulling this too far, heh
I got the feeling that they were tired of waiting for x, or y technology, and just decided to do what they wanted for themselves, so they could be sure that they got it how they wanted it.
Reading the last sentence of his article, I’d think that Chrome wasn’t the ‘crux of his argument’:
(Notice: the bulk of this article was written before Google released Chrome. That event only confirmed my view and this article has been adapted to include that)
XAML can be indexed very easily, swf is more difficult but google already accomplished it. We can’t really index java applets, but nobody really uses them anymore for anything outside of intranet or private webapps.
The reason people aren’t using them is that they are inherently still a box on a page, and that goes directly against the web paradigm. Until they can leverage the back button (with everything that entails), they will only really be appropriate for rich widgets.
Javascript is ubiquitous, and with a good engine can easily rival what any RIA can currently accomplish. More importantly, it does not break the web paradigm, and fully integrates into the existing technology.
Case in point, go to http://280slides.com/Editor/ on chrome.
Edited 2008-09-09 18:57 UTC
You just said it – “javascript can rival”, and that’s it – we need javascript, a chosen language, to fight RIAs. HTML is not enough. We’ve got also CSS … now think about it in more abstracted way – a mess, which was not inteded to be used the way we want nowadays …
Javascript really has a bad rep. This happened from years with extraordinarily poor tools, and huge differences in both implementation and perf between browsers. Also, the name “java” is a misnomer, javascript is a dynamic language that happens to have java-esque syntax and branding. If you approach it as a typed language, you will not exploit it to its full potential.
As for CSS, as a web guy, I find client gui toolkits to be kludgy and a pain to work with. Well written semantic xhtml with well written CSS is an art form, every client app gui toolkit I have ever used results in vast amounts of code that would be easier to generate through a designer then having to slog through.
There is this idea that everything is hacked together on the web, which it really isn’t. Think of your html as an API that you are writing to be consumed by other technologies, it should describe things at a very high level. CSS consumes that api for styling purposes, and does a damn good job at it, once you get your head around the more powerful aspects of the selection syntax. If you use JQuery, your javascript can also take advantage of css selection syntax, and the whole fluent interface thing is an absolute joy to work with.
And that is one of those things that one looks at and has to wonder “why did not everyone see that this was the right way to do it from the start?”.
Once one has realized it, and has a JS library that does things that way, applying javascript becomes a beautiful and rewarding thing rather than a brown paper bag item. Well… aside from the sucky interpreters which are about to go away.
No. Components which each do their jobs very well and fit together nicely. Slow and sucky embedded javascript interpreters and web application frameworks which have lagged behind have combined to make it seem like a mess to some people.
Django + JQuery iron out the “mess” very nicely for my apps.
Don’t assume that RIA == browser plugin.
The term RIA has come to encompass the DHTML/AJAX crowd as well (like Appcelerator).
Long live the open web!
Edited 2008-09-10 21:06 UTC
Don’t take my word for gospel, but I have other thoughts on why Google releases Chrome…
1. Google is “omni”present. If you surf the web, chances are pretty darn high you hit a google ad. They don’t need a browser for that, and infact, the browser doesn’t force Google search on you in any way.
2. Several Norwegian newspapers use google maps to show the location of events. I’m pretty sure they pay for that usage. Google maps is free for “end users”, simply because that increases awareness and spreads the application.
3. A *very* good reason for Google releasing Chrome is Android. Infact, I suspect that’s one of the two main reasons they released it (and has x86 and ARM instructions in the V8 source). The mobile browser market will continue to grow, and grow a lot, in the next few years. Google would be stupid not to take a share in that. The other reason I suspect is making (Googles) webapps faster and more stable.
4. There’s a number of reasons for Google using WebKit instead of writing their own. WebKit is well-suited for mobile use (unlike gecko), and is easy to program. They have already released tons of modifications back to the community. They win, and we win. Isn’t that good enough?
5. One reason for Google to use JavaScript is really simple. It Just Works ™. Really. It might be buggy, slow and insecure, but Google is working on that too. JavaScript is a language that is supported by almost *any* browser, unlike Silverlight/Flash/Java/.Net/etc. Google wants to be able to reach *all* of us, not just a few.
6. Google Gears for disconnected apps is great. Not so much for the desktop, as for Android. Need application X? Go online, fetch the necessary app, disconnect, work.
… and that’s that HTML and Javascript are “inferior” to RIAs.
For one, I have more lock ups and browser crashes caused by Flash (or Silverlight), than with HTML/JS/Ajax. In fact, I never have browser crashes due to HTML/JS/Ajax. But Flash can really suck up the CPU like there’s no tomorrow, especially with sites that are all Flash based.
Two – speed. In my experience, HTML/JS/Ajax based sites are much faster than Flash based ones. For every change in page on a Flash based site, there’s a big-ass, slow download. With HTML/JS, it just goes to the next page.
Three – ease of development. HTML is not good for presentation. But that’s what CSS is for. Any half way decent web developer will use CSS to control presentation, and just use HTML for anchors, and then Javascript for dynamism (and Ajax calls). And add to that the plethora of open source Javascript/Ajax libraries (Dojo, Prototype, JQuery, YUI, etc). These libraries make JS development much easier, and they abstract away the pain of browser incompatibilities. And for Flex or Silverlight development to be truly easy, you need their respective very expensive tools (Flexbuilder, Expression Studio). With HTML/JS/CSS/Ajax, there are tons of both free and for-pay tools out there.
Four – ubiquity. While Flash has gotten fairly ubiquitous, it’s deployment is uneven across platforms. HTML/JS/CSS/Ajax will work anywhere there is a browser.
Five – if you want traffic, you gotta get good indexing with Google (and others, but mostly Google). HTML/JS/CSS/Ajax is very easy to index, and Google (and others) has it very highly optimized. Sure, MS might do some sort of RIA indexing (particularly with Silverlight), but it will never reach the effectiveness of HTML/JS indexing.
Six – as was already said, HTML is democratic, and fully open, and not controlled by one company or entity. When you go Flash/Flex, you’re at Adobe’s mercy, when you go Silverlight, you’re at MS’s mercy. At least with Java, it’s GPL’d and there is the JCP. But HTML, Javascript, CSS, and Ajax are all open.
Seven – Javascript is actually a nice language, with full OOP, Functional programming support, RAD, big libraries, and a familiar syntax. It’s only pain has come from inconsistent browser implementations, particularly inconsistent implementations of the DOM. But all browsers are becoming more and more standards compliant, and the aforementioned Javascript libraries do a good job of abstracting out the inconsistencies. Besides, to those that think developing Flash is so awesome – it uses ActionScript, which is based on ECMAscript, which is also the basis of Javascript.
So, I have to say, I’m not a big fan of RIAs (Flash/Flex, Silverlight). I really don’t like Flash based websites – I find them really slow, and huge CPU and memory hogs, and they don’t behave well. Plus, Flash is so badly over-used, and used heavily for stupid, annoying advertisements (I love the FF extension FlashBlock). The only things I like Flash (and Silverlight) for is movies, music videos, kid games that my daughters play, and YouTube. But for regular web sites and applications, I’ll take an Ajax based site any day.
And because of that, I love Google Chrome, and the fact that it’s Open Source (BSD license), and can easily be copied and extended.
Thats good, because it will extend the live of the democratic web, and avoid the proprietary lock-in web channels of RIAs.
The long article, and my long post , both failed to mention the new V8 Javascript VM, which has incremental garbage collection, and compiles to machine code.
So with V8, and Mozilla’s TraceMonkey, Javascript goes from simply running in a browser embedded interpreter (that’s where the slowness and bugginess comes from), to a full VM runtime environment, that’s safer, less buggy, less memory consuming, and much much faster.
The popularity of Ajax techniques has helped Javascript shed it’s “toy” language reputation a little bit. Full VMs like V8 and Tracemonkey will make that reputation dead and buried.
At first, thanks for taking the time to write that article. I found a lot of conclusive threads.
I do not agree however on your conclusion about the feasability of indexing RIAs.
Javascript or Ecma-Script or ActionScript or whatever name a derived interaction oriented language will have fills the role of a modern basic.
Underestimated by many, way too tolerant as a programming language and burdened with the lack of IDEs.
Building a RIA today on the other hand, definitely does not involve HTML as a markup language. Starting with HTML and pimping it with interactive javascript methods will die a sudden and painful death.
Providing content to be indexed on a large-scale (to bring light into the so-called dark web) is easy enough for everyone that actually cares. Standards for semantically based markup of pure and simple data are plentiful.
So what’s missing? The right budget in the right hands.
Money is a key driver for complex web based projects. And in most cases its motivated by means of marketing or reaching out to masses.
That’s where projects are forced to either compromise in technology and implementation or semantic content.
Google has not much to fear but itself at the time being. When trying to make a strategy out of its tactical moves, I see a playful, curious and un-egoed business entity. The strong hold, if not monopoly, in the online-ad industry waits to be succeeded by the next big online-business. But without trying everything possible within the ressources, finding that would be by chance. By diversing and experimenting with every possible technology, Google tries to buy as much lottery tickets as possible.
But even if it increases Googles chances to win, it doesn’t necessarily decrease everybody elses chances.
I take that as a good thing.
RIA or plain HTML – or whatever – I don’t care, as long as it is based on open standards and fair play and doesn’t bury the real useful web content under some useless non-standard proprietary gimmicks that add nothing useful to the real content but often do more harm actually.
Internet today is what it is because it is still mostly based on open standards – like HTML. It would be a nightmare if we didn’t have HTML and JavaScript but only some competing proprietary technologies like Flash and Silverlight instead.
I don’t get your point. I could understand that, if you are, for example, an ambitious and talented web developer, you might like to develop technologically advanced web sites using the most advanced technology out there that makes the work easier and funnier. But you should probably calm down a bit and look at the Internet from the point of view of an ordinary Internet user, not from the developer point of view. Most useful web content online is still just plain textual information.
(X)HTML and databases – plus PHP or something similar – are often all you need to make information easily available online. Flash? Does someone really need it – besides of advertisers?
How many times have you been frustrated with those supposedly advanced flashy websites that didn’t work correctly?
If you ask me, there are still all too many web developers out there who want to put all sorts of blinking lights, whistling bells, mooing cows and other such “rich Internet applications” (ok, I admit: kids might find those mooing cows on your website very amusing and might not even look for any more serious information) to their websites instead of concentrating on making the real (usually textual) content easy to find and use – and all too many ignorant customers buying such flashy but often unusable web design.
There are good reasons why the “interface” of a book (a paper book) has stayed the same so long. It does its work well. No need to add a button with a blinking light or even a grip to a book to make opening and reading it easier. It can be a bit same in web design.
Of course RIA does have lots of useful potential, but often the KISS principle is worth keeping in mind too.
Edited 2008-09-09 22:29 UTC
There is one point to be appreciated in the HTML+JS solution, when compared to Flash/Silverlight/Java Applet. And that is “right click -> view source”, which is an immensely more profound statement than “right click -> flash player settings”.
Although no longer completely true with all this recent minify/obfuscate frenzy, I think it’s still a fundamental example of openness. As search engines are probably better at indexing html+js rather than swf, so are developers. It is text, you can read it. You can learn from it. I don’t have numbers but I bet countless current web developers refined their skills by looking at the code of some other site. And this is a self sustaining behavior.
And even if Chrome doesn’t succeed in getting a reasonable market share, it will still push existing browsers forward on the html+js path, ideally on a convergent path, hence saving developers (both in Google and outside) countless hours to support an app for 5 different DOM implementations. As someone else said, js is not bad, the discrepancies between current solutions are.
Regarding the unlikely availability of a Chrome+Adblock solution cited in the article, I still don’t get why. If the code is open, what is preventing any developer from forking it and implementing such solution?
I don’t think there’s any danger in Flash/Silverlight becoming the dominant RIA tool. Why?
1. Developing XHTML/JS solutions is now and always will be completely free. All you need is a text editor.
2. XHTML/JS solutions are intrinsically cross platform.
3. Website visitors do not need to install any tools or VMs.
4. There are so many university courses and online tutorials and books covering javascript development (in conjunction with ruby or php) that there’s just no way it’s going anywhere anytime soon.
5. Search indexing and positioning is critical, and it will be *very* difficult to provide efficient indexing of Flash/Silverlight that does not give the developer of the RIA the opportunity to spam the hell out of the search engines. Google struggles enough with stopping blackhats injecting keywords into non-visible areas of pages, imagine how hard that’s going to be to detect in the likes of Flash! And until it’s nearly impossible for developers to spam like that, Google will have little trust in the indexing of those movies. Besides, as they say, content is king when it comes to SEO, and by content I mean just text.. lots and lots of good quality text. Why would you put 10,000 words of text in a Flash movie? You wouldn’t, so HTML will still be used for good indexing, as text markup is what it was designed for.
No, the biggest challenge that’s presented to web developers wanting to provide an application “service” is data access and ownership. When you use Google docs, who owns the data? How do you give users the guarantee that they will always have access to their data, and portability of their data between one service and another? Right now, there’s no such peace of mind that I’m aware of, and I’m waiting for some kind of popular “open data” initiative, where *your* data can be easily shared between services (imported, exported, backed up, whatever). Once users have that, one of the biggest and legitimate concerns for the use of web apps will be removed.
I agree with others here that Chrome and Gears are more about Android than anything else. The mobile market is still very volatile and there’s plenty of scope for Google to come in and be a major player, thus giving them a new market. And actually, I hope they have great success, as I’m just not sold on Symbian or Windows Mobile, and I’d prefer to have more freedoms on something I own than what Apple is ever going to grant me.
You’re not good with simple numbers.
Very good article – and I don’t mind it’s length.
The best on it is the discussion following it. While nobody knows what’s the future, we all know what and how to consider now.
I’m SEO, so I know and don’t underestimate the importance of indexation in HTML success. But there is a huge other important factor to be considered. HTML and JavaScript ARE Open Source. They don’t have a license but once they are released everybody can see their code so it becames impossible to track who copies what. So if expedia has a new cool visual effect, it is implemented all around in no time because everybody can see clearly how was it done. That is not happening in java-flash or silverlight. Any programer with a cool effect in java will submit it precompiled. And flash swf is precompiled by default.
I liked the article very much. I also read all comments here, and I have to say, that while proponent of RIAs, I can understand why ppl prefer html, css, js, ajax methods of development.
But – I would not fear RIAs, really. You need a plug-in? So what? If that exists for your platform set-up, it is going to be downloaded rather quickly. I would like to point out, that some js libraries are bigger than REBOL itself 🙂
IOW, what author describes almost exactly matches Carl Sassenrath’s (AmigaOS, REBOL) opinions 10 years ago. Not those about Google, but those about better technologies for the Internet.
Pity we are so slow, but once R3/View is out, the world will see another RIA, cool one, under 1MB of code. In fact, REBOL was even first RIA – back at those times, when Flash was used only for advertisements.
If Google is looking for the competition for Flash and Silverlight, they should buy REBOL Technologies 🙂 Of course we have another ones, as Runtime Revolution, Curl, but those are much much bigger, and not so much better. REBOL language has much deeper thoughts for RIA age than anything I saw so far …
A sidenote on the mentioned 7.2Mbit/s wi-fi connections. In Sweden a government agency is now investigating if the alleged speed is false advertising, since the possibility of reaching speeds that high is practically impossible even if you stand next to the transmitter.
I learned three things from this article.
The first is that the author really doesn’t like Javascript (though it seems to be more than acceptable as long as it’s called ActionScript). Not sure why really. It’s basically LISP with C syntax. The problem has always been the runtime. But with the likes of V8, TraceMonkey, and SquirrelFish, this will soon be (and as far as I’m concerned already is) a thing of the past.
The second is that the author believes that Google has some grand scheme in mind with its project releases. Possibly, but I think it’s far more likely that Google is like a hackerspace with money to burn on anything that strikes them as nifty. Google makes its money by drawing attention to itself, and as long as it keeps doing things that result in such, the goose will continue laying those chrome eggs.
Finally, it appears the author has never actually thought about how an RIA gets indexed. Google may use hyperlinks to sort search results, but the only thing it actually builds indexes on is TEXT. An HTML RIA is not a ‘text document’ however (don’t be pedantic, you know what I mean in this context ), and most of the time it makes no sense to index it as such. And PageRank is rendered useless because it makes no sense in the context of a RIA.
So there’s no real reason for Google to stick with HTML for RIAs other than ubiquity. In fact, I hope that SVG support is not far behind, and I myself am working on a project that uses Google’s V8 and OpenHand’s Clutter. The key problem with RIAs have been one of quality, and so far the available tools, platforms, and applications have for the most part just sucked.
…
Oh, and Google hates Javascript too, which is why most of their JS is generated by Java frontends (at least as far as I’ve been told)
As a developer of RIAs, I have quite a few rebuttals with many of the comments in the article. The author comments that Javascript + HTML is a poor platform and that there are many better options out there… frankly, applications that are written for Java, Flash, Silverlight are NOT inherently better or easier to maintain. The biggest problem up to this point with applications that are heavy with Javascript is that people with little application development experience have been using the language. The same can happen with any platform. Flash is a perfect example. A lot of people that write code for Flash are graphic designers or the like… people without real training in software development. What I find funny is that the author completely neglects to mention that Actionscript and Javascript have their roots in ECMAScript… the core language is the identical. Right now, the slowest thing about Javascript in the browser is DOM manipulation which is constantly being improved (well, it’s constantly being improved by every browser but IE, but even IE 8 is better then past versions). Another reason for it’s slowness is lack of threading/processes. With multiple cores being standard now, Javascript has no facilities to utilize more than one core. The Mozilla team is changing this though. Running background Javascript threads will be possible in the near future. People seem to forget why features like this are not yet standard though… it wasn’t until recently that Javascript has needed to perform well. Only about six years ago, Javascript was basically for doing mouse rollovers, creating annoying pop-ups, form validation. Who need speed or multiple threads for that??? Now that the browser is getting some respect as a true development platform is there a need to improve performance. It’s mentioned that JS + HTML is basically a “hack”… I would have to disagree; every language and every platform grows and changes over time. No platform is developed once, shipped, and the developers say “ok, that was perfect the first time out… no reason to improve it”. The author also mentions that HTML + JS have poor security. In my experience, it has no worse security than any other development platform; it goes right back to my first point: if you have amateurs writing code you’re going to get amateurs results. With a proper application architecture you can have a very secure platform, regardless of the development platform. Yet another issue that is a “problem” according to the author is applications with thousands of lines of unmanageable Javascript. I’ve written applications with many tens of thousands of lines of Javascript that are quite modular and highly maintainable. Again, it all goes back to having a proper architecture. Without a proper architecture for an application, it doesn’t matter if it’s written in C++, Java, Silverlight, Flash, or HTML + JS, the application will pretty much be doomed from a maintainability perspective. Something that often times turns off developers to JS + HTML is that, while Javascript superficially looks a lot like languages they are familiar with, it is significantly different to develop for in many cases. If a developer writes Javascript in the same way they write Java, the performance will likely be terrible, again perpetuating the belief that JS + HTML is a poor platform. Another argument that the author poses is that JS + HTML has not been able to keep up with the times, that it is “not able to cope with innovation” and uses Youtube as an example of this. This argument seems a bit ridiculous since EVERY platform has some kind of extensibility… the ability to link to external libraries, use some sort of external resources. In this case that external resource just happens to be Flash. There is no single platform out there that is the end-all be-all platform for development. The single biggest argument that I have a problem with though is that RIAs need to be indexed by Google. This particular argument is complete nonsense. An application in the true sense of the word really can’t be indexed. Content is indexed, not an application. An application can contain content, but the application itself cannot be indexed. Even if the application is written in HTML + JS, the only thing that can be indexed is the content in the HTML, which if the application is mostly written in Javascript, there probably won’t be much HTML to index. You really need a portal, a website, for the application, no matter what the development platform of choice is. Webcrawlers can read the contents of things like Javascript files, but they certainly can’t comprehend them (well, Google’s webcrawler can, but only to a _very_ limited extent). At best they can make use of the comments in the file. Most of the application’s I’ve deployed have had _very_ little content in the HTML; what was displayed was usually dynamically driven by Javascript which used a combination of server database resources and XML or other configuration files. There really is very little to index. I have to say that from what I’ve read in this article, this author needs to back up and see the reality of the situation. Javascript and HTML as a platform is used because it’s highly flexible, it’s quite easy to reach a large target audience, and it’s not nearly as complicated to develop or insecure as the author seems to think. As browsers continue to mature, JS + HTML applications will continue to grow, not because Google feels they must, but because it’s no worse a platform to develop for than any other, and in many cases, it’s a much better platform for specific applications.
On a side note, the author seems to think that the Mac platform is practically nonexistent. I think some people would say otherwise: http://arstechnica.com/journals/apple.ars/2008/01/01/mac-os-x-marke… current estimates put Mac market share between 8 to 10 percent. I certainly don’t know about you, but it seems to me to be a bit foolish to think that having one out of ten people using a Mac as being a failure for the platform. I also find if a bit comical to hear the author state “And I’m sure Google carefully watched IBM and loads of companies (including Google itself) pouring tons of money into Linux just to have a 0.something percent share.” While it’s true that many companies have poured a lot of money into Linux, very few have made much of an effort in making it a desktop platform. Most for the money/effort spent has been to make it an excellent server and embedded platform. It wasn’t until Mark Shuttleworth decided to make a serious effort in that direction that there has been any real movement at all. Keep in mind, that was less than four years ago. For Linux to even have 1% of the desktops out there at this point is pretty impressive, and OEM support only continues to improve.