Web 3.0
With all the Web 2.0 hype floating around right now, it’s easy to miss Web 3.0 right around the corner. There is a war being waged over which Web 3.0 framework will be dominant. Microsoft, Sun and Adobe are working on three competing alternatives for Rich Internet Applications (RIAs), which is what I’m calling Web 3.0. If any one of these new RIA technologies catches on, it will sound the death knell for HTML/JavaScript application development. I’ve spent the last couple weeks researching the new tech (my excuse for not posting to the blog recently ;).
Lets start by defining the current state of web development — Web 2.0. In this post, I’m referring to the technology side of Web 2.0, which adds important features to JavaScript. Namely, the ability to multi-thread and the ability to update browser HTML without refreshing the browser. It lets HTML apps act more like desktop apps and less like simple document viewers. It probably doesn’t sound like much because it isn’t. Web 2.0 would have been more accurately named Web 1.5.
While Web 2.0 is definitely an big step beyond normal JavaScript, it still has major limitations. From a developer perspective, it’s a nightmare to code with. I’ve managed to make it through most of my career without having to write JavaScript code so I’ve been giving myself a crash course over the last couple months. JavaScript sucks. The language feels like a bad hack written over a long weekend. I spend more time fighting with this language than have with anything since FoxPro 2.6.
I could live with the coding headaches except for one other thing. JavaScript is ridiculously slow. This speed issue is fundamentally why HTML/JavaScript applications will never work like desktop applications. JavaScript isn’t a compiled language so everything runs 50x-1000x slower than something that runs on the desktop. It makes Web 2.0 sites clunky. When you click on a hyperlink that goes to another screen, there’s a multi-second lag before the screen updates to reflect your click. That’s acceptable when you’re navigating web pages but not if you’re trying to use a desktop application. The recent Web 2.0 improvements have helped but it’s still a major issue.
The best example of a good Web 2.0 app is Google Docs. Google employs the best HTML/JavaScript developers on the planet and Google Docs is (by far) the slickest Web 2.0 app running. But compared to Microsoft Office, it’s a toy. They’ll get better but it will never be as good as Office because Google can’t overcome the fundamental limitation of running on HTML/JavaScript. Docs is a great showcase for what’s possible with Web 2.0 technologies but if you had to use them on a daily basis, you’d throw your computer out the window.
Rich Internet Applications (Web 3.0)
Rich Internet Applications (RIAs) fix the speed issue by providing a compiled language on the desktop. Developers will be able to write browser applications that run lightning fast in your browser. RIAs (or Web 3.0) also give developers graphical hooks to create standard Windows screens and do video game-style graphics. Anything you can do with a regular software application, you’ll be able to do with Web 3.0.
HTML/JavaScript will never die, but in a Web 3.0 world, people will stop using it to create web applications like Google Docs. Anything that sophisticated will likely be created using one of the three Web 3.0 technologies because it will be both easier to create and will run better in the browser — a potent combination that will kill large Web 2.0 development projects.
There are three large contenders building Web 3.0 frameworks, each having a unique area of expertise. Adobe specializes in high-end graphics and has a 50,000-strong community of graphical designers who already use Adobe’s products to create web applications. Microsoft specializes in software development and has a 10 million(?)-strong community of .NET developers who build applications with Visual Studio. And Sun specializes in open-source, cross-platform and mobile applications with their own large developer base.
Adobe
Adobe is currently leading the way due to their huge installed base of Flash. They’re building on Flash using a technology called Adobe Integrated Runtime (originally code-named Apollo). Adobe is counting on their huge community of Flash developers (50,000 strong) to quickly adopt the new technology and start creating Rich Internet Applications.
Although Adobe is currently the leader, I think they’ll be the first to fall. Being the market leader right now doesn’t matter much as this stuff is still in the early stages. Also, they’re already vulnerable in what should be their strongest area–high end graphics. Microsoft Silverlight does it better.
Sun JavaFX
JavaFX is the newest of the technologies and it feels like they’re playing catch-up to Microsoft and Adobe. But it’s the only platform that’s truly open-source and there is a large existing community of open-source developers who will eat it up.
JavaFX also is the only option that runs on mobile devices. I largely discount this — I think more and more mobile devices will go the way of the iPhone where they run a normal web browser. Mobile-specific applications will eventually fade away.
Microsoft Silverlight
Microsoft has created something called Silverlight 1.0 that ostensibly is a competitor to Adobe Flash. But they’ve recently announced a big feature for Silverlight 1.1 — it contains the .NET 3.0 library. This means that developers can create Silverlight applications using Visual Studio .NET and they’ll run in a browser. This lets Microsoft can easily leverage their 10 million-strong stable of Visual Studio developers to create applications for the new platform.
Silverlight also runs cross-platform. It already runs on Apple computers and (with the help of Novell) will soon run on Linux. So, if Silverlight implements .NET and it runs cross platform, does that mean that Visual Studio supports cross-platform development? Yes, it does.
Microsoft also has a big advantage by controlling the largest installed operating system — Microsoft Windows. All of the Web 3.0 technologies require something to be installed on the client, which is a huge stumbling block to Web 3.0’s being accepted. But Microsoft already includes the .NET 3.0 libraries in Vista and I assume they’ll update them to .NET 3.5 with the first service pack. So no initial installation if you’re running Microsoft’s latest OS — that’s pretty powerful.
Their last big advantage is Microsoft Office. I watched an interview with Microsoft’s Scott Guthrie where he was asked whether Microsoft will release a version of Microsoft Office through Silverlight. He gets a huge smile on his face and mumbles something about evaluating things as they come along. I predict we’ll soon see a free Microsoft Office Lite that runs in a web browser (probably part of the Windows Live suite). And it will be *much* better than anything Google is working on.
What Does It Mean For Wealth Managers?
If Rich Internet Applications catch on, what will it mean for wealth managers? Nothing for at least a year because most of these technologies are still under development. Even after Silverlight/Apollo/JavaFX are generally available, we still won’t see anything for a long time. Heck, most of our industry’s vendors still don’t have Web 2.0 versions of their applications (Advent being the notable exception with APX).
Service-bureau companies like Albridge probably won’t move to Web 3.0. The desktop-level functionality won’t appeal to their users since Albridge does all the data reconciliation and troubleshooting. Their users mainly use the web site to generate reports. I expect most of the service-provider companies to make the same decision.
Companies currently providing richer functionality (the desktop apps like Centerpiece and Axys) have an opportunity. Now they can deliver a desktop experience in the web browser, possibly leap-frogging web companies like Albridge. However, our industry has always been slow to adapt and I’m skeptical that it will adapt at all. This may end up being good news only in the sense that it creates an opening for new wealth management startup companies using Web 3.0 technologies.
Geof Harries said,
October 4, 2007 at 1:19 pm
I think you’re missing the point with AIR. It is not about running applications inside the browser. The runtime enables that same experience to operate outside of the browser, on the desktop. Being able to code in HTML/JS, Flex or Flash and create an app knocks down a big barrier to entry. That’s a core strength of AIR.
Also, mobile-specific applications will not fade away; in fact, it’s the opposite. Even if more mobile devices gain a “normal” web browser, the small screen demands a wholly different approach.
People use mobile devices much differently than a desktop computer. Sure, there’s movies and ringtones, but most of the time, the information request is about here and now, as quickly as possible. Totally different mental model than the desktop experience.
Paul Hammant said,
October 22, 2007 at 10:58 pm
Nice. Take a look at swiby:
http://swiby.codehaus.org
Its trying to be a worthy inheritor of web 3.0 title. Perhaps in the way that you suggest.
Amnon said,
November 11, 2007 at 7:32 pm
I also recommend checking out JNEXT ( http://jnext.org ) which enables you to delegate from JavaScript to native code any parts that are CPU intensive or simply unavailable for JavaScript
WealthFly » A Night At the Opera said,
November 28, 2007 at 4:21 pm
[…] Nice to know I’m not going crazy. Other people think the recent problems stem from all the new Web 2.0 stuff we’re using. These observations reinforce my belief that Microsoft Silverlight will be the Next Big Thing and all these Web 2.0 developers will soon be building Silverlight apps. But that’s not what this post is about. […]