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:
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 ;-)

Labels: , , ,

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!

Labels: , , , , ,

Friday, January 04, 2008

 

Facebook: The Roach Motel of Social Media

I have been on Facebook for 3 months and although my next comment will instantly brand me as tragically unhip, I find it a complete waste of time. I keep on expecting some sort of mystical Web 2.0 insight if I just stick with it for another week - instead, I just get more confirmation that Facebook is more of a step backwards than a step forwards.

This last week brought another blogger-driven Facebook tempest in a teapot when Robert Scoble tried to synchronize his Facebook contacts with his Plaxo contacts. Facebook shut his account down, drawing howls of protest from Kara Swisher at the WSJ and a typically thoughtful rebuttal from Nick Carr. By the way, Facebook already supports a one-way import of gmail contacts into Facebook.

There are two interesting points from an Enterprise Web 2.0 perspective here:
  1. There's no lock-in like SaaS lock-in. Software as a service offers a spectacular downside in the case that the service provider doesn't like the way you are trying to extend their service. At its most extreme, closed SaaS is the Roach Motel of enterprise software - your data and logic may check in, but they're never coming back out, as I wrote here.

  2. Scrape-ability will be an increasingly important battleground: I sit on the board of Kapow, a company that has powerful tools for gathering data from public web sites. If those web sites block access by bots (this is what happened in the Scoble kerfuffle)
In short, much of what is presented as Web 2.0 magic is really just lipstick on a tired old Web 1.0 pig. Here are three examples:
  1. Microsoft Silverlight: everything bloated and retro about Windows brought to Internet Explorer. Silverlight, despite its technical innovations, is yet another attempt to assimilate the recalcitrent web beast into the Microsoft borg.

  2. Adobe flex: everything proprietary and designer-wonkish about Flash brought to any browser. Given that enterprise developers are more interested in formatting data than getting their company logo to spin and then fade, making the design-heavy Flash language an enterprise standard is a lost cause.

  3. Facebook: if you liked AOL, you're gonna love Facebook! Facebook represents a cautionary tale for enterprises looking at SaaS solutions like SalesForce and Netsuite - make sure you have an ironclad way to get your data and logic back out!
ps to be fair, I do enjoy one application on Facebook, ilike, because it tells me when artists like Ryan Adams and Emmylou Harris are playing in San Francisco.

Labels: , , , , , , ,

Monday, November 05, 2007

 

Why Dojo 1.0 Matters - Ajax Now Enterprise-Ready

You can't swing a dead cat at a Web 2.0 conference these days without hitting a dozen Rich Internet Application (RIA) toolkits. The Olliance Group recently identified 58 RIA products, many of them either proprietary or incompatible with the other 57 approaches.

Just to set the stage, here is my personal definition for a Rich Internet Application:

"Rich Internet Applications match the responsiveness of traditional desktop apps by minimizing web page refreshes. RIA taps into the collective power of the Internet to supply widgets and services for building web clients, like rss feeds, Google maps and Youtube. The goal of RIA is not merely to emulate a PC GUI in a browser (aka the Silverlight sell-out), but to deliver browser-based clients which far outperform PC GUIs in speed and functionality."

Ajax* is a particular architecture for building RIAs that is favored by open source libraries such as Dojo, Jquery, Ext and dozens of others. The perpetual flamewars between adherents of the various Ajax toolkits is a huge gift for the proprietary RIA products like Microsoft Silverlight and Adobe Flex.

Many Ajax toolkits seem more focused on posting esoteric animated graphics widgets to the Ajaxian web site than they are on meeting mundane but critical enterprise needs. To be fair, whizzy graphics are an important element of RIA's appeal. However there are more fundamental concerns to address before RIA can be considered enterprise-ready.

Into this maelstrom of splintered efforts comes the Dojo 1.0 release. Dojo has been in development for 3 years, making it one of the more mature toolkits available. Dojo also has the backing of IBM, BEA and Sun and will ship standard with their Java servers.

Previous versions of Dojo were criticized as being too big and too slow. Dojo 1.0 attempts to address those issues. Even more importantly, Dojo has also addressed a number of the hard issues required to gain enterprise adoption:
  1. Internationalization and accessibility: Dojo supports localization, keyboard navigation and vision-impaired users, making it appropriate for both global businesses and government applications.

  2. Excellent data handling: the Dojo grid (plug: built by ActiveGrid's own Scott Miles and Steve Orvell) easily handles 100,000+ rows with dynamic loading and complex rows, making it suitable for building the most data-intensive web clients.

  3. Interoperability: Dojo supports the OpenAjax hub, making it possible for an enterprise to integrate and support web applications built with different Ajax toolkits.

  4. Corporate look and feel: Dojo supports the ability to define a corporate look and feel or skin that can be used across a set of applications.
Although choice in general is good, no CIO wants to be stuck supporting a dozen squabbling Ajax toolkits a year from now. Dojo 1.0 may not be the ultimate winner, but it sets clear expectations for what an enterprise-ready Ajax toolkit should be able to do.

*Ajax is an acronym for Asynchronous Javascript And XML (only the acronym Self-Contained Underwater Breathing Aparatus can approach Ajax in shear implausibility).

Labels: , , , , , ,

Thursday, September 13, 2007

 

Really Idiotic Approaches to RIA: Flex, Silverlight and JavaFX

I just waded through a good article in DevX by Alexey Gavrilov on building Rich Internet Applications with Adobe Flex, Microsoft Silverlight and Sun JavaFX. The article worked step-by-step through how to build simple web applications with each of these products.

I had expected that there was some connection between Web 2.0, open source and the leaders in RIA. Instead, I found a set of time-warp technologies, each embodying its own uniquely idiotic approach. For the sake of brevity, I will here summarize the crowning idiocy of each approach:
None of these approaches supports Javascript as the primary scripting language. Don’t tell Adobe, Microsoft or Sun that Javascript is hot and that those crazy open source people are starting to assemble lightweight applications to run in web browsers.

Having said all this, the open source AJAX community has plenty of work to do in cleaning up its own house. The good news is that if this is what we’re fighting against, we have only ourselves to blame if the evil scientists win!

Labels: , , , ,

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]

ss_blog_claim=5bd6c7d684ea30be93ad521732e76a43