Microsoft Buys Xamarin and SQL Server Goes Cross-Platform

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?

23 thoughts on “Microsoft Buys Xamarin and SQL Server Goes Cross-Platform

  1. “Many of the hobbyist and part-timers only care about one platform ”

    In that I believe you are very wrong, outside of people just learning programing. Also most people like me code things for work and so need any (if not most) same controls anybody writing code for business.

    In any case the cost issue is not so much the initial purchase cost, but the full price renewals. That is why I did not renew my RS Enterprise license to Xojo Pro.

    – Karen

    • Fair enough. But I think you can agree that many (most?) hobbyists are extremely price sensitive. So, this means they don’t upgrade every year, nor do they purchase many 3rd party controls.

  2. “But I think you can agree that many (most?) hobbyists are extremely price sensitive.”
    Certainly much more so than than Pros…

    How much depends on their income from their day jobs and how much they are into it.

    ” So, this means they don’t upgrade every year, nor do they purchase many 3rd party controls.”

    About 3rd party controls I agree…

    As for Xojo license renewals all I have to go on is my own experience. Since I first purchased RB about 14 years ago, I have been current except in the long gap between RS and Xojo…

    – Karen

  3. “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.”

    That nails it. After eight years I have started to evaluate other products closer.

  4. Same boat as Karen (except unemployed for the last two years, and no, not getting any state support), and had a current license since 2003. License is still valid till September 2017. Xojo’s ridiculous upgrade policy (“value of my current licenses for upgrade purposes is calculated differently than other current licenses because it was bought when it was still REALbasic, so I don’t have a Xojo license” – WTF?) stopped me from upgrading.

    And I have Einhugur, MBS complete, MBS SQL, DynaPDF, and many more plugins.

    In my experience most Hobbyists program apps that help them in their work. I don’t know anyone who just programs for the fun of it (even though that seems to be how professionals view hobbyists). Hobbyists are not defined by what they do, but by who pays for it. We have to pay from our own privat disposable income, so of course we are more price conscious.

    At the same time much/most/all of our work is for non-profit. It’s not in our job description, we are not being paid for it. So we are in a worse starting position from both angles. That’s not a complaint but a simple fact of life, and we have to deal with it.

    I sometimes hear “professionals” say that they are happy to pay more to support Xojo. Then maybe they should just buy a few more licenses and use them to sponsor other people or projects. Like buy a Pro license for $699 and sell it to a hobbyist for $399.

    • Remember, this isn’t as much a knock against hobbyists/part-timers as it about who is Xojo targeting. Businesses can afford to pay more and I feel like Xojo is doing an awful job at attracting business owners.

      • While profitable businesses can pay more, upping the price would drive away many like me… The question of course is could they make up the revenue loss from the hobbyists who’s number I suspect is reasonably large.

        As you said we are price sensitive so many won’t “go along for the ride” with high prices.

        I do wonder how many they have lost already.

        Finding the best (for them) balance point would be tricky,and getting it wrong risky.

      • I didn’t take it as a knock against hobbyists, I just have the feeling that Pros (and Xojo?) have an impression of hobbyists that does not correspond to reality. In my experience (and as was evidenced by the “We are Xojo” column in xDev) they are mostly Professionals, just not making their living from programming.

  5. a grid control would be nice.
    I hate it to reinvent it from time to time by using a container based list.

    A native grid control on OS X could use NSScrollView and do scrolling much better than we with our own scrollbars.

  6. Basic controls i wish from Xojo

    1) Grid Control with column reorder, column freeze, row height, embed controls in cell
    2) Date/Time Control
    3) Reporting Tool with charting (like Crystal Reports)

    • 1) Agree
      2) Agree
      3) Sort of agree since I have my own reporting tool now. We could possibly add ChartDirector charting into it. Haven’t given any thought to how I’d accomplish it at this point but it’s an interesting proposition.

  7. One thing I should have added but forgot about until today when I had to work on a Windows project:

    Make the Windows experience on par to that of the Mac experience.

    The Xojo IDE is much better and more responsive than it is on Windows, in my experience. I’d rather wait to compile on the Mac, transfer it via the remote debugger, and debug rather than use Xojo in Windows.

  8. Fix the whole IDE experience for anybody who spends more than a couple of hours a day in it.

    The navigator UI needs to be fixed but how about the keyboard inputs? Try creating a property and setting its value using the keyboard shortcuts and tabs and you will notice the IDE will unintuitively throw your cursor at the code editor instead. Pointing and clicking is really nice but when I have to do that 100’s of times a day, it makes me wish I could replace the whole thing with Sublime Text or BBEdit instead.

  9. The “hobbiest” designation conjures up a lot of images that I don’t think are helpful. If people want to tinker around with a programming language and never create anything then they’ll gravitate to some of the many free options. Instead, I’d characterize the non-pro’s of Xojo as prosumers. We often makes useful tools for ourselves and others. Occasionally selling solutions but not relying on the income. To that extent we’re actually on-board with Bob’s view. The IDE can be restrictive. We can learn new tricks. We don’t need our hand held by things that will eventually bite us in the ass (database bindings for example). A nice MVC IDE wouldn’t scare us away.

    Sure, you’ll hear complaints. No change is ever devoid of objections. But you’ll drag us along if the changes are well documented and sensible.

  10. Although I agree with most of what Bob says here above and also in general usually, then I don’t fully agree with everything above. I don’t think Xojo should provide everything, instead they should focus on rock solid platform and not making decisions that make it a platform that only few eccentric users may or may not want. Make it mainstream platform and not a toy or hobbyist tool. (And Bobs points on that are right on spot)

    If you look at Microsoft Visual Studio, then you don’t get everything, there is no PDF writer, the Grids either don’t exist (depending on which framework you choose) or their pretty much not usable, many of the controls are bare minimum implementation. But it does not matter or hurt them since rock solid platform that focuses on the mainstream market ensures there is huge community providing those things, both free and not free.

    Sometimes it makes you stronger to do one thing well rather than doing all things poorly.

    • “Basic functionality needs to be rock solid”. Have been saying that for years. The rapid release model has not helped with that.

      As for “Xojo should not do everything, like a grid” … does this mean there might be an updated Einhugur grid control after all?

      • Considering options ! But definitely not giving promises. Most things are in pretty good shape and my own frameworks to build them fast have improved greatly lately, so we will see !
        (Though the bright times could be set back by Windows retina, it remains to be seen)

        My post above was more of Generic though and not related to my products. Thing is you can keep adding all the bells and whistles to the product, it can be either well done or not well done, it does not really matter if it has little or no effect on your user base due to fundamental issues that will hinder you from ever reaching to the big market. (some of which Bob listed above). And reason for not reaching the mass market is not lack of some controls or kits or features. Nor is it that Xojo is young, that argument does not hold any more. Xojo had same chances as Xamarin but Xamarin grew to be huge, Xojo did not.

        There are many good things in Xojo that really could do great things and the market is there. Every single time if I describe such tool then people brighten up and get exited. But its all gone once they realize the downside, the Toy-ish code editor and the origin of Basic. Origin of Basic would be fine if it was optional Dialect like in Visual Studio where you just choose your dialect and both generate equal result. There might be other issues as well but I never get there with them their gone at this point.

        Might it get some newbies as is ? Sure…. it might but it might also loose them some newbies (and looses them almost all the mass market). Reason why I say it might loose them newbies too is that I once met a guy who said he was going to start programming for him self to learn, he asked me what he should use, and I told him Visual Basic might be easy start (this was before time of Xojo in early days of Visual basic). 2 days later I met him again and he said he had talked to some other people and they had told him this is not what is used to make most real world applications, he had been told at the time C was what most companies use. That was it, he had no interest to learn something as a starter that was not something that was commonly used.

        • I guess the question is should Xojo be a successful niche product or should it go up against the big guns outside that niche…

          The latter has the biggest potential upside… but IMO it also has ten biggest potential downside. It could lose it’s niche and not make make it in the larger market or it could get popular enough to be acquired and extinguished that way.

          The niche it fits in now fits the needs of people like me reasonably well.

          I am not an IT Pro, but I coding has always helped me get my job done.

          I have used FORTAN, BASIC, Pascal and some other languages (Action! – old Atari 8 bit product, VGL- a language used in a LIMS product, Datatrieve- VAX database product)

          While Xojo has BASIC like syntax it is certainly not BASIC… But it’s syntax makes it more approachable and easier to learn, but does mean one has to code at a rudimentary level… It has most of the capabilities of modern languages.

          That makes it perfect for people like me for whom C type syntax (not concepts) is difficult (my brain just does not like trying to read it!!!!)

          Xojo has a special appeal to those like me who also work in an Xplatform environment and/or have a Mac at home.

          While VB may have a bad rep in the “professional” community it allowed a lot of people like me to get work done.

          These days which so much of the “professional” IT work being outsourced to India, maybe aiming at “prosumers” is not such a bad thing. If the product is good enough it will still attract some Pros as it is doing.

          You mention the possibility of Xojo supporting more than one language… I don’t think they have the resources to do a good job at that… and that would likely loss more customers than it would gain.

          • Yeah, not a fan of Xojo supporting more than one language either. It’s bad enough we’re going through the whole Xojo namespace framework issue. The last thing I want is to add an additional language on top of that.

            One of the knocks against Xojo is the size of the development team. It’s amazing how much they get done considering their size but at some point you have to wonder how much it’s limiting the speed of new development. Xojo has added web, iOS, 64 bit, and Raspberry Pi support and not added any new developers to the team (yes, I know they’ve hired contractors to help them out in a pinch but that sort of proves my point I think). If they’ve added so much new functionality why haven’t they hired additional developers?

  11. The language is fine, warts and all.
    The IDE or more correctly the code editor is trash.

    1. Contiguous code editor that allows me to use conditional compile statements on whole objects and/or parts of objects. Anything else is not wanted. WTH?
    2. Do not force me to use “editors” for simple things such as object/method/property definition. Anything else is not wanted. WTH?
    3. I have found my peace with the Xojo navigator. I don’t like it but I can get my work done. Mostly! If you are gonna put lipstick on a pig, you outta at least apply it well. Just sayin’

  12. And today they announced it’s completely free for small teams. Free in Visual Studio, on Mac and build for all platforms; mobile and desktop.

    This is bad news for Xojo. Very bad news.

  13. Also I played a bit with PureBasic (very fast) and SpiderBasic (aka Xojo Web). Especially SpiderBasic is jaw-dropping great.

Comments are closed.