I recently needed to compile Titanium Mobile SDK from scratch. I was a little intimidated by the process. And as I feared, I ran into some nasty issues.Continue reading Compiling titanium mobile SDK from scratch
Here is another compilation of weird Titanium gotchas that we encountered while building a fairly large-scale (100+ JS modules, 40K lines of JS) app with Titanium Mobile SDK 3.4.x.Continue reading Titanium Mobile Gotchas (volume 2)
A couple of times, I’ve found it necessary to know what version of google play services I’m dealing with. For example, when I was using a number of Titanium modules that were dependent on google play services, I had version conflicts. But Google Play Services versioning is a nightmare. This article tries to make sense of it all.Continue reading Google Play Services SDK Version History
Let’s put some final polish on our app so that it could be distributed in the store.Continue reading Building a Ti Mobile App: GrillTime, part 4
If you’re looking for a way to easily enable your client software to send and receive low latency messages with a server or other clients, BrightContext‘s service may be just the thing you’re looking for.
BrightContext provides you a shared message queue to which clients can submit messages and subscribe to receive all messages sent to the queue.
A question that is frequently posed on the Titanium Q&A forum is how to manipulate TabGroups on android. On iOS, Titanium allows you to add new tabs to your TabGroup. You can even have multiple TabGroups (so for example, your app could branch off into multiple windows, each with its own TabGroup.
But on android, you can only have one TabGroup active at a time, and you can’t alter the tabs in the group once it’s created. In theory, you can create a new one and close the previous one to effectively change the tabs in a TabGroup.
But executing this is easier said than done.Continue reading Titanium Mobile – Dynamic TabGroups on android
You’ll notice that it has been over 6 weeks since my last installment. There’s a reason for that. Trying to build a seemingly simple app like a countdown timer has proven to be insidiously difficult.
Imagine building a countdown timer as a desktop app or in a web page. It would be extremely simple to do. You periodically update the time displayed on screen, and you check to see if the timer has hit zero. When it hits zero, you play back a sound. Easy, right?
In a mobile app, however, the rules are very different. Your app may not be in the foreground when the timer hits zero. Your app may not even be running when the timer hits zero. The device may not even be powered on when the timer hits zero. You have to deal with all these scenarios. And to make matters worse, if you’re building a cross-platform Titanium Mobile app, you have to deal with the nuances of background processing, notifications, and alarms on both iOS and Android.Continue reading Building a Ti Mobile App: GrillTime, part 3
We’ve got some of the basics of our app working, but it looks so drab. I’m much more motivated to work on an app when it looks good early on in the development cycle. So let’s spend this next development push working on the look and feel of the app.Continue reading Building a Ti Mobile App: GrillTime, part 2
I am an avid griller, and I’ve always wanted an app to help me cook up a great New York Strip steak or other delicious dishes on the grill. There are a couple of things I need all the time:
- a versatile timer
- cooking temperature guide
In building my first commercial app with Titanium Mobile, I ran into what I felt were some gaps in the API which I sought to fill with some library code. These classes and functions became so central to what I was doing that I felt they could be reusable in nearly any Titanium Mobile app. I named the library TitanUp, and I am making it available here to anybody who wants to use it, borrow from it, or extend it.Continue reading Titanium Mobile Utility Library: TitanUp