Wednesday, December 10, 2008

The Cloud Is Angry and Other Lessons From Gartner

I attended the Gartner Application Development Conference this week and drank from the proverbial firehouse as Gartner analysts presented their vision for cloud computing

Anthony Bradley, the Web 2.0 analyst for Gartner, beat the drum for front end tools (mashup builders) to complement back end SOA systems. His take was "mashups take the benefits of SOA and make them visible to users - mashups are the face of SOA."

Mark Driver, the open source software analyst for Gartner, said that cloud computing is early in its maturity cycle. He said, "if the cloud were a child, it would be an angry two year old. The challenge for the industry now is how to make it through the terrible twos."

Mark also pointed out some big benefits for IT with cloud computing. "The cloud enables rapid application maintenance - iterating application functionality on a daily basis." The apps can change as quickly as the business situation changes, making IT much more of a real partner in business change rather than an impediment to business change.

Mark introduced the idea of a cloud development platform or platform as a service (PaaS), noting that in PaaS, the developer should never encounter the concept of a server. Instead, the platform abstracts all deployment complexity from the developer, making it ideal for business unit developers who don't have deployment resources readily at hand.

According to Gartner, the important criteria for a cloud development platform include:
  • Interoperability: how well does the platform integrate with other web assets like open id and google maps?
  • Collaboration: how well does the platform support source code control and social programming (Facebook meets SVN)
  • RIA & mobile clients: cross browser and cross smart-phone support. According to Mark, reach wins over richness - supporting more browsers is more important than supporting more widgets.
  • Legacy: ability to integrate with enterprise data, security and web services
  • Performance: ability to scale significantly with no additional effort/programming
  • Longevity: the market momentum of the platform vendor - will they be around in 3 years? The winner will be less about the raw technology and more about the quality of partners and customers the vendor has attracted.
This is a particularly interesting list for us at WaveMaker, as we just released the WaveMaker cloud development platform that does quite well against Gartner's list. In particular, WaveMaker scores highly interoperability, both of component and of applications. WaveMaker is the first cloud development platform to offer portability between the cloud and the data center.

Gartner believes that the market for cloud development tools is very similar to the 4GL market of the early 90s. They see many innovative vendors today offering unique/proprietary solutions, thinning out over the next three years to a handful of winners. Naturally we are doing everything we can to make sure that WaveMaker is one of those winners!

Tuesday, December 09, 2008

WaveMaker Launches First Open-Source IDE for the Cloud

The biggest problem with cloud development platforms to date has been lack of portability. For example, what if I want to move my cloud application from Coghead to some other platform? Answer - you can't.

WaveMaker changed that today by releasing the first open-source IDE for the cloud. With WaveMaker, you are no longer locked in to developing for a particular cloud. You can access our studio by downloading our open source version or access the cloud version of the studio directly (hosted on Amazon EC2).

On EC2, we are using Rightscale to manage scaling, load balancing and failover for our multi-tenant studio. We have also integrated with Elastra to provide scalable database connectivity.

Here are some things you can do with WaveMaker's cloud edition
  • On-site or on demand development: create applications with the open source studio (download to your desktop).
  • Portable cloud deployment: with one click, deploy applications to the cloud, to the desktop or to the data center.
  • Open source cloud IDE: migrate applications from the hosted cloud version to the free open source version whenever you want.
The WaveMaker cloud edition beta is free for development. Deployment will be through a paid Amazon machine image (AMI), with pricing starting at $0.30 per hour.

Check out the new WaveMaker cloud edition here

Wednesday, November 19, 2008

The Soul of the Web - Why Ajax Standards Matter

I spoke on a panel at Mashup Camp this week on why Ajax Standards matter. I was quoted by Doug Henschen of Intelligent Enterprise as saying that we are locked in a struggle for the soul of the web, so I thought I would expand on that theme.

Just because the web has been open so far doesn't mean that it will stay that way. By open, I mean that content has been searchable, linkable and servable without paying fees.

Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. You cannot search Flash content, you cannot link to it and if you want to serve up flash content on your web site, you need to pay for a server license.

If the future of the web lies in rich media and if these trends continue, we may well see a very different world emerge from Web 2.0.

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.

WaveMaker has a big stake in this debate because we chose to build our WYSIWYG development tools on top of the Dojo Toolkit. We picked Dojo because WaveMaker is targeting enterprise developers who need not just nice color pickers but also sortable and pageable grids, solid internationalization and accessibility capabilities.

Ajax standards groups like the Open Ajax Alliance (under the leadership of Jon Ferraiolo)serve a important role today in helping to highlight the differences between open solutions like Dojo and proprietary solutions. They also are helping to drive the maturity of open Ajax toolkits by focussing attention on important areas like security and internationalization.

Microsoft was the rendering engine for client/server, which paid them enormous dividends. Microsoft IE was somewhat accidentally the victor in rendering engine for Web 1.0 after Netscape fumbled their lead, although they were never really able to monitize this particular monopoly.

Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, aka pseudo-browsers, become the rendering engines for the next generation of the Web. Without a strong push for open Ajax standards, they just might get their way.

Wednesday, November 05, 2008

A good day for entrepreneurs

OK, ok, so this is totally off topic for a tech blog focused on the future of the web, but I just loved this graphic and couldn't resist.

Entrepreneurship is all about changing the world by thinking differently. Startups work best by challenging conventional wisdom and doing things nobody even imagined, much less thought were possible.

Yes it was a tough campaign and yes we have a number of big messes on our hands, not least of which the economic climate for technology startups. On the other hand, what a great day for America's ability to reimagine itself!

Wednesday, October 29, 2008

Open Source Marketing Metrics - From 0 to 700 Customers in One Year

One important goal of open source software is to drive rapid adoption of a new product. Effectively, open source downloads become a marketing channel for producing qualified sales leads.

Yet there are not many metrics available by which to judge the success of an open source channel. What percent of web site visitors should download the product? What percent of downloads should register in the community? Finally, the all-important question: what percent of registered downloads should convert to paying customers?

We have been tracking downloads and conversions religiously (with lots of help from smart people like Marten Mickos at MySQL, Brian Gentile at JasperSoft, Rod Johnson at SpringSource and Andrew Aitken at the Olliance Group). I thought it would be useful to summarize what we are seeing in our community around downloads, product adoption and conversion to paying customers.

Metrics since product launch (3/08)

The punch line is that WaveMaker will have over 700 paying customers by the end of the year, both through direct community adoption and through channel partners.
  • 29,261 web visitors per month
  • 9,972 downloads per month (28% of visitors)
  • 1,132 download registrations (e.g., new community members) per month (11% of downloads, 4% of visitors)
  • 600 community postings per month (11% of downloads, 4% of visitors)
  • 1,050 marketing leads per month
  • 700 paying customers by 12/08 - including direct and channel customers (through OEMs)

What Drives Web visitors?

WaveMaker is an easy to use development tool for web applications. Our motto is: if you can use a browser, you can build a web app with WaveMaker. The main driver for WaveMaker web visitors is new product releases. With each new product release, the open source network springs into action via sites like SourceForge and FreshMeat, as well as specialty sites like dzone and Ajaxian.

For three weeks after a new release, we see the web site volume goes up by a factor of 5 over the previous 30 day moving average. After that, web traffic settles down to a new, higher level (typically about 20% higher than the previous moving average).

What Drives Download conversions?

The percent of web visitors who download has inched up from roughly 20% of visitors to 28% of visitors as we have gone through various iterations of our home page. As the messages have gotten simpler and the graphics more compelling, the download rates have climbed.

What Drives Community conversions?

So far, conversions from download to actually registering with the community has been our Achilles heel. One interesting metric is that the conversion rate goes down when the download volumes go up and we aren't really sure why (could be as simple as the Drupal registration engine getting backed up).

Converting Open Source Downloads to Customers

Once developers have registered with the community, they get regular newsletters and emails from our field technical people. We have found that by far the most effective marketing activity is our personal emails from field technical people to potential enterprise prospects. Instrumenting our email outreach program is another important todo for our marketing team.

These conversion numbers are pretty lumpy - a small number of channel partners can have a big impact on customer numbers, particularly at the beginning. Most of our leverage at WaveMaker has come from small systems integrators and ISVs, both of which act as channels to amplify the activity that is already being generated by our open source channel.


Converting web visitors into paying customers remains more of an art than science. What we have proven is that for enterprise software, it is possible to attract a large number of paying customers in a short time using an open source channel.

Thursday, October 23, 2008

What is NOT Cloud Computing?

I spoke at the Cloud Summit last week put on by M.R. Rangaswami and enjoyed as always the giddy enthusiasm with which Silicon Valley embraces each new technology wave. Cloud computing is custom made for Silicon Valley - it is poorly defined, seemingly vast and has the potential to change human life as we know it (at least for those of us who live in Silicon Valley).

Of course, we have our fair share of naysayers (like Larry and Richard), as well as theories about why those naysayers are down on cloud computing.

Since so many people are jumping on the cloud bandwagon, I thought it would be useful to look not at what cloud computing is but at what cloud computing isn't.

Cloud computing is the hardware equivalent of automatic teller machines. The whole idea is that you don't have to deal with people to get your application deployed, scaled, monitored and managed. Therefore anything that gets between your application and the API to the data center in the sky is taking you away from the cloud.

The other important - and to date largely unrealized - promise of the cloud is choice, aka freedom from lock-in. Today, customers are often locked into a particular cloud provider just as surely as they are locked into their in-house data center. Moving forward, you should have the ability to change clouds providers as easily as you change cell phone providers.

Tuesday, September 30, 2008

Larry Whistles Past the (Cloud) Graveyard

Larry Ellison recently unleashed a tub-thumping tirade against cloud computing covered by Ben Worthen (with further comments from Daya Baran, Giva Perry and Dan Farber) . Here is a quote from Larry:
The interesting thing about cloud computing is that we've redefined cloud computing to include everything that we already do. I can't think of anything that isn't cloud computing... The computer industry is the only industry that is more fashion-driven than women's fashion.
Now as usual with big whoppers told by people in fear of their checkbooks, Larry's rant has an element of truth. There is much cloud lipstick being sloshed on many a barnyard animal these days. But behind all the buzzwords, a basic shift is occuring - the wholesale outsourcing of core business applications.

Yes, this is a return to timesharing, but this ain't your grandfather's timesharing. It is interesting that Larry was a huge supporter of thin client computing when it threatened his enemy Microsoft but is now a detractor of the son of thin client when it threatens his own rice bowl.

Forrester research has a simple chart that illustrates Larry's dilemma - he paid $30B for a collection of low growth businesses, making Oracle is the Computer Associates of the new millennium (and we know where this strategy got CA).

Larry's rant is an extraordinary example of whistling past the graveyard. Oracle's huge transformation over the last 10 years has been from an infrastructure company (databases & middleware) to an applications company (ERP, CRM, SFA ect). Now, just as this transformation is completed, along comes an infrastructure that will obsolete all the applications Oracle just got done rolling up.

No wonder he sounds ticked - you would be too if you just spent more than $30B (see Oracle acquisitions chart below) on a bunch of wasting assets that are going to be shafted by the Cloud/SaaS shift just as Siebel's market share was eviscerated by SalesForce.


The dead giveaway is that Larry's rant focuses on the metric most important to him - profitability - while ignoring the metric most important to customers - value. Larry knows that customers are deserting him in droves, what really angers him is that he can't make as much money in the SaaS world.

Friday, September 26, 2008

Why Open Source Is Euro-Chic

Larry Augustin recently wrote about the differences between how Europe and the US view the open source software market. His comments came after attending the Olliance Think Tank conference in Paris this week (tough assignment, that).

He identified a number of differences between how Europe and the US view open source. For example, he gives the primary European reason for adoption open source as wanting to avoid vendor lock-in, while the primary reason for adopting open source in the US is cost.

While recognizing the differences, I think that the open source business model is tending to converge on the dual-license approach that I outlined in the Silverado Rules for Open Source Software. So what accounts for these regional differences?

I believe the biggest single factor to explain these differences is the underlying attitude towards Microsoft. In the US, where Microsoft is seen as a successful, if aggressive, competitor, adoption open source is a business decision, that is to say based on cost and ROI.

In Europe, where Microsoft is seen as a malignant force, adoption of open source is seen as a political decision, that is to say based on and ideology that trumps business considerations. Viewed this way, the differences described by Larry between the two geographies are very consistent, particularly if you just insert the word Microsoft at strategic points.

For example, on the first observation, the primary reason for adopting open source in Europe is to avoid [Microsoft] lock-in; while the primary reason in the US is cost, as Microsoft lock-in per se is not seen as a bad thing.

At the end of the day, open source is not so much an ideology as an evolution in how software is developed and distributed. For WaveMaker, open source is a great way to accelerate adoption of our free JavaScript download for building web applications.

Wednesday, September 17, 2008

The Revenge of Zaphod BeebleBrox - Why 2 In a Box CEOs Never Work

Matt Asay broke the news that the talented COO of SpringSource, Neelan Choksi, left the company recently just as SpringSource announced 250% annual growth. Savio Rodriguez expanded on the theme and wondered why an exec would leave a growing company.

I have no particular insight into Neelan's situation, but I have a lot of insight into the difficulties of managing a startup with a CEO and a COO (at SpringSource, Rod Johnson is the CEO and Neelan was the COO). I have found that splitting the CEO/COO in a small company, also known as "two in a box" is pure trouble.

Two in a box means putting two people in charge of essentially the same job. You don't need an MBA to see that there is great potential for mischief here. The inevitable conclusion of two in a box is always the same … and then there was one.

The whole thing reminds me of Zaphod BeebleBrox, the two headed character who was always arguing with himself.

Here's how the Zaphod BeebleBros brainstorm pitched by the board: "this will be great! Zaphod here (the CEO) will be the external spokesperson for the company, while Beeblebrox (the COO) will be the internal, get it done guy."

Needless to say, it never works quite this way. Even when you have two really strong players (which I believe is the case at SpringSource), it is extremely difficult in a small company to keep from stepping on each other's toes. Here are just a few of challenges in a two-in-the box startup team:
  1. Who's vision? Inevitably, there are differences in vision between the CEO and COO and these differences always come out at awkward times.
  2. Maybe I'll get a better answer from mom. Any exec who gets an answer from datd they don't like can always try asking mom.
  3. The buck stops over there. Particularly for difficult decisions, there is a natural tendency for each exec to palm off some of the tougher calls to their counterpart.

Wednesday, September 10, 2008

Where have all the 4GLs Gone?

Brad Feld recently wrote a blog post entitled, What Happened To The 4GL? In it, he describes the difficulty of working with today's web development frameworks:
This summer I spent some time playing around with Google AppEngine.... It didn't take long before I realized I needed to really understand how to program in Python to do anything.
People often ask whether Ruby on Rails is a competitor to WaveMaker. My response is that WaveMaker is for people who don't want to learn a new language to build web apps, RoR is for people who do.

In Proustian fashion, Brad looks at the new cloud computing tools in hopes of recapturing that sense of power that comes from working with a well-designed 4GL:
When I was playing with Google AppEngine, I kept waiting for the 4GL "aha moment." That's the moment I had using Clarion and Access where I realized how easy it was to do certain things. That moment never came with Google AppEngine - the deeper I got, the more confused I got.
This is the elephant under the table in web programming today - it is no longer possible for mere mortals to build basic business applications. Even formerly technical guys like myself and Brad are intimidated by the bookshelf worth of O'Reilly books you need to read just to get started with web development.

WaveMaker has a very strong 4GL pedigree and is funded by Mitchell Kertzman (of PowerBuilder fame) and Roger Sippl (of Informix 4GL fame). Our belief is that the time has come for a 4GL web development solution.

Ten years ago, there were loads of ways to build client/server apps easily - PowerBuilder, MS Access, Lotus Notes, Filemaker. None of those tools have made the leap to the web, leaving a huge market vacuum.

It has been so long since there have been decent tools for non-expert developers that people have literally forgotten what a 4GL even looks like. The best proof of this is the many comments on Brad's post by people who think that coding frameworks like Ruby on Rails and Django are reasonable substitutes for a 4GL.

This is not to slight Rails and Django, just to say that these products are targeting making hard-core developers even more productive. They are absolutely not appropriate for visual developers who don't want to do any programming in the first place.

Wednesday, September 03, 2008

Startup reality check: launching versus landing

While startups always make a big deal about introducing new products, the real birth of a company comes not when you launch your first product but when you land your first big customer.

Here's the difference: it only takes a demo to launch a product, it takes a business model to land a customer. Thus the scariest time in a startup's lifecycle is the period between shipping the product and closing the first big customer deal (this is period that the VCs call "proving that the dogs will eat the dog food").

In true ClueTrain Manifesto fashion, product launches are largely a vendor driven activity, that is to say mostly wishful thinking and hand waving about your new, improved, bright shiny thing. Getting a customer to dig deep and pony up 7 figures for your bright shiny thing puts you in a whole different league.

Launching answers the following questions:
  1. Can we give a good 5 minute demo? Silicon Valley is littered with technology in search of a market.
  2. Can we sound like we know who might want to buy this in the abstract?
Landing a big customer answers much more interesting questions:
  1. Is my product solid enough for somebody else to bet their job on?
  2. Does my product solve such a big problem for that person that they are willing to bypass much more established, safer vendors to bet on an unknown startup?
  3. Is my business model credible enough that another company will bet their business on our being around 5 years from now?
WaveMaker launched our visual Ajax development tool in February. Yesterday, WaveMaker announced a 7 figure deal with KANA. KANA sells customer service software and has over 700 customers, including 60% of the Fortune 100. They are also one of 16 strategic partners of IBM's WebSphere division.

The most exciting element of this deal is that KANA will ship the WaveMaker Studio as a built-in customization tool for their call center platform (similar to what the platform does for For WaveMaker, this will give us 700 licensed customers by the end of the year, putting WaveMaker in the top tier of Ajax tool providers in one fell swoop.

Cool technology and $2.50 will buy you a latte at Starbucks. Having a $70M company bet their future on your product puts you into the running for the Next Big Thing! Congratulations to the whole WaveMaker team for taking the step from demoware to solving hard customer problems.

Thursday, August 28, 2008

Online Communities: Open Versus Gated

Online communities are all the rage, but just like in the real world, online communities can be warm welcoming neighborhoods or cold, haughty gated communities.

Connie Benson at the Marketing 2.0 Blog has a good post on the importance of a community manager in keeping a company connected to its users. But the community manager themselves are limited by how motivated the community participants are.

It is extraordinary to me how low energy most enterprise software company communities are. With the examples of vibrant communities at MySQL and Spring, you would think that companies like Oracle and IBM could follow suit.

I think the real rub here is that it is hard to have a vibrant community with a closed-source product. Maybe this was possible in the olden days, with certain fanatical user products like Borland's Delphi. But increasingly, open sourcing a product is a prerequisite for obtaining an engaged community.

This sets up a contrast between open communities, where anyone can participate with little or no effort, and gated communities like IBM's labyrinth of interlocking forums, where just creating a user account is a daunting, 15-20 minute exercise.

In the week since the launch of WaveMaker 4, we have gotten 20,000 downloads and over 1,000 new members registered into the WaveMaker community. Now comes the hard part - turning newbies into active community participants.

In our case, I think that conversion is made much easier by being an open source product. I am not making the "freetarded" argument that free is always good, just that open source brings with it an expectation of community that makes creating a real community dramatically easier.

Tuesday, August 26, 2008

Tech-Smart, User-Stupid - Why Software Startups Fail

Over the course of three software startups and 10 years of teaching entrepreneurship, I have seen one flaw kill more software startups than all the other flaws combined. That flaw is caring more about your technology than your customers - failed software startups are smart about technology and stupid about who is going to use that technology.

Inexperienced technology entrepreneurs usually almost always focus more on what their technology can do, not what the market needs. If you don't have a specific customer in mind when you build a product, you are performing the marketing equivalent of walking outside on a sunny day and hoping to get hit by lightning.

Not having a clue about your intended market leads to all sorts of misguided behavior. In particular, there are two dead give-aways to user-stupid companies:
  1. Dog ball product management. There is an old joke about dogs and balls where the punchline is "because he can." Most of the Ajax products on the market today are stuffed with features for which the best explanation is that the developer added it just because they could. For example, there are roughly 2 bizillion Ajax toolkits out there, but every week someone introduces a new one, figuring no doubt that what the world really needs right now is yet another color picker widget. Adding random features does not make you look cool, it just makes you look confused.

  2. Leaky marketing. When you have no idea who your target customer is, all you can focus on is your competition. Just like a celebrity stalker believes that if they scare off all the boyfriends, then the supermodel will have no choice but to fall in love with them, the leaky marketer believes that if they take a leak on everyone else's products, then the market will have to come to them. Among other problems, when you have a number of companies in a small market doing this to each other, all you really do is convince potential customers to wait until there is a serious provider for the technology. Making other companies look small does not make you look big, it just convinces customers to stay with IBM another year.
The simplest antidote to being user-stupid is recruit a business partner who is externally focused. Entrepreneurship is a team sport - it takes a passionate techie and an equally passionate business person to make an idea go (think Gates/Ballmer, Jobs/Wozniak, Ellison/Miner). Successful innovation happens when a company is user focused and tech smart about how to solve that user's needs.

For more on this topic, see Top 10 Business Idea Mistakes.

Wednesday, August 20, 2008

WaveMaker in Top 10 Apple Downloads

WaveMaker was selected as a Staff Pick for the Apple download site, and broke into the top 10 Apple downloads today, edging out Google Earth for the tenth slot!

WaveMaker 4 features a Mac installer and the WaveMaker Ajax Studio runs best in the Safari browser (of course, to be fair, almost everything that runs in a browser runs best in Safari). 

WaveMaker's visual studio lowers the learning curve for building Ajax apps and greatly increases productivity over traditional hand-coded Javascript web clients.

WaveMaker uses a Model-View-Controller approach to building Ajax web applications, making it an ideal tool for developers who are familiar with Apple's xCode development tools (or any other visual development tool for that matter).

WaveMaker was also written up on the MacNN web site as a one stop shop for developing web applications. MacNN also particularly taken by how WaveMaker democratizes the development of web applications:
The folks at WaveMaker think big, calling their Visual Ajax Studio 4.0 web app development tool "a fundamental breakthrough" -- and they may just be right. In a demonstration for MacNN it took about three minutes to build a simple database web app -- something that traditionally takes a team of developers to manage the complex weaving of web and server functions. This could be especially good news for the growing number of Mac Developers, since WaveMaker is browser-based.

Monday, August 18, 2008

WaveMaker 4 Introduces RAD For Ajax

Since the concept of Rapid Application Development (RAD) was invented in 1991 by James Martin, much has changed in the IT world. Web-based application, web services and software as a service have dramatically changed application development. This in turn drives a need to update the concepts behind RAD, particularly for web-based applications.

What the web promises to add to traditional RAD is a more effective model for assembly and distribution of business applications. While newer development models like Agile and Extreme programming have gotten more attention recently, good old-fashioned RAD 2.0 has the potential to have a bigger impact in how business applications are delivered.

The essence of rapid application development is to convert database schema information (tables, columns, primary and foreign keys) into graphic interface forms. These forms in turn allow a developer to create, read, update and delete information from tables (while preserving relationships between tables)

Ruby on Rails (RoR) has a clear lead in bringing RAD to the web. RoR scaffolding allows developers to create simple Ajax applications quickly based on a database schema. Yet Ruby on Rails is focused on developers who work primarily by writing Ruby and Javascript code inside of an IDE. What about developers who want a visual way to build Ajax applications?

WaveMaker provides a RAD tool for Ajax developers, allowing developers to create rich internet applications without having to learn complex coding languages. WaveMaker 4 adds two significant features that put it at the top of the class in web application productivity: LiveForms and Templating.
  1. LiveForms: the most common task in a web application is to add functionality to create, read, update and delete information from a database table. Usually, this requires separate forms to create, update and delete data. WaveMaker 4 introduces the idea of a data and activity aware form: a single LiveForm widget is all you need to create, update and delete a row. More importantly, when you connect a LiveForm to a Grid, the form is aware of whether an item in the grid is selected, and so dynamically enables and disables buttons for update and delete.
  2. Templating: when we work with WaveMaker customers, the first big task in every project is to configure a set of widgets to match the company's user interface guidelines. With templates, developers have the ability to turn a predefined and styled set of widgets into a reusable template. This is a big change from client/server RAD, where there was less focus on the specific corporate look and feel. When you consider that a typical user interface can have 80-100 widgets just to set up the headers, columns and footers, having a few well-designed templates at the beginning of a project can be a huge help!

Thursday, August 14, 2008

WaveMaker 4 Introduces Point and Click Ajax (Post 1 of 4)

In February, WaveMaker introduced the first visual development environment for Ajax applications. Today, we have taken another big leap forward in productivity, by launching WaveMaker 4, a point and click development platform capable of creating a fully deployed Ajax application in just 9 mouse clicks!

I'm not talking about some proprietary hairball here - in 9 clicks, WaveMaker takes you from a blank screen to a fully deployed Ajax application complete with Postgres Plus database connectivity and running on a standard Tomcat/Spring/Hibernate server.

wavemaker 4 swamis releaseWith WaveMaker 4, we choose 4 areas where we wanted to be best in class. Those areas are:
  1. Lowest learning curve - WaveMaker 4 is the easiest way to start building Ajax applications.
  2. Highest productivity - our WYSIWYG Ajax studio delivers best in class productivity for basic business applications.
  3. Sheer beauty - our Dojo-based Ajax client produces jaw-dropping user interfaces.
  4. Easiest mashup tool - nobody delivers a better mashup tool for web services Java classes and databases than WaveMaker.
Over the next few days I will address each of these areas and talk about how we achieved our goals.

Ajax Learning Curve - WaveMaker Stomps Dreamweaver

WaveMaker exists to democratize web development. With WaveMaker, you can point and click your way to a running web application in just 9 clicks and without a single line of programming. We believe this will appeal to two kinds of developers: Java developers who don't want to muck with Javascript, and non-expert developers who want to avoid as much coding as possible period.

For Ajax client development, Eclipse, Netbeans, Aptana and Dreamweaver are all good tools, but require you to be a Javascript (or Flex) expert to build a web application, something that many Java developers would like to avoid. On the SaaS side, products like Coghead and have a low learning curve, but require you to use their proprietary language, architecture and hosting to just get started - a steep trade-off for ease of use.

How easy is it? Let's walk through the 9 click scenario:

Point and Click Ajax - How To Build an Ajax Application In 9 Clicks

Click 1: create new project. Start the WaveMaker studio. Note that it runs in a browser - note further that WaveMaker studio was built in WaveMaker, a pretty good indication of the power of the tool itself. Note that just for fun I am running WaveMaker in the same browser where I am writing my blog post - just because I can :-)

Click 2: import database (Model). WaveMaker can import the database schema information from Postgres or any other major database, thanks to our underlying use of Hibernate. WaveMaker comes with a schema editor, so you can actually create your database schema within WaveMaker as well. Importing the database gives you the Model part of a model-view-controller architecture.

Clicks 3, 4, 5: create application template (View). Open page designer, open template chooser, drag application template onto WaveMaker canvas. Templates are collections of pre-styled widgets that can give you a full UI in a single click, including a template that inserts a standard search box, list data grid and detail live form. Creating the widget layout gives you the view part of the model-view-controller architecture.

Click 6: create live variable (Controller). Our live variable will hold database customer information. WaveMaker uses a model-view-controller architecture that greatly simplifies the development of web applications. The Live Variables are the controller elements in WaveMaker's model-view-controller architecture. LiveVariables automatically update themselves when the underlying data changes, allowing the widget to be concerned only with data display and creating a clean separation between the Model and the View elements in the architecture.

Click 7: connect customer data to grid. WaveMaker provides an intuitive interface to connect the customer live variable to the data grid. Have you noticed that within the studio you get live data into your widgets? This means that the application is actually running while you design it, eliminating the typical build-compile-run-debug time suck. Is that the coolest thing ever or what?

Click 8: connect selected customer item to customer edit form. WaveMaker exposes the currently selected item as a data source that you can provide as input to the Live Form. The Live Form is data aware, so it automatically configures itself with the appropriate editors to support the underlying data schema, including auto-configuring drop-down selects to set foreign key relationships - seriously cool stuff!

Click 9: press run to deploy your application onto the built-in Tomcat server.

Presto - while any other Ajax developer is still waiting for Eclipse to load, you have built and deployed a complete web application. Give yourself a hand, and give the WaveMaker engineering team a hand to while you're at it!


Our celebration launch included some very cold vodka shots and a group pose with the company mascot, a surfboard. Derek claims that if you chill the vodka enough and drink it in one gulp you won't get a hangover. I was not able to confirm this claim - maybe we just need a better freezer!

wavemaker celebration chris keene derek henninger chloe jackson reche kirkland frankie fu

Wednesday, August 06, 2008

Development Tools For Cloud Computing - Two Paths

For cloud computing to take off, there need to be tools available that enable a developer to build and deploy an application without having to download anything to their desktop. This requires an on-demand development tool that sits on top of the cloud and provides a development Platform as a Service (PaaS).

There are two paths that a vendor can take to create a development platform for cloud computing: cloud-first or tool-first.
  • Cloud-first approach to PaaS: first build a cloud platform, then build a development tool that runs on top of it. This is the approach pioneered by and followed by Coghead and Bungee Labs.

  • Tool-first approach to PaaS: first build a development platform that is host-able tool (e.g., studio runs in a browser), then "push" that platform into the cloud. This is the approach taken by WaveMaker.
For, it made a great deal of sense to take the cloud-first approach. already had a robust cloud platform and expertise in building proprietary development tools to create their CRM application. There was also no requirement to make work on any other cloud, because SalesForce is aiming to be the only cloud you will ever need for all your enterprise apps.

For most software vendors, however, the cloud-first development process has distinct disadvantages. First of all, it puts you in the data center operations business, which requires a very different DNA than software development. Next, it makes development itself difficult, because the cloud adds a level of indirection and complexity to all development tasks. Finally, you will be forced to do cloud port eventually to get to a SaaS cloud people want to deploy on, like Amazon EC2 or Google App Engine (assuming they ever exit the Python ghetto).

A tool-first approach to PaaS development is much more straightforward. You start by creating a host-able development studio (pretty much rules out Eclipse plugins) and do your build and test on standard hardware. After you have build a solid product, you add multi-tenancy to the studio and customize deployment for your cloud of choice (or use a partner like Elastra to do the deployment and administration for you).

A final oddity of the cloud-first vendors is that they have all delivered proprietary development platforms. This provides a "roach motel" level of lock-in - your logic and data can checkin, but just try moving them to another RIA or Ajax platform! Again, SalesForce can throw its 500-pound gorilla weight around and make the Apex language successful. It is hard to imagine, however, that 5 years from now people who have learned the Coghead language will be in more demand than, say, Java developers.

Wednesday, July 23, 2008

Mashup Definition: Visualized Web Services

Seth Godin, the marketing guru, defines a mashup as a distinct way of spreading ideas. In particular, Web 2.0 mashups allow developers to combine interesting data and then visualize that data through a web application. In practice, a mashup requires a data source and a web visualization platform.

WaveMaker and Xignite announced their own bit of mashup magic today.

Xignite provides financial data as a web service. Real-time financial data that would otherwise cost a minimum of $50K to access through Reuters or Bloomberg is available at a fraction of that cost through Xignite. These services can include foreign exchange pricing, commodities pricing and real time stock quotes.

The problem is that it takes a web application platform to call the Xignite web service, marshall the resulting data and display it in a web page. That's where WaveMaker comes in. With Wavemaker, a web developer can create a ticker widget that calls Xignite services in less than 5 minutes.

Click here to see the Exignite/WaveMaker ticker example. Click here for more Web 2.0 definitions.

Wednesday, July 16, 2008

Ajax Master Class Webinar Series

While there are many entry level tutorials on Ajax, there are relatively few advanced training classes for Ajax in general and Dojo in particular. Over the next 3 months, WaveMaker will offer a series of advanced courses on Dojo development.

Ajax File Upload/Download Master Tutorial
29 July 2008, 11am PT
Matt Small, Senior Software Engineer, WaveMaker

File Upload and Download in Ajax applications can be tricky. This tutorial provides introduction to upload and download widget configuration and their backing Java services. Advanced topics include writing uploaded files to a database and serving files directly from database content.

Debugging Ajax Applications With Firebug Master Tutorial
26 August 2008, 11am PT
Ed Callahan, Director of Technical Services, WaveMaker

Where there is development, there is debugging. In this session, we will discuss techniques for debugging issues commonly encountered while developing Ajax web-apps. We will use the Firebug add-on to Firefox to debug client side errors. We will also discuss the logging features available in the WaveMaker framework to diagnose server side issues.

Dojo Data Grid Master Tutorial23 September 2008, 11am PT
Steve Orvell, Senior Architect, WaveMaker
A grid is a fantastic way to view complex data at a glance. Whether it's data from a database, web service, or java service, WaveMaker provides a simple way to produce complex grids quickly. We'll review how to setup a basic grid and then dive into some advanced ways to manipulate the grid widget in WaveMaker.

Friday, July 11, 2008

Gullible marketing

I used to think that marketing had to do with adjectives: better, shinier, fat-free. I now think marketing has to do with nouns and gullibility - let me explain.

Gullible marketing is based on the premise that customers believe everything that they hear. You assume that a customer cannot distinguish one company's hype (shiny toaster) from another's (fat-free toaster).

In gullible marketing, you cannot win be asserting that you do things better than your competitors. You can only win by talking about different things than any of your competitors.

This brings us to the buzzword-filled world of Web 2.0. It is almost impossible to differentiate one RIA, Ajax, Saas-enabled development tool from another. In the gullible marketing world, Backbase, Nexaweb, Jackbe, Appcelerator and WaveMaker all look the same (if we all merged, we could call ourselves Back-nexa-jack-app-wave).

Gullible marketing would say that no customer can distinguish between our buzzword-laden pitches without a great deal of effort. Thus any time they hear similar-sounding claims from two vendors they get a sort of used-car salesman feeling that leaves them confused and dejected.
Vendor 1: Bright and shiny Ajax, RIA, Web 2.0 tools!
Vendor 2: Brighter, shinier and velvet stippled RIA, Enterprise Web 2.0 tools!!
Customer: sigh…I guess I'll wait to see what Microsoft gives me
Once customers are confused, they are likely to do nothing at all, just wait for the market develop to a point where there is a clear market leader. As a vendor, then, the trick is to say something unique to customers that they aren't hearing from anyone else and hence aren't confused about.
  1. Avoid adjective-driven differentiation. In the tech world, the adjectives faster, better and cheaper have been overused to the point of meaningless
  2. Stake out a unique nouns. Focus your messaging on something that nobody else is saying. For example, WaveMaker is the only browser-based web development tool that you can ship as a part of your application - which is a handy thing for ISVs.
  3. Start with small nouns. The implicit market size of the noun you stake out should be roughly equivalent to the size and momentum of your company. If you are a small company, try to own a little noun first. For example, shipping a browser-based customization tool with your application is going to only appeal to ISV's trying to web-enable their products, a relatively small segment of the web development space.
Another way of explaining gullible marketing is that customers believe none of what they hear from vendors, but that would be too depressing for me as a vendor to contemplate, so I prefer to think of them as gullible instead.

Wednesday, June 11, 2008

Buzzwords 2.0: What is Web 2.0? What is RIA? What is Ajax?

The much-hyped but poorly defined terms Web 2.0, Rich Internet Application (RIA) and Ajax are best understood when they are defined together.

Buzzwords represent job security for entrepreneurs like me who would be practically unemployable were it not for our secret knowledge of the true meaning of words like Web 2.0. However, even I must admit that these Buzzwords 2.0 get in the way of clear communication.

In addition, while there are many standalone definitions of terms like Web 2.0, it is much easier to understand these buzzwords mean by considering them together. With that in mind, here are my definitions of Web 2.0, Rich Internet Application and Ajax, complete with helpful graphics:
  • Web 2.0 represents a market shift in consumer attention from expert-generated content (Yahoo) to user-generated content (Google)
  • Rich Internet Applications represents a requirements shift for more interactive, PC-like web sites to simplify consumer creation of content (Blogger, MySpace)
  • Ajax is an architectural shift to support RIA requirements

Definition of Web 2.0 - Shift In Consumer Attention

Consumer eyeballs still rule the web. The huge power shift over the last 5 years has been from expert-driven content (which could be created using expert tools like Adobe Dreamweaver) to user-driven content (which requires web based tools that are easy to use). The shift in consumer attention is also driving a shift in business focus as corporations look at ways to engage more effectively with their customers and employees.

Definition of Rich Internet Application - Shift in Web Requirements

In order for more people to participate in creating content for the Internet, the content creation tools have to be both simpler and more interactive. Rich Internet Applications seek to erase the difference in user experience between browser-based applications (Gmail) and traditional client/server applications (Outlook). A quick comparison of Gmail versus Outlook shows that RIAs have a big usability gap, but the Internet brings the offsetting benefit of dramatically simpler application distribution.

Definition of Ajax - Shift in Web Architecture

Ajax is an architecture which makes the browser smarter and more interactive by running Javascript programs on the client. Don't tell anyone, but the old name for putting logic on the client was fat client programming. Everything old is new again and it turns out the only way to make an interactive client is to do more processing in the browser.

The following diagram shows the fundamental changes between the Web 1.0 architecture (circa 2000) and the Ajax architecture.

Where is all of this leading?

Web 2.0 is driving new application requirements and in turn creating a demand for new development tools that can meet those application requirements. Building increasingly visual and interactive web applications requires a WYSIWYG Ajax tool - something like a Microsoft Access for the Web. Flex and Silverlight, Adobe and Microsoft are providing proprietary tools for building RIA applications.

For an example of an open-source tool for building RIA applications based on Spring, Hibernate and Dojo, check out WaveMaker . Download Wavemaker to see what a visual Ajax tool looks like! Wikipedia also lists a number of other Ajax frameworks for building RIA applications.

A number of others have gone before me in defining these terms individually. Jonathan Schwartz recently pointed out that Java has always had RIA capabilities (but he also admits they didn't work very well until recently). Here are my personal favorites definitions:

Monday, June 02, 2008

Finding open source software

In the first day of our Open Source CEO shoot-out, Esther Schindler asked how companies should go about finding open source projects:
Let's say that a company is philosophically willing to use open source. How does it learn about the best software for the company's purposes?
Bob Zurek of EnterpriseDB notes that open source awareness is promoted by hiring open-source savvy IT people:
Businesses are gaining key knowledge about open source software by employing the next generation of young IT professionals who grew up using open source software like Linux, PHP, PostgreSQL or maybe MySQL.
Matt Aslett responded by referencing a report from the 451 group about what open source database vendors need to do to take on the commercial vendors. He also points out:
The selection process [for open source software] tips the balance of power much more in favour of the customer in that they are able to download the software and ensure it fits their needs before engaging in a commercial conversation with the vendor.
I noted that open source doesn't have to mean marketing impaired. Open source isn't an excuse for poor marketing, it is a strategy to reduce marketing and distribution costs.

Here is a simple test. If you are looking for a technical solution - for example a visual ajax tool - you should be able to type "visual ajax tool" into Google and get both open source and proprietary solutions (all about WaveMaker, naturally ;-).

Read the Silverado Rules for Open Source Success for more on how the open source business model is evolving.

Thursday, May 29, 2008

Open Source CEO Shoot-Out at CIO Magazine

Esther Schindler of CIO Magazine is hosting an executive online briefing on Open Source in the Enterprise. She has invited me and a number of much more famous CEOs to sound off on a variety of enterprise open source and Web 2.0 topics over the next week.

I am the open-source newcomer in the group, dragged kicking and screaming from my bad old proprietary software background as CEO of Nasdaq-listed Persistence Software into this brave new world of open source.

Despite being a newcomer, I have seen first-hand both the power and limitations of the open source model. At WaveMaker, I saw our download volumes soar by a factor of 20 in two days when we launched our open source product in February - from 50 downloads a day to over 1,000 downloads a day.

At the same time, I am now sitting on the edge of my seat waiting for the revenue from all these downloads to show up. Will people really pay for a visual development tool for Web 2.0? Will they be willing to pay enough?

In short, the life of an open source CEO is full of excitement and terror!

The other illustrious open source executives in the CEO shoot-out include:
Somewhat of a cast of thousands, I will admit, but it should produce some interesting debate over the next week!

Tuesday, May 27, 2008

Ajax GUI Tool For Postgres – Now Easier Than Ever

WaveMaker just released a new version of its open source development tool, available here, that includes out of the box support for the Postgres/EnterpriseDB database.

Before now, Postgres developers had very limited choices for building graphical front-ends to their databases. Tools like Navicat provide support for building client/server applications, however web application development requires complex hand-coding in PHP.

With this new release, WaveMaker is offering a visual development environment for Postgres that greatly reduces the amount of code required to build a rich internet application on top of Postgres. By eliminating much of the Web 2.0 learning curve, WaveMaker greatly increases the number of developers who can build Ajax applications.

This release also reaffirms WaveMaker's commitment to the EnterpriseDB Blade Program which is building a trusted ecosystem around the Postgres platform.

Wednesday, May 21, 2008

SaaS Platforms For ISVs - Who Wins?

McKinsey & Company published a report predicting the market size for Software as a Service (SaaS) will exceed $37B market over the next 5 years. In particular, the report described the need for Independent Software Vendors to SaaS-enable their products using special-purpose SaaS development tools. Matt Asay also wrote recently that the growth of the top 60 software companies is driven by SaaS.

McKinsey claims that traditional J2EE and .NET platforms are poorly suited to building SaaS applications. According to McKinsey, this opens up a $3B market for Platform as a Service (PaaS) products from new entrants like WaveMaker, Coghead and SalesForce. From the article:

Although SaaS development platforms like SalesForce and Coghead have gotten a lot of attention, this market has so far been remarkably closed and proprietary. The Platform as a Service leader, SalesForce, has both a draconian hosting policy (host your apps and data anywhere, as long as it’s with us!) but also a proprietary language (who needs Java when you’ve got Apex!?).

Moving forward, the same trends driving open source adoption everywhere else in the industry will ultimately drive SaaS adoption of open source, particularly by ISVs whose business plan does not include a low multiple sale to their proprietary hosting provider. Future SaaS platforms will converge with traditional tools, offering on-demand development based on traditional programming languages with built-in tools for mash-up based development for basic users.

Development Problems for SaaS

SaaS is highly disruptive for existing hardware and software providers. SaaS platforms are different from traditional computing platforms like J2EE and .NET in three ways:
  • SaaS platforms contain new core components, such as web services APIs to integrate to other applications and usage-based billing capabilities. This disrupts existing platform providers like BEA and Microsoft.

  • SaaS platforms are designed for multi-tenancy, including global and tenant-specific data schemas, multi-layer administration and virtualization for scalability. This disrupts traditional ISVs like Oracle and SAP.

  • SaaS platform are delivered on-demand, not on premises. This threatens the business of traditional hardware providers like IBM and HP.

  • SaaS products need on-demand customization tools. As SalesForce has demonstrated, a complete SaaS application needs its own customization tools if it is to compete with enterprise solutions like Siebel and SAP.

  • SaaS products need on-demand integration capabilities. This includes ability to integrate with on-premises data (a notorious weakness of pure-cloud solutions like as well as with on-premise and on-demand web services.

SaaS Architecture Requirements

McKinsey identified three elements of a SaaS architectures:

  1. Development environment: an on-demand development platform for creating SaaS applications. This platform should be able to ship along with the application itself to allow customers to customize their application.

  2. Run-time environment: an on-demand infrastructufre to deliver applications. This can be a proprietary hosting environment like SalesForce, or an open hosting environment like Amazon EC2. Ideally, the customer should be able to deploy applications on-demand or on premises depending on their security, data integration and other requirements.

  3. Ecosystem for adding new capabilities to applications (e.g., SalesForce AppExchange). This ecosystem should also be able to access enterprise data and services located inside the enterprise firewall.

SaaS Is Make or Break for ISVs

According to McKinsey, SaaS has greatest impact on ISVs, delivering a 50-70% improvement in the level of features that can be delivered for a given investment in development and infrastructure.

For ISVs, SaaS platforms offer low upfront cost, rapid time to market (productive tools + pre-built components like billing) and high quality service delivery. In short, existing ISVs have a limited window to migrate their offerings to the SaaS platform or risk being obliterated by newcomers who get there first.

The lesson of SalesForce versus Siebel Systems is clear: existing ISVs should migrate their presentation layer to SaaS quickly while preserving their existing back end servers. Preserving existing back end logic requires a SaaS platform that supports traditional languages like Java.

Which Platform Will Win the ISV Business?

A battlefield is emerging between established mega-vendors and pure play SaaS vendors. The following factors will separate the winners from the losers in this market:

  • Build a robust offering: cutting edge technology, reliable, high quality.
  • Enable extensive customization: provide additional components that address SaaS-specific needs (e.g., authorization, billing, monitoring & management).
  • Monetize effectively: McKinsey identifies this as the most important success factor. The winning platform vendor will be the one which most effectively creates economic value for its ecosystems!
  • Drive ecosystem growth: enable partners to make money within the platform vendor’s community through collaboration, sharing of tools and best practices.

Although many of the early SaaS platforms are based on proprietary languages and tools, Gartner predicts that 90% of SaaS software will be based on open source within 2 years.

Evaluating SaaS Platforms For ISVs

Here are important criteria for ISVs to consider in evaluating SaaS platforms (sometimes called Platform as a Service, or PaaS):

  • Open hosting: can I move applications I build to another SaaS hosting providers? Many SaaS platforms lock the ISV into a proprietary hosting provider (e.g., SalesForce). ZDNet says that ISVs need to offer their SaaS software both on demand and on premises.
  • Full platform: does the SaaS platform offer a complete development solution with presentation layer, business logic, security, database and web services? Some SaaS platforms only offer part of the development stack (e.g., DabbleDB, Tibco GI)
  • Standard language: does the SaaS platform support development using a standard language such as Java? Many SaaS platforms are based on proprietary languages (e.g., Apex, the proprietary language for SalesForce).

Table: A Comparison of PaaS Vendors

* Proprietary language

Peter Laird also has a good SaaS platform review and Phil Wainwright’s has a good comparison of PaaS providers.

SaaS Platform Product Review - WaveMaker

WaveMaker is an open source, visual development platform for building Web 2.0 applications. The WaveMaker studio can be installed on a developer workstsation or delivered on-demand. WaveMaker creates standard Java applications based on Spring, Hibernate and Dojo that can be deployed in a SaaS or on premise architecture.

For ISVs, WaveMaker offers several compelling benefits:

  1. WaveMaker's visual studio provides a faster and more natural way to build rich internet applications than traditional hand-coding using Java and struts
  2. WaveMaker is completely open, making it portable across hosting providers and even enabling applications to be deployed on premise
  3. WaveMaker includes a complete development platform based on open source standards such as Spring, Hibernate and Dojo
  4. WaveMaker is based on the Java language, making it an ideal choice for ISVs who already develop in Java and don't want to migrate their existing server code.

WaveMaker can be downloaded here.

Summary - What ISVs Need From SaaS

Every ten years there is a dramatic shift in the development tools world: in the 80’s to client/server, in the ‘90s to three tier and now in the 00’s to SaaS. In each of these shifts, the dominant development tools providers have been supplanted by a new generation. This time around, the seismic shift is being driven by the on-demand architecture and the ISVs have the most urgent need to rebuild their solutions to remain competitive.

Over the next five years, we will see the 500 pound gorillas of the development world like Microsoft’s ASP.NET and Sun’s J2EE unseated. In their place will be new software platforms based on traditional languages that are specially designed to enable development of SaaS applications.

Tuesday, May 20, 2008

WaveMaker Review: a Web 2.0 Aha Moment

Lewis Cunningham, a database architect for EnterpriseDB, recently posted a review of WaveMaker Visual Ajax Studio that included an aha moment:

When I created my data model, it automatically turned that into a series of web services. This means that the data interface is completely separate from the logic to use that data, allowing data to be decoupled and changed at any time. You can build your UI without ever seeing your database.

Lewis has uncovered an important shift in development being driven by the Web 2.0 architecture: scaffolded development. Ruby on Rails originated the idea of scaffolding as a way to get a web application up and running quickly without having to connect all the back end pieces.

As the developer fills in the back end details for data and web service binding, the scaffolding goes away. Thus ushers in a whole new era of Web 2.0 rapid application development - in which business users can mock-up an application and iterate quickly on a user design, then hand off their prototype for IT to develop (with or without underlying dummy data).

Go ahead, download Wavemaker and get see where Web 2.0 and RAD are taking us!

Friday, May 09, 2008

Java Has The Flu

I attended the JavaOne show this week, after a 4 year gap. What a difference - who knew Java could be so boring? On the other hand, this is what it feels like to go to a show for a technology that has lost half of its market share in the last 4 years (at least when measured by O'Reilly book sales - not a particularly reliable source but better than no source at all). If you don't like that source, check out Andi Gutman's recent post that Java is losing the battle for the modern web.

Let me be clear here - at WaveMaker, we have hitched our wagon to Java and hope very much that JavaOne is showing us the ghost of Java present, not the ghost of Java to come.

Trade shows in general have been eviscerated by the flood of technical information on the web. But even in the new "I'm only here for the Tchotchkes" world of conference attendees, this was a surprisingly desultory affair.

Aisle after aisle was populated almost solely by people in ugly sports shirts wearing a vacant gaze that we all reserve for particularly humiliating situations. In fact, the only booth which seemed to have any mojo was the - you guessed it - schwag booth from Sun.

This morning, I found out what was wrong. I got one of those delightful ALL CAPS emails from JavaOne informing me that we had all been the subject of a viral attack by the dreaded Norovirus. So that was it!

There is something seriously wrong, not just with JavaOne, but with Java. After 10 years, Java remains an extremely complex development environment with nothing even approaching an easy learning curve. Microsoft has gleefully filled this vacuum, driving a vast J2EE to .Net migration at the low end of the market that nobody in the Java world seems willing to acknowledge.

The Sun promise to put Java runtimes everywhere is meaningless if nobody wants to develop for those runtimes. Adobe and Microsoft are doing a far better job making their tools simple enough for mere mortals and focusing on the presentation layer.

The news at the show was that Sun's front end technology, JavaFX, was *still* not ready. The world needs Sun to stand behind one of the 200+ Ajax frameworks already out there, not create yet another one. While we're at it, why can't they just put more effort into an Ajax toolkit they have already "partnered" with, like Dojo?

Here is my prescription for curing the Java Flu:
  1. Fight for the low end: in modern warfare, death may come from above. In technology, death comes from below. Ten years from now, who will have more power over IT - web designers or core developers? If Microsoft and Adobe win the designers today, Java developers will be the Cobol developers of tomorrow.
  2. Make Java easier: something is wrong when very useful but also very complex code frameworks like Spring are considered the "easy" way to do Java development. Java needs to be easy enough for your mother to build her web-based phone list with it. I'm talking Hypercard/Filemaker/Access easy.
  3. Make Java prettier: just put a bullet in JavaFX and adopt something with momentum like Dojo or Ext. If you just can't stomach Javascript, then adopt GWT.
  4. Make Java fun: can't do this without doing the first three items. For an example of one attempt to make Java easy, check out the WaveMaker download.
Remember when people built cool web apps with Java? When was the last time you heard about a cool web app that wasn't written in Rails or PHP? OK, people still build lots of cool stuff in Java, but the love is gone and its just a day job now.

Wednesday, May 07, 2008

Postgres Plus Ajax = Web 2.0 Made Easy!

WaveMaker announced a partnership last week with Enterprise DB, specifically their blades program. Enterprise DB (based on Postgres) is being bundled with the next release of WaveMaker to beef up the database part of our Ajax development platform.

Now Lewis Cunningham, a Senior Solutions Architect for Enterprise DB, has posted a great WaveMaker product review. He compares WaveMaker to Oracle Forms and Oracle ApEx, with the difference that WaveMaker works with standard Java and the Oracle products only work with Oracle PL/SQL.

Lewis says:
Wavemaker Studio is much more of a GUI IDE than the ApEx application builder. ApEx looks and feels like HTML while Wavemaker looks and feel like a rich, desktop application. Wavemaker Studio just doesn't feel like you're running in a browser.

I will be posting about my progress with Wavemaker as I play with it. I am liking it now that I have it configured and working. I think one of the big things that both Postgres and EnterpriseDB have been missing is a very robust application tool. Wavemaker might just be the tool.
The cool thing about the WaveMaker/EnterpriseDB partnership is that it took exactly one phone call between myself and the Bob Zurek, the CTO of Enterprise DB, to "negotiate" the entire relationship. As I pointed out in the Silverado Rules for Open Source Success, open source is not just good for creating user communities, it rocks for creating vendors ecosystems too!