So what mobile platforms we are talking about?
Let's take a look at two latest reports from Gartner and ABI Research:
Also we must consider Nokia's strategic alliance with Microsoft on Windows Phone 7, and the retirement of Symbian. All facts taken together, the target mobile platforms are:
• Google Android
• Apple iOS
• Microsoft Windows Phone
• BlackBerry
So what is the solution?
In general, there are two approaches to get the proper mobile solutions for Dynamics:
1. ISV solutions
2. Custom solutions
ISV Solutions
If we are talking about the CRM Mobility solution, there are two major ISV providers on the market, TENdigits and CWR Mobility. Both ISVs provide advanced level mobility solution for Microsoft Dynamics CRM.
Also Microsoft Dynamics CRM 2011 has an out-of-box Mobile Express version which works on the target devices but lack functionalities,i.e. no offline mode.
Custom Solutions
To develop a custom solution on mobile device, let's take a look at the different types of mobile application first. There are two kinds of mobile application:
• Native app
• Web app
On the bright side of native app, it provides native APIs support for the mobile device, but you have to build applications using that mobile OS specific language. In other words, you need to develop different applications for different devices, in our target mobile platform, you need to develop 4 applications for Android, iOS, Windows Phone and BlackBerry. So you can probably imagine that it requires some efforts on upgrading and maintaining the application.
Another choice is the Web app which is browser based application that running on the mobile devices. Generally speaking, mobile app provides the Cross-Platform support, so one web app can suit different mobile platforms. The blind side for web app are mainly on: performance and limited API access.
So if we want to build a unified cross-platform mobile application, prepare for the future and develop for the future, the mobile app is a good choice. But before making the choice, we also need to make sure that we have a clear goal. i.e. to build a CRM mobile application to allow salesperson access CRM data via their iPhone and iPad with offline mode... And then find out whether the web app can do the work on various aspects (local storage, security, performance etc.)
HTML5 is the choice for web app
HTML 5 web app is the perfect choice for web based applications that are designed for mobile devices. HTML5 will be the new standard for HTML, XHTML and HTML DOM. Although HTML5 is not yet an official standard, and no browsers have full HTML5 support. All major browsers (Safari, Chrome, Firefox, Opera, and Internet Explorer) continue to add new HTML5 features to their latest versions, as well as the mobile browsers.
Now, are we going to build HTML5 web app start from scratch - No, we don't have to. There are some framework you can choose to use right now:
jQuery Mobile is the most broadly compatible HTML5 library for building web sites and apps. JQuery mobile framework takes the "write less, do more" mantra to the next level: Instead of writing unique apps for each mobile device or OS, the jQuery mobile framework will allow you to design a single highly branded and customized web application that will work on all popular smartphone and tablet platforms.
PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGap leverages web technologies developers already know best... HTML and JavaScript.
The following diagram shows how PhoneGap works:
Both jQuery Mobile and PhoneGap are under the MIT license.
There are also commercial frameworks that available on the market, i.e. Sencha.
Sencha Touch is the world's first app framework built specifically to leverage HTML5, CSS3, and Javascript for the highest level of power, flexibility, and optimization. It allows you to develop mobile web apps that look and feel native on iPhone, Android, and BlackBerry touch devices.
So, are you ready for the HTML5 front-end web app of Microsoft Dynamics? :-)
Jim Wang
Microsoft MVP Dynamics CRM
July 2011