Porting mobile apps – few guidelines and insights

Hi

When we talk about mobile world complexities, it is important to understand the meaning of Porting.

We know that the mobile platform is dynamic, often changes and being influenced by many aspects (Calls, SMS’s and other interrupts, but also from diversity of mobile OS’s, new devices entering the market and more)

Porting of mobile apps, means – To take an existing working mobile application (Game, utility, web service or other) which was proved to work fine on few “lead”/”gold” devices which were (hopefully) well-defined by the project manager, and make a port of the application to many other handsets, tablets and so on.

You can imagine, that any generic core bug in one of the “lead” devices will obviously drill down to the ported handsets, so at first it is important to pick the right “lead” device which is new enough in the market, solid, and represent a “family” of existing devices (e.g. Samsung Galaxy SII for the Android OS).

Second thing to keep in mind, is that the time to develop and release a product (Mobile related) is ~3-6 months so the device needs to still be “relevant” in the market and be considered a “lead” in the market at the time of release.

Once we are certain that we picked the right lead devices and we have a Beta version with all features implemented and functioning, we than enter the porting phase in which we start to introduce new devices (hopefully from the same families of the lead devices which we ported) and install the application on them to perform sanity.

If the application was developed and designed  “for portability” – we should be able to produce various version per new handsets which are built from the same core base with the distinguish of icons, resources and minor differences – in that case fixing bugs should also be easy.

If the design was not right than we can enter a “nightmare” of fixing bugs backwards in the core source, and maintaining many old and new devices for a long time.

The right model is to have a solid and generic core source base from which the release manager generates using build targets the right handsets by using property files which matches the right device “family” and profile.

Porting bugs can vary between handsets and can be caused by many reasons which are not always related to our application (e.g – an application which uses GPS or Camera and these functions are buggy on the device may impact the application stability – this is something which porting should handle, issues related to screen resolution, rotating from landscape to portrait and more).

In our days when we have the Android OS, iOS and Windows Phone and we wish to develop similar application to these 3 or more platforms, porting becomes even more complex – For that we can consider the above insights, and also integrate tools such as Code Name One, PhoneGap or other tools which allows to use one code base and deploy it to various mobile platforms and languages.

In future blogs i will try and refer to the method of developing a master test plan for the lead devices and a subset/sanity test plan for the ported devices which are derived from the lead ones.

For questions and more details, you may contact me as usual: eran.kinsbrunner@gmail.com

Regards,

Eran Kinsbruner

Windows Phone platform – Useful information

All,

Many people were surprised a while back when Microsoft and Nokia joined forces to build the future platform for Microsoft targeted for Windows-based smart phone and Tablets.

Time passed, and it seems like a lot is going on in the Windows Phone platform.
Visual Studio Express with Windows Phone Tools was built, works great on Windows 7 OS.
Express Blend, Silver Light and many other tools became available for Windows phone developers, as well as XNA framework integration to the mobile platform.

In the latest MWC 2012 in Barcelona, the new Nokia Lumia devices were introduced (Lumia 900, 800, etc.) and few weeks later started to be sold.

Current OS version which runs on Windows phones is windows phone 7.5, however there are already news about the launch of the poweful Windows Phone 8 OS – which will be named Apollo, and will be released this coming Fall

http://www.engadget.com/2012/06/20/microsoft-introduces-windows-phone-8/

The bad news are that thew new OS will not be backward compatible with the current existing WP7.x devices which is disappointing and surprising (If this indeed will be the case).

For more reading on the windows phone 8 features and more – visit the Microsoft blog:

http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2012/06/20/announcing-windows-phone-8.aspx

Basically, the additional enhancement for windows phone will be these:

  • Multi-core processor support
  • Bigger, sharper screens: Windows Phone 8 supports two new screen resolutions—1280×768 and 1280×720, opening the door to amazing new handsets with high-definition 720p displays.
  • More flexible storage
  • NFC wireless sharing
  • Internet Explorer 10: The next version of Windows Phone comes with the same web browsing engine that’s headed for Window 8 PCs and tablets.
  • Wallet: Windows Phone 8’s new digital Wallet feature does two great things. It can keep debit and credit cards, coupons, boarding passes, and other important info right at your fingertips.
  • Better maps and directions
  • Cooler apps and games: Basing Windows Phone 8 on the Windows core will unleash a new wave of amazing apps and especially games, for reasons I’ll touch on in a moment.

Saying all of that, we start to see more mobile OEM’s such as HTC, Huawei and Samsung which also declare about their plans to release WP based devices.

In a poll which asked questions about the new WP8 release, and its compare to Android and iOS, people answered as follows:

Are you impressed with the new Windows Phone 8?

  • Yes, it brings some new cool features (35%, 166 Votes)
     
  • It’s OK, but nothing to write home about (23%, 110 Votes)
     
  • It’s not even close to Android ICS (20%, 95 Votes)
     
  • Yes, it leaves Android in the dust (15%, 71 Votes)
     
  • Underwhelming (7%, 39 Votes)
     

Total Voters: 481

This is how the WP8 start screen shall look like (More or less):

HTC press release from yesterday about their plans to release 3 new HTC devices running WP8 (“Rio”, “Zenith” and “Accord”):

http://www.wired.com/gadgetlab/2012/06/report-three-htc-windows-phone-8-devices-in-the-works/

As mentioned above, Huawei also announced their plan to release a new WP8 device by the end of this year:

http://www.theverge.com/2012/6/20/3104859/huawei-ascend-windows-phone-8-announcement-wp8?utm_source=dlvr.it&utm_medium=twitter

In case you wish to see live videos about the WP platform, features and more, visit the Youtube channel for WP:

http://www.youtube.com/playlist?list=PL0C88F4DC0C435D09

Since this is a Testing Blog, i would like to share an important link which holds information about tools which Microsoft provides for the testers (Certification tools, and more, called MPR – Microsoft Platform Ready tools – soon to be more relevant for the mobile platforms):

http://www.microsoftplatformready.com/dashboard.aspx

http://www.microsoft.com/en-us/download/confirmation.aspx?id=29945

Stay tuned for further news and updates.

Regards,

Eran Kinsbruner

Mobile Device Management and Security (MDM)

Hi,

We already covered the high penetration of mobile devices into the organizations, and work places.

We also mentioned the trend of B.Y.O.D (Bring your own device) which may introduce risks to the companies, since when the personal mobile is plugged into the work PC and becomes a storage drive, it can bring into the network many kinds of vulnerabilities, viruses and so on.

For such threats and in order to allow big/small organizations to manage their mobile assets, data, security, install from remote new ROM images, block stolen devices, restore data to devices and more, products which are called MDM’s were developed and are now commonly used by IT managers.

In this post i will briefly state few players in this field, to give a sample of where this field is heading to and to demonstrate the importance of MDM now and most important in the future, in which we will see more and more smartphones/tablets being used inside any organization.

In the market today we have products such as: Maas360 (by Fiberlink), AirWatch (Mobisec),  Nutech Systems, and more.

Most tools gives the below advantages to the IT manager:

  • Increase scale of mobile deployments
  • Enable BYOD and shared device programs
  • Centralize management of mobile platforms
  • Gain real-time visibility into mobile environment
  • Administer consistent policies across devices
  • Enforce enterprise security and compliance
  • Secure data transmitted to and from devices
  • Complete enterprise Data Loss Prevention (DLP)
  • Analyze and report critical device information

Maas360 (http://www.maas360.com/) provides MDM solution for any enterprize organization for cross-platform mobile handsets and Tablets  (Android, iOS, BlackBerry, and others). allows the administrator to manage its devices, add/remove/modify/fully wipe device and more functions, as well get specific information on each handsets in his pull (storage left on the device, OS version and more).

See sample video to learn more on the solution:

– AirWatch(http://www.air-watch.com/solutions/mobile-device-management?gclid=CKymv7zw3LACFUUhtAodESoPzQ) – Also provides MDM solution with many similar options such as the Maas360, and also provides monitoring capabilities, and dashboards of the assets, alerts when needed and more.

Has support to most commonly used mobile platforms, and has remote views, remote control to handsets and other options and configurations.

– MobiSec (http://www.mobisec.co.il/index.php/english) – Israeli company which deploys the above AirWatch MDM solution and integrates it into the organizations.

Regards,

Eran Kinsbruner

Automating mobile tests with SeeTest by Experitest

Hi,

In this short post i will introduce the SeeTest mobile automation testing tool which penetrates the mobile land and provides a very good automation and LAN Cloud solution for iOS/Android and other mobile OS’s.

The tool can be downloaded for short trial via the main web site: http://experitest.com 

The ramping up and connection of a device or simulator is quite easy, see short video which demonstrates the basic steps to get you up and running:

The tool provides built in high level functions (Actions like ‘launch browser’, ‘send url’ etc.) which ease the test development and automation life cycle.

The automation is highly reliable, and has various methods of object recognition and recording, as well as object editing for more precise operations (both OCR, Image and Native object recognition and analysis).

The tool has simple integration into the most common IDE’s (QTP, Jsystem, python, and others), and allows to deploy the initial code which was recorded into that IDE.

The tool has a mobile cloud solution which is unique, and provides remote access from within the local area network to any device which is connected, and by such allows running various scripts on multiple handsets/simulators as part of a regression test cycle or a continuous integration process etc.

For more info regarding pricing model or technical details, either contact me or the SeeTest support through the web

Good Luck

Eran Kinsbruner