If you are thinking about cross-platform mobile app development, chances are you have noticed the sea of products out there and may have come across Wavemaker. Wavemaker studio offers the promise of a cross-platform rapid application development environment for mobile and web.
Using a drag-and-drop user interface to allow developers or non-developers a low barrier of entry in robust data driven applications, the Wavemaker platform seems like a dream come true. I’ve been watching Wavemaker for about two years now waiting for it to mature into a stable product, and last week it seemed like they might be there, so I tried out Wavemaker community edition, version 7.8.0 for about a week now, and here are my takeaways.
My first thought is that the documentation is a little lacking. After stepping through the training videos and getting started documents, I then thought the materials were out of date. As it turns out, virtually all of the documents were for the cloud version 8.x – not the community version 7.8.0. Coming across a few issues, I dug deeper into their wiki, and the forum posts that seemed to pertain directly to the issues I was having did seem to be based on an older version, but it is virtually impossible to differentiate. No version is ever mentioned anywhere on what the articles, documentation, or videos pertained to. This made it frustrating as I am trying to get up to speed and working through bugs or a lack of understanding. With such a huge gap between versions and no indication of what the documents were tied to, it seemed like I was wading through an incomprehensible sea of mishmash except at the highest level, like how to import a database.
Cloud Versus Community
At first it would seem that these two versions of the product were closely related. As I played around with both, it is apparent they are not. I do understand that one is open source and one is a pay for product, but perhaps my expectations were set too high that the community edition would actually be usable. I came across a pretty glaring bug in version 7.8.0 that prohibits you from creating a database lookup using another table and a foreign key. For an IDE that is supposed to be there to create database driven apps, this is a major flaw – ultimately one that caused me to drop the product from review. If you cannot build a simple data model and use master tables as a lookup for another detail table, then whats the point? I’m not talking about anything really complex – three tables, that’s it. I never got a chance to add anything else. The cloud version does seem to have worked out the issues, but they don’t really have a pricing tier for somebody that is trying to prototype products to sell in a startup environment and recoup the capital with paying customers down the road.
The 30 day trial is just not long enough to build and sell anything, and then I run up against the monthly fees of $167 per month. This is kind of pricey for cross platform development. I can get an indie Xamarin license for $25 per month. Plus, since the community edition is riddled with bugs that renders it almost completely unusable, I’m not feeling very inclined to shell out dough for Wavemaker. It’s not even really monthly pricing. You make the annual fee of $2000, or four monthly installments of $500 (if you read the fine print).
Also buried in the feature list, it also states that you can’t deploy mobile apps on community. That was not readily discernible early on. They say it’s got a reduced feature set, but they don’t really tell you which features come with each version. Is that a documentation error, or shady marketing? I can’t tell, but all of the lacking/deceptive documentation is also not giving me a high confidence level to part with any cash.
There is a lot of promise here. I really liked the premise of what they are going after. A visual drag and drop IDE to build fast database forms, security, and deploy across any platform. I never actually got to the point of deploying a real mobile app, but it sounded easy. The database designer seemed top notch and very intuitive. The first problem I encountered with the DB import feature was that I have MSSQL 2008, and not on a default instance. This means the port number is random, and I see that being problematic if anyone is using more than one MSSQL instance, as most ODBC drivers for MSSQL need the instance name, not the port. The second problem I had with the DB designer was when I started with an existing DB model in MySQL, as the PK and FK settings seemed different from what you would build in Workbench than what Wavemaker needs to run. I had much better results when I designed the DB model from scratch using the Wavemaker tools. I would almost be tempted to keep the CE version around just to visually design DB models in MySQL.
The last criticism I had was when working on security. The community version seems to lose it’s security settings, or when I tried to delete them and recreate them, I started getting errors on my page that some function endpoint was not set. I have no way of telling if this bug was related to the security features, or the multiple importing of my DB model until I recreated it from scratch, but there is no way that I could find to go in and correct this bug, which caused me to have to start all over, ultimately ending my proof of concept in Wavemaker. It reminded me of building a huge form app in Access only to have it get corrupted and needing to start all over again, which is very frustrating.
In conclusion, this project seems like it holds a lot of promise. I really wanted this to be an awesome experience, but it just wasn’t. It is obvious that they have put a ton of work into the UI to make it intuitive and automate everything possible. The maturity of the documentation might be a barrier to entry, and the pricing needs a startup-entrepreneur tier that has all of the features and keeps up with the bugs, like an Indie tier, that allows for people to go and build products that can pay licensing once revenue for those products comes in. I simply want to build something, sell it, and then give them their fair licensing share. I’m not trying to be underhanded here – that’s just how the small startup works. I could even see a business model where I could just build mobile apps for companies and let Wavemaker host them for me. It seems like this is really geared towards big companies for internal apps and a budget to throw away if it doesn’t work out. Give these guys another couple of years, and this might really be something. Unfortunately, it just isn’t at the right place in it’s life cycle for me to really use yet. I’ll keep watching.