It’s been an interesting couple of weeks in the cross-platform development world. First, Microsoft announced that they were purchasing Xamarin. Xamarin and Microsoft have always been friendly and this move isn’t very surprising. As a Mac user much of the marketing verbiage doesn’t talk about the Macintosh, just iOS along with Android and Windows Phone and Windows apps. Xamarin has always seemed to be mobile first and desktop last, so again, this doesn’t seem surprising.
Many people really like Xamarin and there are a number of Xojo developers that have tried it out. Their opinion of Xamarin isn’t very good: limited support, expensive, buggy IDE, and slow building of apps are just a few of the major complaints. In comparison Xojo, they say, is ‘fast and lean’.
This week Microsoft announced that SQL Server, their Windows-only database server will be ported to Linux and be available in 2017. This seems to be a tacit agreement that their biggest weakness in the server world is Linux. Linux is extremely popular and since it’s cheaper to deploy than Windows they have to do something to stop the hemorrhaging. Perhaps they’ll sell a boatload of licenses but it’s tough competing against the free or inexpensive database servers like PostgreSQL. Again, no where are they talking Macintosh OS X.
This news makes me happy that cross-platform app development is getting some attention. When the big boys of the world are pumping money into it then there must be something to it.
It also makes me sad since I don’t see Xojo changing their focus. For many years they have had this hobbyist/part-time developer first mentality. This has hurt them with professionals looking for a new development tool. There are many things, I believe, that hurt them in this market. I’ll list a few here:
- It’s a BASIC language: No getting around it. It’s a modern object oriented language that compiles down to native code, and (mostly) uses native controls doesn’t seem to matter much. VB6 screwed up many peoples opinions of language for better or worse. In reality, there are lots of really good VB6 apps out there but many more poor VB6 programmers.
- The IDE: especially the Code Editor. It doesn’t let you do bad things and that’s great for beginners. Usually it’s the first thing people complain about, though. It’s limiting, and forces you into the Xojo way of doing things. No other major IDE, that I’m aware of, forces this restriction upon their users.
- Lack of basic controls: I’ve been using Xojo for 15 years and have a tool chest of controls and libraries that I use on a daily basis. But still, the lack of even basic Date/Calendar controls is a turn off for many first-time users. Add in very poor RTF support, no PDF support, and especially no true grid control and you have a lot of strikes against the tool. Yes, you can turn to the 3rd party community for some of these (and they are not very expensive) but to not have any of these things hampers adoption.
- Reporting: I don’t know of any serious Xojo developer using the built-in reporting tool. It’s just not robust enough for most peoples needs. We’ve used several 3rd party tools over the years and in the long run wrote our own (BKS Shorts).
- Android: iOS was a big addition to Xojo but without Android it’s not convenient to do a lot of mobile development with Xojo. To add Android is a huge project and unlike anything they’ve done to date. I would expect a minimum of eighteen months but probably more like two years of major development work to get it into Xojo even as a beta. And that’s assuming they announce it.
I use Xojo all day every day and use it for dozens of commercial desktop applications and dozens of Xojo driven web apps. Xojo is mostly stable and under constant development. Just in the past year they’ve added iOS and Raspberry Pi development as well as added 64 bit compiling for Mac OS X, Windows, and Linux. Much of the limitations you can overcome by dipping your toes into the 3rd party market – but that market is tiny in comparison to many other development tools.
So my wish is that Xojo would focus more on business needs. Identify the features that business owners need and implement them. Include more basic controls and charge more for advanced controls that not every developer will need. Get reporting cleaned up. Make database programming smarter and less error prone.
It is my firm belief that if you get the business users you’ll capture the part-time and hobbyist programmers along the way. Many of the hobbyist and part-timers only care about one platform and that’s only a $99/year investment. If you want to do cross-platform desktop that’s only that’s $299/year. For every desktop license you need three single licenses.
A Pro user like myself needs desktop, web, and console apps for sure. iOS is a nice add-on but not necessary for us at this point. The Pro license costs $699/year. You need seven single licenses to make up for it. My company has four licenses and we renew every year. So my business is the equivalent of twenty-eight single license users and while I might grumble at writing a check every year for license updates it’s nothing at what we used to pay for VB6 and 3rd party licenses every year. At one point it was $2,000 per developer per year. That’s just the price of doing business.
So tell me, which type of customer should Xojo focus on? What do you think their biggest weakness is in capturing some of this nascent cross-platform market?