Showing posts with label app porting. Show all posts
Showing posts with label app porting. Show all posts

Wednesday, 31 August 2011

Porting iOS (iPhone) Apps To Android And Blackberry

Golden Gekko is often asked to extend an iPhone app to other platforms such as Android, Blackberry, Symbian, HTML5, etc.

So, why would they come to us if they’ve already developed an app with someone else? Usually, for one of the following reasons:

a) Current developer lacks skills and experience for other platforms than iOS
b) Unhappy with the existing developer
c) Concerned about the complexity of other platforms due to fragmentation
d) Want a long term development partner that covers all platforms

What is porting?

“Porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed…” and “Software is portable when the cost of porting it to a new platform is less than the cost of writing it from scratch. The lower the cost of porting software, relative to its implementation cost, the more portable it is said to be.” (source: Wikipedia)

In reality there is no such thing as porting from iOS to Android or Blackberry. The development environments are completely different, which means that unless you’ve planned for cross-platform development from the beginning you will have to start from scratch for additional platforms and the cost of pure development will be similar or sometimes higher than the first platform.

So what is the point of this blog?

Even though there is no easy solution to porting, there are lots of tips and tricks that make the process smoother, the cost lower and the app more successful:

1. Adapt existing Use Cases, Wireframes and Designs to the new platform

Even though the code cannot be reused, the overall concept of the app, user journeys, information architecture, designs, etc can. However, you need to make sure that the app is customized for the special attributes of each platform in terms of underlying OS concepts, navigation, screen sizes/resolution, limitations, additional features, etc. If you already have good documentation of the app, we recommend analyzing the deltas and describing the differences compared to the original app, keeping it trackable, so that future changes in the original app will also result in similar changes to the other platforms.

2. Sharing resources such as Copy, language files, graphical assets and media

This is where a lot of long term headaches and savings can be made. By sharing resource files where possible, you only have to update the content once and then automatically propagate to the builds for each of the platforms. Often this involves a scripted conversion step, but setting this up early is of great value for long term savings.

3. Backend communication and integration

If the app communicates with one or multiple backends then the API requests should be the same across platforms. In some cases you should consider developing a middleware that sits between the backends and the apps to avoid having to make changes to multiple apps if there is a change on the backend.

4. Code structure

To make it easier to maintain the code across multiple platforms make sure that you use the same or similar variables, classes, etc as this will save a lot of time for developers to make updates. You might also be able to reuse data structures and algorithms.

5. Preparing for tablets and other devices

Finally it is important to continue to plan for future platforms and devices becoming available. When specifying the new app for Android or Blackberry then also make sure that you consider support for Android Tablets, alternative screen sizes, new Blackberry’s launching, etc. Tablets especially require a modification of graphics, as well as user journeys, to make best use of the extra screen space.

 If you have to reduce cost because of budget constraints you can:
a) Complement the existing app with an HTML5 mobile website - this doesn't replace having an app on the other appstores but is a good way of building a mobile presence across all devices
b) Use a cross platform web runtime solution such as Phonegap for Write Once Run On Multiple (WOROM) - this is always going to be a compromise compared to native apps but can be acceptable in certain cases

In conclusion "porting" or developing for multiple mobile OS is not an easy task but the effort, costs and timelines can be reduced and the result can be very rewarding, if planned and executed properly.

For more about porting to Android also read Techcrunch article "Porting iOS to Android pitfalls and perks"

For more information about how to develop and maintain applications across multiple OS contact us for a call or meeting.

Wednesday, 14 April 2010

Recipe for success with mobile apps

I'd like to take the opportunity to update you on what's being going on in the mobile space during the past 6 months and some exciting opportunities going forward. I've tried to pick out the areas that are most relevant for you from our massive knowledge base consisting of over 150 mobile apps and services launched in the past 6 months.

1. Why brands should launch branded mobile apps?
2. In mobile fragmentation is forever. Deal with it.
3. How to choose mobile platforms (iPhone, Android, Blackberry, etc)?
4. Why is mobile web not enough?
5. Producing your own apps using Tino Mobile


1. Why brands should launch branded mobile apps?

Over the past year there has been an enormous hype around iPhone applications in particular and mobile applications in general. After 10 years of uphill struggle, mobile marketing and services finally took off with a big bang. Companies ranging from global consumer brands such as Coca Cola, Mercedes, Kraftfood, Nike, Zara and Pizza Hut to small and medium size organisations including festivals, restaurants, local touristboards, hotels and publishers.

An overwhelming 64.8% of marketers and publishers reported planning to invest in mobile apps this year, according to a December 2009 survey conducted by DM2PRO and Quattro Wireless. The most successful from a reach perspective are no doubt those with a great entertainment value (e.g. iPint, Barclays Waterslide, Volkswagen Polo Challenge and Malibu Bowling) while the ones delivering the greatest ROI are applications that provide a relevant
service to customers (North Face Snow Report, Yellow Pages, Timeout sponsored by Smirnoff, Absolut Vodka cocktail guide, etc). 25.000 people using a branded application every week potentially generates a lot more value than half a million people downloading a game which they play ones.

Rory Sutherland, Executive Creative Director at OgilvyOne probably describes it in the best way when talking about "mobile" advertising: "Never dismiss branded utility. It's a lot easier to be repeatedly useful than repeatedly funny."


2. In mobile fragmentation is forever. Deal with it.

A couple of weeks ago TechCrunch had a great article about mobile fragmentation by Richard Wong at Accel Partners. The article (http://techcrunch.com/2010/03/04/mobile-fragmentation-forever/) highlights the fact that there is no long or short term solution to fragmentation and nor is there a simple answer to which platforms companies should invest in. As one of the pioneers in cross-platform development Golden Gekko has invested heavily in R&D and education of customers and partners. We have managed to make it easier and more cost efficient to develop and maintain cross-platform apps but there is still no simple solution. Multiplatform development platforms work for simpler apps but in reality there is no out-of-the-box solution if you want to deliver the best experience for each platform.
Our recommendation is

  1. Plan for cross-platform support from day one unless you are absolutely certain that you only want to launch on one platform - fixing it later is very expensive
  2. Ensure that your development partner has the experience to develop for multiple platforms and that if an porting tool or multi-platform tool is recommended that you understand the limitations agree on processes and scope for design, testing, acceptance, appstore uploads and other distribution early on for each platform as this will save you a lot of time and effort throughout the project


3. How to choose mobile platforms (iPhone, Android, Blackberry, Java, Widgets, etc)?

The number of mobile OS platforms and development SDKs keep on increasing with new platforms including Samsung Bada, MeeGo, 5+ different widget platforms, Palm Webapps, Windows Mobile 7, etc. Which platforms should I chose?
We think there are 4 key considerations:

  1. What is your objective? PR or Mass market reach?
  2. Who is your target audience? Markets? Niche segments?
  3. Where will you get the most attention for the least money? Many operators and handset manufacturers offer very attractive distribution deals.
  4. How much are you willing to spend?

Our platform recommendations vary from case to case but our general advice is:

  • PR, communication and experience - iPhone apps
  • Innovation & controversial - Android is the first choice as there are few restrictions in terms of APIs and approval
  • Youth market - J2ME for non-connected apps
  • Mass market reach - Launch on as many platforms as you can afford starting with iPhone and Android
  • Business users - Blackberry and J2ME

Android or Java are our preferred base platforms for cross-platform development as there are clear development synergies between J2ME, Blackberry, Android and e.g. widgets whereas iPhone development has limited synergies with anything else. One of the main limitations with J2ME today is that most users won't connect to the network due to issues with settings, data costs, security prompts, etc but the number of downloads for a like for like iPhone and J2ME app is still 5x to the advantage of the J2ME app.

Finally the other key considerations is distribution and media spend. Many of the handset manufacturers and operators are desperate to get new innovative apps on their appstores and will therefore give you all kinds of free promotions and traffic. A free promotion by e.g. Nokia OVI could easily be worth 50-100k Euro in media budget and will give you a lot more reach and downloads than an iPhone app would without putting the same kind of media budget behind it. We are currently getting similar offers from Vodafone, O2, Samsung, RIM/Blackberry and various other partners so it's always worthwhile discussing these opportunities.


4. Why is mobile web not enough? Consumers are disappointed with mobile web experience.

A recent survey of 1001 mobile Web users found that users have high expectations for mobile Web performance. Ultimately, the majority stated they expect Web sites to load as quickly, almost as quickly, or faster on their mobile phone, compared to their home or work computer.

The survey "Why the Mobile Web is Disappointing End-Users" also revealed how unsatisfactory mobile Web experiences can negatively shape a consumer's opinion of an organization. In the survey:

  • 60 % of respondents have encountered problems when accessing websites on their mobile phones in the last 12 months
  • More than half are unlikely to return to a Web site that they had trouble accessing from their phone, and 40 percent said they'd likely visit a competitor's mobile Web site instead.

What do we think?

The mobile web is great for text based services like news, search, directory, etc but as soon as you want an interactive experience with maps, embedded video & sounds, location, animations or anything more advanced then apps are currently the best solution.

For more information about the survey see a summary here http://www.slideshare.net/Gomez_Inc/gomez-mobile-web-experience-survey-why-the-mobile-web-is-disappointing-end-users


5. Producing your own mobile apps using Tino

Finally we want to give you an update on our self-service tool for mobile apps Tino Mobile. Tino allows you to produce your own mobile apps with more standardized features. This does not replace bespoke development of innovative new apps but allows all kinds of great apps to be produced.

During the past 3 months we've continued to enhance the tool with
  • New features including carousels, embedded video and audio, questionnaires, more flexibility for image/text formatting, SVG fonts, banner ads and lots more
  • Major UI enhancements for larger screens
  • Enhanced device support for Blackberry
  • Making the online tool easier to use

During the coming month we will also introduce support for Android and iPhone as well as a myriad of other features.

If you want more information visit http://tinomobile.com or contact us for an online demo.


Magnus Jern, CEO