Network of Women Mobile Application Developers – Getting Started

From Anne Giles Clelland, March 13, 2011:

I have learned much in the seven months since we released Handshake Media’s first mobile application in the Android Market on August 6, 2010.  What follows is a distillation of what I have learned are fundamentals to getting started in mobile application development.  I have read and listened to tens of thousands of words on the subject.  This is just over 1000. I do not digress. 🙂 I hope it is of value to you.

“”I think you definitely have the potential to be called a rock star and become famous if you make an application.”
– Cameron Cohen, developer of iSketch, quoted on the CBS Morning Show, How apps are changing our phones- and us

Rock stars, see you on March 16, 2011!

Here’s the link to my vision for the Network of Women Mobile Application Developers.

***

Mobile applications for Google’s Android operating system and platform use Java as a programming language.

Mobile applications for Apple’s iOS operating sytem and platform – iPhone, iPod, iPad – use Objective-C as a programming language.

We will be using the Appcelerator Titanium Development Platform, a free, open source application development platform for cross-platform native application development.  Like a native of a city or country is born in that city or a country, a native application is “born” and built to run on a particular platform. As you can see from a poll of developers done by ReadWriteMobile, Appcelerator is one of the most popular tools for building mobile apps (please click on “View Results” at the bottom of the poll).

Appcelerator acts as an application programming interface, or API.  I envision an API as one of those adapter plugs you buy when you’re traveling abroad.  The plug on my hair dryer that works fine in Blacksburg, Virginia needs an interface – an adapter – to plug into a wall socket in Paris for it to work. An API and an adapter perform similar functions – they use technology to connect different things so they can work together. 

Using Appcelerator as an application programming interface, or API, the user writes code in the JavaScript programming language which interfaces with Appcelerator, which then interfaces with the user’s choice of either Java for Android or Objective-C for iOS, to create a mobile application for either an Android device or an Apple device.  This is why Appcelerator is considered a “cross-platform” development tool.  The user can create a single mobile application that can work across multiple platforms.  Appcelerator can currently be used to create mobile applications for devices using the Android and iOS systems. A version of Appcelerator for the BlackBerry operating system has been released in beta.  In the Network, we are currently focusing on Android and iOS applications.

A Mac can be used to create a mobile application for both Google and Apple devices. A mobile application for an Apple device is required to be created on an Apple machine.  Therefore a PC can only be used to create an app for the Android.

Since most of our network members have PCs running Windows 7, we will begin to learn Appcelerator as a tool for creating mobile applications for Android devices.

We will need to know what each company for which we are making mobile applications needs from us for their particular mobile devices.  If we were in the business of making automobile motors, we would need to know what Ford cars need in their motors vs. what Honda cars need.  To help us make motors correctly and quickly, Ford and Honda might give us ready-to-use motor-making tools. Some software companies give developers tools like that.  Eventually, we will download software development kits, or SDKs, as tools to make mobile applications for mobile devices by both Google and Apple. For our initial training, we will download Google’s Android SDK.

Summary of important letters to know: iOS, API, SDK

Appcelerator can be used to create mobile, tablet, and desktop applications. We’re focusing on Appcelerator’s mobile application tool. “Appcelerator,” “Titanium” and “Titanium Appcelerator” seem to be used interchangeably by the tool’s developer, Appcelerator, Inc

What we need to create mobile apps for the Android using Appcelerator, besides a laptop:

  • Knowledge of, and ability to use, the JavaScript programming language
  • Android SDK
  • Appcelerator – Titanium Developer and Titanium Mobile SDK
  • Some other programs

What we will receive during our training on March 16, 2011 is instruction and tech support in downloading and installing:

  • Android SDK
  • Appcelerator – Titanium Developer and Titanium Mobile SDK
  • Some other programs

What we will NOT learn on March 16, which I hope we can do together:

  • How to write code in JavaScript
  • How to use JavaScript for mobile apps rather than web apps
  • How to use Appcelerator

The fundamental reasons I want to learn mobile application development are 1) when I’m asked, “Can you code?” I can answer, “Yes,” 2) when I say that the time required for a mobile application job is 10% code and 90% “everything else,” I’ll know 100% of the job, not 90% of the job, 3) I’ll have deeper knowledge and be of more value to those with whom I work, whether on the 10% or the 90%, 4) I’ll create – either solely or as part of a team – better apps for consumers, customers, and clients, 5) I want to make an app!

My process, in order:

Registered as an Apple Developer for $99 and read the Developer Program License Agreement very, very carefully. Read the Apple Developer Guide (only available to registered Apple Developers).

Read What Android Is, a straightforward description, with diagrams, of the Android platform by Tim Bray, a Google employee.

Bought several books on JavaScript. The one I’ve been able to follow best is Simply JavaScript (Amazon Associates link).

Scanned Lifehacker’s Learn to Code: The Full Beginner’s Guide, thanks to guidance from our CTO, Alex Edelman. Printed out the .pdf version.

Scanned Lifehacker’s Learn How to Code This Weekend and Programmer 101: Teach Yourself to Code.

Watched on YouTube: Learn to Code – Lesson 01 – Variables and Basic Data Types – JavaScript. (“Show more” displays links to all 4 lessons)

Located Titanium on Windows 7, printed it out, and observed Ryan Hagan while he followed the 31-page document and downloaded and installed Appcelerator, etc. on my laptop running Windows 7.  The process took 1.5 hours. The length and complexity of this document is why I asked Appcelerator to host a webinar for us and to lead us through the installation process.  And it’s why I’m very grateful Ryan Hagan and his team will be present to guide us in person through the process. (Ryan mentioned to me that he later downloaded and installed Titanium on his Mac in minutes.  The instructional videos I’ve watched all use a Mac. All very interesting.)

Located and scanned Getting Started with Titanium. Stopped reading when it got too technical.

Watched the Zero to App with Titanium video series.

Looked around the Appcelerator Video Channel on Vimeo. Scanned thumbnails of videos sorted by newest then by most played.

Watched Titanium for New Developers – v1.5 for the first 31 minutes until it started explaining “Kitchen Sink,” an application that shows a variety of Titanium’s features that the user can see in action, then look at the code to see how the features were created.

Personal note:  My programming background is one course in FORTRAN at Virginia Tech in 1978, about 3 months creating web pages with HTML in the late 90s, with a shift soon after to Microsoft FrontPage’s What You See Is What You Get (WYSIWYG) – essentially Microsoft Word for web pages.  Although FrontPage was powerful, I had acquired enough skill to modify its HMTL code for my own purposes.  I held onto FrontPage for almost 10 years, even past when it was no longer supported by Microsoft. I switched my sites to TypePad’s blogging software in 2007 and continue to modify HTML.   My highest IT achievement is passing the Microsoft NT Server 4.0 exam in 1999.

Who's in FRONT? Ali Nazimi and Larry Lynch
Leadership Retreats and Off-sites: Cultivate the Soil