Skip to content

Xojo Programming Blog Posts

What’s Next: Xojo Licensing

Now that you have tried Xojo, you’re probably thinking of creating stand-alone apps. Maybe you are considering selling your app or maybe you just want to share your app with some friends.

So now you are ready to build and deploy your apps, and to do that you need a Xojo license. No problem, Xojo has a straightforward licensing scheme.

Comments closed

Accessing the User Interface from a Thread

Perhaps you already knew, but with desktop apps it has always been considered bad form to directly access any part of your user interface from within a Thread. Alas, even though this was frowned upon, it generally worked in most of your desktop apps.

Starting with 2013r1, this no longer works with Xojo for Cocoa apps. If a Cocoa app tries to access the UI from a thread, a ThreadAccessingUIException is raised. But what exactly does “accessing the UI” mean? In the case of Cocoa, it means any access to a built-in property or method on any UI control or Window. You can access your own methods or properties added to control subclasses as long as they do not access the UI themselves.

Comments closed

Merging iCloud and Apple ID Accounts

iCloud.jpegIf you have been around the Mac community long enough, you may have ended up with two Apple IDs. I have one for iTunes and another one that came from MobileMe. This resulted in effectively having two iCloud accounts. This can be inconvenient and probably will become more so in the future. Apple doesn’t provide a means to merge Apple IDs. They know they need to provide this, but they do not yet do so. I, however, have found a way.

Since the introduction of iCloud, I have wanted to have a single Apple ID. When Apple recently added the two-step authentication for Apple IDs to make them more secure, I decided to sign in and update my Apple ID account. Part of the process is to verify a device you own which will be used, along with your password, to authenticate that you are who you say you are should you want to make changes (such as your password) to your Apple ID in the future. The webpage said it would list my devices, but none were listed. It didn’t take long to figure out why. The Apple ID I was updating was for iTunes, while the Apple ID Apple was using to find my devices was the one associated with my iCloud (MobileMe/mac.com) account.

Comments closed

GUEST POST: Testing a Windows Service Application with Xojo

When working with Windows services you’ll want to debug the application while it’s running as a service. To do this, you can Select Run Paused from the project menu, then create the windows service and start it. Now you’re debugging your app while it runs in service mode.

All of this takes time, and having to create/start the service each time slows down debugging considerably.

I have written a little utility that allows me to right click on the debug executable and automate the service creation and startup. You can download this utility from https://dl.dropboxusercontent.com/u/18858366/DebugService.zip. The source for the Xojo project is included. The utility accepts the executable path as its argument, creates a service “_test” and starts the service.

Comments closed

The iOS 7 UI Controversy

Unless you have been living under a rock for the past week, you know that Apple unvieled iOS 7 and its new user interface coming this fall to an iOS device near you. While there are some great new features, like the engine in a car, it’s not the first thing people notice. Most car shoppers are looking at the color of the paint, the sleekness of the design, the look of the interior and dashboard, etc. In other words, they look at the cars’ UI.

The new UI in iOS 7 is the most controversial thing about it by far. I’ll admit that when I first saw it, I thought they were changing it just to change it. I thought they hadn’t put enough thought into the reasons why or they were just bending to the pressure of change for change’s sake. In my role at Xojo, I think at a lot about UI design. Before long, I realized that of course Apple put a lot of thought into it. That’s what Apple does. It’s their culture. So why were they going with this new, simpler, non-skeumorphic design?

Comments closed

Go Team!

In the past, our user database has not been great for teams. Now, having your own Xojo account is really important. You need your Xojo ID to activate your licenses in the Xojo IDE and to access the Xojo Forum. Feedback requires your Xojo ID to create bug reports and feature requests.

Comments closed

More Important Than Ever: Cross-Platform’s History

There was a time when the idea of running the same code on different computers wasn’t even imagined. Programming languages were written specifically for a particular computer. And computers were purchased for very specific purposes so why would you even want to run a particular program on another type of computer?

It was the desktop computer revolution that changed that. By the mid-to-late 1980’s, there were more and more desktop computers and developers wanted to target all of them. Soon, however, Windows became so dominant that many developers chose to focus on that one OS. Some Mac developers, not wanting to miss out on the potentially enormous Windows market, either went to the trouble of writing two versions of their applications or used a tool/language that would allow them to target both Mac and Windows from a single code base. This was the beginning of cross-platform development.

Recently, I was asked by tech blogger Chris Pirillo if cross-platform was really important anymore. Cross-Platform is actually more important than ever. Why? First of all, while the Windows PC market is seeing flat or declining sales, Apple’s Mac marketshare is growing. We are seeing this at Xojo. More and more Windows developers are coming to us because they can no longer ignore the Mac market. Linux is the predominant server OS. If you want to write server software that can run on some combination of Linux, Windows and OS X, you’ll want to be writing cross-platform code.

Comments closed