Jan 19

Once upon a time…. Firefox

A couple of months ago, my son was struggling with the old laptop from his elder sister. Old laptop, running the same original Vista since 4 years…. you know what I am talking about, right? Bad, very bad perfomances. The kind of performances where you cannot event enjoy surfing the web….

The teen-ager was not so hot on the fact that his old IT daddy would try to fix something…
…but, once he asked me an opinion on something he was doing and I saw something unexpected on his laptop: “Hey, are you running Chrome?“.

Yes, dad, it is the only way I can use this old PC“.

My son, for my great disillusion, is not at all a “tech guy”. He just uses the PC, without asking too many questions about how it really works. Internet, MSN, Facebook, Google, Wikipedia….. He just “has an hotmail mail account” (despite I have a domain name and an hosted IMAP server… in my naivety I thought he would have found cool to have an email address containing his family name after the “@”….).

As a person with a minimum of “computer culture”, I would have thought to Firefox first…. Why? because …
…Because…
…Because….
ah yes, because it is cool and it has a lot of handy exstensions (could I leave without Foxear, Scribefire, Tmmy and Session Manager ?)

Indeed, I have Chrome as well (and I wrote a long article on it and some other posts). But I do not use as my daily gateway to the Internet world.

I just use Chrome via the “Chrome Applications”. For instance I created one for BluePages so that, when I need to find the BP record for a collegue, I quickly fire the Chrome BluePages icon… et voilà, I quickly get to where I need.

So, I have Chrome and I seldomly use it. I would have never thought to get Chrome as THE ALTERNATIVE to IE !

But my son, who “just uses” the PC… well he installed Chrome and uses it everyday (by the way, at Christmas he got a brand new laptop and, guess what, he still uses Chrome even if the PC is very very fast…)

Why ?
Well, at the end because of the same reason I created my Chrome Bluepages application: speed!

I (the father, the “pseudo-geek” or the “once-the-geek”) use Firefox because I like the extensions and because I got used to it. Actually it was “cool” in 2003 when I started using it and, in reality, the only extension I could not avoid is Foxear. But, sort of “I choose Firefox because I like the container in which I play“.

I think my son does not care about the container. He cares about the content. And the quickest way to get to the content is Chrome. Full stop.

I thought to this post when I read this article : “Why Firefox is doomed“. I do not know if firefox is really “doomed”…

…but I think Firefox lost the train (or, at least, one train). It lost the possibility to establish a new pattern for accessing the web. I am not that good to validate the merit of a given technology, but I think that XUL could have become something closer to RIA and Firefox the tool that would have helped transforming the web of pages into the web of applications. Concentrating on the content more than on the container.

Jan 13

Microsoft paving the road to Google towards a common target?

Couldn’t resist from posting this after having read the artcile “The 5 best, and 5 worst, features of Google Chrome OS“.
At page 2 of the article, we can read the following:

A surprising way to support Microsoft Office. If you ask a Google executive any question involving Microsoft, you’ll hear the cliche answer — that they company thinks only of users and not of its perceived competitors. But in one of the giggle-inducing moments of Thursday’s demo, Pichai, showed how Chrome OS would handle Office documents — via Microsoft Office Live, the free Web app version of Office available to Windows Live users. If a user clicks on an .xls document, Chrome launches Excel via the browser in Office Live. “Microsoft launched a killer app for Chrome OS …and is working very hard to do that,” he quipped.

Cool, isn’t it?
Outside of joking, the other thing that hit me in this article was the following point:

The application menu. As new Web applications come online tweaked for Chrome OS, Chrome OS will showcase them on a permanent tab it now calls the application menu. This will help users find new applications. Developers with new apps will find this an easier method to showcase them, too. Any Web application that runs in a standards compliant browser should work on a Chrome OS device. But Chrome OS is focused on supporting new protocols such as HTML 5, which, among other improvements, natively supports rich media.

We find a (rather not surprisingly) similarity between the two talks. They both use the browser as a trojan-horse for a way in which applications delivered over the web can be executed as native applications. In this sense, I think, the fact that Silverlight is not a browser technology and Chrome-OS is supposed to fully use HTML 5, is just a technological detail.

Jan 13

On the browers again

An article on ZDNet UK reports the following:

…Silverlight 4 will also host HTML content using a control that supports media plug-ins — so Flash will run inside Silverlight applications.
Business applications written in Silverlight will become more like ordinary applications, Guthrie said, and will now be able to print, access the Windows clipboard, and use more mouse actions, including context menus.
Access is also extended to low-level Windows features such as the Windows Communication Foundation, and Silverlight 4’s development tools
will work with the upcoming Visual Studio 2010.

Out-of-browser applications can now be installed as trusted apps that run outside the Silverlight sandbox on both Windows and Macintosh, Guthrie said, with trusted applications getting access to the local file system and external devices…

I wrote a post almost exactly one year ago, The Struggle for the Soul of the Web.

The browser is universal, but people do not only interact with web sites. People use applications!
The road paved by the iPhone of having dedicated applications delivered just to the point, remembers us that the new technologies for the web need to exploit the power of the devices on which they run.

Perhaps this is what Firefox is indeed planning, according to this article:

“The browsers that are on the horizon aren’t just incremental changes — they represent the pieces to build the next-generation Web — rich with standards-based graphics, new JavaScript libraries and full blown applications,” wrote Christopher Blizzard, an open source evangelist with Mozilla, on Mozilla’s Hacks blog.

Let’s hope it !

Jul 08

Chrome OS and the principles of Web2.0

I read the Google announcement around the new Google Chrome OS.
I immediately went back to my article Enter the “Reign of RIA 3rd”. In that article I expressed my enthusiasm for the new Google browser as I saw, in the way it was announced, the principle for something new, a platform where applications delivered over the web can be executed fast, securely and offline…Chrome becomes a container for applications delivered over the web!
I rememberI concluded that long post saying:

Chrome, which could be the last browser but, perhaps, the first element of a different kind

I think that I missed something that, now, seems so obvious. I thought to Chrome as, mainly, a new RIA platform. Something beyond the traditional browser but still in the domain of a container.
What this announcement tells us is that Google went far beyond. Chrome becomes the OS, not just a container.

And not “just a new kind of OS”, but as the official announcement says, “the web is the platform”.
Ehi, this is exactly the first principle in Tim O’Reilly famous definition of what is Web2.0 !

The border between an OS and the “web as a platform” is blurring. Not only on the Internet infrastructure. It is blurring deep right onto the desktop. The Browser becoming the Operating System and the Operating System becoming an extension of the web platform itself. So, Chrome OS may be much more revolutionary than it appears. It is not simply Google attacking Microsoft on the OS battlefield. It is extending the cloud to the border.
The new Chrome OS may become the real incarnation of that principle. The operating system for the Cloud Generation. Where Web2.0, SOA and Cloud Computing meet and could shape something, this time, very different!

Dec 11

Enter the "Reign of RIA 3rd"

I would like to continue to express my point of view around Google Chrome. First of all, I would like to say that it looks really nice! The performances are incredible but they are just the mean that Google used to reach their goal.

I saw all around very many articles and comments where the accent is always put on the fact that Chrome is the way in which Google is attacking the power of IE8. chrome-1
I think that this is a partial view of what Chrome could actually represent in today’s scenario. In my opinion, Google has chosen to enter the RIA war in a very wise way.

By reading the comic book that introduces Chrome, I was hit by few things:

  1. the accent is always on the the term application, as opposed to “web pages”.
    The starting point, which is consistently reinforced everywhere in the comic book, is always the fact that Google wants to address the need of supporting Applications (delivered over the web).
  2. the book stresses the use that Chrome makes of Gears.
  3. Chrome embeds a mode where one can associate a real “windows application” to a given “application executed over the web”.
    Even if this looks similar to what the Mozilla Prism technology did….
  4. Each tab is executed in its own shell
  5. Javascript is executed in its own Virtual machine

What are those things telling me? 
In my opinion they are telling that Google has decided to create a platform where applications delivered over the web can be executed fast, securely and offline. And this without changing the way in which those applications have been created so far (AJAX). (see what I just posted earlier on this subject)

Whilst Firefox and IE position themselves in the playground of general-purpose browsers, Chrome chooses to target the support of the new generation of Applications delivered over the web (ensuring, of course, a backward compatibility with the legacy of the web, i.e. the “web pages”). This is a big revolution;  Google decided to break the politeness game, where Microsoft and “the others” actually have chosen to improve the experience (of using a browser) without changing the scope (and, thus, keeping the constraints).

Of course, this was not done accidentally, or because of the simple evolution of the technology (even if, from this point of view, what I have tried since when I first downloaded Chrome is simply remarkable!).
All the toys that Google gave us in the last years actually needed something more that what a general-purpose browser was providing. More precisely: Google Gears deserved a more coherent and robust environment! Chrome becomes a container for applications delivered over the web!

In the long term, we think of Chromium as a tabbed window manager or shell for the web rather than a browser application. We avoid putting things into our UI in the same way you would hope that Apple and Microsoft would avoid putting things into the standard window frames of applications on their operating systems … The tab is our equivalent of a desktop application’s title bar; the frame containing the tabs is a convenient mechanism for managing groups of those applications. In future, there may be other tab types that do not host the normal browser toolbar. (see the User Experience Section on Chromium)

Adobe moved to AIR from Flex. Microsoft moved to Silverlight from WPF.
Google has delivered a platform for AJAX. They went beyond the browser, in a way that grants the continuity of the legacy web.

To Google, the browser has become a weak link in the cloud system – the needle’s eye through which the outputs of the company’s massive data centers usually have to pass to reach the user – and as a result the browser has to be rethought, revamped, retooled, modernized. Google can’t wait for Microsoft or Apple or the Mozilla Foundation to make the changes (the first has mixed feelings about promoting cloud apps, the second is more interested in hardware than in clouds, and the third, despite regular infusions of Google bucks, lacks resources), so Google is jump-starting the process with Chrome. (see The cloud’s Chrome lining)

Have you tried to transform Gmail into an application using Chrome? What does it tell?
Now, let’s imagine Google Documents…. and all the other tens of goodies that we were shipped regularly, in a “Beta forever” format by Google…

  • It is an explicit attempt to accelerate the movement of computing off the desktop and into the cloud — where Google holds advantage.
  • Google hopes to kick-start a new generation of Web-based applications that will truly make Microsoft’s worst nightmare a reality: The browser will become the equivalent of an operating system.
  • The clearest expression of this comes when you drag a tab containing a Web application like Gmail to its own separate window and specify that you want an “app shortcut.” At that point, the tabs, buttons, and address bars fall away and the Web app looks pretty much like a desktop app. Welcome to the cloud era.

(see Inside Chrome: The Secret Project to Crush IE and Remake the Web)

I think that Chrome may represent the platform by which Google will establish a new way to consume the Web:

  • at home, of course.
    You will use the Google (web) Applications as applications, in the way in which you are used to use Outlook Express, Word, Excel, MSN
  • in the enterprise. Also !
    You do not have to look in your bookmarks to access the URL that points to your application… You just execute the applications which, accidentally, are delivered over the web but are more and more executed locally (via Gears)

To say this synthetically:

“Any desktop application that has not been implemented in the browser is now going to be implemented in the browser,” Andreessen said. (see What Netscape’s Founder Thinks About the New Google Browser )

When I was speaking about AJAX in the last few years, I remember I often quoted a sentence that said “AJAX means that Javascript now works…“.  What I see with Chrome is that “Chrome means that AJAX (and, thus, Javascript), becomes a full-fledged platform for building local applications“. See it? There is no issue here of sharing the same (j)VM because of resource consumption. The scope is more manageable (certainly less powerful) and, thus, it does not cost anything to start a new application with its own VM.

Google Chrome features a new JavaScript engine, V8, that has been designed for performance from the ground up. In particular, we wanted to remove some common bottlenecks that limit the amount and complexity of JavaScript code that can be used in Web applications. (see Google Chrome’s Need for Speed)

Yes, I am enthusiast. Strange for me when talking about Google! But it is true. I like it. I like what I see.
Some other consideration:

  • Hey, Chrome is a browser that does not ask you to become your “default browser” !
    Very nice, indeed.
  • Chrome may become a Bootable Browser.
    A bootable Chrome-based platform could very well put an end to PC tune-up problems for masses of people. ” (see Is Google’s Chrome browser a Windows killer?)
  • It will be interesting when the Resource Model will be published, in order to really create applications on it

I am now expecting one other step.
I am expecting that Google creates a Declarative Language for easily creating the applications that will be executed by Chrome. After all, in the comic book, they talk about the fact that the team that created the VM is actually able to create a VM for virtually any language. Right ? At runtime, one flavor or the other of the VM can be loaded if the activation cost is so cheap and if the resource consumption is so low.

I think these properties will rapidly make V8 the dominant VM for dynamic languages… the release of the V8 VM is the beginning of a whole new era for dynamic languages (Smalltalk, Ruby, Python, etc).  (see Chrome and V8)

Last, but not least:

And another thing Google did well here was in not trying to over-engineer their explanations of highly technical processes. They simplified their message down to bare essentials, and I felt enlightened after reading this document. Most technical documentation talks down to people, assuming that all the basics are already understood. Google removed some barriers to entry by explaining their new technologies in a way that almost anyone with a little technical know-how can understand. This is something almost every other open source project out there fails at. Technical documentation is far more than simply documentation…it’s an implicit invitation to take part in the experience.At the end of the day, I’m really impressed at the quality of this documentation. I actually read the entire thing, which is much more than I can say about the technical documentation for any other software I use. Who knew that I could find the difference between multiple threads and multiple processes interesting?  (see Google Chrome’s Design Comic )

One word of caution. Page 9 and Page 10 of the Google Comic Book. When they describe the way in which they test Chrome by using the massive cache they have on the internet! Unfair ! And, once again, showing the disproportionate power that Google (as a company) has on today’s Internet.

Before going on, let me explain the title of this post. Napoleon 3rd was, according to the Wikipedia article, “the first President of the French Republic and the only emperor of the Second French Empire. He holds the unusual distinction of being both the first titular president and the last monarch of France.
Much like Chrome, which could be the last browser but, perhaps, the first element of a different kind

Dec 10

The Struggle for the Sould of the Web

Very interesting article, “The Struggle for the Soul of the Web” !
The author enforces the concept of the importance of Ajax standards (and, thus, the Open Ajax Alliance) as a mean to avoid that the web becomes the territory where proprietary solutions (see Flex and SilverLight) will flourish.

In developping his argument, on which I agree, the author makes an interesting statement:
More importantly, Flash and Silverlight work by installing a proprietary plug-in to your browser, thus opting out of the entire browser infrastructure. If you are a plug-in vendor, your incentive is to keep the browser as dumb as possible.
The worse the underlying browser is at rendering rich widgets and media, the more developers and users will want your plug-in. If you are both the vendor of a browser (say IE) as well as the proponent of a plug-in (say Silverlight), then the incentives get truly twisted.

In some way, what he says is very similar to what I have said since a while: we need a new generation of Browsers which are not constraining people from developping applications delivered through the web (see here and here and here for a summary of my opinion on this topic). In that sense, Chrome may be the start of an answer (unfortunately, I say, as it comes from Google instead than from the Open Source community…).
If we want to avoid the risk that Flex and Silverlight will dominate the Web, we need to address this kind of question, which can be summarized by what I found in this other article

We’re in a transition point between the Age of Web Apps and the Age of RIAs (in the web space, that is). And if you doubt that we’re at this transition point, or if you think that RIAs include web apps, ask yourself, does AJAX really give you “all the rich you need”?

Can AJAX really, as Jef Raskin famously stated [60], treat all user input as sacred? Is AJAX really the end all and be all of a Compelling User Experience? Or do we remember that applications used to run outside of a browser?

Of course, it is provoking. But the risk is quite present.

Sep 02

Google strikes back

So, here it is, the long awaited “Google Browser” (called Google Chrome, but the site should go online only tomorrow) has been unveiled in an unconventional announcement in the guise of a comic book.

For the moment, I hold any new comment. I read my old post (from last August). Let’s see if this move will actually make the battleground more free ( by removing the artificial obstacles that an evolution of the Browser technology found because of the war between IE and Firefox) or it will simply be a vehicle by which Google will transform its “presents” (GMail, GCalendar, G<something else>…) into “de-facto” standards.

The initial announcements explicitly thanks what Firefox and Apple Safari did and, more important, commits Google to open-source the innovations that are certainly present in the new Browser.

I suggest people to start reading this post from John Paczkowski, especially what he says at the end:

with its view of the Web as a Web of applications and its multi-process/multi-application design, Chrome almost seems more an operating system than a browser, doesn’t it? Funny, isn’t it. Google’s long been rumored to have been developing a browser and an OS. Who would have known they’d be the same thing ?.

Without having seen and tried yet the Google Chrome browser, I tend to agree with John on the fact that Google is probably shooting towards something that is more an RIA platform than a simple browser.

I would only ask a question. Given the “open source” nature of Firefox, why Google deployed another open-source initiative instead of joining the forces around Firefox ?

Let see when we will better understand how Google Browser is done.

Aug 12

User as center of the Universe

I am slowly catching up with some articles I read and over which I wanted to comment. I am dealing with this one SOA needs RIA – Burton Group, because there are few sentences I liked and because it lacks, in my opinion, a proper “end”.

The Value Hierarchy of Web 2.0So, here are the quotes I liked most:

  • “We firmly believe the user experience needs to be a first level priority at the same level as SDLC, platform languages, SOA and security.”
  • “If the business depends on people and people depend on information technology, then the interface between people and information technology — the user interface — naturally has to be very good. If you have an ineffective user interface, you’re going to have a less effective organization.”
  • “…people are the platform. IT is ephemeral. It continues to change over time, but what does not change in business is that the quality of any organization depends on the quality of its workers.”
  • If developers think the goal of SOA is to provide agility in assembling loosely coupled Web services into an application that provides real-time sales data to managers and marketers, they are missing a key component in the Burton view:  “The idea is to make user experience the end goal of any IT initiative and not an afterthought.”

http://hinchcliffe.org/img/useruniversecenter.jpg

I, personally, subscribe to all the above statements. They remember me a very nice article I read a couple of years ago, from Dion Hinchcliffe, titled The Web2.0 Trinity: People, Data and Great Software. The pictures in this post are both taken from Dion’s article, and I use them consistently in my talks around Web2.0 and the evolution of Desktop technologies.

Going forward, there is another quote that my few readers may appreciate:

“We see the next step as RIAD, the rich Internet application desktop. Here you need to look at Adobe AIR, Google Gadgets, the Microsoft Widget Library, to see resident applications that provide you with a visual experience associated with RIA.”

This is even more close to what I have often written in my blog: moving beyond the browser (as we see it today) towards a mechanism where applications, delivered via the web, will be executed locally. GREAT !

What seems missing to me is the very last part of the article

In Burton’s view, the future of the UXP is in using Web widgets, portable chunks of code and gadgets, miniature objects that can be placed on a Web page to provide dynamic content.

With widgets and gadgets, real-time sales data is on the sales manager’s desktop without requiring him to do multiple click-throughs to find a table or chart, the Burton analyst said.

What I think is missing is the name to this approach, a name which already exists. It is called Mashups, isn’t it? What is needed is the possibility to define those widgets in a standard way and be able to mix and match them in different contexts: a Portal, a Mashup environment, a Rich Client, the desktop even….

Aug 30

Speculations on Google Browser (GBrowser) ?

I have read this morning an article speculating on the arrival of a new Browser on the market, a Browser labelled “Google” (or Gbrowser).
The few readers of my blog can immediately imagine that this is not the kind of news that I would have liked to hear. I personally do not like this invasion of things from Google which, under the cover of being “free for everybody”, tie us to a new monopoly (see my previous post “Internet Search should be property of no one“).
I state this even if I have no problem admitting that most of the technologies that Google, in its immense altruism, offers us are very cool and really innovative and really pushing for significant progress in the Web space.
The problem is not around how cool the presents from Google are… it is about the concept of “present” itself !

Anyway, in this specific case (GBrowser… yes, you can see that the domain name has already been registered by Google!) I think that, if the speculation actually reflects a reality, it may become something very significant, and perhaps not completely bad.

If really Google will put on the market its own branded Browser, I think that :

  1. Google will finally admit that some “footprint” is required in order to properly run today’s internet applications (this will have consequences on AJAX as we see it today, I think)
  2. Google will automatically transform what they published as “contribution” into a de-facto standard (because it will be working naturally with the new browser….)
  3. Google will create a platform onto which developers will build RIA applications

Yes, in the last bullet I wrote “RIA applications“. Because, if the Browser from Google will become true, it will obviously promote the use of Google Gears and of all the other G* things that invaded the web. A couple of months ago, I wrote my first reaction to Google Gears:

[with Google Gears] Google starts to install something else than the browser in order to keep the browser relevant”

The advent of Apollo AIR (paved by Flex) and the approaching of Vista (via Silverlight) may create serious alternatives for running applications delivered over the internet (see here and here and here for a summary of my opinion on this topic); the default mean to access to applications delivered over the net, will no more be the browser, at least when some significant experience and richness of functionality will be required.

Will Google redefine what we know today as “the browser”? Will Google remove the impedance that somehow forced the two main actors in this space (IE and Firefox) to comply (at least formally) to standards?

Again, if Google will indeed go into the Browser business, all what it gave away so far could be interpreted as a way to create “addiction, so that people will find it normal that Google will also revolutionize the browser space. After all, Google is not perceived as the “bad boys in the block“, so it is likely that this move will find only few opposers.

Despite these considerations, though, I initially wrote that this may not be a bad outcome for the web. My readers know that I consider that the browser needs a big evolution in order to support the new challenges and the execution of applications delivered over the internet. So, this move may represent a shock that will benefit the whole community.

I wished Firefox and XUL could have become this shock!!!! Perhaps they will anyway (why wouldn’t the GBrowser be based on Firefox after all?)

Of course, this is all speculation at this moment….

May 11

Firefox as a Phoenix

I am starting to digest and sediment a series of articles that recently popped out on Mozilla. The one who hit me most was Chris Messina’s Thoughts on Mozilla, but also Alex Faaborg’s Web2.0 Expo presentation. I will certainly add more comments in the next few days.
For the moment I would like to comment on the Innovation aspect.

Imho, Firefox should not bet its future on “being the best browser”. In this way it will simply set its path, in one way or the other, “on respect to something else” (notably IE).
What the user interface of Linux already did (KDE or Gnome for that matter) in trying to, first “catch” and, then, “be better than” Windows… did not produce any significant result in terms of innovation (in fact if the price wouldn’t play a role, most of the people would choose a Mac because of its interface, certainly not Linux).

So, if from the phoenix (of Firefox as we know it) could raise something new, a platform where applications delivered through the web could be executed, then, I think, it will be great. Yes, certainly, this is the domain in which Adobe and Microsoft are also directing their efforts (I tend to agree with Scoble that JavaFX is more for the mobile-phones) .
But Mozilla could consolidate the effort from the Open Source community and this would be really a great advantage.

Let’s dream about XUL+SVG ….

Feb 21

AJAX second’s birthday. What’s next ?

Today is AJAX’s second birthday, as this article remembers us.

I remember when I started blogging on this topic. And, in all honesty, I have to admit that I got in love with AJAX when it happened. I liked very much the idea of building web applications that “last longer”, that provide a fluid experience to the user and that do not require additional plugins. At that time, in my previous team, we were trying to understand how things like Flex, OpenLaszlo and other technologies would impact the way in which our customers think to Web applications.

Today, after two years and some posts… I changed my mind. I start thinking that AJAX has been artifically keeping the browser alive:

  • regardless of the merits of some of the AJAX technologies that were developed so far
  • beyond the excellents things we see around (more or less everywhere on the web, today! even if one of my favorites is still Zimbra)
  • despite the fact that the emergence of the Web2.0 phenomenon is certainly due to the availability of the AJAX technology (which made people caring of Web2.0 because they could immediately see the advantages)

well, today I am more prone to think that AJAX represents the swan song of the “browser as a mean to execute applications delivered over the web“. The arguments that make me thinking that way have been often posted in this blog.

In the previously mentioned article on AJAX Birthday, I think I agree with what Richard Monson-Haefel wrote:

  • While AJAX has set the world on fire and caused a renaissance in user experience, it’s not the best Rich Internet Application (RIA) technology available today.The technology, or “approach” as some like to say, suffers from serious problems….
  • ….The fact that AJAX has ignited a renewed interest in making the Web a much better user experience is to be applauded, but don’t confuse the hype around the technology with the basic facts about the strengths and weakness of AJAX compared to its counterparts…
  • ….Another area where AJAX really needs to advance is in terms of tooling…
  • …the number of code-level AJAX frameworks and APIs available today is ridiculous. At my last count (August 2006) there were something like 160 AJAX frameworks….
  • …Here is another problem with AJAX, it’s not very deep

Ditto !

Now, I would like to take this opportunity, AJAX’s birthday, to comment on an excellent article, Web 2.0 Re-examined, from Coach Wei, the founder of NexaWeb.

One of the interesting concepts introduced by Coach Wei is the one of “Architecture of Partition“.

The truth of the matter is that neither server centric nor client centric architecture is always appropriate. Unfortunately developers never had the flexibility to deciding the right architectural partition for their applications. Web 2.0 brings architectural partition flexibility to developers for the first time in history. With web 2.0, developers can partition the application in a way that is best appropriate for the application, rather than trying to fit into a pre-determined architecture. Some applications are best served by leaving only user interface and some UI logic on the client side. Some applications require all UI logic on the client side to deliver optimal result. For even more sophisticated applications, there is requirement to have a certain business logic and data on the client side as well. Web 2.0 technologies enable developers to decide how much computation stays on the client side and how much stays on the server side, delivering optimal results.

Somehow, if “Architecture of Participation” represents an Usage Paradigm Shift, the “Architecture of Partition” represents a Technology Paradigm Shift.

This Architecture of Partition is, actually, realized by means of the 3 components drawn by Coach Wei in the picture on the left.

The way in which Coach Wei describes  the Application Client Container (ACC) has many of the points that I try to push since few months:

  1. ACC is stateful. A web browser is designed to be stateless … …but Applications are inherently stateful.
  2. ACC supports asynchronous interactions by default while browsers require careful developer coding to do so
  3. ACC can support offline computing while web 1.0 applications are online only
  4. ACC supports mobile computing as a first class citizen
  5. ACC supports accessibility
  6. ACC supports rich user experience.

We start seeing instances of ACC appearing. Not necessarily, hopefully, in standard browsers!

As to the third component described by coach Wei, I personally think that the “Enterprise Mashup Server” is a component that is realized partly by a Portal (on the Server) and, partly, by some clver use of the ACC. See my post Composite Applications, Mashups and Portals: “relay race” or “team spirit” ? for more details.

In any case, Coach Wei’s paper is the first one I read in which some architectural foundation for the new generation of Web-based applications is depicted.

Today, AJAX’s second birthday, these concepts make a lot of sense to me. Perhaps, the future of AJAX may be in some ACC !

Feb 19

Will browsers ever deliver applications instead of documents?

Finally I found it spelled the way I thought. Great article, Beyond HTTP; something that made me thinking again.

Just yesterday evening, I received a mail from a colleague asking me what did I think about Windows Presentation Foundation and if I have seen the New York Times Reader application.
I replied to him pointing to a series of internal posts I wrote on this subject, especially one in which I was quoting “The browser has a terminal illness and is dying” and another one in whihc I quoted “Death to the Browser“.

What is needed is the Post Browser, the Next Browser, whatever name you want to give to it. Sure, it can still run HTML (the old stuff), in a container that is essentially the same as today’s browser. However it should be capable of complete look-and-feel customization via a standard markup language. It should provide a rich set of custom controls and be able to access the desktop (with appropriate security, of course). It should have a native, secure, bidirectional mechanism, and one that supports multiple connections so that we can access services from multiple sources in a composite application. It should also have extensible controls so that we can extend and improve the behavior of controls and applications as needed.

Ajax is certainly great, but its reality is very much what the author of “Beyond HTTP” says:

I find myself in a bizarre position. The fact that I’m an expert in this kind of thing and have the technical know-how and aptitude to design and pull off such a complex beast on time and as designed means that I got paid quite well for the six months it took to develop, and I’ll continue to get paid as and when upgrades are needed. If any old John Doe could have opened up Visual Studio and slapped it together then I probably wouldn’t find myself getting paid quite so much for my services….
….Compare the Visual Studio .NET Windows Datagrid with its Web-based counterpart. There’s no comparison: a confident user of the former wouldn’t immediately be able to even recognize the latter.

But, even beyond the intricacies of AJAX programming, the real issue is the REST architecture laying behind “the Web as we use it today“:

Finally we get to the rub: The document-based Web as we know it is not a platform for developing complex applications; sure it’s possible and there are plenty of bright people working at places like Google who are doing it as we speak and creating frameworks to make it easier. But is this really the way forward? A tree-based object model accessed by an interpreted scripting engine tacked onto a specification designed for static read-only documents?

So we need to avoid any dogmatism. Again, the author of the article asserts:

Now would be a really good time in history to stop, step back, and look at what we have and what could be done better. What we need is a Web browser that doesn’t just server up documents, but serves up applications: full screen native GUI, network-transparent and, most important, fast, lightweight, real-time applications. Ideally we’d want to start over, build a whole new spec running on an entirely new platform and set of protocols….

it should have state, and that state should begin by initializing the application’s main source file on the server when the client first connects. The application would maintain state between calls, allowing the use of global variables and custom classes that persist…..a move away from the top-heavy and stateless HTTP protocol to a true lightweight binary client/server relationship between the user and the application…

…All it takes is the will to step away from the Web browser and start something new.

I subscribe! :-)

  • I subscribe because I am not against the browser, do not get me wrong! I am in favor of the browser for when it needs to support what it was born for: supporting the delivery of documents and supporting the REST (stateless) model.

  • I subscribe because an evolution of the browser is the only possibility to save it (or to save its central position in the Internet).
    Windows Presentation Foundation” (WPF) seems to be the way that MSFT is taking to make the browser irrelevant. WPF Applications can be delivered as Web Browser Applications : “…from the user’s point of view, no installation occurred, but rather an application was “ephemerally” loaded into the user’s browser in much the same way an HTML page is loaded. In a sense, it feels as though the user simply “visited” the application…

  • I subscribe even if I find that “AJAX is a cool thing“.
    But, somehow, AJAX (with which I got in love a couple of years ago), seems to me today the swan song of the “browser as it is today“.

  • I subscribe because I start suffering from the limitations of an AJAX model which forces me to open a new browser tab to cope with anything I need.
    Web2.0 and AJAX are different things!
    AJAX may not be always the best technology to support Web2.0

  • I subcribe because, as the New York Times reader example shows, the risk is that we will not compete on the AJAX battleground in the future:
    • Microsoft with Windows Presentation Foundation is pushing for a convergence between standard applications and internet applications
    • and Adobe with Project Apollo is freeing Flex from the constraints of the Browser

    The battleground is already shifting!

  • I subscribe because of the laws of evolution.
    I think that the only reason to keep the “browser as it is today” alive is that it took so much effort to arrive to an agreement! All that effort sorts of prevents people to recognize that the laws of evolution apply in this domain also… and that the glorious browser has made its time.

Certainly, the “Browser as it is today” will stay, probably forever (after all, the reason for not driving all on the right side of the road is because of too much legacy ;-) ). A “cheap”, “ubiquitous” layer to access the information everywhere will always be required:

  • certainly to support the access to static, REST, stateless content.

  • Perhaps to support many of the pervasive Web2.0 things…

But real-world application development leveraging the Internet that goes unnoticed by the photo-sharing, music-downloading, blogging masses” may really benefit from a quantum-leap in this area.

Why not starting from XUL? It is declarative, it can be hosted in browsers….