Friday, March 28, 2008

Saving Ourselves From the Unweb

[This article is based on a talk by Alex Russell, the co-founder of Dojo, that he gave at the Visual Ajax User Group, with added editorializing and pontification by Chris Keene, CEO of WaveMaker. You can safely assume that anything insightful and true came from Alex's talk and anything smarmy and argumentative is part of Chris' "value add"]

The original use case for the web - researchers working with static documents - doesn't bear much resemblance to the multi-media, consumer-oriented web we have today. The HTML web browser infrastructure that got us this far won't get us the rest of the way.

The web has always been about the worst platform for any particular task (unless your task is to display a poorly formatted doctoral thesis). Ubiquity, searchability and combinability have always made up for the web's many weaknesses.

We are reaching a fork in the road, however, where the web's traditional strengths may be dramatically eroded by a "hollowing out" of the HTML semantics. There are basically two responses to this challenge of evolving the web. They are:
  1. Evolve HTML = Better Semantics, Smarter Clients. Evolve the existing web by pushing browser vendors to add semantic HTML capabilities that support next generation web apps. This allows for the web to remain a collaborative community that preserves the advantages which the web has traditionally enjoyed even sa it transitions to handle new tasks.
  2. Hollow out HTML = the "Un-web". Abandon HTML and replace it with a powerful but proprietary alternative like Adobe Flex or Microsoft Silverlight. Let's call this the Un-web, as it carves out walled gardens which will curtail the web's traditional openness.
The web needs to evolve to support building the Rich Internet Applications that people want to use. At the same time, web tools need to evolve to be able to handle the increasing complexity of building these apps.

Example of Semantic HTML - The Dojo Grid

Web development and customer expectations have far outstripped the table management capabilities of HTML. Why do we expect so little from HTML? Is it too much to ask for capabilities like locked columns and subcolumn formatting? Is the only solution to improve the grid to break HTML by going to a proprietary solution like Silverlight?

A great example of how to evolve the web through semantic HTML is the Dojo grid, which was contributed to the Dojo project by WaveMaker engineers Scott Miles and Steve Orvell.

Here is a screenshot of a Dojo Grid:
















With Dojo 1.1, we can use HTML that has additional semantics "layered on" to create a grid like this. Note that it looks a lot like normal HTML beefed up with extra attributes to encode the semantics that allow us to "say what we mean":

<SPAN DOJOTYPE=" dojox.data.CsvStore"
JSID=" csvStore" URL=" names.csv" >
</SPAN>

<TABLE DOJOTYPE=" dojox.grid.Grid"
STORE=" csvStore" QUERY=" { Title: '*' }" CLIENTSORT=" true"
STYLE=" width: 800px; height: 300px;" >
<THEAD>
<TR>
<TH WIDTH=" 300px" FIELD=" lastName" > Last</TH>
<TH FIELD=" firstName" > First</TH>
</TR>
</THEAD>
</TABLE>
The Dojo grid also showcases a core strength of Dojo - it's disciplined architectural approach. The Dojo architecture focuses on extending HTML semantics in an layered way that still give us room for HTML to evolve to meet usage like this half-way in the future (e.g., with the HTML 5 tag). Note that we use a non-semantic tag (a span) to denote something that exposes a fundamentally new capability (data stores), but extend existing HTML semantics for grid configuration.

The result is a very clean layering of Dojo semantics on top of vanilla HTML and css. For example, even with Javascript turned off in the browser, you can still tell what the Dojo grid is supposed to be doing. We can even supply the data via an HTML table in order to get full downward-compatibility.

Replacing HTML with Javascript is enticing but dangerous. Dojo uses Javascript to extend HTML semantically rather than throwing it away. Adding semantics to HTML gives HTML the carrying capacity to support next generation of web design.

Hollowing Out HTML - The Un-Web

While parts of the web evolve, there are also web constraints that don't change, such as the latency of communication and the static application deployment environment (aka browser + plugins). There are huge restrictions in not being able to send down an execution binary along with each web app, but huge deployment efficiencies as well.

One way to overcome the limitations of HTML is to replace HTML with proprietary web technologies like Flex and Silverlight. These technologies pose the risk is that the searchable, collaborative HTML web that we know and love gets hollowed out from the inside. This effectively carves out areas of the web that are not searchable or combinable with anything that has gone before.

Save The Web - One Browser At A Time

It is up to the Ajax and open source communities to "liberate" the HTML web from the Unweb. For example, "liberating" the Dojo grid is an on-going community effort involving large amounts of goodwill, time and cash.

Rapid evolution of the HTML browser can get us to the future, but only if we get a lot more demanding of the web browser manufacturers. What we can't afford is another 6 year drought like what we got when Netscape abandoned the browser wars and Microsoft IE had the world all to itself.

The key to the web's future is real competition between the browser vendors that will force them to evolve the browser quickly. These features include:
  • Auto update capabilities
  • 3-d rendering
  • Support for new semantics in HTML
  • In short, give us native ability within the browser to do what we otherwise have to do in Javascript libraries
What we know is that we have never gotten good browser enhancements and tools from the market leader. So now you know what you need to do to save the web - download and use the underdog web browser and give it all the love you can ;-)

Thursday, March 27, 2008

Look How Rich and Thin We Are - The State of the RIA Market

I spoke yesterday with Michael Cote of Redmonk and Ryan Stewart of Adobe (the RIA blog is here, on ZDNet here podcast is here). What follows are some of the highlights of our discussion on the state of the RIA market.

Today, there are two ways to build your first Web 2.0 application:
  1. Buy $300 worth of O'Reilly books and kiss the next few weekends goodbye

  2. Download WaveMaker and follow the 15 minute tutorial
For anybody but the most hardcore or masochistic tech-heads, this seems like a no-brainer decision.

If Web 2.0 is about putting more power into the hands of end users, that message hasn't hit the Ajax world yet. In general, Rich Internet Applications toolkits from Dojo to Flex are well beyond the reach of anything but the most sophisticated developers (not that I am a particular fan of Flex).

WaveMaker is focused on lowering the price of admission for Web 2.0 application development. WaveMaker provides an easy on ramp to building web applications, allowing non-expert developers to build rich internet AJAX applications

How complicated an application can you build with a visual Ajax tool? Well, we built the WaveMaker studio using WaveMaker, so you can build a very complex application indeed using visual Ajax tools!

What kinds of applications are best for a visual Ajax tool like WaveMaker? We see our community building three kinds of applications:
  1. Rich Internet Application prototyping. Business analysts

  2. Rapid Application Development using database driven forms generation

  3. Face of SOA applications. Assemble rich internet applications by combining web services and data services.
WaveMaker is the PowerBuilder for Web 2.0 - we make it easy for large community of people to get benefits of rich internet applications.

As usual, the bogeyman for all this Rich Internet goodness is Microsoft. The current fragmentation of the Ajax market and related squabbling between toolkits fanboys makes Microsoft's Silverlight solution a much simpler choice for developers.

More importantly, before the introduction of WaveMaker's visual Ajax studio, Microsoft's visual studio was winning over the novice developers by default. It's time for the open source world to provide a compelling and CIO-safe alternative to Silverlight and WaveMaker is just the company to do it!

Wednesday, March 12, 2008

The Meteoric Theory of Applications

The Meteoric Theory of Applications (to paraphrase Mary Loomis) is this:
Applications are like meteorites - they never migrate, they just land and stick.
With all the excitement over rich internet applications and Web 2.0, there is much talk of a vast migration of applications from client/server to the web (Judith Hurwitz describes when not to salvage legacy applications). While this will undoubtedly happen, it misses a much more important IT skills migration.

The real power of Web 2.0 lies not in modernizing legacy client/server applications, but in modernizing the skill sets of client/server developers. If an app was built in VB or MS Access and it works, leave it there. The real question is what to do with the developer who built that app?

Developers with 10+ years of experience with client/server tools have no clear way to "upskill" to building Web 2.0 apps. Consider the skills that a typical Visual Basic/Visual Studio developer would need to learn to start building an Ajax application:
  • New database: MySQL
  • New server language: Java
  • New application server: Spring ($26.39)
  • New database access framework: Hibernate
  • New client/server messaging layer: Json
  • New client language: Javascript
  • New client toolkit: Dojo
  • New styling language: css
  • New IDE: eclipse
No wonder there is such a shortage of Java web developers!

WaveMaker is focusing on the skills migration - how to enable non-expert developers to build Ajax applications by using visual tools (for a good review of WaveMaker as an alternative to VB, see Java at the eye of a perfect storm).

Last week, WaveMaker hit 1,000 downloads a day - seems like we hit a nerve!

Thursday, March 06, 2008

Don’t be Freetarded

Of the many sins that Silicon Valley practices, none are more dangerous or prevalent than the sin of smugness.

Savio Rodrigues has a good posting entitled Microsoft will prevail in the face of Freetards. His point is that Microsoft is learning from and adapting to the open-source movement, while the open-source movement is so enamored with "free" that they are not paying enough attention to the total cost of ownership from a customer's perspective.

Let's be clear - the free part of open source is a great innovation and worthy of a few minutes of self-satisfaction. The aftermath of the Y2K bubble was the erection of enormous barriers around IT to prevent tem from trying anything new that would cost the company money.

Free provides a "frictionless" entry point for new technology products into the corporation after finance barred the door. Free also enables technology self-service across the corporation, making it possible for anyone with an internet connection and a geek gene to get as wired as they wanna be.

However, free is only worth so much. If it takes me 3 hours to get my "free" open source download working, it cost me however much I or my boss thinks my time is worth x 3 = not free. Similarly, even if an open source product (for example Dojo) is technically superior in every way to Silverlight, that superiority is of no practical value if it is easy to hire experienced Silverlight developers but next to impossible to find, let alone hire, Dojo developers.

Thinking that free is the only aspect of software that matters is freetarded. This is where Microsoft can beat the open source community in general, just as its .NET platform is beating J2EE.

Let me quote from the insanely great Fake Steve Jobs blog:

Red Hat, the single company freetards always point to when they want to prove that open source can make money, has turned inept, with nothing but bluster and bravado and a deluded belief that they're actually a thorn in Microsoft's paw. Bottom line: they're the new Borland. They're 15 years old and have been publicly traded since 1999 and last year they did all of $400 million a year in sales. Microsoft does more than $1 billion a week. That's right. Red Hat's entire fiscal year is a good three days for Microsoft.
Microsoft is onto us. Time for open source software vendors to think beyond free.