Sunday, June 15, 2014

Saying Goodbye to Xojo on Linux: Breaking up is Hard to Do

I've been using the Xojo programming language for a few years now.  When I left Windows for Linux, I began looking for a decent, easy to use, cross-platform language that not only allowed me to compile my software for different platforms but also allowed me to write it on different platforms too.

Having been a C# developer for a number of years, I naturally gravitated towards Mono. Mono was good and handled a lot of what I was doing with very little problems. But I didn't like the 'Microsofty' feel to it or the fact that support for it appeared to be declining on Linux as a whole. There were also signs that Mono was about to start focusing less on the desktop and more on mobile development, which was cool, but not a good sign for my future desktop development projects.  So, pretty quickly, Mono was out of the game for me.

Then, one day, I was having a conversation with a friend and was complaining about my development woes. He was exploring Xojo (then called RealStudio) and recommended I try it. He gushed about the cross-platform nature of both the code you wrote and the IDE and, pretty quickly, I was hooked. Sure, there weren't a lot of contract jobs asking for Xojo developers, but I didn't do a lot of contract work anyway. When you sell software for a living, most people don't really care what language it's written in. So began my love-affair with Xojo - a love affair that continues to this day, mind you.

You might be asking yourself: if he loves Xojo so much, why is he abandoning it on Linux? Good question and there's an equally good answer for it: on Linux, Xojo is basically unusable. 

I'll be the first to say that Xojo has always had its share of bugs. It's not nearly as mature as languages like C# or IDE's like Visual Studio. But it's been totally usable for a number of years. Then, I started to notice problems on the Linux side of things. First, the 2012 IDE would simply segfault and crash when started on Linux, then exceptions would fall through and be impossible to catch, the compiler would declare variables as 'undefined' even though I'd defined them two lines before and within the current scope, etc.  All in all, it meant that I often had to hang behind a version or two because something was always wrong with the current one. 

When I heard that Xojo was completely rewriting the IDE and improving some language features, I was excited.  This was where they're going to improve things to a more usable state on Linux, I thought. This was finally going to be us Linux devs time to shine and software written in Xojo ON LINUX would flood the marketplace.

Not quite.

Xojo released a stellar IDE with a lot of fixes for problems (exceptions work reliably and the IDE doesn't segfault!) Unfortunately, new bugs were introduced and it doesn't really look like Xojo is that interested in fixing them for Linux users. The showstopper for me is the IDE speed problem. The short of it is that, as you use the IDE, it continues to get slower and slower. After a few minutes, you'll type a whole line of code before it even shows on your screen. Moving controls within the visual editor is painfully slow too with controls often losing focus while you''re moving them and dropping back to the form.  I honestly can't even begin to tell you if there are compiler bugs in the Linux compiler because, well, I can't actually write enough code to test it out.

So I'm abandoning Xojo on Linux. I might install it in Windows and use it to compile cross-platform but I'm giving up on my dream of having Xojo run smoothly enough on Linux where I can do my primary development there. For Linux, I'm going back to C# and Mono. It's not my preferred choice but it works and it's stable.  I hope that Xojo takes a stronger interests in us Linux devs and actually fixes the issues it has on the platform but it just doesn't seem to be a huge priority for them.

Now, what I wrote above sounds like an awful lot of complaining and it is. Xojo is asking professional developers to spend upwards of $1000 or more for a product that you will find unusable when you install it on Linux.  I don't completely fault Xojo for this though.  Xojo use on Linux is probably a minuscule part of their user base. Mac seems to be tops with Windows being second. They don't make a lot of money on Linux and there is no compelling reason for them to invest engineering time and resources into making it a world class product. There are a number of reasons most Linux devs don't use Xojo and stability has nothing to do with it. So, even if Xojo fixed the problems, they still wouldn't make money and I definitely don't expect them to spend time and money for such a little payout.

Still, I'm a bit sad. I really like Xojo and I love how fast it is to develop with. Perhaps I'll buy a Mac and use that as my development machine just so I can enjoy Xojo.  But I sure wish I didn't have to. Maybe it's a case of wanting my cake and eating it too. Maybe I want too much from a company that doesn't make much money from my platform of choice. Perhaps I and my choice are the problem.

But perhaps...just perhaps...it will get better.


No comments: