A few months ago I joined the dark side and bought a Mac because I had an idea to build an iPhone app for one of my largest clients.
I'm not a programmer although I like to think I am quite good at reading code and hacking it, I just don't have the skills to start from scratch.
But my app was fairly basic, really not much more than an on-line book, so how hard could it be? Surely I would be able to re-use some of the skills I have learnt over the years with Joomla.
With my shiny new Mac I downloaded the iPhone SDK, bought a few books, installed the IDE and stared at the blank screen not knowing where to start.
As with so many things in life this looked destined to be one of those ideas that never came to fruition. So I put the iPhone development on the back-burner and moved on to other projects.
Fast forward to two weeks ago and I decided to have another look. I read some more tutorials and started to sketch out what I needed to do in my handy moleskin notebook (I keep one for each client and project).
I now have the app fully defined on paper but I still haven't a clue how or where to start.
Somewhere, and I forget where now, I stumbled across a link to Titanium from Appcelerator and the tag line had me hooked.
"Create, test, and distribute native mobile and desktop applications with the web technologies you use today".
The download page had one of those promises that you just know cannot be true
"You’re just a few minutes away from building native apps with Web technologies."
But hey I had a few hours to spare I might as well give it a go.
Unfortunately whilst I was downloading Titanium I realised that the ability to create Mobile apps was still in beta and I would have to apply to join the closed beta. Usually I would have stopped here but I filled out the application anyway and decided to see if there were any tutorials or documentation.
OMG!!! These guys really understand me.
They had everything I needed. The docs were clear, and concise, and it really did seem to do what it promised. But was I really going to be able to create my iPhone app so easily. Surely there must be a catch.
It was late so I went to bed but in the morning, amongst the usual Viagra emails, I had my acceptance for the beta program. So I fired up Titanium, entered my user details, pointed it at the Android SDK (did I say it builds android apps as well) and got ready to start turning my ideas from paper into a shiny iPhone app.
Of course things weren't quite that easy so I popped back to the Titanium documentation site over at Codestrong to look for the ubiquitous "hello world" example. Surely with that, and the promises Appcelerator made I would be "cooking on gas".
Almost but not quite, I found the "hello world" and another one called "kitchen sink" and imported them into Titanium, hit the "test and create" button and watched them both load on the iphone and android simulators. (Did I forget to tell you it came with the simulators as well).
It really did look now as if, even a non-programmer like me, can create the app of my dreams. I was just about to get started when I flicked back to the Appcelerator web site to check something out and they had redesigned the home page and there was a big long list of videos to watch.
I assumed they would be the usual 5 minute video clips that sound good from the title but offer little. How wrong I was!!! A few hours later I have sat through several training videos and by following the tutorial in one have even built an app.
How cool is that!!
3 hours after that I have built the first prototype of the app, I have content in two languages one of which is RTL, I have buttons, swipes, screen rotation and even a shake. All without learning any Cocoa, xcode or other mumbo jumbo, just using the html, css and basic JS I already know.
With screen shots taken of the prototype I was able to produce a very snazzy proposal for the client and now I just have to wait and see if they see the same potential in the app as I do. All in under a day!!!
No gain, no pain
I forget who said that but my experience with Titanium Mobile has to date disproved that. Of course it hasn't been plain sailing and I've had a few questions along the way. The first I sent by Twitter late one evening and got a response from several Appcelerator employees pretty instantaneously. The second I sent using the forum support on a Saturday evening and again I got a pretty instantaneous reply and solution.
"Titanium Mobile offers you a way to create native mobile applications using your favorite web technologies, like HTML and Javascript. You get access to all native features, like geo-location, local filesystem and database access, and multi-touch and accelerometer controls, but without having to write a single line of native code. And because it's cross-platform, your single codebase will work for both the iPhone and Android Phones. It's native mobile application development, without the native pain."
In the few weeks since I discovered it I've seen evidence of rapid development and of a company that listens to its users needs. There are promises of additional support for other mobile devices such as the Blackberry and even for php for Titanium desktop. (Oops I did it again and forgot to tell you that Titanium can also build apps for Linux, Windows and Macs).
Perhaps the biggest thing that sealed it for me was when I showed the Appcelerator web site to perhaps the longest established joomla (and mambo) extension developer. Now he knows me very well and is fully aware of my limitations as a programmer but after only a few Skype conversations, where I probably rambled on in glowing terms about Titanium mobile, even more than I am doing here, he rushed out and bought his first ever Mac.