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:
- Can we give a good 5 minute demo? Silicon Valley is littered with technology in search of a market.
- Can we sound like we know who might want to buy this in the abstract?
Landing a big customer answers much more interesting questions:
- Is my product solid enough for somebody else to bet their job on?
- 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?
- 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
Force.com platform does for SalesForce.com). 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.
Labels: Cluetrain, KANA, startup, WaveMaker
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.
Labels: Community
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:
- 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.
- 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.
Labels: business, entrepreneur, startup
Wednesday, August 20, 2008
WaveMaker in Top 10 Apple Downloads

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).
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.
Labels: apple, development tools, Macintosh, WaveMaker
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.
- 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.
- 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!
Labels: RAD, ruby on rails, WaveMaker
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.

With WaveMaker 4, we choose 4 areas where we wanted to be best in class. Those areas are:
- Lowest learning curve - WaveMaker 4 is the easiest way to start building Ajax applications.
- Highest productivity - our WYSIWYG Ajax studio delivers best in class productivity for basic business applications.
- Sheer beauty - our Dojo-based Ajax client produces jaw-dropping user interfaces.
- 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
Force.com 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!
PostscriptOur 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!

Labels: AJAX, Coghead, DreamWeaver, EnterpriseDB, Postgres, wavemaker tutorial
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 Force.com 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
Force.com, it made a great deal of sense to take the cloud-first approach. SalesForce.com 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 Force.com 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.
Labels: Bungee Labs, Coghead, force.com, paas, platform as a service, WaveMaker
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.
Labels: mashup, xignite
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 Tutorial26 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.
Labels: AJAX, DOJO, training, tutorial
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.
- Avoid adjective-driven differentiation. In the tech world, the adjectives faster, better and cheaper have been overused to the point of meaningless
- 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.
- 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.
Labels: positioning

Subscribe to Posts [Atom]