Xojo Developers Conference 2015 Keynote Notes

Geoff Perlman from Xojo spent an hour this morning talking to the attendees about what Xojo is working on and there was some interesting news.  So let’s dig into the highlights!

In a major change of XDC policy all sessions at this years conference are recorded!  All attendees will get access to all of the videos in June.  According to an announcement in the Xojo forums, these recordings will be for sale at some point in the future.

If you look on the App Store, you can find an XDC iOS application that contains the list of sessions, give feedback, as well as maps.  This app required a bunch of technologies currently not built into Xojo for iOS:  Notifications, iBeacon, and camera access to scan QR codes.  Furthermore, this app and administration application will be open sourced.

Xojo Cloud servers will pretty much double in most of their specifications while keeping the price the same.  The small server will now support DB servers (Postgres and MySQL), have 1 GB of RAM, 20 GB SSD drive, and 200 GB outgoing bandwidth.  The medium and large servers have similar upgrades and all of this will be available in June.  Xojo will contact customers to help them migrate their servers.

Web apps are getting drag and drop capabilities.  Starting in R3 developers can specify if controls can allow a drag or accept a drop.  This includes controls.  The API is similar to the way desktop apps work with drag and drop.  In fact, it’s a little easier than desktop, and while Geoff didn’t promise anything he said it’s possible that this API may make it to desktop at some point.  No word if there is drag and drop being added from client file system to the browser.  I will try to follow up on this.

Xojo gave a little history on how the Xojo IDE came about.  When they redid the Real Studio IDE they wanted a modern looking IDE, that was more approachable, had better search results, and had less tab management.  However, they acknowledged this morning that it has some shortcomings.  The panes take up too much screen real estate, too much time spent hiding/showing panes, to much dependency on the mouse, poor Layout Editor workflow, and poor project Navigation.

Xojo is in the process of designing changes to address these issues.  The changes will reduce pane management, be more keyboard friendly, improve the Layout Editor workflow, and greatly improve project navigation.  No idea on when this will occur as it’s a big change.  And there’s no real way to incrementally change the IDE so it’s an all or nothing change.  Let’s hope that it doesn’t take the two years it took to go from Real Studio to Xojo.

Starting in R3, Raspberry Pi (Linux on ARM processors) is supported.  This turns out to be an interesting addition since these tiny little processors are inexpensive and used in many embedded and hobbyist applications.  This is an interesting new target and might bring some new developers to Xojo.  This new target is included in the Pro license.

Also in R3 we will get the first opportunity to build applications in 64 bit for Mac OS X, Windows, and Linux.  Geoff showed off the Feedback app built as a 64 bit application.  He also said that if you are using plugins it’s likely that your app won’t work until plugin developers can get them 64 bit capable.  Attendees will get Alpha one (emphases on the one) where 64 bit compiling only works on Mac OS X.  Later R3 alphas will work on all platforms.  However, for R3 the debugger is still 32 bit.

Sometime between now and next years XDC we will be able to create plugins using Xojo.  These are available for iOS and 64 bit Mac OS X, Linux, and Windows applications.  32 bit desktop apps will not be supported.  What’s interesting about the new plugin format is that it can contain resources (images, sounds, etc) that current plugins can’t do.  These new plugins can also interact with the IDE meaning that you can have dialogs and editors.  This is very exciting news and should lead to some interesting developer solutions.

EDIT:  Geoff worded this poorly. What he meant is that you can have plugins that use the GUI framework. There’s nothing in the announced roadmap for extending the IDE itself.

Retina support is currently being worked on.  In R2 for iOS we now have image sets and your application will pick the right image resolution at runtime.  This will get moved into desktop targets and into the IDE in 4th quarter 2015.

Updates for Windows.  Geoff showed us a currently usage chart for Windows.  Windows 7 and 8 are now accounting for over 80% of the installed base.  Therefore, starting with R3, Xojo will not support builds in Windows XP.  While Retina support for Mac OS X will come soon, he did mention that Windows HiDPI support is coming.

EDIT:  This was poorly worded as well.  Support for Windows HiDPI is not in the announced roadmap, just that it’s something Xojo would like to tackle at some point.

Those are the highlights.  If you have questions, let me know below and I’ll see if I can get them answered.  Anything particularly excite you?  Anything you dread?

9 thoughts on “Xojo Developers Conference 2015 Keynote Notes

  1. I hope they give the alpha testers mockups at the very least for the new IDE just to be sure they are on the right track before going full speed ahead in committing coding resources to it.

  2. Thanks for the thorough write up, Bob.

    I’m looking forward to the Raspberry Pi capability. (I’m also hoping for continued progress on iOS capabilities.). It’s certainly good news for me that the IDE is going to have improved keyboard support. (Cmd-key support for Forward & Back navigation alone would save me a lot of time.)

    Thanks again. I appreciate the updates since I can’t be there this year.

  3. I personally think that the current IDE usability is fine. I can get the job done, and have no problem with clicking a bit more here and there.

    I would rather want to see important added value functionality added. This would in my mind include items such as:

    1. better support for data binding between UI elements an any data source, like its available for a long time already in various other environments. And best without programming at all, or minimal programming. This would be offer important developers productivity boosts.

    2. Support for IDE plugins, so that anyone can add useful development features for themselves and the community. This is in particular important given what seems to be relatively limited resources the Xojo development team has and given the strong commitment to cross-platform dev. Including access to the internal Abstract Syntax Tree.

    3. Attribute based programming in conjunction with introspection could also offer interesting added value to developers productivity tool developers.

    4. Support for Native Android.

    Dan

    • 1. There was a session on Friday that addressed this. Xojo doesn’t really have to do anything since this can be done by you. This is something that perhaps ActiveRecord can do as well.

      2. By next XDC creating plugins in Xojo should be implemented.

      3. Please expand upon this.

      4. I just don’t see this happening any time soon. Not even a hint of this at the conference. I know they’ve looked at it but it’s just not feasible in a timely manner.

      As far as the usability of the IDE goes, I get work done too, but I know that I’m not as efficient as I was in Real Studio. I talked to several companies that do their development in Real Studio and compile in Xojo because of these issues. Mostly it’s because you are forced to use the mouse rather than having keyboard shortcuts and the little speed tricks the old IDE had that the new one does not.

      I think that Xojo has looked at what it would take to get those speed tricks back and it’s just not possible to implement without rewriting major portions. Since they have to rewrite anyway, they’ll update the UI too.

      New folks tend not to care – they don’t know any different. Folks that used Real Studio for years find the new Xojo IDE less than optimal. Those that do small projects can live with it but those with very large projects (like us) find that Navigator to be a huge step back.

      I know a lot of folks complain about having to add Event handlers to controls. I’m kind of on the fence since you generally only use a small subset of available events but I hate having to add those events in the first place. Example: Button and Timer have the Action events. Neither are useful without them so I’m annoyed at having to add them. Solution? Preferences to select the events you want to add by default? Or, simply go back to adding them all so the user can discover them.


  4. 1. There was a session on Friday that addressed this. Xojo doesn’t really have to do anything since this can be done by you. This is something that perhaps ActiveRecord can do as well.

    Could you tell more about this session? What’s the suggested approach to data binding?

    Support for data binding is what I miss the most.

    • This usually involves subclassing the controls and providing them with the Field of the record they need to interface with. Then it’s a matter of loading, saving, and validating the data in the subclasses.

      The one thing that the session author did that I disagreed with was he put EVERYTHING into the database as a string. I much prefer to use native datatypes. However, his approach is simpler since he only has to deal with one data type at that point.

      FWIW, I started thinking about the approach he did and decided that I didn’t like it. We use ActiveRecord for most projects and our windows and container have 3 methods: Load, Save, Validate. This approach is simpler, I believe, than data binding, because we get to control any conversions. The issue I have with data binding is that you are at the mercy of the control to convert data which may or may not be what you want.

      I get why people like Data Binding. I also think people rely on it too much and in the long will be better off not even attempting it. Simple controls are no big deal but something like a Listbox has too many options and variances to make data binding really feasible.

      Hopefully Xojo will release the recordings and you can judge for yourself if you like his approach or not!

Comments are closed.