Two months ago I posted about the launch of our first web application and our reasons for diving into online apps. Last week we launched our second web-app for cataloging books, so I figured I’d let you know my first thoughts about doing online software.
Tip: For the full story, attend my Web-Apps presentation at the ESWC conference in Berlin.
Technical
Multi-platform development
One of the advantages of web-app development is that you can serve users on all platforms with one code base. We invested a lot of time and money in creating Mac editions of our main 3 products, but for the Connect products we don’t have to. It even works on Linux 🙂
Of course, web-development has it own problems: getting your pages to look the same in all browsers. This can be a nightmare, especially if you try to support IE6. But our lead web-developer Robbert had a lot of experience in this area, so we’ve got it covered.
Maintenance and software updates
For online applications, all code runs on your server, which makes it possible to do live fixes and implement small improvements. As soon as you put the new code up on the server, every user is running the latest version. No builds, releases or uploads for you, no downloads and installs for the users. Quick and easy.
However, it’s important to stay alert though and keep rigorously testing your code before it goes live. Because it’s so quick to do fixes, it’s easy to get careless.
The same goes for adding new features, you can do so continuously. There is no reason to “group” enhancements and features into minor builds and major updates. For our Windows and Mac apps, we always try to keep the frequency of maintenance builds as low as possible, because it takes at least an hour to safely release a new stable build. Also, we often with-hold major new features for the next major upgrade, so that we can charge an update fee for it. For online apps, you’re usually charging a monthly subscription fee which includes all updates, so you are freed of the “major update cycle”.
There’s a catch though:
For downloadable, client-side software, users always have the choice of not upgrading to the latest version. Either because they don’t need the new features or because they don’t like the changes you made. Even (or especially!) if the changes are cosmetic.
For web-apps, users don’t have that choice. When you add a feature or change the look and feel of your app, it’s immediately live for all users, whether they like it or not. So for online apps, you should think a little longer before you make changes or add stuff that not every user may like.
(At Collectorz.com, we have removed features from our apps a couple of times, because we found that our software would be better without them. Less is more… If this generated complaints from users, I could always tell them to just downgrade to the older version. Not possible for our online Connect service.)
Live stats on usage
Another thing that has proven useful, for both technical and marketing reasons, is the ability to get live statistics on how users are using your software. Which features they are using, the sizes of their databases, the problems they are running into. Good data to have.
Privacy, security and data safety
For online apps, all user data is stored on your servers. Apart from the technical issues, like hosting, bandwidth, performance and disk space, this also causes some interesting new areas of “concern”:
Privacy and security
If you store user data that could be regarded as personal, then you’d better make sure your server and software are secure and this data cannot be accessed by anyone who is not supposed to see it. And even if you are fully secure, it’s still wise to have a good EULA and Privacy Policy in place. For Collectorz.com Connect, we hired a lawyer specialized in this stuff. Better safe than sorry.
Data safety
Even if the data is not of a personal nature, you still want to take good care of it. For offline software, the user is responsible for his own data and for having backups of it. But online, you are responsible. You really won’t want to loose or corrupt the data of your customers. For Connect, we have implemented a backup scheme that makes a local backup of all user data on a daily basis. And before every risky software update, we make an extra backup, just in case.
Customer Support
Another great thing about web-based applications is the advantages for customer support.
The first advantage is that all users are running the same version, the latest and greatest version that is. No problems with users running into bugs that you fixed ages ago, just because they neglected to update their software.
Also, the user’s software and their data is on your server, so if a user reports a problem you can simply log in to his account and take a look. In general, once you can reproduce a problem, you’re more than halfway to fixing it. And online, most issues are instantly reproducible, even user data dependent problems (and we all know what a nightmare these can be).
In many cases, you can even immediately fix the problem for them or help them live to accomplish a tricky task. Imagine how happy your customers are if you tell them:
“Just hit refresh in your browser now and it’ll be fixed”.
Sales
Last but not least: our experience selling online software, or, to be more precise, selling software subscriptions. Because that is the main difference: you are selling a subscription-based service, not a software product for a one-time purchase price. Huge difference, both for you and for your customers.
Pricing
Of course, the first question you run into is pricing. For regular, client-side software, picking a good price is the most difficult marketing decision already, but I found that I had even more problems deciding on the best price for the Connect subscription fees. And, to be honest, I don’t think I’m there yet.
We started out with a $40 yearly fee, plus a $30 setup fee. For existing customers, we had a 50% discount on the first year and they didn’t have to pay the setup fee.
Soon after launch, we dropped the setup fee entirely, as I felt it didn’t really help to attract new customers to the service ($70 just to get started is simply too much).
Later on, I added the possibility to pay for just 3 or 6 months. At the same time, I started presenting the fees differently. I now list the “regular price” as $4.95 per month (which is indeed what you pay if you just subscribe for 3 months), plus I present the 6 and 12 month subscription prices as “volume discounts”. For instance:
One Year Subscription: Regular Price: $59.40, Discount: $19.45, Now: $39.95
This seems to work a lot better. We are now seeing new users sign-up for all 3 subscription levels (3, 6 or 12 months).
The funny thing about subscription fees is that users seem to think about them differently. I mean, sell a $50 software product and nobody asks what you need that money for, or what you are going to use it for. But ask a $39.95 yearly subscription fee for an online, hosted application and people suddenly start thinking about where that money is going, whether hosting their data online is really that expensive. While the same people never seem to be having problems paying $50 for your Windows software, plus $25 per year for major upgrades.
Here’s an example of one user’s feedback on our Connect pricing:
You want to charge $39.95 a year to simply host LINKS for us in your database (with a subset of personal information). Yes, if I order before October 31st, I get it for $19.95 for this year. Let’s move past the marketing ploys for now because even that is a lot to charge for LINKS and TEXT to be hosted on your servers, especially since I pay $39.95 a year to host UNLIMITED data with UNLIMITED bandwidth and GIGS in mySQL tables with my current web host provider. That of course is in addition to the over 200 GB of FREE data I host on Windows Live and other related resources.
We have seen several forum posts and emails along the same lines. All from existing customers, who are used to our pricing for our Windows and Mac apps. I don’t expect this to be much of a problem for new customers who start off with the online service.
Selling to existing customers
Which brings me to selling Connect to our existing customers. As I posted before, this was one of our goals when designing Connect: to be able to sell it as a sharing / online publishing add-on to users of the Windows and Mac OS X edition. We invested a lot of time creating a smart two-way syncing system, so that users can synchronize their collection data between their Connect account and their local database. Cool stuff.
Up till now, we have sold a Connect subscription to about 4% of all customers owning a license for the latest version of Movie Collector (Windows or Mac). Not bad, but I was expecting to sell more in the first couple of months. Now there are still some limitations in the usage of Connect, especially related to the syncing system, so I expect to sell some more once we resolved all of these. Maybe tweak the pricing…
Selling to new customers
We haven’t sold Connect to many new customers yet. I have just started slowly promoting our Connect editions to new customers using Google Adwords. Slowly, because the Connect website hasn’t received my usual level of tweaking and tuning to optimize its conversion rate. I don’t want to risk loosing too many regular Adwords sales because the Connect traffic isn’t converting yet.
But as I said in my Art of Ignoring presentation, one needs traffic to measure and optimize conversions, so I guess I will have to take that risk soon and start directing a lot of costly Adwords traffic in the Connect direction. Scary…
I will let you know how this is working out. Hopefully I will be able to present some data in my ESWC presentation in a few weeks. See you there.
Which web technology/frameworks (Rails, ASP …) have you choosen for your first product and why ?
Does your staff had previous knowledge of this web technology ? since your seemed to be primarily a Delphi dev shop
We are using PHP5 for all web-development, plus some Zend stuff.
The web-developers all had previous experience with PHP. These are not the same guys that are doing the Delphi coding.