October 08, 2004

Coming soon: Laszlo (presentation server optional)

When we started developing Laszlo platform in 2001, we targeted the Flash 5 player as our first client runtime environment. It was ubiquitous and compatible, and it provided the raw materials for a real application framework. That meant we needed a server to compensate for missing or weak features in the client, such as:

  • XML parsing in the Flash 5 player is too slow for real-world applications
  • The Flash 5 player cannot fetch standard media files such as JPEGs, GIFs, and MP3s at runtime
  • The Flash 5 player does not have native video support
  • The Flash 5 player can only make requests from the domain that served the original SWF

...and more.

So we packaged the Laszlo platform as a "presentation server," designed to compensate for missing features in the client, as well as a way of delivering a set of other capabilities (media transcoding, caching, Java interfaces, server push and of course LZX compilation). All of this was required to provide the programming model and features we were looking for while still achieving near-ubiquity via the Flash 5 player baseline requirement.

Of course it didn't hurt that at that time, IT departments perceived server infrastructure as valuable relative to compilers and client runtime environments. These "tools" were (and are) seen as low value, and not strategic. Server software, on the other hand, was considered to be strategic and valuable -- worthy of executive attention. Per-server CPU pricing was standard, and it was a model that IT buyers and venture capitalists alike were comfortable with. So we went with it -- we became a "presentation server" company.

Once you decide you're making a server rather than a compiler to deliver rich applications, there are all kinds of features you can contemplate that could not be delivered via (say) an LZX->SWF standalone compiler. Real-time data push, transcoding, and server-based data connectors and filters are examples of this. But in fact the core value of an RIA platform for most applications lies in the programming model (markup language, client app framework). Were it not for (1) the deficiencies of the Flash 5 Player, and (2) the low perceived value of compilers and runtime libraries, it would have been possible to package most of Laszlo's functionality without the need for a runtime server.

As for client deficiencies, Flash 6 addressed most of these problems. Until recently it wasn't truly ubiquitous, but it is now bundled with Windows (just now, as of Win XP SP 2) and its penetration is comparable to Flash 5 when we started.

That leaves the business model issue, which is trickier. How can you build a substantial business selling developer tools? The conventional wisdom is that you can't. In the end building a substantial business on commercial platform software requires high-priced ("enterprise") server software, licensed per server CPU rather than per-developer.

It appears that Macromedia was thinking the same thoughts when they decided how to package Flex. That's why you can't compile MXML into SWFs using a developer tool like Flash MX or Dreamweaver. You have to license the Flex server to get the benefits of MXML. See here for discussion on this subject.

With Laszlo's new business model built on top of an open-source platform, we are now in a position to make the presentation server an optional component of a Laszlo deployment. Sometime over the next few months, we'll release a build that allows you to compile LZX files on a developer's machine, and post the resulting SWF to a Web server. The SWF in the browser will communicate with XML and media sources directly, with no intervening presentation (proxy) server. For many Laszlo applications, this will mean no need to install Java on the server, no need to deal with new servlets or test presentation server scalability.

If you've developed using Laszlo, you've seen that the server is invoked during the edit-compile-debug cycle. That means that the server is here to stay -- as a developer tool. But it won't need to be installed on a deployment server unless you require certain specific runtime features. That's a big deal if you have complex/high-scale infrastructure to manage, if you don't want to run Java application servers, or if you have a simple site and are not in a position to install server software.

We're expecting that serverless deployment, coupled with open source, will go a long way toward making it easier to deploy rich Internet applications, particularly at high scale. And it's yet another reason to select Laszlo as a platform, compared to the presentation-server-required competition.

Posted by temkin at 03:28 PM | Comments (0)

October 04, 2004

Laszlo Goes Open Source

Today is a big day for Laszlo.

Until today, we were a software company selling a commercial platform for developing rich Internet applications. Meaning: you could license our software, install it on your servers, and develop and serve an advanced user experience using our server and application framework.

This made a lot of sense in the context of the old software industry model: per-CPU licensing, enterprise sales contracts, vendor lock-in, closed, proprietary code, limited interoperability, source code escrow, and more.

But since the late '90s, things have changed in the software business. It's become clear that open source platforms have a very strong appeal for developers; that technical buyers are very conscious of lock-in, and that the open source development model really works -- especially for platforms and infrastructure (software for developers).

The world has changed, and we've taken notice.

As of now, the entire Laszlo platform is open source software. You can download, install and deploy it for free. The source code is released under the Common Public License (CPL). You can even build proprietary, commercial solutions on top of the open source Laszlo platform. Laszlo itself has shifted its business model from platform licensing to professional services, support, and commercial application development.

But it's not just the software industry that's changing. The Web itself is changing.

What was originally designed as a system for linking hypertext documents (pages of content) has become a platform for data-driven, server-based applications. Most new applications are no longer written for Windows; they're written for the Web. And over the last few years, it's become clear that the Web's page-based foundation can't live up to the needs that applications require.

What's less clear is how to address this problem. There are a variety of ways to work around the Web's limitations as an interactive application medium, but they've all suffered from one or more problems:

  • They are not cross-browser or cross-platform
  • They rely on additional software that must be installed on the end-user's computer
  • They require unfamiliar development processes
  • They don't support rich media
  • They're expensive
  • They're proprietary

With Laszlo's move to open source, there is now a platform that solves these problems. It enables a rich, productive user experience, without compromising on customization or look and feel, while at the same time offering a standards-based (XML, J2EE, JavaScript) way of getting there. It's still the early days of rich Internet applications in general and for the Laszlo platform in particular. We expect to hear quite a bit from you over the next few months -- and we look forward to working with you to move the platform forward.

Laszlo stands at the intersection of two of the most exciting trends in software today: open source and rich Internet applications. We hope that the open source community is as excited as we are about the new applications enabled by the Laszlo platform, and that we can work together to better integrate Laszlo with other open source software -- server platforms, development tools (IDEs), browsers, and new client runtimes.

Let a thousand Laszlo applications bloom. We can't wait.

Posted by temkin at 07:29 PM | Comments (18)