A little over six months ago I released a iPhone App for searching HELP.SAP.COM describing my efforts and learnings to build an iOS app 'myHelp for SAP Professionals' that delivers search results from help.sap.com. That app is entirely free (and devoid of any advertising or other revenue), has achieved over 8000 downloads, and continues to see a consistent download rate of ~200 per week (perhaps that is the rate at which SAP professionals are adopting iOS devices?).
I decided this year to explore how this could be ported to an Android platform. Partly this was driven out of a desire to understand the Android platform from a native developers perspective, and partly out of a duty as a SAP Mentor to help the SAP community consume more knowledge (in this case the Android users in the community).
In embarking on this personal challenge, I did face one big problem .... I don't actually have an Android device. This is not out of any strong preference for iOS, it is more related to the fact that when I acquired my iPhone there were very few Android options available locally. I will describe later in this blog how I addressed this challenge.
Let's have a look at the app in the below YouTube video ...
If you cannot see the YouTube video, a Flash version is hosted here ... http://www.johnmoy.com/scn/resources/myHelp_Android_flashvideo.swf
If you are wondering how this app works, well it really is quite simple. This app reframes content delivered by help.sap.com not unlike what apps like Flipboard and others do (although not nearly as elegantly as Flipboard). In order to incorporate SAP content I needed to source permission via SAP. Thankfully SAP Mentor Dagfinn Parnas managed to help broker communications with SAP. It was my first real experience of how helpful SAP Mentors can be.
You can find the app in the Android marketplace here.
Thoughts on Android
I need to be careful here, since the whole iOS versus Android debate can get overly passionate (and please don't ask me about Blackberry). What I have here are my own personal thoughts and opinions from a developers perspective, and we all know that the mobile platforms landscape is changing at such a rapid pace that any opinion, whether right or wrong, will be out of date within weeks (as a great example, iOS 5 has been announced in the course of me writing this blog).
What I like about Android:
// Share URL with other apps on the device
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.resultsdetail_sharetitle));
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, mWebView.getUrl());
startActivity(Intent.createChooser(sharingIntent,getString(R.string.resultsdetail_shareusing)));
What aspects of Android I found challenging:
What aspects of Android and iOS I am neutral on:
With all of the above, I nonetheless found MANY similarities between iOS and Android development. In fact I am convinced that I fell into Android development quite smoothly because of my time with iOS development. With the port of myHelp from iOS to Android, in some cases I simply translated portions of code almost line for line. In other areas the coding was very different.
So, after this experience, I can say that I have a great appreciation for Android and the Android development SDK. So much so that I might consider acquiring an Android tablet to go with my iPad one day (especially so I can see Flash presentations on InfoQ).
But really, perhaps the big challenge isn't about Android versus iOS versus Windows Phone 7 etc. The more interesting debate is the native versus mobile web debate, and in particular the web container approach. But that probably deserves a separate blog. For now, I have noticed that SAP / Sybase have moved to incorporate a web container into SUP 2.0
Addressing the Testing Challenge
I mentioned before that I don't actually have an Android device of my own to test with. And anyone who has worked on native mobile development knows that testing on the device itself (rather than simply using emulators) is essential. In addition to that, the Android platform presents the challenge of many different combinations of devices, form factors and OS versions, much moreso than with iOS.
So my testing strategy involved the following:
- Test on the emulator, using several emulator configurations (for different combinations of form factors and OS versions)
- Testing on a colleagues' devices (thanks to Abhinav Tayal, who possesses both a HTC Desire and a Dell Streak!)
- Testing in the cloud.
The last step of testing in the cloud was quite a revelation. I discovered a service at perfecto mobile which enables you to upload your app via the browser directly onto a physical device in the cloud, and then actually control that device and test your app on it. Through the browser, you actually see a webcam of the device screen (wrapped by a nice image of the device you are using). Some screen captures of my testing are below ...
I was impressed with the coverage of this service in relation to handsets, platforms and network providers. See this link to get an idea. To be fair, this is not a free service, although they do offer a 1 hour free trial.
Note that I don't have any affiliation with this company, I was simply impressed with their innovative offering. It is great to see services like this and PhoneGap Build (which I referenced in an earlier blog Extend your SAP jQuery Mobile web app with HTML5 concepts and Native device features - Part 2) springing up in the cloud. Perhaps SAP/Sybase might gain some inspiration from this.
Other Learnings
Useful Links
Here I would like to share some useful links that I harvested in the course of this development ...
Final Thoughts
In a very informative blog 'What I Learned about Mobility at SAPPHIRE Now 2011', SAP Mentor Kevin Benedict quoted John Chen, CEO of Sybase as saying the following ...
"We expect to build only 10% of mobility apps, the ecosystem the rest"
You can already see that there have been efforts to deliver useful and free apps by the SAP community ecosystem for the SAP community. Some good examples include the following:
- SAP Mentors Outreach (Android app by SAP Mentor Thorsten Franz)
- SAP Note Viewer (Android app by SAP Mentor Dagfinn Parnas)
- SAP Note Viewer (iPhone app by Paul Aschmann, iPad version also available)
My expectation and hope is that SAP will deliver an official app for help.sap.com one day, and I would gladly welcome that. But in the meantime, I hope the community benefits somewhat from this app, and that others are inspired to also deliver apps to the SAP community.
I would like to acknowledge Daniel Da Vinci, who gave me the original idea to implement this for the iPhone, SAP Mentor Dagfinn Parnas who helped me find the right contacts at SAP to achieve permission to incorporate SAP's copyrighted content in the app, Sascha Wenninger who provided the language translations in German (currently only in iOS version, but he has agreed to help me with translating the Android version), and SAP Mentor Thorsten Franz who kindly provided his source code for the SAP Mentors Outreach app for reference purposes. THIS is the SAP Community at work!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
37 | |
10 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 | |
2 | |
2 |