Written by John Milan and edited by Richard MacManus. Images by Jon Cornforth. This is the second article of a two-part series - see Part 1 here.
The other day I was trying out IE 7. It has a nifty feature that
downloads all the elements of a web page and stores them together in one file for future
viewing. We do a lot of work with SharePoint at my company and I was curious how many bytes a
generic, freshly created Document Workspace takes. It turned out to be 715K or so, which
is surprisingly close to a megabyte. Thinking maybe this was MS/SharePoint specific, I
tried a new Google Docs page (472K), a new Google Spreadsheet page (418K) and the front
page of Yahoo Finance (429K). Somewhere along the lines, as HTML pages have entered the
mainstream as real workhorses, the nimble HTML burros of the early web have morphed into
plodding, three-tiered-architecture clydesdales. It doesn't take too many clicks and page
refreshes before you've downloaded more bytes than a comparable rich application. Many,
many more bytes. And that's just one page.
Could history repeat itself? What will be the tipping point for a few rich application machines to replace scores of web page clydesdales? One possibility is an increase in the cost of all those bytes, which is why Google (and most other web application providers) really would like to see a Net Neutrality amendment or bill [update: we edited the previous sentence after publication, based on comment 14 below].
More likely is something like Ektasis, a startup company that recently introduced itself to the world. Building a new platform, as noted earlier, is difficult enough. Handicapping it with a startup's cash constraints is insanity. But it's folks like these that make the world a better place. And thankfully, they do have a very impressive solution to the install/uninstall problem facing rich applications today. It's a solution that Microsoft would do well to copy and Google to study: fully functional client software that can install and run with a click, and an automatic code versioning/updating system. This means instead of downloading entire applications, pieces of applications - individual classes or object files - can be retrieved and fine-grained, surgical updates can be performed. What they've done is taken the best practices of browsers and web page assembly - and applied it to desktop apps. Ektasis has a great strategy for merging the desktop and web environments. Perhaps they will be able to catch the right wave.
Any virtual machine can also use this piecemeal download and assembly strategy. In theory, an operating system like Windows could do it too. But in practice, because of its own success, there are too many millions of windows applications to support - some written by software publishers, most written in offices and cubicles in every part of the world. Therefore the better solution is to lay new groundwork for a better virtual machine, something that includes a smart loader/linker like the Ektasis framework. This will negate the installation/uninstallation advantage web applications enjoy today. Furthermore, it will give developers more choices in how they want their apps to work.
More choices? The other nice thing about virtual machines is that they are portable, just like a browser. But it's not for running .NET apps on Macs, though that may happen. Rather, portability is gaining in importance for mobile devices. Any company with an eye for growth has noticed cell phone sales far surpassing PC sales. Add millions of cell phones, Blackberries, SideKicks to the environment and it's clear the playing field of tomorrow is a whole lot bigger than the playing field of today - if you're able to span devices.
As enormous as Google seems, its position is far from
unassailable and their options are surprisingly limited. There is nothing preventing
Microsoft from duplicating Google's online strategy, other than prime mover momentum.
Even with copious advertising profits and their astounding growth rate, Google makes only a little
more than 10% of what Microsoft makes. Which means
MSFT can easily outspend GOOG. Enough to slow Google's current momentum? Probably not.
Enough to pounce on Google when advertising profits suffer a downtown? Most definitely
yes.
In fact, Google 2006 reminds me a bit of AOL in 1996: long on one cash cow, short on any others. In 1996 AOL was the growing giant. By 2001 the giant's food source had changed. The cause of AOL's problems was over-reliance on their growth engine. Once it started sputtering, they had no other profitable property to rev up. As a result, even though they had well known properties (AIM, 'You've got Mail', etc), they could not monetize them and thus were dead in the water.
For all the apps Google puts out, very few can be considered 'sticky', and even fewer can be monetized outside of advertising - it's too easy to go to Yahoo or MSN for the same free service.
Indeed, Microsoft is already encroaching at each potential feeding ground. Google offers Earth, Microsoft offers Virtual Earth. Google offers AdWords, Microsoft offers AdCenter. Google offers documents and spreadsheets, Microsoft offers Office Live. Google invests heavily in Firefox, Microsoft shakes the dust off Internet Explorer. Google has built its momentum by brilliantly exploiting the web. While Microsoft just seeks to match them, they have a fighting chance. But what happens when Microsoft takes the battle to the next level and introduces a smarter, portable virtual machine that unifies the development experience for PCs and mobile devices? Google answers with... what?
Perhaps they can invest more in Firefox. Perhaps Eric Schmidt fondly remembers his Sun days and resuscitates JavaOS (he did just resuscitate 'The Network is the Computer,' after all). Unfortunately for Google, Microsoft is more than a match for them on both counts. One possibility is buying an undervalued property aligned with its business, but currently lacking frothy sizzle. A company like EMC (an information infrastructure company). It aligns well with Google's information driven goals, has lots of assets and even more relationships. But even that may be window dressing for EMC's crown jewel, which might be worth the acquisition alone: VMWare.
VMWare has actually, unbelievably, beaten Microsoft on its own turf - building a better virtual machine (the V and M in VMWare). I'm sure they could create virtual machines that would run .NET and .NET apps. While Google would never be able to root out Windows on PC machines, they could capture the bulk of billions and billions of cell phones, mobile and personal devices that will deluge us over the next several years.
Such a staid purchase, however, might wash a bit too much glitter off Google. For something a little more snazzy, and just a bit more affordable, they could make an even bigger splash and buy Adobe. It's all funny money for Google at this point and buying Adobe would give them fabulous software assets in PDF, Flash and Photoshop - three pivotal areas of the web, and markets Microsoft has been unable to capture. Furthermore, Adobe's ambitious Apollo project could become a crown jewel, too. Finally, Adobe is just up the creek from Mountain View. (Full Disclosure: I'm a former employee and own shares of Adobe)
But Google will have to act soon. Microsoft has already taken away one potential option for Google - Novell's .NET Mono project. Microsoft must be thinking about the mobile deluge too. They've already met Google head on at every online PC location, and there's every reason to believe the same thing will happen at every mobile hotspot as well.
If Google wants to avoid being the next AOL and instead make a real grab for software supremacy, it needs to expand and diversify its revenue source. Fast. Firefox is not enough; their own OS is not viable. With their stock price Google has some options. Perhaps a solid information infrastructure provider like EMC, or a 24 carat technology treasure like Adobe. Either way, Google needs continued brilliance at managing their search armada, stickier internet properties they can monetize and an extra boost to propel their ascent past Windows.
And they need Microsoft to make a mistake.
Have you ever read Slashdot and noticed that every article about Microsoft is accompanied by a picture of Bill Gates made up as a Borg? While it may appear in bad taste, it's actually a very flattering compliment. For most of their history, Microsoft has been able to adapt like very few companies before it - and it speaks to the very core of their success. Though the software environment may be warming in Redmond - the water lapping at their ankles and the investors clamoring for greater returns from the hunt - Microsoft has usually been able to make hard, but correct, choices. And when they don't - then scariest of all, they learn from their mistakes. The result is that Microsoft has a solid position at the top of the software food chain.
Learning from their mistake with Linux is what led to the recent deal with Novell. Microsoft's initial mistake? Not taking Linux seriously. Now it's a serious headache for them. Though it may seem a stretch today, another headache had been looming on Microsoft's horizon - especially with the growing importance of .NET. That was Novell's Mono project. Mono allows .NET code to run on any machine that can run Mono, similar to HTML code running on any machine a browser runs on. But Novell needed the money; Microsoft needed to remove a threat. The solution: pay chump change (for Microsoft) to Novell for access to Mono. Lesson learned and problem solved.
But just as Google 2006 reminds me of AOL 1996, Microsoft 2007 will soon have a major decision to make similar to Microsoft 1997. Back in 1997, strange as it may seem, Java was the rage and elements within Microsoft were comparing and contrasting the virtues of virtual machines with the ungainliness of Windows. A management shakeup resulted and Microsoft, correctly, continued to orient itself around their OS and fortified any cracks in the foundation. Fast-forward to 2007 and Microsoft will again be comparing and contrasting virtual machines with an even more unwieldy Windows.
This time however, Windows is acting like a dam blocking a surging ocean of innovation. Further fortifications are useless - you can't stop a sea change in technology. Of course this time Microsoft happens to own both options on the table: a nimble virtual machine that can run on as many devices as needed, or an unbowed warhorse ready to fight the last battle. Once again it's the horse that must go. Not Windows the brand, but Windows inextricably tied to the PC platform.
Except in 2007, it won't be Bill Gates delivering the memo. The mantle of technical leadership, and compelling memo writer, has fallen on Ray Ozzie's shoulders. His greatest test? Slowly defocusing Windows bound to a PC and refocusing on a portable, virtual machine 'Windows' fueled by .NET and online services. My company worked with Ray's former company, Groove, for many years and while I haven't had a chance to sit down with him, I know he's very capable technically. But it's the selling part - the clarity of vision, the sureness of direction, the respect of employees, the sheer force of personality - that is extremely difficult for 99.9% of the world. In that respect, Bill is an exceedingly tough act to follow.
How important is it to have a leader when coming to a fork in the stream? History tells us that most empires start crumbling from within before the outward edifices are breeched. Microsoft head count has nearly quadrupled since 1997, as has revenue. There's a good chance the number of internal fiefdoms has quadrupled - as well as competing interests. It was definitely surprising how little the web was mentioned in the recent Vista/Office 2007 press event. Perhaps Google's best bet is whispering sweet nothings in every willing ear.
But for all the managers, marketers, salesmen and saleswomen hired,
Microsoft is still, at its core, a technical company. In order for the outside world to
know if the technocrats at Microsoft have bought in to Ray's vision, the key development
to watch will be 'old' Windows being put out to pasture. Again, Windows the brand lives
on; Windows the tightly integrated OS for x86 computers does not. It's not a unique
situation, it's just that the stakes have never been higher. DOS was a tremendous cash
cow before Microsoft replaced it with the greatest cash cow in history: Windows. There's
every reason to believe the next cash cow will be even greater. If Microsoft engineers
can convince everyone it's time for Windows, following the revolutionary trend, to
disappear and be re-imagined as a virtual machine intricately tied to the web, then
Google will be up a creek no matter what they do.
Remember, you always want to follow the data. Microsoft and Google are struggling to own it on the estimated 234 million PCs shipping this year. But it will be the first company that can extend their reach to the 245 million mobile devices shipped last quarter that will be the winner. While Google has the richer feeding grounds as Microsoft struggles with the current Windows/Desktop status quo, it's actually Microsoft with the canoe, the paddles and the most rods and reels. If they get everyone on board, then Microsoft should continue ruling the land and the seas.
Until the next unintended consequence.
TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/2892
Comments
Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts
Nice write up.
One thing though:
"It's a solution that Microsoft would do well to copy and Google to study: fully functional client software that can install and run with a click, and an automatic code versioning/updating system"
Note that .NET Framework does exactly this via Smart Clients / ClickOnce deployment. This is central to Microsoft's developer story. As a matter of fact, the startup you reference quotes Steve Ballmer talking about this functionality as validation of the concept!
And don't forget about WPF/E which was released this week as a tech preview.
This is an area Microsoft has already been investing in for 5+ years - I believe it was actually part of the .NET Framework 1.0 Beta.
This is an excellent follow on to the first part.
I accept your view point that the next winner will be one who can maintain dominance in providing services to the mobile devices. Google could make an acquisition or partner with companies in the mobile devices space like Samsung or Nokia or Cingular.
Since I'm a curious bloke I just had to download your page: 440 kB.
I look forward to your next year's instalment of 'The Cloud vs. The Box'.
I think you are dreaming. New technology is certainly one of the issues at stake here, but the main issue between MS and Google is who has users in the web domain? Google is one of many companies that have grabbed mindshare through a unique and compelling offering. Whether or not you think their technology is great is really beside the point.
Even if MS can duplicate or even somehow outdo Google's offering, Google already has the name and market and MS is an also ran. If MS really wants to outdo Google, they have to come out with their own unique and compelling offering on the net. Unfortunately for them, they are too big to actually try something like that, their strategy has been (for over 20 years in my opinion) to look for existing markets they can take over (remember Lotus & WordPerfect for example). They have failed in this strategy similar to the way IBM failed with OS2 once Microsoft realized they could go off on their own. They have nothing new and compelling to offer. In fact there are business models which put MS in this "mature" category precisely because their best risk avoidance strategy is always seen to be to take over existing markets rather than start new ones.
From that point of view, MS' inability to overtake Google is not very important except for a few egos. MS bottom line is what matters here. Just look what that strategy has done for IBM. I don't see any reason that MS can not continue in this vein even if it finally looses its mystique to some geeks in some circles. There is plenty of money for MS to make outside of the vanguard.
Even if rich functional clients (Sun has this out there with JavaStart) become the trend, I don't see this as being relevant. Google will use this technology if it sees benefit and it does not address the fundamental issue of mindshare, which I reiterate is not an issue of technology.
Thanks for another thought provoking article -- Ivan
Nice technology perspective write up but too dreamy and NOT realistic because you fail to cover any of the business angles i.e. MSFT will not and cannot afford to give up Office and Windows OS cash cows ( something like 70% of their profits ) because
1. they cannot charge the outrageous extortion prices with their new 'Live' products
2. Their stock price and market cap will get creamed
3. This transition will be very difficult to execute and MSFT does not have the mindset and mentality to be successful ( Ozzie is smart but Ballmer who heads up tactical execution is an arrogant blovilater asshat )
Thanks to John for a great article.
This is a brief response to Mike Torres' comment above.
Mike is absolutely right that Microsoft sees a need to escape the browser straightjacket, and has been moving in this direction for some time. Technologies like .NET and Adobe Flex are undoubtedly suitable vehicles for many applications, though this does not mean that all such technologies are equivalent.
Here are some of the design criteria on which the Ektasis framework (mentioned in John's article) was implemented, that distinguish it from other technologies:
1) The developer should do *no* extra work to make his application run on the Internet. The application can actually be developed (written, tested, etc.) stand-alone, then dropped into the Ektasis framework where it automatically gains networking capabilities. Conversely, the developer can decide to stop using Ektasis at any time, and will lose none of his work. There are no servlets, XML, JavaScript, deployment descriptors, action mappings, JSP, WSDL, stubs, skeletons, etc.
2) The object model is rigorous. There is no XML marshaling and un-marshaling. There are no stateless procedures (read: "Web services") clinging to session objects. This fact has a number of consequences. For example, you will be able to take an entire server and run it inside a client, or run an application across any number of peers. All code is mobile, shareable, re-usable, and extendable.
3) Ektasis applications are not functionally limited in any way. They can do anything that software can do, and they do it securely.
A little more detail on these issues is hidden here: http://www.ektasis.com/support/devsupport.html
Hope this helps!
Mark (#1)
The Click Once campaign has a nice ring to it, but I think the feature that makes it work is the automatic, fine-grained updating of the code that has changed.
For example, if I have a web application and need to change one aspect of the web page (say a string somewhere), once I make the change, every subsequent user gets the updates.
This should be doable with a .NET application as well: change a string in a resource file, for instance, and the next time anyone starts up the app, it checks against a 'source' update for just that resource file.
I have not seen that find-grained capability in the .NET framework currently, but perhaps I haven't looked hard enough.
From the limited searching I've done, it looks to me like Ektasis is the first to really alleviate the burdens and make rich app programming, distribution AND updating as easy as programming, distributing and updating web page.
Hello John,
Thanks for a wonderful post.
Ektasis really seem to be hitting at a felt need here. However, I believe that there is a more basic solution available. I am advocating that we reconsider the foundations of the VM employed.
The HyperText Computer (HTC) is a top to bottom revision of the computer to give a foundation for flexible sourcing of computing resources.
I believe that we need a programming model that delays decisions about where computing takes place until run time. The decision can be made on the basis of availability of computing resources at the client and the willingness of the service provider to share their code and/or data with us.
How many programmers out there are frustrated that they have to meld PHP and Javascript or Ruby and Javascript? The HTC may be implemented as a VM which unifies the client and the server to be using the same programming model.
David
"But it will be the first company that can extend their reach to the 245 million mobile devices shipped last quarter that will be the winner."
Google and Microsoft are peons in the mobile space. The important players to watch out for are: Nokia, Intel, Qualcomm, Motorola, Vodafone/Verizon, Samsung, Sprint, Cingular, China Mobile, Deutsche Telekom/T-Mobile, NTT DoCoMo, France Telecom/Orange...
Not to sound too much like a curumudgeon, but I remember when MS was dismissed as a peon in the personal computer space because the important players were IBM, IMSAI, Apple, Osborne, DEC, TI, Tandy, Xerox, Groupe Bull ....
Also: interesting to note that the top 4 of 5 "most wanted" phones on CNET right now are Windows Mobile phones (surprised me). So while Motorola, Verizon, Vodafone, Samsung, Sprint, and so on are giants in the mobile space, the majority of them are working with MSFT. Some could make the argument that Windows Mobile phones are actually best in class between the Q, the Dash, the Blackjack, and the Cingular 8525.
Also: Live Search Mobile just get serious kudos for being one of the most useful applications out there.
(yes, I work at Microsoft but not on anything mobile)
As Mike noted, Microsoft has already been doing this for years with ClickOnce, see http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/. Now if only they would open source .NET so this could really take off....
Wait a second...I thought Google was for Net Neutrality because it would build in legal safeguards that will make it possible for them to continue to grow and innovate, and keep the Internet "neutral" whereas if there is no Net Neutrality, then the telecoms will be in charge of the content and what companies like Google can and cannot do with that content.
Am I missing something?
econwriter5, you are absolutely correct. I absolutely got it backwards. I was thinking about the bill itself, which currently lacks the Net Neutrality amendment, either passing or not passing-- not the Net Neutrality amendment itself.
Here's a nice write-up on it:
http://news.com.com/2100-1028_3-6058223.html
My apologies.
JM
I wanted to tackle further how I think the .NET framework and its current 'Smart' click once can be improved. Rather than post a lengthy response here, I wrote a reponse in my blog here.
I think it explains things fairly well-- with fewer metaphors :)
fyi we edited the Net Neutrality bit, thanks to econwriter5's great point.
As per my view with part 1
Microsoft = C Drive (the era of spectacular monetisation is over, the same method of monetisation can not be ported to mobile platforms as they are already commoditised)
Google = Virtual Machine/Data centre (the proven monetisation of this platform lies with Google. Sure its a one trick pony today, but that leaves you a generation ahead of no trick ponys or those tied to diminishing models.
I'll go further, while MS will not vanish anytime soon they stand to lose in a big way in the mid term.
In the software game there are two broad revenue streams
1. Microsoft = XP/Vista and Office - both C drive based
2. Oracle/SAP/IBM = Emebedded Business Logic apps - Hosted in the data centre or 'G Drive'
Group 1 has nowhere to go but cut price
Group 2 can move all their current offerings to thin client to help their customers 'save money' while they protect their 'centralised' cash cows.
A million other factors are at play, but this is the central revenue shift i see occuring as we speak, and Google is currently the 'retail' version of 'Group 2'.
Regards,
Dan
Dan,
I agree with your assessment of the current situation. But I think while the Oracle/SAP/IBMs of the world will be ok because they more or less own both ends of the data pipe, Google is a bit more precarious because it relies on the browser for its retail end. And actually, what it really relies on is HTML, CSS and Javascript.
It's in vouge to lament how Windows GUI programming is holding back innovation, but I firmly believe HTML, CSS and Javascript are doing just the same. This is why MS has an opportunity to leapfrog Google, and why there can even be a darkhorse like Adobe and its Flash VM in this race.
Especially Javascript. Maybe Google's strategy is to hire all the world's engineers that can write complex Javascript apps. But I think Javascript is heading for the dustbin someday soon. Or maybe I'm hoping...
for me to fully understand Bill is a difficult task. Im trying to do a report on him to show his intellegence has so helped the consumers, but all i can show of him is he is not user friendly. Are there any good and positive things he has actually done himself. Great, hes giving money to his new project, save the world, but wait isnt someone already doing this as well, and is this just a big tax break for him.
Good and positive things Bill has done himself? I would say up to now, the ledger is wanting compared to the things he has done *for* himself. HOWEVER, the Gates Foundation has the capacity to be the biggest engine of change (for the better, I'm assuming :) the world has seen in generations. In fact, I would go so far to say that if Bill shows the same cunning with respect to humanitarian needs as he showed toward consumer needs, the world will be a better place.
It's funny you should mention tax breaks. In the US there is a very progressive tax called the 'Estate Tax' that tries to redistribute wealth upon death. Its meant to discourage legacy wealth and encourage meritocracy.
While some wealthy groups are trying to abolish this tax, Gates and Warren Buffet (another very rich fellow) think its valuable for society.
I'm not a Gates apologist, but he deserves a fair appraisal.
Bill Gates could do more than anyone in history to get the poorest humans up to and possibly beyond self-sustainability, and he probably very much wants to. Why? For the same reasons he has done what he has in the past. I'm convinced he has never been interested in luxuries, - he wanted to become the world's richest man to prove he was the greatest, and perhaps he preferred to do it with mostly inferior products. His ultracompetitive drive is said to have been ingrained in Bill and his older sister by their maternal grandmother. As even intelligent people seem to rarely question what they have been endlessly exclusively taught as children, I can imagine it may have been a genuine shock to Bill when American governments started to constrain Microsoft. Now Bill has started philantrophying, he will want to be the best ever. I believe the Gates foundation has already given away more than any other charity in absolute terms. He will want to outdo such as Andrew Carnegie in relative terms too. Like Carnegie, remember he should never have had all the money he is now so generous with. But it will be mostly well spent, at least in short term effects.