Over the past few years, I’ve had so many good (and bad) mobile app ideas come and go. Back when Flash was able to compile to native iOS, I created a quick 3 tab app for my wife and my cancer foundation. It’s not until now, many years later, that I’ve finally decided to make the plunge and do it again. I’ll be documenting the entire process, and end the end, hopefully, I won’t look back and see that there was never a “part II” to this post. (Trust me, it happens).
Now, Let’s first make this small but important note. Android developers – you might want to stop here. I don’t plan on ever doing a version for android. I just don’t care that much. I mean, unless this thing gets popular. All kidding aside, sorry, I just don’t have the time to learn Android development too. That aside, let’s get down to business!
In the beginning I wanted to create an app that was simple. Really for purposes of learning an application. I first needed to figure out that application before I figured out the idea. I’ve messed with Titanium years ago, but never did anything important. In fact, probably not even a “Hello World” test. However, as I revisited Titanium, I noticed one thing. The IDE is basically an Eclipse instance. Which means, I would be familiar with it, and comfortable with the workflow. I’ve used Eclipse and Flex Builder in the past, but currently, JetBrains Webstorm is a code editor that I frequently use for heavier jobs. And it too is basically an Eclipse instance. So, it’s a no-brainer, Titanium Appcelerator it is!
Speaking of “Hello World”, my next task was to make sure I understand the Titanium workflow, how it’s MVC is set up, and how to build and deploy directly from Titanium Studio.
Note: If you’re an expert with this software, cut me some slack, I’m still learning at the time of this writing.
The “Hello World” test was simple, the workflow simple. I did find the setup of Titanium Studio to be a bit of a pain. It basically cost me an entire evening. For some reason, It wouldn’t update node.js, something you must keep updated. Turns out, when asking for my user password (my local machine – I’m on a mac), It wanted my root, not my user password. One thing I don’t like about TS is that you have to have an internet connection just to open the application. But, that’s for a different post.
My next step was to come up with an idea. Yeah, that can sometime be the showstopper, but, I’ve got a glass of wine poured, and I’m thinking…
Ok, that didn’t take long, now that I have an idea, I could just start “making”, instead, I want to treat this like I would any other client. So let’s really think about this. I printed out a few great mobile wire-frames to get my head in the right place.
The idea is that I’ll go through a proper process that any client would be happy with. This is my shot-out to all the lawn care owners that never cut their own grass! I figure that process looks something like this:
Yeah, simple. Think about the process, the look, the feel, the amount of time it’s going to take, the user experience, the housekeeping stuff like how many hours for each step along the way.
2. User Experience
Such a powerful word, but let’s all be honest. It’s essential. I’ve seen it a million times, most companies start off on the wrong foot from the get go. The business makes decisions and or tells IT what they want, and IT makes it happen. The problem here is what about the people actually using the product… exactly. UX!
Note: I used to laugh at UX because I thought well no shit, it’s common sense. But that was in my younger days when I didn’t realize just how many folks don’t get the power of a great user experience.
3. Hi-Fidelity Mockups
Ok. This isn’t really ideal anymore, but again, that’s for another post. I will however do a quick mockup of the logo, the buttons and a few components like the menu, splash screen, and all the icons of course. Hey, kids, look up developing in the browser!
4. Dev, dev, oh boy, DEV!
What I like about Titanium is the easy Model, View, Controller set up. It’s quite possible it might be better else where, or that this is the normal MVC workflow, but for me, it just seemed so well thought out. (probably did UX around it)
5. WIFE TEST
Yeah, I know, you’re thinking.. I’ve never heard of this before? But, this app would be the app that my wife would use. She’s the user. So, I UAT with her!
Note: Usually I would like to do small grass roots Alpha, Beta testing to make sure we were headed the right direction.
Ok, now that you know the thought part, you know that now we’re going to sketch out a few ideas in the form of low-fidelity wireframes and last, you know the entire process, albeit a very high level. So, womp womp, this is where I say keep checking back for part II of Building an App w/ Titanium.