Tweetanium Mobile

Magnificent colorful vertical shot of a slot canyon in Lower Antelope Canyon in Arizona USA.

In a short while, the source code for the Tweetanium Mobile application will be made available in the Appcelerator GitHub repository. It’s still a work in progress, but this very application will soon be shipped off to the app stores for Android and iPhone once a few more features are added, and some issues are ironed out.


The Tweetanium Mobile application, when finished, should represent some of the better tips, tricks, and best practices that we’ve assembled over the last year working with Titanium on professional services projects, demos, and everything in between. Here are some of the highlights:

xAuth Twitter client

Tweetanium implements business objects that can communicate with Twitter using xAuth (sign up for xAuth access for your app here). Our xAuth client has been tested and is working on both Android and iOS in version 1.5.1 of Titanium Mobile. If you need to integrate with Twitter in your application, this will be useful for you to take a look at.

Super Simple Object Storage

Tweetanium has also implemented a quick-and-dirty means of persisting JavaScript objects in a SQL database, and rehydrating them for use in your application – all without any yucky SQL or relational mapping. It’s crude and basic, but should provide a starting point to implement flexible persistence for your JavaScript business objects. I hope to flesh out this solution over time.

Building a component library

One of the ways we have found that works well for code organization in a Titanium Mobile project is to create your own JavaScript namespace to hold application-specific UI constructors, business object definitions, utilities and anything else your application needs (this is a JavaScript best practice in general). Tweetanium follows this model, and includes dependencies in sub libraries of the “tt” namespace.


Tweetanium makes heavy use of simple and 2D matrix animations, all of which work cross platform. From our tab strip, which controls the “filmstrip” view to our loading animation, animations make many appearances in Tweetanium.

Much, much more

We’ll be taking an in depth look at Tweetanium in our upcoming “Real Apps” training sessions on February 1st, 2nd, and 3rd. On February 2nd, I will be walking through the (then totally complete) Tweetanium application, showcasing these features and other best practices, tips, tricks, and hacks I used to create this application. Hopefully I will see many of you there – in them meantime, I hope you enjoy seeing Tweetanium evolve in real time in our GitHub repository.


  1. Hello,

    Twitter didn’t approve my request for xAuth access 🙁 Could you release packed app in .apk for Android ? : )

  2. Kevin, can you please post a binary tweetanium.apk as promised above? It would be great to try out this app and I doubt Twitter wants to give out xAuth keys to everybody who wants to try this application.

  3. I requested xAuth access from Twitter, but they do not give it for testing.
    However, for a Twitter app you have an oauth_token and an oauth_token_secret, as well as the consumer_key and the consumer_secret. it is possible to use them for single user tests. What you need to do is:

    In config.js add oauth_token and oauth_token_secret.

    In Account.js for the request function replace that.twitter_oauth_token by tt.config.oauth_token and that.twitter_oauth_token_secret by tt.config.oauth_token_secret.

    In ApplicationWindow.js, at the end, after ‘//get the current account’ replace all the if .. else statement by: = new tt.model.Account(); Ti.App.Properties.setString(‘currentAccountID’,’123456′); Ti.App.fireEvent(‘app:account.selected’);

    It then works … well sort of … at least a bit!

Comments are closed.