Skip to content

Xojo Blog Posts

Guest Post: Achieving Success As A Xojo Developer

I’ve spent most of my career developing custom software. I’ve worked as an in-house developer creating custom “line of business” solutions. I’ve worked for software development firms that provide custom software for clients. And I’ve primarily been a self-employed custom software developer since first going out on my own in early 2000. Today, a lot of the work that I’m doing involves developing custom software solutions using Xojo.

I’m often asked by other developers – some who are already using Xojo and some who are not – where the opportunities for Xojo developers are, and how to find them. I also occasionally see these types of questions posted on the Xojo forum by developers who want to use their knowledge of and passion for Xojo to start their own business. So I thought I’d share some of my experiences and observations.

Comments closed

Change your DNS settings for a smooth transition to a bigger, better server

Most Xojo Cloud users have already switched to the newer Xojo Cloud servers. These new servers have more RAM and SSDs and are the priced lower or the same as our previous servers. But moving your projects from one server to another is easier said than done. You’ll need to plan carefully to avoid downtime. Here is a simple change you can make to your DNS settings in order to limit downtime, making the move to a better server smoother.

Comments closed


JSON (JavaScript Object Notation) is a great text-based data format that can be used for files and web services data communication.

The structure is simpler than XML which makes it much smaller and since it does not make use of all the tags you’ll find in XML, it is also significantly easier to read. However, if you open unformatted JSON in a text editor you’ll probably find it a bit dense. Here’s how to get around that.

Comments closed

Control Sets and ContainerControl: A New Approach

A Control Set is the feature to use when there are several instances in a Window’s layout and you need to command (or access them) from code, both for those available by default in the Framework and ones based on your own graphic classes. For example, this allows us to invoke a method in a concrete instance, based on its control index, or invoke the same method to all of them (iteration). All of this without knowing in advance, at runtime, how many of such instances are placed in the layout.

An inconvenience of this feature is that you can’t use it when the graphic controls are placed on a ContainerControl due to the way ContainerControls are implemented. The good news is that this problem has an easy solution! Read on to learn about it:

Comments closed

The Klingon Translator App You Definitely Need

I love the new Star Trek Discovery and there are a fair amount of Klingons in it, from time to time. It occurred to me that someone has probably built a web service to translate English to Klingon and if so, I needed to build a Xojo app to use it.

A quick Google search turned up an API by FunTranslations:

It has simple usage where you send along the text in English and you get back a JSON result containing the text translated to Klingon. Here’s the result of my 15 minutes of effort to use this in a Xojo desktop app:

Comments closed

Binary Magic with Signed Integers

In binary the high bit (the one immediately following the &b in Xojo code) is the “sign bit”. When it’s set to 1, the value is interpreted as “negative” and when it’s set to 0, the value is “positive”. Meaning that bit is not used as part of the “number” itself.

Comments closed

Working with XML

XML can sometimes be a bit confusing, so here are some tips to help you work with XML files.

First, you need to make sure your XML is really XML.

Comments closed

Me vs. Self

When you add a control such as a PushButton to a Window (or a WebButton to a WebPage or an iOSButton to an iOSView), an instance of the control is created for you and added to the layout. Code that is in the event handlers of a control added in this way can refer to both its own properties and methods as well as the properties and methods of the window.

Comments closed