What I Like About the Xojo Navigator

I’ve stirred up quite a bit of controversy with my “What I Hate about the Xojo Navigator” blog post.  Despite the various things I dislike about the Navigator there are some things I like about it and that I would hope that if Xojo Inc makes changes to the Navigator we don’t lose these items.  This post will be about those things.

Multiple Select Copy/Paste

One of my biggest beefs in Real Studio was that it was very tedious to copy anything from one object, or one project, to another.  You had to select the singular object, copy, and then paste it wherever you needed it.  Depending upon the version of Real Studio you could sometimes copy the entire group of methods and properties but it was never very reliable in my experience.

In Xojo, this problem is mostly eliminated because you can select multiple items in the Navigator, copy, and then paste wherever.  Not only does a continuous block of selections work but non-continuous selections work too.  This, of course, assumes that copy/paste works since the keyboard shortcuts don’t always work as you expect (but it’s getting better), and sometimes it depends on where you try to paste on whether the paste actually works or not.

For example, if I select a WebPage and then a single method and copy it and then go to another project and without selecting anything I use the Paste command.  The WebPage is pasted but the method is not.  However, if I have an object selected, like say the App object, the WebPage is pasted and the solitary method that I copied is pasted into the App object.  So while it’s a very powerful new tool in the arsenal, it’s possible to get some very confusing results.


The other thing that I like about the Navigator is the Filter search field.  This let’s me quickly find the objects in my project that match the name I’ve typed in.  This is really handy when finding your control subclasses or container controls since the Library (sadly) does not show those.

Finding an object in Real Studio was hard.  Our projects are loaded with nested folders and namespaced objects.  I sometimes remembered the name and location of a particular class but digging through the various folders was a waste of time so I usually searched the project for the name, found the object in the search tab, double clicked to open it in an editor, and then switched back to the Project Tab.  Most of the time the parent folders would be expanded and the object was selected.  Usually I’d have to scroll the Project Tab list to view it, though.

The Navigator Filter eliminates that goose chase.  What’s interesting is that if you type ‘open’ it will find all objects, methods, properties, etc, that contain ‘open’ in the name.  However, if you were to type ‘.open’ it finds nothing.  This limits its effectiveness and forces you to you the global Search function.  In my ideal world ‘.open’ would find object ‘open’ methods.

Effectively, the Filter function is just a specialized search.  The only difference is that the Filter doesn’t look in source code (just definitions) while Search looks at everything.  This isn’t a bad thing but I hadn’t thought about it much until I wrote this up.


Could both of these functions been added to Real Studio?  I believe so.  Presumably, there was some technical issue that made the multiple select a problem in Real Studio or they would have implemented it long ago (it was a highly requested feature).  The filter could also have been implemented but because the Real Studio project tab doesn’t show methods it wouldn’t make sense, but you accomplished the same thing by using the global search.

I’ve spent a considerable amount of time in Xojo during the Release 3 beta cycle.  I also spent about 50% of my time using Real Studio 2012 R2.1 for an older client project that may or may not get updated to Xojo.  Real Studio looks really ‘old’ at this point where Xojo looks ‘right’ though I will be happy when the monochrome icons/colors phase leaves the industry.

What features of the Xojo Navigator do you really like?


Xojo: Inspector

Xojo is just a few weeks away from its inaugural release.  Those of us that are in the alpha and beta programs have been treated to interesting changes in the venerable Real Studio user interface.  Some of those changes are very cool and some make little sense.  

Today, I’ll share with you a few select screenshots of what I call obvious inconsistencies.  Keep in mind that it’s quite possible that some or all of these screenshots will be obsolete in the very next beta release and you’ll never see them.  In some ways I hope this post might spur some action on this.

Boolean Switches

The Property List has been replaced by the Inspector.  Instead of using a custom listbox the new Inspector looks to be a container list of containers.  Boolean values that were simple checkboxes in the Real Studio Property List are now sometimes Sliders in Xojo.  The switches look very nice and have nice animation (if you have animation turned on) but otherwise act just like the standard checkbox.

XojoScreenSnapz001Real StudioScreenSnapz001

There is inconsistent usage of the Boolean Switch in the entire Xojo application.  If you look at the

examples, the Behavior section of the Listbox uses nothing but the boolean switch.  However, if you scroll down to the Font section the Xojo developers decided to revert to the old CheckBox.  The Preferences window also uses the standard checkbox.

Inconsistencies are bad enough but I believe using the Switches caused the entire Inspector UI to be stretched out.  If the vertical spacing was tightened up in the Inspector so that it wasn’t such a pain in the butt to deal with I believe the switches would look cramped.  Their design has no buffer space around them like the CheckBox.

I’m on a 27″ iMac.  It took me two screenshots to put together the Xojo Inspector screenshot!  I can’t imagine how awful scrolling is going to be on a 13″ laptop.  I believe that tightening up the vertical spacing is a must before release.  You only get one chance to make a good impression for some folks not already committed to Xojo.

One of the biggest deficiencies in the Inspector is that it’s not keyboard friendly.  In Real Studio you can tab to each line and set the values without your hands leaving the keyboard.  In Xojo this is impossible.  In my opinion, this one feature alone makes Xojo a major step backwards in in functionality.  but I digress…..

The Navigator

But wait, the checkbox vs slider pain doesn’t stop there.  The Build Settings dialog has been done away with in Xojo too.  In its place is a new section in the Navigator list that has what looks like checkboxes.  They are in FACT, checkboxes that control which platform to build for.  Click on the checkbox portion to set and unset the option.


This was not immediately obvious to me (and others) and it took me a while to stumble upon the fact that the checkboxes in the Build Settings were indeed live checkboxes.  Seriously, since they didn’t look like real checkboxes was misleading since I expected the new sliders.  So we have make believe checkboxes, real checkboxes, and boolean switches that aren’t native (as far as I can tell).

Native vs Drawn Controls

I find it ironic that Xojo Inc. penned a blog post titled “Why Native Controls Are Important”  and didn’t use the native checkbox throughout Xojo.  Instead we have switches, real checkboxes and faux-looking but real checkboxes.

In Mac OS X I know of one app that’s using a Boolean Switch like in Xojo and that’s in the Time Machine Preferences.  That switch is friggin’ HUGE!  I find it hard to believe that’s the standard size that Apple wants to foist on millions of users.

System PreferencesScreenSnapz001

Yes, the switch is common on iOS applications.  It’s a touch operating system from the very start.  As far as I know Xojo isn’t coming to an iPad near you anytime soon.

As others have pointed out to me, there are Linux distributions that are using the boolean slider control.  They are moving towards touch-oriented user interfaces too.  Windows 8 seems to still be using CheckBoxes though I’m sure someone, somewhere is using the slider.

In the grand scheme of things these inconsistencies are not a big deal.  But what it shows me is a lack of attention to detail.  Years worth of work to create a new UI and it’s not consistent and harder to use.  I find the boolean switches to be a distraction.  They serve no purpose other than to make checkboxes look pretty in a desktop application.

The bigger aspects of usability being worse than Real Studio is definitely troubling.  Anytime I have to scroll it’s bad.  My general rule of thumb is that methods should be short enough to never scroll.  I would expect the same thing when it comes to properties and my project list – especially on my 27″ mega monitor.

That’s my opinion.  What is yours?

[Updated]:  Added Preference window to show another place where native checkbox is used instead of switch.