The Xojo Community is Awesome

Have I told you how much I love the Xojo community?  I’ve been part of it for fifteen years and I’ve met hundreds of Xojo developers at developers conferences and probably exchanged emails with thousands more.  I am amazed at how much this community helps each other and I wish there was a way to promote that as a key feature of the product.  It’s a big deal.  Really!

If you’re just starting out using Xojo know that there are a bunch of people, myself included, that are willing to help out, if we can, on your journey.  Programming is hard.  Well, I don’t think it’s hard because I’ve been doing it for so long, but it is complex at times and that makes it hard.  Just ask your question in the Xojo forums and you’ll almost always get an answer within hours.

Even Xojo pros, such as myself, have need of help.  Xojo covers Mac, Windows, Linux desktop, console, and web apps.  It does iOS apps for iPhone and iPad.  It now does Raspberry Pi for heavens sake!  It works with dozens of different databases.  There is simply no way any one person is going to know everything there is to know about Xojo.  It just can’t happen.  So yes, I go to the forums, all the time, and ask for help.

Just the other day I asked for some help with WooCommerce.  Not Xojo related, really, but certainly related to a project we’re working on for a client.  Within a few hours I had half a dozen developers private message me saying they might be able to help.  Subsequent contact narrowed that list down a bit but the point is that I have probably shaved off several days worth of work simply by asking for advice.

I am biased towards Xojo, naturally, as it’s been my primary development language for fifteen years.  I think I’d be hard pressed to find such a friendly community.  I call many on the forums my friends even though I’ve never physically met them.  The few that I’ve met in person have lived up to their forum reputations and are really friends for life.

So maybe this is my belated Thanksgiving post.  I am thankful that so many years ago I jumped both feet first into the tool.  I asked questions – many of the silly and redundant.  I became more proficient and then made another jump to start blogging about it, making products for other developers, and training the next generation of developers.

So if you are in need of a cross-platform development tool I highly recommend Xojo.  It ain’t perfect but no development tool is.  If you jump in I think you’ll love the community.  I know I do.

What say you fellow Xojo developers?

FTC 3.1.7

black-fountain-penToday we released version 3.1.7 of Formatted Text Control (FTC), our word processor control for Xojo.  This is a maintenance release and is recommend for all users.  It is a free update for all version 3 license holders.

License holders should get an email from the BKS FileShare system.  If you don’t get an email, please contact us.

Changes in this release:

  • Fixed issues with Unicode Hyperlinks
  • Fixed Windows Compiler Issue
  • Fixed HIDPT coordinates issue issue with ConstructContextualMenu event handler
  • Added ability to detect Windows HiDPI (requires Xojo 2016 R2 or better.
  • TextInputCanvas plugin rebuilt to be 64 bit compatible.
  • Spell Checker demo plugin rebuilt to be 64 bit compatible

The Formatted Text Control is a canvas based control for Xojo that implements word processor capabilities similar to Apple Pages or Microsoft Word. The FTC is a canvas (technically Text Input Canvas) subclassed control  for Xojo that allows you to instantly add word processing capabilities to your applications.  More information, pricing, and demo at http://www.bkeeney.com/formatted-text-control/

 

Iconographer Review

iconographerscreensnapz001

If you’ve spent any amount of time making cross-platform applications in Xojo you probably hate icons as much as I do.  I’m no graphic artist and because of this I’ve paid good money for several icon sets.  These icon set are fine but they’re pretty basic/generic and don’t tend to look right in macOS, Windows 8 and above, or even iOS.  And that’s just for application icons.  Making icons for documents, disks, folders, and the like, are just as big a pain to make.  Each platform has several different styles and getting it right is awful.

Ohanaware introduced Iconographer last week.  This is the tool I’ve been waiting for!  Iconographer lets you easily make icons that are consistent for their target platforms all while keeping the overall identity intact.  Not having to use a high-end graphic tool, like PhotoShop is worth it to a developer geek like me.

Using it is easy.  Simply drag your starting image into the editor window and start manipulating it.  At the top left of the window there is an expanding toolbar, for lack of a better word, that lets you pick the Icon Type:  Application, Folder, Disk, Document, and Web Icon.  Below that you have options for the target.  Depending upon the Icon Type you have the option to pick the Target.  For Application you have macOS, Windows, and iOS but for the Folder Target you only have macOS and Windows.

screen-shot-2016-11-10-at-7-09-32-pmTo the right of the drawing canvas you can pick the style of the icon.  For macOS you have Blank, Circular, Rounded Rectangle, Tilted, Rounded Square, and Plugin.  For Windows you have Blank, Windows Tile, and Use Different Application Icon.  Similar styles are there for iOS.

Below the Styles is the Layers list that lists the layers in the selected Style.  I will be honest, I had issues figuring out how to manipulate the layers.  You can add layers using the ‘+ Layer’ button where you can add Shapes, Images, and Text.

Adding Text also was problematic for me.  Once I added a Text object I couldn’t always select it until I had rotated it and then reset it to zero.  Then, if I had two text objects I never was able to edit and change the text of the first one.  I chalk this up to possibly not understanding what the shared label is.  At times I also had a weird purple selection rectangle that I was never able to get rid of.
At the bottom of the drawing canvas is, perhaps, one of the more useful features of Iconographer.  The Eye lets you select from a number of environments to preview your icon in an About Window, the macOS dock, and even the Mac App Store, to name a few.  This is a great way to preview your app in an actual environment and lets you make decisions while in the application instead of having to leave and use a graphics application.

screen-shot-2016-11-10-at-7-09-49-pmOnce you’re done you can build your icons.  It takes the currently selected Icon Type and all of the selected Targets and outputs them into the directory of your choice.  For macOS it will create an icns file and for Windows an ico file.  It really is that easy.  It would be nice to have the ability to export SVG format too.  If you’re creating a suite of icons, say for application, document, and disk, you have to do it in several steps but that I suspect that most developers won’t have an issue with that.

Iconographer is a must have for any cross-platform developer.  It’s ability to make consistent application and document icons for macOS, Windows, web, and iOS easily and quickly make this an invaluable tool.

Iconographer works on macOS X 10.10 and better.  It normally costs $19.99 but Ohanaware has an introductory price of $9.99.  More information can be found at http://ohanaware.com/iconographer/.

A Short Video is Worth a Hundred Emails

One of the ‘joys’ of consulting is the language difference between developers and the customer.  Developers have a ‘language’ and clients have a completely different ‘language’.  A perfect example is when a customer says ‘the application crashed’ and trying to interpret that.  I usually end of asking, did this crash mean a dialog appeared saying something happened (an exception was caught), or that the app just went ‘poof’ and disappeared (something way more serious).  For Xojo developers those two definitions of ‘crash’ mean totally different things.  Those nuances mean nothing to the customer.

Email is a notoriously bad way to communicate.  It’s easy miss details, or worse yet, misconstrue intention.  It’s easy to read anger, annoyance, or <insert feeling here>, that the sender did not imply.

We’ve had instances where we go round and round with a client via email on some detail when a simple phone call would have solved the issue within five minutes.  I know it’s not ‘modern’ but sometimes a simple phone call solves a lot of issues.

More recently I’ve had a client say that a sequence was wrong and described it with some detail.  I took a stab at the fix and then gave them another build for testing.  Still had issues.  The problem was that they’re not describing what’s really happening – they’re using customer language when I needed developer language.  The solution was a simple video.

Most people have a smart phone that can take video.  In my case, once I knew what the customer was really doing it was a simple fix because I could see what they were really doing.

Voice calls are important, videos are important, and doing screen sharing is becoming another important factor.  Think about using any of these tools before sending yet another email.

Xojo:  The Best Secret in the Programming Industry Part 2

In Part 1 of Xojo:  The Best Secret in the Programming Industry we talked about some of the capabilities of Xojo and why it’s such a great software development tool.  We finished it with the question on why isn’t Xojo more well known?  If it’s such a good development tool why doesn’t everyone know about it?  There are no easy answers to this but I’ll identify some of areas of concern.

Entrenched IT Departments

The first issue is the BASIC language.  Xojo uses a form of the basic language.  However, it’s nothing like the gwbasic many programmers learned in high school.  It is a highly evolved, object-oriented language that happens to use a form of basic as the syntax.  Unlike other forms of basic, Xojo compiles down into a self contained executable needing no outside libraries.  It is not an interpreted language.  It’s not a ‘toy’ language.

Yet, the stigma of Basic still persists.  I think in many cases it’s because Basic is very approachable for new developers.  Many of these developers are not programmers by education and are coming at the language to get something done.  If you’re trying to introduce Xojo to your corporate IT department filled with programmers, that have spent thousands of dollars on their eduction, Xojo doesn’t fit any of the checkboxes of any of the current, hot, and yet soon-to-be-obsolete development tools they’ve learned.

From my own personal experience we had a Xojo app working as a prototype, proof-of-concept application, for a big Fortune 100 company.  Their IT department laughed at it and then turned around and told the project owner that it would take them TWO YEARS to start working it (they were busy after all) and they estimated another two years of development time.  Um…with Xojo our small five person team spent under a year on it starting from scratch and got it mostly working!  But that didn’t matter.  Never underestimate the power of entrenched IT departments.

And, much like in the Visual Basic 6 era, just because you can create a very useful application with the tool doesn’t mean that it is a great application that adheres to all of the modern principles.  Simply put, just because it’s easy doesn’t mean anybody can magically create a great application.  Software development takes some skill and some discipline to make a good application and sometimes beginning programmers don’t know any better (regardless of platform).

 

Who Is Their Market?

Honestly, I have no idea who Xojo markets to.  I’ve used the term hobbyist in the past but Xojo prefers the term ‘Citizen Developer’.  Whatever.  I think we’re talking about the same crowd.  They’re people that aren’t necessarily getting paid to develop software or it’s not their primary function in their job.  While, I don’t have a problem with getting more of these types of people into the community but what I really want are the enterprise users.

The trick in either the citizen or enterprise developer is how do you reach them?  In years past you could do some advertising in magazines but that market has gone to the web so it’s much harder to identify and advertise.  What is Xamarin and the other cross platform tools doing to advertise?

Here are a few ideas:  What about sponsoring a podcast or webcast that business owners or developers listen to?  It seems like there’s a podcast for everything these days but the trick is to identify a podcast that might have a lot of listeners that fit the ‘citizen developer’ model.

The Raspberry Pi has some interesting possibilities and, I think, fits with Xojo very well.  When Remote Debugging is completed this makes Xojo an excellent choice for the platform.  I would think there is a number of marketing opportunities that open up from magazines to podcasts to websites that do nothing but talk about the mini computer.  I imagine a ‘show us your Xojo Raspberry Pi application’ contest.

One of my new developers discovered Xojo as part of a software bundle from a number of years ago.  It’s a long gestation period but giving out a free single platform license every couple of years does seem to grow the user base.  This is anecdotal evidence, of course, but it makes sense to me.  When the programming industry got started what you used at work became what you used at home.  The flip side could also be true:  if you start with a really good tool as a youngster you might end up using it later to get stuff done.

Many of our clients ask about Xojo and ask if I think they’ll be around in five years.  For a company that’s been around for twenty years already that seems like a silly question but perhaps Xojo needs to use that as a marketing point.  They’ve been around longer than most of the current, hot, software development languages and tools.  I doubt they’re going away any time soon.

Third Party Tools

This one is near and dear to my heart because this issue has been around since I started with Xojo fifteen years ago.  The Xojo community is small and there is not a big community of developers writing add-ons for it.  There are tools for almost anything you want that range from free to commercially supported.  The difference is that not all third party tools are supported equally and some developers aren’t exactly quick to support their products.  Some developers look at Xojo and are scared away by the lack of third party components.

On the flip side, developers don’t write add-ons for Xojo because the market is small.  We, BKeeney Software, have developed several components and can tell you that we couldn’t survive on component sales – a vast majority of our income is from consulting.  We cheat and spend a lot of time on those components that we use ourselves.  Either way we win.  It’s either a competitive edge when bidding on projects or we make a little extra cash with sales to other developers.

I don’t feel that Xojo does a very good job of promoting third party products.  They do sell some of those products through their web store but there are no previews, no demo’s, screenshots, or anything, to tell you how good those products are.  There’s no way to link to the developers website, how long the product has been around, or when it was last updated.

I would love to get my products in front of more eyeballs.  The store in its current form isn’t doing it.  I would also gladly pay to promote some of my products (like our reporting tool) that I think many Xojo developers might find useful.  Even better, I’d love to create a lite, free version, that could be bundled with Xojo.  Sure, it’s a bit more work right now, but in six months or year, some of the people using the lite version might buy the full version.

Currently Xojo has the ability to use plugins written in C++ and there are some incredibly useful plugins out there.  We own most of them because they save time and money on many projects.  Xojo has announced that sometime in 2017 users will have the ability to create plugins within the IDE using Xojo itself.  This has the potential of really growing the market but until it’s in our hands we won’t know for sure.  This is a critical component in 2017 for Xojo to help foster the third party market.  Hopefully Xojo helps promote them too in such a way that’s a win-win for both Xojo and the developer.

No Books/Lack of Training Material

One issue that some people have with adopting Xojo is that you can’t go to Amazon and find a Xojo book.  There are some older REALbasic and Real Studio books but mostly they’re out of date (though still valid for much of the language).  We, BKeeney Software, offer video training and we have about 65 hours of video that has some Real Studio material in it as well.  The name change to Xojo from Real Studio and REALbasic hasn’t help them in that regard and it will get better over time.

Another issue is that Xojo is on a ninety day release cycle.  It means that if I write a book that is completely valid today in three months there is a good chance part of it becomes obsolete.  Every ninety days Xojo adds something, changes something, and fixes bugs.  There is no way a printed book ever stays up to date.

If you’re looking for written material I’d look at www.xojolibrary.com as the topics tend to be narrowly focused on a specific topic.

I’ve thought about writing a book on database programming using Xojo.  I even have an outline and some chapters fleshed out complete with code examples.  But, since I know the new Xojo framework changes many aspects of Xojo it’s not worth it to complete the book.  Why write it now and have to rewrite most of it when the new framework comes out?  The community is small and the number of people that would be willing to write a book is even smaller.  I think to get a book into Amazon and other books sellers Xojo is going to have to commission a book to give an author an incentive to complete it.

Competitive Advantage/Keep it Secret!

There are some people that are using Xojo and making a great living selling their Xojo-made applications.  They’re just not vocal about it.  I’ve heard clients tell me they don’t want their competitors to know they use Xojo because they feel it’s a ‘competitive advantage’.  It takes them about a quarter of the time to put out a new version that their competitor (who is using more ‘traditional’ programming tools) can do.  That means more sales to them.

I get it.  Remember my story about the working prototype that the IT department laughed at?  It’s five years later and to the best of my knowledge the project was never started.  Imagine how they’d be feeling now if that Xojo prototype project had gone into product?  The project owner would be a flipping hero for solving the problem quickly for far less money than they could do it internally.

They’re not Apple or Microsoft

Xcode is the standard bearer for macOS and iOS development.  Apple is tight lipped on many of their new technologies so a third party developer like Xojo finds out at the same time the public does on new API’s and technologies.  Likewise, Visual Studio is Microsoft’s preferred development tool and while they’re not as forward thinking and don’t obsolete older technologies nearly as much as Apple they do introduce new technologies at a fast pace.  There is simply no way for Xojo to keep up with either of them.

This might be one of the biggest drawbacks to Xojo.  Because they have to be reactive to the whims of Apple and Microsoft they are always late to the party.  It took Xojo a few months to quickly deprecate QuickTime from Xojo because Apple deprecated it and shortly afterwards started rejecting applications from the Mac App Store that used QuickTime.  I think they did admirably in that situation but what’s the next bombshell?  That the Mac lineup is moving to the ARM processor?

At their developers conference last month they told us about a new feature called Interops that, at least for macOS and iOS, and Linux, make future platform changes easier to transition to.  However, there’s no guarantee that something else won’t change in the future that causes Xojo to play major catch up.

Conclusions

It’s truly a shame that Xojo isn’t more well known.  It’s a great tool that accomplishes a lot of things that other development tools don’t even try to do.  I think the community is getting larger and one would hope that there is some tipping point where Xojo becomes synonymous with cross-platform programming.  It has some extremely important deadlines to meet in 2017 to keep the platform moving forward.

Did I miss any reasons why Xojo isn’t more well known?

Xojo: the Best Secret in the Programming Industry Part 1

Xojo turns twenty years old in 2016.  That’s an extraordinary feat not only for a business but even more as a development tool.  The simple fact is that 90% of all businesses in the United States fail within two years.  There’s a significant number of the remaining businesses that fail two years after that.  Xojo has beaten the odds from a business standpoint.

When it comes to software development tools and languages it seems that every time you turn around there is another programming language of the moment that is the hot, hot, HOT thing that everyone has to learn and then two years later it is relegated to old, has been, technology.  Each one promises to make software development easier and faster and in most cases they solve A problem but not necessarily all problems.  In reality, every development tool still requires a competent programmer to do some work – you get nothing for free.

Xojo has been renamed multiple times first as REALbasic and then as Real Studio but in each name iteration it’s been the same product:  a rapid application development platform and language that creates compiled desktop, console, and web applications native for Mac OS X, Windows, and Linux.  Not only in 32-bit but also for 64-bit.  For a vast majority of users it really is as simple as checking a box captioned “Windows” to create a fully functioning Windows application that works the same as the one you’ve create on the Mac or in Linux.

Xojo started out twenty years ago as CrossBasic before Real Software Inc purchased the rights.  It was modeled after the very successful Microsoft Visual Basic and those roots are still visible today.  Xojo initially ran only on Macintosh but within a few years it ran on Windows.  It now runs on Linux too.

Xojo has transitioned from 68k Macintosh desktop apps, to PowerPC apps, to Carbon apps, and finally to Cocoa apps.  Recently they transitioned from 32-bit applications to 64-bit applications for Mac OS X, Windows, and Linux and introduced Linux ARM as a new target.  This transition is still in progress (the IDE is still 32-bit and remote debugging isn’t available for 64-bit yet) and they’ve announce more transitions on the Windows side to start moving away from the venerable Win32 framework for some things.

Besides desktop apps Xojo also creates console and web apps.  Web apps are a different beast as they expect to keep a constant connection between the browser and application on the server.  This makes web apps work a lot like desktops apps and eliminates a host of typical web app issues.  These web apps can be deployed as either cgi applications or as standalone apps.  The cgi applications work with Apache or IIS servers.  Standalone builds require no server and act as their own server which makes them very easy to deploy to any Mac OS X, Windows, and Linux machine.  Much of the code used in a desktop app is reusable for web apps.

A few years ago Xojo introduced the ability to create iOS applications which introduced yet another target.  iOS transitioned quickly from 32-bit to 64-bit after one of Apples famous ‘deprecations’.  iOS built under Xojo works with the iOS Simulator that comes with Xcode to accomplish remote debugging.  Just a few weeks ago Xojo announced that in late 2017 Android will become another target.

Xojo is an integrated development editor, or IDE, that allows a developer from within one application, to write all the code, layout all the user interface, and include any resources necessary for it to work.  It has a series of built-in editors that mostly mean you’ll never have to leave the Xojo IDE.  Working on desktop, web, console, or iOS projects expose the available libraries and controls for those targets.

Xojo lets you compile final executables or do remote debugging to any of the supported platforms.  So while working on Mac OS X I can remote debug an application in Windows running on another machine on the same network or in a VM environment.  While remote debugging, any exceptions that occur in code are revealed in the IDE and users can view variable values and see the call stack.

These things are nothing spectacular by themselves because many development tools can do them.  What makes Xojo remarkable is that is does this regardless of what platform you develop on.  A Windows developer, Mac OS X developer, and a Linux developer get the same capabilities and can deploy to any of the other platforms.  The only exception is that to do iOS you must be using a Macintosh and have Xcode.

Like any tool it has its detractors but it’s managed to transition, quite quickly at times, due to sudden announcements from Apple (who thought they’d move away from PPC?  Or iOS apps would be 64 bit that quickly?) and from the inevitable changes from Microsoft, and the sometimes daily changes in Linux distributions.  Some users complain about the number of bugs introduced in new releases or that bugs sometimes go years without being fixed.  It’s my opinion, though, that every developer complains about those things in their development tool of choice.  Xojo averages a release every 90 days (with the occasional dot release) and always add some new features and fixes many bugs.

The Xojo community is incredibly welcoming to new people.  There is not a lot of condescension given to new users that ask simple questions on the Xojo forums.  Unlike some other venues there is not a lot of vitriol going on.  The Xojo engineers frequent the forums and answer questions.

Since Xojo has lasted twenty years they’ve already beaten the odds.  There is every indication that they’ll be around many more years.  They are no Apple, Google, or Microsoft, but yet they keep churning out new versions that attempt to keep up with the ever changing development landscape with what many would consider a very lean development staff.  Most of the development staff are former users so there is a high level of familiarity with the needs of the user base.

So why don’t more developers know about Xojo?  With the features and history described above it seems like everyone show know what Xojo can do for them.  That doesn’t seem to be the case so why not?  In part 2 we’ll examine some of those reasons.

XDC News:  IDE Redesign Coming

I’ve made no secret that I despise really dislike the Navigator in the Xojo IDE.  It is often in the way and it paradoxically either shows not enough detail or way too much.  Working in a large project is an exercise in frustration due to the Navigator.  Thankfully, the most serious bugs have been worked out but there are still issues where the Navigator may or may not have the control focus when invoking a keyboard shortcut.  This can sometimes produce ‘interesting’ results

img_4509

During the XDC 2016 keynote last week Geoff Perlmann, CEO of Xojo announced that an IDE redesign happening.  This scheduled change should appear towards the end of 2017.  They acknowledged at XDC 2015 that the Xojo IDE needed some redesign but it is obvious that they’ve given it some serious thought with actual design documents that spell out exactly how it should work.

During the keynote Geoff showed us several screenshots of ‘Photoshopped’ versions of the new IDE with the caveat that everything could change between now and release.  The biggest change is that this new IDE is a mixture of the best of Real Studio and Xojo.

Gone is the Navigator (as we know it) with all of its faults.  In its place, Geoff said that we’ll start with a something akin to the Project Tab from Real Studio.  In the screenshot it looks like it’s a list of the project with a Type (e.g. Window, Class1, Class2, etc), and another column to describe what it is.  In Real Studio this was a combination of base class and whatever interfaces it might be using.  To figure out the base class and interfaces of an object in the Xojo IDE you have to hover your mouse over the item.  Every new tab will start with this project list.img_4510

Double clicking on an object zooms in on that object in the same tab. It loads whatever editor it needs.  This should eliminate much of the focus stealing that happens with the Navigator and make individual editors more stable without constantly having to worry about the Navigator.

A side benefit (I think) of the Navigator being eliminated is that the Library of controls is now on the left side of the screen and will be visible, by default, in the Form Layout editor.  This fixes a complaint many people have in the current implementation where the Library and Inspector can’t both be open at the same time without making them windows.

With two screen shots it’s hard to glean much information but with a toolbar item for Build Settings it’s a sure bet that their is a new (old again?) dialog for the build settings that is currently in the Navigator.  This makes sense because after you’ve set up those things how often do you really change them?  Again, one more thing eliminated from the Navigator that annoyed me.

It appears that Location is again in the toolbar.  This should make it faster to change locations in the project instead of having to invoke a dialog.  Since this IDE should work a little like Real Studio let’s hope that the Back/Forward buttons work properly.

We did not get a look at the Code Editor so it’s hard to say if that’s morphing back to what Real Studio was as well.  I for one would like to see the method definition pane move back to the top of the screen rather than in the Inspector.  In the “Meet the Engineers” panel the compiler engineer, Joe Ranieri, said that there would be changes likely in the debugger panel but didn’t mention anything specific since the 64 bit debugger is a work in progress.

From two screenshots it’s obvious that Xojo is listening to our complaints.  It’s a shame, though, that it will take four years to address them.  I can only wonder how many developers do a bulk of their work, still, in Real Studio because they are more efficient with it, and only compile in Xojo.  The plus side, though, is they are doing it the right way with a design document and essentially writing the documentation, first, before implementing it.  It’s a big and important job so it’s nice to see changes coming.

What about you?  Are you excited about it or is this just one more thing to relearn?

2016 Xojo Design Award Winners

img_4508Xojo announced the winners of the 2016 Xojo Design Awards today in Houston, Texas during their annual Xojo Developers Conference (XDC). These are applications and tools made with Xojo that were considered the best in their respective categories.
Best Overall:  EverWeb http://www.everwebapp.com

Best Business App: Light Blue https://www.lightbluesoftware.com

Best Consumer App: Alinof Timer Pro https://www.alinofsoftware.ch/apps/products-timerpro/index.html

Best Cross-Platform App: PubCoder https://www.pubcoder.com

Best iOS App:  Studiometry Touch http://oranged.net/studiometrytouch/

Best Developer Tool:  Everweb http://www.everwebapp.com

These are great examples of what some awesome developers are doing with Xojo. Congratulations!

XDC News:  Android Support

iurThe 2016 Xojo Developer Conference kicked off in Houston, Texas today.  Geoff Perlmann, CEO of Xojo, Inc. took the stage this morning to deliver his keynote speech.  The biggest news of the day is that Android support is coming for Xojo.

Many Xojo developers (myself included) find that iOS support is great but without Android support it’s not complete.  Geoff announced that in the fourth quarter of 2017 Xojo will have the ability to compile Android mobile applications.

This is a big deal and a daunting challenge for this team.  It appears that they’ve done their homework to figure out what they want to do.  Details are scarce at this point but they already know they will compile down to native code and not Java.  They will also use native controls like Xojo does for iOS.

The target version of Android that they are aiming for is JellyBean (version 4.1) or better.  Roughly 97% of all Android users will be covered.  Sadly, version 4.1 was released in 2012 .  I would have thought that 4.4 (KitKat) or better would be a better choice.  Let’s hope that gets changed before release.

Geoff did not mention if Xojo is planning on adding additional staff.  The reason I bring this up is that I find a twelve month timeframe to implement a completely new platform.  A more realistic expectation is that it will be released in beta form and it will be 2018 before it’s ready for more usage.

More details as learn about them.

XDC News:  2017 Roadmap

img_4508In todays keynote address, Geoff Perlmann, CEO of Xojo announced the major features coming to Xojo in the 1st, 2nd, and 3rd quarters of 2017.

First quarter:

64-Bit builds will be out of beta.  This means that XojoScript will be 64-bit capable as well.  This also means that 64 bit builds for Windows will include application icons and version info.

Remote Debugging will be available for the Raspberry Pi.  This should make using and developing on the Raspberry Pi that much better.

Remote debugging will also be available for 64 bit!  This should make the transition to 64-bit much faster at this point.  I know that we are holding off moving to 64-bit builds because of the lack of remote debugging.

String and Join functions that are pretty slow in 64 bit builds will now be considerably faster.  Again, really good news for some developers that have experienced this.

Second and Third Quarters:

New projects will be 64-bit by default.  32-bit builds are NOT going away.  What is going away is 32-bit versions of the IDE and while nearly all Mac OS X and Linux OS’s are already 64-bit this might cause some pain for Windows users that will have to update to 64-bit.

The new Xojo framework will come to Console, Web, Desktop and Mobile.  (Technically speaking mobile is already using the new framework.)

New plugin format:  Currently plugins in Xojo are written in C/C++ and are only supported for console, desktop and web application.  Developers will be now be able to create plugins in Xojo that will include resources, windows, etc. that are not possible in the current format.  The advantage of this is that it will allow anyone with a Xojo Pro license to create plugins and could (potentially) dramatically increase the availability of 3rd party controls.

These plugins are compiled into an intermediate format that is not human readable.  Presumably this format is something that can’t be reversed by the average developer.

This new plugin format will become the preferred format but the old style format will be supported for the foreseeable future.  It will be supported for Mac OS X, Windows, Linux, Linux ARM, and for iOS.  This last item is a high want by many Xojo developers.

Fourth Quarter:

Interops is a new feature to take the place of Declares in Xojo.  Declares are great but there’s no autocomplete and there’s absolutely no data type checking.  Interops should make this much easier.

More news coming up!