Why I Hate the Xojo Navigator

I’ve been using Xojo since it was first released to Alpha testers in early 2013.  There are many things I like about Xojo but the Navigator isn’t one of them.  In fact, the more I use it the more I despise it.  The reasons are many and varied and in talking with other long-term users they have their own hot button list.

Lets give a little history of what the Navigator replaced.  In REALbasic and Real Studio there was always one tab that could not be closed – ever.  This was the Project Tab and it only contained the project items in your project.  This included windows, menubars, the application class, any classes or subclasses you created, interfaces, Build Automation steps, etc.  You can then organize however you wanted by recording them and adding folders for organization.

The interface was simple.  You double-clicked on an object and it opened in a new tab into whatever editor was required.  Very simple but many developers, myself included, commented on what a pain it was to manage the resulting tabs.  You’d open objects and eventually you’d run out of tab space or the tabs were so tiny you couldn’t read the names of them.

But there were built-in ways to help manage tabs.  Contextual menus let you close other tabs, or all tabs (except the Project Tab) and, in general, it wasn’t difficult to deal with.  It was simple and there was a very clear division.  The Project tab always had objects and once you double-clicked into it you were taken to an editor.  That might be the Layout, Code, or Menu editor where you got into the details of that object.

In Xojo they introduced the Navigator and it was supposed to make our lives easier and eliminate those pesky tabs.  It contained every item in your project.  Not only all the objects, but you can expand the object to see every control, method, event, constant and property.  As you double-click the object tree it exposed more level of detail.  Click on a control on a Window or Page and it opens the Layout Editor.  Expand the control to show an Event and click on it and it opens the Code Editor.

All-in-all it *sounds* like an improvement, right?  In my not so humble opinion, absolutely not.  Any project of any size will contains hundreds of objects.  Each of those objects could have dozens or more other objects and depending upon what the object is (like say a module) it could conceivably contain thousands of additional objects.

Meanwhile, this simple hierarchical list keeps getting larger and larger as you keep expanding objects.  The scrollbar thumb keeps getting smaller and smaller until it’s as small as it can get.  This means your list is freaking huge!  Conceivably you have all your widows in a single folder but now the listbox subclass you’ve been working on is somewhere in this huge list.  Good luck finding it by scrolling through the list.

Despite the fact that tab management was a factor in designing the Navigator, Xojo still lets you put objects in tabs.  There are two ways to do this.  The first is to contextual click on the object and say open in new tab.  The other way is to set it in Preferences to open double-clicks into a new tab.

Currently, double clicking on headers (like Events, Methods, Properties, etc) also opens into a new tab rather than just expanding that section (in the same tab).  Tab locks are supposed to keep you from navigating away from the object but this doesn’t work in R1 and R2.  Presumably this will get fixed at some point but these two bugs make tabs less than ideal and difficult to use.

After months of working with Xojo I find myself getting lost a lot and trying to ‘find’ where I am.  In the effort to make this easier they added filter field so we can easily find our objects in the list.  It works but there’s a caveat.  If you’re trying to find that lisbox subclass buried in the list searching for ‘list’ will bring up every object, method, property, etc., that contains ‘list’ in the name – and you’ve lost the hierarchy so you’ve lost context even though the name is fully resolved.

Because the Library doesn’t hold your control subclasses (like the old Real Studio control palette) you have go hunt them down in the Navigator.  If anything, this is the one spot where the filter works well…assuming you know the name of your control.  For us this isn’t a big deal because we (mostly) adhere to fairly strict naming conventions but I know plenty of people don’t and if you’re using 3rd party controls who knows what their naming conventions are.

One of the nice things about the Navigator that the old Project tab couldn’t do was cut, copy, and paste multiple items.  The Project tab only let you manipulate one object at a time where the Navigator theoretically lets you do multiple objects at once.  I say theoretically because it doesn’t always work.  Practically the only way I can get it to work (consistently) is if I use the contextual menu to manipulate the items.  Use the keyboard shortcuts (helpfully listed in the contextual menu) and you might be duplicating an event (thus causing it to become a method and thus a compiler error later on).

The old Project tab showed you the super of all of your subclasses and showed you the interface if it had any.  These were shown in columns to the right of the object name.  Sadly, this was left out of the Navigator and the only way to see what the super and interface of an object is to hover the mouse over the object until the tooltip shows or select the item and view it in the Inspector (assuming its open).  Even then, interfaces require yet another click to get that information in a separate dialog.

The Navigator is broken down in to three distinct groups:  Contents, Build Settings, and Run.  Run is only shown when the user is attempting to debug an application.  You’d think this wasn’t a big deal but unfortunately finding that Run section in a big list can be challenging.  One quick hint is to click the Resume button so it switches to the proper tab and highlights the Run section.

The Contents section is mainly what we’ve been talking about.  You can collapse this section but I have to wonder what the point of allowing the user to collapse and expand the entire contents of the project really is.  I can think of no legitimate reason other than to say that it’s possible.

The section that really burns me is Build Settings.  When you click on an item in this section it forces the Inspector to open displaying the settings for that item.  The Shared Settings used to be in the Application object.  While one could argue that the application object wasn’t the right place to put them, they were only slightly obnoxious there.  Putting them in a list that gets outrageously hard to deal with make it an odd choice.

The pseudo looking checkboxes are indeed checkboxes (no where else in all of Xojo is this control used) to control which platforms you build for.  If you’ll remember this used to be in a separate dialog called Build Settings.  You typically used it sparingly because how often do you need to change your app name?  Again, putting this in the Navigator seems like a choice that started with the sentence, “Wouldn’t it be cool if we put dialog type information IN the Navigator?”  The answer should have been a resounding no!

In Real Studio the Build Automation settings had their own object.  In Xojo, they are now in the Build Settings section.  This sort of makes sense as the platform choices are already there.  However, when you add a Build Step to you project it’s placed in the Contents section and to use it you have to drag it into the target of your choice.  This is not an immediately obvious choice.  Presumably if you don’t drag it to the target of choice it performs those Build Steps for each platform (I have not tested this).

Add on top of all this is the animation in Mac OS X.  Change a selection and the highlight bar gracefully transitions from the old selection to the new one.  Expand an object and you can see it populate.  Eye candy pure and simple and completely superfluous to me as a developer.  I highly encourage you to turn Animation off.  All it does is slow it down.

I remain unconvinced after half a years worth of use that, in its current form, the Navigator is worth the time and effort Xojo Inc put into it.  A lot of effort went into the animation effects when basic functionality is either missing or currently broken.  All-in-all the Navigator is a good concept that falls far short of expectations in the rigors of all day use on medium to large projects.

Am I wrong or do you agree?  What do you love or hate about the Navigator?

99 thoughts on “Why I Hate the Xojo Navigator

  1. The fact that it’s #3 in less than a week is interesting. Yes, there are some people that are okay with it but it seems obvious that there are more folks not happy with the Navigator.

  2. Bob Keeney :
    @Brendan Murphy
    Brendan, where are you finding the numbers in Feedback?

    In the feedback application select the menu item “View > Customize List Columns” and add the “Points” column.

    Alternatively, the numbers are listed in your top cases for the cases you have in there.

  3. Hi all,

    I fully agree with Bob.

    Having to work efficently I’m back to RealStudio 2013r2.

    Some years back I had to decide for a new Programming-Language, and I wasn’t really sure if RealBasic was the right choice because the IDE back then had it’s naughties. Well, it worked out and RealStudios IDE became better and almost stable (some issues we all know about I can live with).
    And now there’s the new IDE and I had a deja vu. This time it’s more the concept itself though.
    I really wonder why professional people making a product for professionals give optical, place consuming gimmicks more priority than functionality. That works with consumer-products, but here is IMHO the wrong place for that kind of thinking.
    Most valuable to me is TIME, and I’m not willing to spare it on a development-ide.
    So Xojo is a fully “no-go” atm for me.

  4. Rolf Genster :
    I really wonder why professional people making a product for professionals give optical, place consuming gimmicks more priority than functionality.

    I have quoted the biggest misconception that you, myself, and others have made. Xojo does not target professionals, they target hobbyists. Xojo is happy if professionals are around but don’t really care about their needs.

  5. Bob Keeney :Correction. Now #2.

    Well, it made short work of the 64-bit support entry. I really hope they address this (and get rid of some of the eye candy while they are at it). I really want to embrace the new IDE, but I just find the 2012r2 IDE so much more cleaner, easier to navigate, and more productive. Surely they can see that somehow the train came off the rails and they need to fix it.

  6. Christian :
    I have quoted the biggest misconception that you, myself, and others have made. Xojo does not target professionals, they target hobbyists.

    The Navigator, as it currently exists, does not make the product attractive to hobbyists… Remember no one has to plunk down any money until they are ready to build… In just about any project that does anything significant the pain of the Navigator will be felt.

    Looks do matter to just about all target audiences (good looks equated with more professional)… but not more than functionality

  7. Karen :

    Christian :I have quoted the biggest misconception that you, myself, and others have made. Xojo does not target professionals, they target hobbyists.

    The Navigator, as it currently exists, does not make the product attractive to hobbyists… Remember no one has to plunk down any money until they are ready to build… In just about any project that does anything significant the pain of the Navigator will be felt.
    Looks do matter to just about all target audiences (good looks equated with more professional)… but not more than functionality

    I think all the eye candy detracts from the looks. Don’t forget how garish the Inspector looked with those huge, bright blue input buttons and such, and the chiseled font in the Navigator in R1. The animation on the Mac is just not practical in an IDE environment. Its like they got carried away with visual items that probably looked good by themselves, but put them all together, over the top. I’m not against change from the RS IDE, which was starting to look dated, but I’d prefer functionality over form and to be understated where possible.

    And I don’t mean to beat up on the effort, it takes guts to make big changes to address market concerns. I can’t tell you how many times I’ve had to rip something out of the interface of my product because I really liked it, only to get some blow back from my customer base. Rethink the Navigator, tone down the eye candy a bit, fix some bugs and put back in some things that users have mentioned they miss and it will be fine.

  8. Christian :

    Rolf Genster :
    I really wonder why professional people making a product for professionals give optical, place consuming gimmicks more priority than functionality.

    I have quoted the biggest misconception that you, myself, and others have made. Xojo does not target professionals, they target hobbyists. Xojo is happy if professionals are around but don’t really care about their needs.

    Indeed, it is my impression. It feels the way the product is designed.

    When you look at a product like Wakanda, you see that each new feature is designed for professionals. For example, their webListbox is designed to automatically process very many lines. It’s hard to do, but they knew it was important to their customers. Processing database is also much more productive, because again, the productivity and the data is at the heart of business applications.

    Xojo seems to have always had a lot of hobbyists customers, but there are now more and more business customers, the two types of customers are not easy to manage together.

    To satisfy professionals, Xojo should do fewer things, but better, focus on specific needs, such as processing databases, security, web (today’s true multiplatform). But it is not easy, because it displeased hobbyists, some professionals also, because xojo must make painful choices.

    I also think Xojo should be much more expensive, at least for the professionals, because Xojo needs more resources, this is very important.

    Although I think that navigator history is out of proportion for a first version that comes out, I do think that Xojo should better target professionals.

  9. I spent a good 90 minutes on a video call with Geoff Perlman, CEO of Xojo this afternoon. I felt it was very productive as I was able to communicate the level of frustration that I (and many others) feel with the Navigator. I was able to address specific questions that is hard to do via text.

    It was very obvious that Geoff cares deeply for the user experience and that his team will address our concerns. Changing the IDE is not quick and painless and any changes will have to be thought out carefully.

    Be patient. They’re listening.

  10. What is good for the professional user is good for the hobbyist and also the other way around. Professionals like things that make their lives easier just as the hobbyist does. Clear well thought out UIs don’t have to be either/or situations. In this thread we have seen hobbyists say concerning the scalability issue of the navigator that they thought they were doing something wrong when they got lost in the sea of items. Lacking experience they assume they were idiots for not understanding (thinking the were “holding it wrong” — Steve Jobs). So I think it is incorrect to say you you can’t have it both ways in this case and then choose features and styles which only appeal to the hobbyist. Eventual those hobbyist grow up and code like pros.

  11. Bob Keeney :
    I’m being accused of enticing a mob mentality and having caused at least a 6 month delay in the release of Xojo.

    The untold story here is that it took them a lot longer to develop the new IDE than they had planned, which resulted in the cry for another RS release. Why did it take longer? The same reason it takes me a lot longer to get the same functionality in RS/Xojo than I can get from a 15 year old development system (my former system). RS/Xojo is not a RAD, it is only an AD (for the uninitiated, the “R” stands for “Rapid”). Especially when talking about database centric applications.

    If it weren’t for my desire to target Mac, and now Web, I would still be using my 15 year old RAD system. I wish I could spend time evaluating other options, but it’s taking so much time just to get my current projects completed that I can’t afford to look elsewhere!

  12. I posted this on the forum, but having to manually sort the Navigator is ludicrous. It’s like they forgot that they can actually sort in RS. OMG, that is such a blatant oversight that I really question who’s asleep at the wheel, or if there is anybody at the wheel.

  13. John :
    I posted this on the forum, but having to manually sort the Navigator is ludicrous. It’s like they forgot that they can actually sort in RS. OMG, that is such a blatant oversight that I really question who’s asleep at the wheel, or if there is anybody at the wheel.

    I have never wanted to sort the Navigator or old Project tab… And IIRC the project tab was not sortable either. In both cases i want to be bale to rearrage it any way I want…

    I don’t think it was forgotten… I think it was conscious decision… one I agree with.

  14. Karen :

    I have never wanted to sort the Navigator or old Project tab… And IIRC the project tab was not sortable either. In both cases i want to be bale to rearrage it any way I want…

    Not true. You *could* sort it if you wanted to by using the listbox headers. Like you, I rarely wanted to, but you could.

  15. I started using RB over 12 years ago and i never knew you could sort the project tab… it never even occurred to me to try!

  16. Karen :

    I started using RB over 12 years ago and i never knew you could sort the project tab… it never even occurred to me to try!

    I’ve done it by accident once or twice over the years. I almost always regretted it afterward. 🙂

  17. The untold story here is that it took them a lot longer to develop the new IDE than they had planned, which resulted in the cry for another RS release. Why did it take longer? The same reason it takes me a lot longer to get the same functionality in RS/Xojo than I can get from a 15 year old development system (my former system). RS/Xojo is not a RAD, it is only an AD (for the uninitiated, the “R” stands for “Rapid”). Especially when talking about database centric applications.

    There is some truth to this. This is, in part, why we developed ActiveRecord. Currently the Xojo compiler knows nothing about your database. It can’t even begin to be smart about it. ActiveRecord will at least do datatype checking and autocomplete of table/field names for you.

    I know Norman talked about something similar to ActiveRecord at RealWorld 2012 but until it’s actually in the IDE it’s not worth talking about (IMO). And I suspect that they’ll only support SQLite (at first). Currently, ActiveRecord works with SQLite, MySQL and PostgreSQL and supporting other databases isn’t hard to add in.

  18. I agree, Bob. Xojo appears to be structured to appeal to users of XCode (a horrible IDE, IMHO). I sorely miss the old tabbed structure with the separate project page – vastly superior for organization and workflow. My projects are all large, and I have to use the search function almost every time I need to find a method to edit, which is totally ridiculous, a real waste of time. I hope they bring back the old structure. Thanks for the write-up. – Aaron

    • Sign up for the Feedback report. Write an email to Geoff at Xojo Inc. Voice your displeasure.

      I am a single voice and if you strongly believe that the Navigator is as misguided as I think it is then you need to do more than just make comments on my blog. 🙂

  19. I’ve been very silent on this issue, but I kind of want to share something about the history of the navigator. I don’t want to go into too much detail, but the navigator did not turn out how I originally intended. My inspiration for the navigator was Coda’s sidebar. In that sense, it would have worked much more like the Real Studio project tab. Putting all the code content inside each project item was an experiment, but after some time – well before the alpha – it became clear to me that there would be too much content. We’d be introducing too many hierarchical levels. I was primarily concerned with horizontal space and not having enough room for item names, but it was obvious vertical space could be an issue as well. Geoff and I discussed it, but I wasn’t successful in making my case.

    I think the reason we haven’t seen a response is that it isn’t an easy problem to solve. And of course, sharing details isn’t a wise idea before release. I know if I were still designing the IDE, although I don’t have an obvious solution, I’ve had some ideas I’d be exploring. You can’t just rip out the code content, it has to go somewhere else. Adding another column isn’t a practical option in my opinion, you’ll just increase the required horizontal space which is already at a premium. It requires something clever.

    Personally, I don’t have a problem working in the IDE at all. But I’m admittedly biased.

  20. Thom’s post prompted me to download Coda 2 – I haven’t looked at it for a while. I must say I’m not a fan of it either – I don’t see it as logical at all and the split views are not good for screen real estate. The breadcrumbs are nothing short of annoying – flicking between varies contexts and just not behaving intuitively.

    But to be honest, I’m not sure what Panic are doing with interface design, we’ve been Transmit users for years and I believe they totally wrecked the GUI in the new version – the old one was MUCH better.

    Now before being accused of hating everything new, I should point out I really like the way the new Xojo IDE looks, it’s just so broken in navigation that any advantage is swallowed by the negatives.

    Oh, and prompted by Bob, I’m writing to Geoff to explain our reasons for requesting a refund.

    • Funny you should mention this. I had the opportunity today to look at Coda version 1 and Version 2 today. I’m with you. I have no friggin clue what Panic is trying to accomplish with Coda (and I actually own the darn thing). Oh, and I’m still using Transmit 3 because I think they butchered the interface in version 4.

      In other words, I’m not sure that using Panic as the definitive source of good UI design is necessarily a great idea. Not sure I’d say that xCode is either so I guess Xojo gets 2 strikes in copying someone elses design.

  21. I haven’t looked at XCode for a loooong time – way back when we did some ASS applications when there was Pproject Builder and Interface Builder etc. In the current XCode I can see the similarities with Xojo and I can see why people complain about it.
    I’ve been doing some update in RS this morning and as much as it looks a little tired compared to the newer IDEs, it still makes perfect sense in operation. Double click something it opens, double click an item it opens the code editor…

    I’m sitting with Xojo now, double click a window and I have to click again to add events. I click on a text area with no events and I get… NOTHING. It has no events but it’s not asking me to add any either. I double click App and get a ‘No Editor’ window – it just doesn’t make any sense. I think the adding events part is very buggy – it works sometimes. Why, oh why, can’t we just have the events already there and be done with it? Any time I’ve added events I’ve aded all of them to save time – so why not have them there from the start?

    I need to stop now, I’m getting frustrated. Xojo just went to the bin again.

    • Right click is your friend. Double click means different things in different places. I have the pref set for double click to open in a new tab.

      So, when I double click a control in the Layout editor it will invoke the Add Events dialog. But if I already have an event (any event) it will open that first event in the Code Editor.

      If I double click the control in the Navigator it opens a new tab and selects that control. I consider this to be a worthless option.

      If I double click the method/events/properties headers it agains opens it in a new tab. Again, I consider this to be worthless (even though it’s consistent).

      The Navigator is just way too complicated with it trying to figure out the focus for me (note that Real Studio did this too to some extent just not as bad). It’s slow (even with animation turned off) to the point where I change an object name in the Inspector, hit tab, and select another object in the Navigator and it can take a second for the selection to actually happen.

      The fact that keyboard shortcuts are incredibly unreliable says to me that there’s too much magic behind the scenes. It’s a control that’s trying to do everything which is just going to be impossible to do it right.

      I ask this question: They had an extra year to work on the IDE. Presumably they had different iterations that worked differently. How BAD were those iterations where they came to the conclusion that the way it works now was good enough to ship?

  22. “How BAD were those iterations where they came to the conclusion that the way it works now was good enough to ship?”
    I’m not convinced they thought it was good enough to ship. I think they just had too because of the market realities of being so much past the originally intended release date.

    I’ve just got a really bad taste in my mouth over this whole thing. As much as everyone is complaining, if you works in Windows as your primary development machine, it’s even worse. I think they would have been better off just slapping a code of paint on the old IDE, keeping it roughly functionally the same, and putting all those cycles towards iOS, LLVM and 64-bit. I know I have read that some things had to change to move forward, I just can’t in my wildest dreams believe that list included changing up the Navigator so much that many long time RS users think it is broken. Just don’t know where we go from here, fixing the shortcomings of the Navigator is not going to be trivial. I’d give anything for an RS 2012r3 to get Cocoa in a final state non-beta state.

    • Mel, you may be right. They might have HAD to ship regardless of how they felt about it and that it was simple matter of economics.

      I believe that the current Navigator is simply too complex. Multiple selections. Multiple editors. Showing everything all at once. Starting with complexity is always a bad thing.

      Making it simpler, like making it work more like the Real Studio Project Tab would do it, in my opinion. You’d cut down on the things that it MUST display and you get into the details by selecting the object (whether that is by simple selection of double-clicking I have no idea). Hopefully Xojo Inc is making the necessary modifications to satisfy us.

      I can tell you from personal knowledge of the company that the engineers that work on the IDE are not the same that work on the compiler and frameworks. Sure, there is *some* overlap but for the most part those are separate people. iOS, 64 bit and LLVM are all coming. Not as fast as we would like but it’s coming.

  23. For me REAL.studio always had three things going for it.

    Two are the easy syntax and object orientation, but then they share that with Python (which is very big in my area of biology).

    What clinched it for me was the the IDE which was far superior to anything else I had tried. It seemed to follow a simple design philosophy: everything you need should be immediately available or accessible by just one click.

    Enter Xojo. Now everything that used to need one click (like add a method or property) requires two or three. Due to the unnecessarily large icons and some annoying iOS derived “eye-candy” (which I find exceedingly ugly) I find myself scrolling all the time. Etc etc

    In short: I hate it.

    I don’t think anybody wanted a new IDE. Looking at the new IDE I can’t see anything where I would say “yes, that’s a good reason to have the new IDE”. On the contrary.

    I believe that the reason for a new one was that new bugs were introduced faster than old ones were fixed, making it more and more unsustainable (from comments on the NUG and forum RS did a LOT of refactoring of code in the transition to Xojo).

    Before Xojo came out I extended my license till 2017 – I am really regretting that now.

  24. You wrote, “I don’t think anybody wanted a new IDE.”

    Just to be clear, what people wanted was the IDE ported to cocoa. What people didn’t want was a redesign of the functionality. The big mistake in their thinking was because they had the opportunity too redesign it, they should. Lack of self restraint design wise.

  25. Look at QT (http://en.wikipedia.org/wiki/Qt_%28framework%29), open source with commercial, GPL and the very liberal LGPL licensing.

    With the latter you can develop commercial products for free and not have to release your source code

    Supports native applications on pretty much every platform for pretty much every type of application.

    The owners of QT are Digia (http://en.wikipedia.org/wiki/Digia), 1200 employees and as far as I can see their main product is QT.

    I guess they’re in business to make money too.

    What’s Xojo’s USP that trumps QT?

  26. After trying to like the new Xojo IDE I have raged quit today and gone back to what works RB 2012r2. I was getting to lost in the screens, was not nearly as productive as I can be in 2012. To top it of I had a some what large softphone project that I converted over the Xojo and was coding along fine added a new class, some properties and now every time I run the project or click control+K the whole IDE crashes. Opened up the same project in RB 2012 and what do you know no crash…I have ran into TOO many oddities with the new IDE. Things that don’t refresh right, copy past issues..I just don’t have the time to file bug report after bug report only to have its status change to reviewed (with no additional feedback) and sit there and collect dust for the next year. I’m just totally frustrated with the new IDE at this point i’m just walking a way from it for a few revisions which kinda sucks at I just renewed my Xojo Pro License.

  27. Hi Bob
    My previous post isn’t up yet and I regret posting it, can you delete it (and this one please)?

  28. IT XOXS!
    I have simply had it with this BS.

    I’ve had to revert to older releases to work on my projects.. Especially on Linux Xojo is painfully slow, full of bugs problems etc. Up to several seconds when making changes, even on windows.

    I have built several great apps with RealStudio. It was a fast coding easy to use language. Now the new Xojo is taking the speed and fun out if it. Its just a disaster.

    ‘m sorry, but I’m getting more and more frustrated. Thank God I have only 90 days left of ‘free updates’.

    I think Xojo should move into Free and Open-Source and charge for support only. Otherwise I think its finished and it’s only a question of time.

  29. I seriously considered Qt. Some things to consider:

    1 – The “very liberal LGPL” license requires you to make your object files available to be linked to other libraries. True you don’t have to release your source code, but you must release your pre-linked object files.

    2 – Qt does not come with a compiler. You must supply one for each platform for which you wish to develop. Be ready to wrestle with gcc on Linux, clang on Mac, Visual Studio on Windows, etc. Separate compilers vastly multiplies complexity.

    3 – Qt apps never look right on Mac. Mac is my primary platform and Qt apps always look like Qt apps. Okay, you can make your apps look Mac-like if you are prepared to do massive Mac only tweaking.

    4 – At the time I did my research, Mac apps built with Qt were amazing CPU cycle hogs on the Mac. Launch a Qt app and let it sit there idle. Watch your CPU usage ramp to 80-90% and listen to your fans rev up to high. That’s been 3 years ago now. Maybe they’ve fixed that. I don’t know

    5 – Is digia making money with Qt? I know they are trying to. Troll Tech (the original authors) never did. Nokia never did. I have no idea if digia has found a way yet or not. They had massive layoffs under Nokia which have continued under digia. Maybe they’ll be there for the long run. Maybe they won’t. Time will tell.

    6 – Price. You’ll notice they don’t list prices on their web site (for those who want to avoid the “very liberal LGPL” license). When you have to contact the sales department of a company in order to find a price, you should be ready to spend big bucks. I don’t have the numbers now, and I’m not going to message digia for prices, but if memory serves licensing was like $5,000 per seat, per platform per year.

    My research found to Qt to be a very capable, very extensive framework with a large support community. But it falls FAR behind Real Studio in ease of use and native look and feel for built apps.

    You won’t be doing any cross-compiling with Qt. If you work on Mac and want a Windows build, you must copy the project over to a Windows machine (or VM) and rebuild there using Visual Studio. Made some changes while testing under Windows? Remember to copy those changes back to your Mac before proceeding or you’ll find yourself with two branches of your project.

    Qt is a viable alternative. But, in my opinion, it comes in second to Real Studio in the cross-platform contest. (I haven’t worked with Xojo enough to compare there. I’ve downloaded both r1 and r2 and hated each on first impression — a hate deep enough not to bother to “let it grow on me.”)

  30. Another fun thing about licensing for Qt:

    According to the license, you are locked in to the version of Qt you began with. You are not permitted to spend a couple of years developing your app under the LGPL version of Qt, then when it was ready to ship, purchase a commercial license and use it to compile your final version. A project started under the LGPL version MUST ship under the LGPL license.

    At least that’s the way it was under Nokia. I don’t know if it’s changed under digia.

  31. I’d like to see some standardization. A command line compiler and a debug protocol (like xdebug), would allow us to leverage some top notch, REAL editors (Netbeans, eclipse, you name it). Xojo is nice and all, but its document management, search, code folding, code layout, and code navigation pales in comparison to other IDEs.

  32. Hi Bob. I tried to suggest several areas of improvement for Real Studio years ago when I worked on the Reality Check project. Those concerns have still not been addressed (except for the addition of a couple of refactoring options). Just compare Xojo’s features to those of JetBrains’ IDEs like IntelliJ IDEA, RubyMine and AppCode. They have powerful editing tools with intentions, code checkers and refactoring capabilities. Other IDEs such as Visual Studio have these features, even if they’re added by third-party plugins. IMHO, they make the difference between hobbyist and professional IDEs.

  33. Bob – I’ve been buried with work and just found your blog post and feedback request. I am in complete agreement with your post and just gave the request my #1 points position. IMHO it shouldn’t be that hard for Xojo Inc. to implement your request via various preferences/options so that we can all work the way we want to. Those that love the navigator can keep using it that way. Those of us desperate for the old IDE can work that way to. I sincerely hope Xojo takes this route.

  34. About licensing, I think the main point is that a project made with the lgpl version of qt can be release as a commercial software. Qt libraries must be linked dynamically to your app and not statically, which means separate dll and exe files on windows (as with xojo) and dylib in the app package on OS X (as with xojo).

    About complexity, I agree that xojo is far more easy to use. Qt do not offer any cross compil options and building an app for windows can be a little tricky at first.

    About the Mac look and feel I do not agree. Qt apps look and feel depends extensively on the developer’s background. Everything is customizable through CSS, and Mac apps are cocoa since more than 2 years.

    On performances and memory footprint, qt is far more efficient than xojo. Graphics are always smooth, even on windows, database tasks works at the speed of light with the built in (and tricky to learn) model classes.

    Where xojo wins the match is simplicity. If programming I a hobby, xojo is, by far, the best tool. If programming is a full time occupation, it might be a good idea to spend some time learning qt. At least to get some ideas on what features could be useful in the next xojo framework 🙂

  35. The features I miss most with xojo are :
    – scope aware variables and functions renaming
    – conditional breakpoints
    – variables and expressions watchers

  36. Ditto. And the ability of moving the mouse pointer over a a variable and directly see its content during the debugging, a feature that is available in the vast majority of IDEs these days…

Comments are closed.