Xojo 2013 Release 4(.1)

Xojo 2013 Release 4 hit the internets this week.  And they promptly pulled it after they discovered a crashing issue when it tried to verify licensing on their servers.  Release 4.1 was released today which fixes the issue.  As far as I know, it’s the only fix in 4.1.

I would characterize Release 4 as a maintenance release as it has several hundred bug fixes and just a few new items. I’m okay with this and if I had any say in the matter I would alternate releases with new features and bug fixes. One thing this release does NOT include is the Xojo Cloud that has been in development for over a year.  I expect Xojo Cloud will be released for the 2014 Release 1 (so it will probably go into beta soon).

The big change in this release is that the IDE and applications built for Cocoa require Mac OS X 10.7 (Lion) or later.  I think this is a pretty good move though it will make life harder for some.  Apple updates their OS regularly and many update their OS when they can because the upgrades have been safe.  I can’t find the statistics but it appears that a vast majority (in the neighborhood of 80%) of Mac users are on 10.7 and above now.  Obviously, if you have clients and customers that require 10.6 (Snow Leopard) you’ll need to stick with Xojo 2013 Release 3 (or continue building in Carbon).

New in Release 4 is new cryptography functions using the Crypto class.  The new class adds RSA encryption to the Xojo framework.  It has functions that allow you to generate public and private keys, verify the keys, encrypt and decrypt data, sign data blocks, verify signatures, and generate a random block of data.

For desktop users, the Canvas and ContainerControls now have a transparent property.  The default is true to maintain current functionality.  This change is particularly important in Linux as child controls on an opaque (not transparent) canvas or container control can be clipped.

The IDE can now use constants for the application identifier which can be useful if your application has multiple names or versions.

Release 4 has a ton of bug fixes and tweaks to the IDE.  This includes many fixes and changes to the Navigator and some of the copy and paste bugs that have afflicted the IDE since its first release.  It’s still not perfect, but it’s getting better.

Better is subjective, of course, but one of the bigger annoyances to many users (including me) is that changing text values in the Inspector (such as a control name) didn’t actually stick unless you tabbed out of the field.  This has been fixed and just this one change alone is worth getting and using Release 4.

There are a few debugger changes that are worth mentioning.  First, the debugger now catches exceptions raised in computed properties.  Before it wouldn’t, which could cause navigating in the debugger to actually change the control flow of the program.  Second there are some specific fixes to the debugger for Windows and Linux users, and finally a new DebugIdentifier property was added to the Thread class to make it easier to debug code that’s running in a thread.

One item of note that came through late in the beta cycle.  Several developers had issues with rejections from the Mac App Store (MAS) due to using QuickTime API calls (or the framework linking to them).  It appears that Apple, while only deprecating QuickTime in Mavericks, is actively rejecting apps that use it.  Release 4 no longer links to QuickTime but according to the Beta list testers this is still an issue.  In my opinion, this is more an issue with Apple, suddenly and with little warning, rejecting MAS submissions than it is Xojo doing anything wrong.

While I like Apple, sometimes getting apps into their store is like hitting a moving target.  Apple giveth and Apple taketh away.  <insert favorite negative Apple cliche here>  If you know more on this, please add comments below.

What are your thoughts about Release 4?  Are you happier with the IDE after 4 releases than you were initially?  Are you looking forward to Xojo Cloud?  What about the eventual iOS support?

[Edit:  Changed wording on the debugger changes for computed properties so it was more accurate.]

7 thoughts on “Xojo 2013 Release 4(.1)

  1. Every release has certainly improved the IDE a great deal since it’s relaunch. At first I was quite skeptical of the new design, but I’ve grown to love it.

    I’m with you on some of those issues that have been fixed, though. Copy/Paste bugs really annoyed me, and having to tab to save changes in the inspector became almost infuriating when I was trying to get something done quickly.

    They continue to do amazing work, and I can’t wait to see what else is coming. I’m sure they’ve got some real treats lined up for the conference, and I wish I could make it this year.

    As for the Mac App Store, I’ve never been a fan. I’ve read the horror stories and, for now, I’ll be distributing my apps direct to customers as opposed to using MAS (really it’s best that way for the type of apps I usually write, as well).

  2. Nice review, Bob! The IDE certainly is getting better. It looks like changing control names is still a bit dicey, but things are better in general.

    • It is certainly working better but as you say, there are still plenty of areas of improvement. Copy/Paste/Duplicate is still pretty much only guaranteed using a right-click. I believe that all of these issues come from the complexity of the Navigator and trying to figure out what has the focus.

  3. The update is okay. But where is the compiler for the iOS Apps?
    Didn’t they say “December 2013”? They’ve got just 7 days left… 🙁

    • Look, people get mad when Xojo Inc doesn’t give their timeline and roadmaps. Then they turn around and get mad when they miss what few dates they do give out. You can’t have it both ways.

      Let me ask you this: They probably could have released an alpha of their iOS version today. But it would be buggy and not be very usable. Would you then complain that it was a piece of crap? But hey, they made their deadline…..

      I’d much rather the iOS version actually worked than meet a date on a calendar. Don’t get me wrong, I want it today. But I can wait until they get it right.

Comments are closed.