The big customer question that I wish we had a better answer to is I just moved to XYZ device with a different operating system on it. Do you support it? On many occasions the answer is not yet. Since we have had some disconcerted replies to that answer, I thought I would share with you a little peak under the hood of what it takes to develop for a different operating system and why we can’t just pop these babies out.
There are three major problems:
1) The operating systems for mobile computers all use different operating systems and development languages. This means that we have to re-write the entire product from scratch with each new operating system we want to support. When we made the decision to develop powerOne for BlackBerry devices, for instance, we started from scratch, re-developing everything that we had done before but for a different platform. Even if my developers don’t have to learn a new language they still have to learn an entirely new way of interacting with the device and that device’s capabilities to create the calculator and templates that are at the heart of the product.
2) Our product is complicated. The intricacies of our software — the math engine, the templates themselves, the ability to create templates — all require vast amounts of work to complete. Very little of this is portable, meaning it can easily be moved from one operating system to another. It takes lots of time. Our small team of developers can take up to a year to port a single product.
3) So why not add more developers? Easier said than done. One, the way these products work, bigger teams don’t pay off except to work on multiple platforms and products at the same time. More importantly, the cost to do this is high. There was a time when we could market to people buying these devices. We used to buy ads in the box and in trade publications. We bundled on devices and retail suites of software. Those opportunities have shrunk because these devices are now sold through carriers instead of retail stores and carriers have constructed walled gardens into the devices. 8-10 years ago it cost us 20% of the product’s price to sell on the web. Now resellers charge as much as 75% with a big chunk of that going to the carrier.
These three do not take into consideration the regular challenges of developing for new systems: lack of documentation, different development tools, poor ability to test because of the tools and the plethora of devices with minor differences running the same OS.
I am not saying we won’t develop for new platforms but we need to see a clear method for getting the word out about our product to a large group of customers before we can even consider it.