The remarkable acceleration of digital technology has resulted in a proliferation in the types of device, connection and software that we use. But while there is a expansion of technology, there is a convergence of expectations as users demand the same experience from B2B technology as they do in B2C. This means that many enterprises have found it hard develop a coherent approach to mobile applications. On the one hand they want to develop a consistent approach to each device, and on the other, they have to build and maintain applications for many different devices and operating systems.
They may have thought their only option is to build a mobile web site which can work on any mobile device, or build applications specific to each device. There is another way, the hybrid approach. Orange Business Services’ deal with Xamarin is an example of this.
Application development: three key processes
Companies refreshing their web site today know their latest build should be responsive, the web site must reflow to fit the window it is being viewed in. Developing one web site that can be viewed on an iPhone just as well as a desktop PC saves an organisation time and money.
If there is a limitation to responsive-designed web sites is that they are not applications, so they don’t appear in the iPhone or Android app stores and do not integrate with specific functionality in the phone. Delivering content to mobile devices via a native app gives access to the device’s APIs enabling the user experience to be closely optimised for the particular mobile device.
Enterprise market: a partnership with Xamarin
Orange Applications for Business is using the Xamarin app creation environment to simplify the design of cross-platform applications for our enterprise customers. The Xamarin software allows us to create apps for iOS, Android, Windows 8, Windows Phone 8 and Windows 7 environments from the same code base.
Why choose Xamarin?
Xamarin takes advantage of the hybrid approach and allows developers to create native applications in C# for iOS, Android, and Windows.
Native applications are a guarantee for performance and ease of use. Using native graphic components helps to preserve the ergonomics specific to each device/OS and so users have a rapid learning curve for a new app. Every device/iOS’ native APIs are now available in C#, along with a subset of the .NET framework.
From an implementation perspective and with a code-sharing strategy, it is possible to share libraries between all platforms. The MVVM (Model View ViewModel) architectural pattern is used for all developments with an ordered layer structuration which allows a customized testing strategy. Only layout organization needs to be done on the platforms. Afterwards, they are connected through common code. From a team perspective, every developer can contribute to this shared common code, even if they have their own system preference to build the interface.
After almost a year of using Xamarin, experience feedback shows a reuse rate of 60% minimum in the least favourable case. This is indeed a competitive advantage for users in regards to production and experience. And, as it is usual to replace the mobile device fleet every 6 to 8 months, this also guarantee to maintain the best user experience proposal for an affordable price. From an industrialization perspective, as Xamarin evolves in a Microsoft ecosystem, the TFS (Team Foundation System) connection allows to meet the requirement of our industrialization strategy. The covering of engineering practices target requirement management, features, code, build, tests, continuous integration, quality measurement and correction/change management.
This leads to only one language to master and a unique development environment. An implementation compatible with the industrialization strategy, a reusable set of APIs and the MVVM approach offer a great project architecture and functionalities (Async, events, serialization) that simplifying development.
Native applications maintain the ergonomics specific to each device/OS and gather all business algorithms and data exchanges. This represents a significant saving of time for development and a better maintainability as bugs and changes are corrected on every platform. From a team management perspective, the transition to a new mobile OS by a developer is also greatly facilitated by this unique language.
Philippe Ensarguet, Chief Technical Officer (CTO) of Orange Applications for Business, I am in charge of the technical strategy, software development industrialization and operational deployment, technological excellence animation and strategic partnerships. Passionate by innovation, agility and digital economy, I bring my expertise in this area in several accelerators / start-up incubators. My motto: "Making human and technological assets a factor of competitiveness for customers and employees."