Xojo Should Scream ‘Business’

With the recent news that the Freemium model failed to bring in the much hoped for additional revenue it’s worth taking a look at the short comings of the product and what can be done to attract not only more customers but, even more importantly, profitable customers.

Let’s be clear, this is not a hit piece against Xojo.  We have four full-time Xojo consultants that spend a vast majority of our time developing Xojo desktop and web applications for clients all over the world.  For all of its faults Xojo is a great tool that serves our customers well.  Can it be better?  Absolutely!  So please take this article as what we feel would help us make it an easier sell to prospective clients and what makes our lives easier.  I think these items might also attract those new, and profitable, customers.

The Xojo IDE itself has been the topic of more than a few of my blog posts.  Frankly, I hate the Navigator and how it switches Editors on you.  It steals the focus in odd ways and the back/forward history even after two years is still wonky.  The Navigator shows too much information when I don’t want it and not enough when I do.  Double clicking into objects makes sense but double clicking nearly anything else does not.

Many people complain about workflow issues and I can’t disagree.  I know I’m less efficient with Xojo than I was with Real Studio (the old version).  With Xojo I spend way more time mousing than I feel I should.  And many of the really nice features of Real Studio are gone from Xojo – especially in the Layout Editor.

At the 2015 Xojo Developer Conference they acknowledged that the IDE is not as good as it could be.  That’s an understatement for those of us spending all day long in the product but it’s a start.  The sad thing is that the IDE is so tightly coupled with the language that they can only fix en mass rather than incrementally.  This means we might have to wait a bit for these changes.  We can only hope that whatever the new design is it’s a signifiant improvement.

I would also argue that Xojo’s insistence of having a UI to create method definitions, properties, events, and so on, are a detriment to adoption.  I know of no other language that forces a developer to jump through the same hoops for declaring methods, properties, constants, etc.  The Code Editor only allows a single method to be displayed at a time so at best it’s clunky and I see no advantage to this design.  At that point many feel it’s more like a toy than a true development environment.  Does it help newbies?  I’m not convinced since plenty of newbies pick up other languages.

The people that can afford to spend a good chunk of money on upgrades and 3rd party tools are businesses.  Xojo should scream business at every step of the process but yet it doesn’t.  The Xojo website talks fast and easy but not ‘business’ and business is where the real money is.

The Xojo IDE has a built-in reporting tool.  It’s weak and I know only a handful of developers that regularly use it.  Most people abandon it and hit the 3rd party market (we sell a set of reporting classes for this very reason).  The fact that Xojo itself doesn’t use their own reporting tool for any report (that I’m aware of) is a shame.

Many businesses need to create PDF documents.  The main solution is a 3rd party plugin to simply create a PDF document.  An even more expensive solution (same developer) exists to view them.  Neither solution works with the built-in reporting tool.

Most businesses require some basic user input controls such as Word Processing, Date, Time, and Calendar.  Xojo has none of those so any business owner will immediately have to hit the 3rd party market.

One item that has come up for years is the lack of a good grid control.  I’m not talking about a listbox replacement but a true grid control that can show native controls in any cell.  Now I understand that making it truly cross-platform is hard but you’d think a company that makes a cross platform development tool would be up to the task.

These are just for Desktop apps.  Web apps have similar issues with an even bigger lack of standard controls out of the box.  The Xojo WebListbox in particular is very weak.  The WebSDK helps alleviate some of these issues but the 3rd party market hasn’t exploded with solutions.  But again I would argue that Xojo should be providing basic no-frills controls without a customer having to hit the 3rd party market.

I’ve had several discussions in the past couple of weeks with developers migrating away from FoxPro and FileMaker.  Xojo would be an excellent choice for them if not for some of the above reasons.  Data binding seems to be an issue for some and Xojo deprecated it a number of years ago.  I have no idea if it’s coming back.  I can argue that I’ve never used a binding system that’s been great but for many business applications it’s a way to quickly get up and running.  I personally think binding gives many developers a false sense of security but I also see how it can be used to quickly develop a complex UI.

Xojo database applications are also pretty dumb.  There is nothing that Xojo does to help you when it comes to table and field names.  At some point you have type in an SQL statement and you won’t know if you have an error until runtime.  By that point it’s way too late and it’s frankly one of the reasons why we developed ActiveRecord to eliminate many of the silly and stupid mistakes that are common to programming database applications in Xojo.

The Database Editor that’s built-in to Xojo isn’t very useful.  Yes, it can help create SQLite databases and attached to all of the supported database servers, but it’s features are very weak.  To the best of my knowledge you still cannot create an integer primary key field that’s auto incrementing.  No wonder why new people to Xojo are confused.  In some ways I feel it would be better if Xojo removed the database editor entirely.

Why would any business owner choose Xojo over any other development platform with the issues I’ve just described?  The fact is some choose don’t.  After 64 bit applications and fixing the IDE workflow issues I strongly suggest a heavy focus on attracting business users.  They are the ones that can afford the more expensive licenses and right now Xojo isn’t necessarily a tool that attracts them.

It sounds like I’m really pissed off at Xojo.  No.  I simply make my living with the product.  If even just a few of these issues are addressed it makes my life, as a consultant, easier.  Make Xojo a great tool for businesses and the non-professional developers will follow.

What makes Xojo a great development choice?  It’s a RAD environment that is easy to learn.  The language is easy for beginners to pick up and yet powerful enough for advanced developers to extend it.  It creates very good cross platform desktop applications for Mac OS X, Windows, and Linux, web applications that be run on nearly any computer, console applications that run on any computer (soon including Raspberry Pi), and it even lets you create iPhone and iPad applications.  Add in some better business features and what’s not to love? At that point Xojo screams business.

So what say you my fellow Xojo developers?  Are these worthwhile goals or stupid ones?  Did I miss anything?

15 thoughts on “Xojo Should Scream ‘Business’

  1. “The Code Editor only allows a single method to be displayed at a time so at best it’s clunky and I see no advantage to this design. At that point many feel it’s more like a toy than a true development environment. Does it help newbies? I’m not convinced since plenty of newbies pick up other languages.”

    Actually the structure the IDE provides for such things helped me learn the language and still helps me. It’s hard for me to get going without it and IMO it CERTAINLY helps make the product more approachable to those learning coding or those new to OOP. Staring at a blank page with no structure does make things harder for most to get going who are not full-time coders… at least that is true for me.

    Before I picked up RB I had codes is a few languages, but it had been a number of years and they were not OOP. How the IDE was structured really helped me with that.

    When I see class definitions in XojoScript I can understand them, but I would much prefer to use the IDE to create them.

    • I think the key here is that you probably don’t need your hand held now. I sort of agree that it might be good for learning but I never had any issues with other languages once I figured out what the syntax was. Why would Xojo be any different?

      Anyway, thanks for the input.

      • I’m with Karen on this one though I know most developers prefer their code in one long scrollable document.

        Problem is that the new IDE does not help to structure your work, but hinders it.

  2. Xojo is horrible for me. I can´t work under Windows with it. I´m working with the old RB Version from 2012 now and I won´t by a new Version until the IDE is like the old one.

    Xojo has over 4 years nothing done on Windows, the greatest sofware market in the world. Working with Touch-Screen or Metro Style ? Not possible. Change the Textfields with Cursor-Up and Down? Not possible. Accept numierc Text with minus? Not working like other programs. Mask for Fields? Not working with german numbers. Control the number Fields (accept only numbers from 2010 to 2015) ? No help for this. Accept only numbers in a listbox. No change to avoid wrong data with out large programing code. If you write bussiness programs you must “control the user” to aviod wrong data in your program. My users have not the time to seach the mouse and to click. My programs must work only with the Keyboard. Programing Shortcuts without MBS ? Not working by me.

    I´ve wrote work arounds for my problems with the basic controls, but I is this a good way for working with a RAD System ? I think not.

    The Xojo IDE is for people who worked only with a Keyboard not to handle.

    The IDE has so many bugs and errors that I cant think about to build my program with it. How many bugs are in the build exe, if the xojo-people can´t fix the IDE for working ?

    Greeting from Germany

  3. “The IDE has so many bugs and errors that I cant think about to build my program with it. How many bugs are in the build exe, if the xojo-people can´t fix the IDE for working ?”

    Frank, this is a silly statement. Enjoy hyperbole much? The IDE is an executable and any bugs with it are the fault of the programmers – not the tool itself. Give us some Feedback Reports for specific bugs that are from built executables and not related to the programmer?

    Though I will say that I feel that the experience in Windows is less than what it is on Mac OS X. I’ve been spending a lot of time developing in Windows recently and I don’t think it’s a close experience.

    • The IDE is like a bussiness-card. If are on the card errors, do you trust the company? Let you build a house from a company, who can´t print a proper bussiness-Card?

      People, who want to lern/work with XOJO are schocked, when the IDE produces errors on simple actions like STRG-C, STRG-V on windows.

      I worked with Real Studio. I like the improvend from the language in XOJO, but I can´t work with the new IDE. The IDE is not logical for me. I know many XOJO-User, that think like me.


  4. Bob, like you, I make my living writing applications. And like you, I have 5 developers in house that work with XOJO daily, some more than others. I spend pretty much most of my day with XOJO and like you, find the IDE a travesty.

    While I haven’t been able to find anything better for distributable (COTS – commercial off the shelf) applications, I have been using Filemaker in house for my own needs.

    They recently released version 14 and make some excellent changes to the IDE aimed specifically at developers. While you can still have it walk you through writing scripts (mouse intensive), they have now completely re-written the “scriptspace” so you can pretty much write scripts without ever using the mouse. Filemaker is light years ahead of XOJO in some of their design tools and they could learn from Filemaker if they spent a little time with it.

    No question that you give up some flexibility with Filemaker compared to XOJO, but if I was writing applications onsite for clients, I could do it in a fraction of the time it would take with XOJO.

    I previously used Visual Foxpro for application development and it was superior in many ways to XOJO, unfortunately, Microsoft in their infinite stupidity stopped supporting it.

    XOJO could easily improve the development workspace by just making the navigator and properties, and library tear off panels so you could arrange them, or get rid of them, for optimal workspace.

    • Are you talking only about the Xojo IDE or do you comments also apply to the REALStudio IDE as well?

      In my post above I was replying to Bob’s comment about a pure Text based editor vs an integrated IDE that knows about classes,modules and provides structure for entering methods and properties.

      That I like because I am more a visual person than a code person and I would rather not worry about syntax and code structure more than absolutely necessary…

      That said when specifically taking about the Xojo IDE I do not care for the Navigator for the same reasons Bob mentions. Also tab behavior and undo in this IDE are horrible compared to the old.

      In terms of having two methods in the same window, the old IDE let you do that at least within the same class module so that is not an inherent limitation of an tightly integrated IDE… Just the way the Xojo one was implemented.

      Basically I am saying is that the issue for me is not that I want to write code in a generic text editor (i don’t I woudl be even less productive), it’s how the Xojo IDE was designed and it’s lack of productivity with respect to the REALStudio one.

      – Karen

      • One of the things I loved in the Real Studio Layout Editor was when you dragged a control, say a Pushbutton, onto the Window and you started typing it automagically put that into the Caption. Now that’s at least a two step process. You can either find the little Edit button (some controls seem to take two mouse clicks to get this working) and do it inline or go to the Inspector and find the Caption property. Either method is slower than the old Real Studio way.

        The Inspector is clearly a step backwards from the Real Studio properties list in terms of usage. However, if there are going to be more things like AutoLayout in the future I don’t see the Properties List as being up to the task. Again, there must be a way to get the best of both worlds.

  5. Your comments are spot on. I’ve never made or sold a sale-able app on RS/Xojo but I’ve been buying and upgrading the product since 2008 (I know, I am nuts).

    What keeps me from pulling the trigger? Exactly the things you mentioned. I work full time in the .NET world but would LOVE to make desktop apps for Mac/Win/Linux in my spare time and have an unrealized dream of doing so.

    The problem is that most of my ideas are business related and after easing my way through .NET, I find things like DBs, grids, and reports to be a huge comparative pain in Xojo. Now, I could and should take advantage of 3rd party apps but I really like the idea of 3 platforms being 1st class citizens and most 3rd party apps can’t stretch to that red-headed stepchild called Linux for very good reasons. Also, spending a couple grand for an IDE + all the plug-ins is not what I want to do for a side hobby.

    It is easy to say from the outside, but I think a lot of talent/effort was wasted on the very immature iOs and Web interfaces when things like Cordova/PhoneGap make that sort of thing very quick and easy and much more compliant with web/UI standards.

    Imagine if that talent had tightened up the IDE so it exceeded RS and made business processes a first class citizen. Xojo would have made hay from Microsoft’s platform fragmentation and kept a better handle on Apple’s tightening grip on their closed garden for desktop apps Hindsight is 20/20 I guess.

    Hopefully the good folks at Xojo will take your post to heart and eventually provide me the kind of IDE that I was hoping I had paid for over the last 7 years.

  6. “The sad thing is that the IDE is so tightly coupled with the language that they can only fix en mass rather than incrementally.”

    Why??? I don’t buy that argument at all. Or can you in your apps make changes only en mass?

    • That was direct from Geoff at XDC. Paraphrased, of course, and I might have the inference wrong.

      I think the real issue is that the Navigator touches EVERYTHING in the IDE. You can’t just change that it without having to touch everything else. The IDE tries to be helpful and guess what actions you’re trying to do.

      I don’t disagree with you, though. It seems like poor design and implementation if you can’t tweak some things without it having major side effects.

  7. Bob,

    Great article as usual. I think the real issue here is there is a significant disconnect between what Xojo customers want and what Xojo thinks they need. The company is simply too small to be developing all these new projects while the meat and potato products that are core to their business suffer. Instead of iOS and Web (or drop one of the two) they could have fortified the existing products with your list, which I think most can agree is a necessary feature set to be added to the product. Now that those are released they are sure to take additional resources just to maintain and get them up to user expectations, if that can even be done.

    To me their market is, or at least should be, business, business, business. Those are the people that can shell out the bucks year after year to keep the revenue flowing.

    I love the product and will continue to use it but it certainly seems like we’re going through a rough patch….

  8. Like Dom I have been updating based on an unrealised dream. I have just designed the iPhone UI for a business app and I am wondering what I should use to implement it. Xcode + Swift (not really familiar), VS/C#/Xamarin (very confident) or Xojo (I would love to but fear lack of features, support). So what do I want as a business developer? I want to stay with Visual Studio because it gives me everything, either from MS or often free, extensions. I can write code and generate template code using T4 for Xojo, I can manage source control and I would like to be able to throw it all into a Xojo compiler – but no, I can’t. So I would like to extend the Xojo IDE to do extra things but no, I can’t. I would like to add support for Apple Watch, but no, I can’t. I have another project that would use a Raspberry Pi desktop app, but no, I won’t be able to create GUI apps.

    The business world for developers is moving towards compilers as a service (like Roslyn from MS) and coding in browsers or lightweight but customisable editors, I have actually written a web application that works this way, so I may have to move away from my comfortable Visual Studio more often. At the same time VS is adding support for IoT and cross platform. So what does all of this mean for Xojo? Well, if they can’t add features for IDE, language, device, etc themselves then why not open things up? Perhaps separate the compilation from the IDE so we can use a different choice of editor/IDE. Perhaps compilation as a cloud service? Perhaps an open extendable IDE?

    I have a place in my developer’s heart for Xojo, but Xojo is like an old friend that often disappoints or a bad child with over protective parents.

    Bob your four full time developers are probably a very respectable development team for a Xojo shop but it is definitely a small team in the business world for other languages/environments. I would love to see Xojo become huge but it would take resource that Xojo probably does not have and I am sure that the directors are aware of this. So it seems like the choice is to stagnate by always being too little, to late and too restrictive or open things to allow real (not some strategic half measure) community participation.

    I do agree that Xojo should scream “Business” but few businesses are going to take it on as it stands when there are so many substantial alternatives with substantial professional followings. There is some real changing to do before the scream can go out…

Comments are closed.