Skip to content

Month: June 2013

WebSessionContext Changes in 2013

If you use WebSessionContext in your Xojo web projects, you’re probably aware by now that they’re not working very well. I thought I’d take a few minutes to tell you what’s going on and how we’re planning to fix it.

What is a WebSessionContext anyway?

First of all, a quick description of what WebSessionContext is supposed to do for you. WebSessionContext is a mechanism for accessing a particular existing WebSession from within an area of your application that would otherwise not know where it belongs. These include Threads, Timers, System Events, App Events, etc. Normally you could tell because you would get a SessionNotAvailableException when trying to access a particular WebSession in your code.

Comments closed

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