Grateful for the Xojo IDE

I use Xojo every day and it’s almost my exclusive development tool.  I’m so close to the product it is easy to see the warts of the product but in reality it’s a pretty stable and easy-to-use system that’s mostly good for beginners and experts alike.  The documentation, while not perfect is useful and the example projects are decent as well.

I came to this conclusion after a couple of recent projects have taken me into xCode and Eclipse.  Where to even begin comparing these IDEs to Xojo is challenging because they are both similar and so different than Xojo.  In xCode I was porting some iOS Objective-C code to Xojo and working with a hardware library.  Eclipse is used by my son’s FRC robotics team to develop software for their robot.  In each case I’ve wanted to pull (what’s left of) my hair out.

I guess one of the biggest differences is that sheer number of options you have in both xCode and Eclipse.  So many options, I posit, that it’s difficult to figure out what they all do, and make it hard for beginners (like I was a few weeks ago) to get going.  I don’t make any claims in knowing them any better now than I did a few weeks ago either.  I got them to work and I simply left them in that state with the hopes that no future update wipes them out.

Don’t get me wrong, I’m still not the biggest fan of the Xojo IDE in comparison to the old Real Studio IDE.  This is mainly because of the Navigator and how spastic it’s been since it’s initial release.  Thankfully it’s working pretty well in the latest releases and I find myself not swearing at the IDE much.

I also know the plan is to make the Navigator work closer to the old project tab in Real Studio.  Truthfully, I’m looking forward to it and dreading it at the same time.  I *think* it will work better than the current system but I won’t know until I use it.  And by the time we use it, it will already be too late to make any significant changes.  I dread that we’ll be faced with some awful bugs that will take time to work out and I also dread that the workflow might actually be worse than it is now.  We just won’t know until it’s put in front of us.

Are there other things that I wish the Xojo IDE did differently?  Sure.  I despise defining methods in the tiny Inspector whereas in the Real Studio IDE it took up the entire width of the Code Editor.  I also wish there were faster ways to define methods since I’m forced to use the UI to do so.  You figure after 15 years of doing this I pretty much know how to do it by now.  Alas, I have no other option than to use the UI.

Some of the other editors are like this too.  The Constants Editor requires too many mouse clicks to work right.  I want more “hands off the mouse” options.  As far as I can tell, the Menu Editor has no keyboard shortcuts as well as FileTypes editor.  In both cases, I would almost prefer a Plist type editor.

From a simplicity standpoint, though, Xojo is easy to use and doesn’t let you do too many stupid things.  I wish some other IDEs would take that approach for newbies, but then I guess their approach is to throw people into the deep end and let them sink or swim.  Xojo  tries to be helpful in that regard.

Other IDEs have some cool features.  What features would you like to see copied from other IDEs into Xojo?

8 thoughts on “Grateful for the Xojo IDE

  1. Nice post Bob. I still have reason to use both the old Real Studio IDE and the Xojo IDE and at times the new one annoys the hell out of me. Development is not faster in the Xojo IDE, slower in some ways. One thing I have never understood is why the Properties list doesn’t have a view where you can see all properties in alphabetical order. When I used VB in the 1990s this was the norm and it made the properties list so easy to use. I spend too much time scanning up and down the list to find the one I’m after. It’s annoying. I raised it as an issue ages ago but it fell on deaf ears. And don’t get me started on not being able to sort the Navigator items into alphabetical order! That issue sucks for me as I have large business projects and importing them from RS into Xojo scatters the order. Nightmare.

    • I think this is where project organization (i.e. folders) can really help out. But then figuring out the ‘buckets’ becomes a chore. The fringe cases tend to make it complicated. But I could see wanting to order your items in alphabetical order would be helpful.

      Have you tried filtering the Navigator? That’s the one thing that’s makes it easier to use, IMO.

  2. I’m using webstorm and pycharm to write angular bootstrap flask odbc sybase web clients now. It’s a horrible mess compared to Reallbasic /Xojo. Count your blessings 🙂

    • I use PHPStorm daily and I don’t agree (granted WEBStorm may not be the same). I LOVE PHPStorm.

      I really appreciate PHPStorm’s easy navigation within a project and within the source. It’s fast and responsive (even with thousands of files that a modern framework consists of, once you have tweaked the default JRE settings to give it more memory that the default).

      Xojo IDE is a complete disaster here with frequent mousing over to the left project view and expanding and collapsing all the time. I always end up with tons of tabs in Xojo that are useless (or maybe I am stupid – why can’t I have one tab open with the Layout and one with the Code? The redraw when switching is horrible as is the change of focus when moving between tabs). Even with two tabs open in Xojo to the same thing, they both switch…
      PHPStorm’s double-press on SHIFT to open the “Search Everywhere” feature is AMAZING and I use all the time to go to files or to functions
      Pinning tabs is also something I use all the time (in combination with the function to “close all tabs but pinned”).

      The waste of screen real-estate in Xojo still baffles me. Grey and white areas and the stupid toolbar (that when removed makes the IDE, at least on Windows, look beheaded) Don’t even get me started on The Stupid Inspector with its poor redraw performance on Windows and sometimes funky way of loosing edits made.

      Give me a Project Navigator that doesn’t require me micro-manage the tabs.
      Give me a Project Navigator that is display efficient and easy to navigate using the arrow keys (like PHPStorm).
      Give me the ability to right-click a tab and do “Close Other” and “Close All but pinned”.

      The fullscreen non-nonsense feature of PHPStorm enables me to maximize the screen for what I should do – write code!

      I use both PHPStorm and Xojo on a 14″ 1920×1080 HP running Windows 10.

  3. “I despise defining methods in the tiny Inspector whereas in the Real Studio IDE it took up the entire width of the Code Editor. ”

    Amen to that.

    I understand the logic behind the change, but I don’t think they factored in the cost in usability. Sometimes you have to be pragmatic. The current IDE (and new framework) are too dogmatic at times.

    • I’m with you. I understand the logic behind it, but when it comes to usability I’m on the side of less mousing, and less traveling from one side of the screen to the other, and making things easier to read. Method declarations fail on all those counts.

  4. Hummm ….. Yes the Xojo IDE sometimes leaves me hunting for what I want. BUT I grew up doing coding where there was absolutely zero debugging help writing what looked like 8080 assembler code on a Datapoint system just before PC’s became prominent. For much of that period I did software development without a printer because I just did not have one that would interface with the Datapoint. The company was too cheap and I was driven to do what seemed like the impossible.

    Talk about primitive … the on screen text editor would not scroll backwards … you had to jump back some number of lines then you could scroll forward again from there. Eventually Datapoint released a text editor that had full forward/backward scrolling and I was temporarily “in heaven”.

    Later I figured out I could put the Datapoint back to back on a null modem with an IBM 3780 dumb terminal (card reader and printer) and print my program listings. Wow that was a great leap forward. I could sit with 25 pages of paper and a red pin to mark up a listing and then go make the changes.

    I would put 4000-5000 lines of code into a project that compiled into 16K. Some of the projects were real time async communications where I managed my own interrupts and ring buffers. Hey I could even dial the phone and poll remote devices on a schedule …. after I created a clock in my program to know what time it was. The OS did not have a clock when I started programming on this device.

    I learned how to just make do with the tools at hand.

    All of this probably made me a better debugger.

    So we get used to being nearsighted and wearing glasses. We get used to typing with a cast on one arm if we happen to have an accident. Many people learn to live with all sorts of “handicaps”. One of my “handicaps” is probably a less than perfect Xojo but I do get lots of useful things done in spite of the limitations.

Comments are closed.