Cross Platform Development Tips #1

One of the requirements of development in cross platform development (Phonegap and Titanium Appcelerator development) is to prepare – a good development environment that caters for all platform. Whether it is from IOS, Android, Blackberry or Windows. Today I’m going to touch on two major sections.

  1. Development Environment
  2. Gears and Testing Lab

Development Environment

Development environment (a.k.a Batman’s Cave) is the necessary setup needed to get you going in cross platform development. Sadly, because of IOS platform and uniqueness of windows phone, we are always divided into two major faction. Either we use a VMware installed on Mac with buffed RAM (which is bad in terms of performance when it comes to blackberry and rendering interactive stuff in windows phones) or have get another machine just for windows and blackberry development (blackberry emulators are currently all exe files which only runs on windows).

My current dream setup will the Mac for IOS and android development and a Windows 8 tablet (x86) hooked up for Windows/Windows Phone and Blackberry development. Choosing Windows 8 tablet is also a good choice because, there’s some android rom that can run on x86 platform and you can also develop Metro Win8 apps on the fly!.

Other than that, both platform need to have…

  • Oracle’s Java SDK installed at least 1.6
  • Eclipse variant IDE (I use Titanium Studio for PhoneGap as well as Titanium Appcelerator Development)
  • A good lightweight editor (for small edits) – TextMate (Mac) and Notepad++ (Windows)
  • Latest XCode installed
  • Chrome and Safari installed.
  • Android SDK downloaded with tools updated.
  • Apache Ant Builder for Blackberry development.
  • Blackberry WebWorks SDK
  • Visual Studio for Windows Phone SDK (free)
  • The 3 Blackberry Certificates for development.
  • Photo editing software for icons and splash-screens.
  • Apache PHP server, just in case you want have a server component.


Gears and Testing Lab

This is the part we differ so much from native single platform programmers, all our gears and testing lab are build to cater for all platforms. We are the Batmans of mobile development ~ haha. This section includes our preference of cables to the additional softwares / apps used in our machines.

2 x Special Cross Data cables

Most of the non-Apple phones uses micro-USB cable, and Apple IOS products uses it’s own data cable. Resulting inconvenience when your developing for both, imagine the trouble of plugging out and in different device. The solution for this is to get 2 of these convertible data-cables. I like the ones from Innergie, make sure you buy the longer cable length ones. The shorter ones have 3 convertible heads but shorter length. All you need is to pull out fold the data-cable head, when you want to plug into windows/blackberry or android phones and assemble the IOS head when you need to connect to iPhone or iPad. See Picture Below.

1 x USB Hub

Like all macs, they have sooo limited usb slots, makes it harder to connect to multiple devices  so, a good usb hub is needed but, try investing on the ones that have brands like Belkin and Apacer. This is because, if you are into jailbreaking and custom roming your android, you will required a stable data transmission – even the slightest voltage drop may brick your device.

1 x Signal Jammer (optional)

Yes, yes , I know this is crazy isn’t it? To purchase a mobile signal jammer? and What the heck for you say? Well, simple. Sometimes, we need to do a real line /GPS drop test, which means to simulate what happens if your mobile app is entering the area where 3g, edge or gps connection is dropped. Does your coding handled all the exceptions? Did your app just crashed repeated when situation like this happens? Did you implement connection checks and a way to reload when connection returns?

What sort of error message would you like your user to see in situation like this? This item is optional however, it does help in testing out really odd timing and event handling of such event. And you can stop using the lame airplane mode trick to test for connection drop, doesn’t really simulate a sudden line drop as sudden line drop happened gradually, and sometimes, it only happens only a few secs interval.

1 x MicroSim Adapter (optional)

Yup, cutting your simcard to a microsim doesn’t mean you can transport it out to another phone that doesn’t support it. In device like blackberry, some features are only available once, you inserted the simcard. Is just the matter of shape. Buy a micro sim adapter (only cost less than MYR 10 in my country), to shape it back to a simcard. See picture below.