Posts

HTML5 Growth in Enterprise Mobile Apps

Gartner recently predicted that in the next few years the enterprise mobile workforce will more than double in size. Thus, development and support of mobile applications and policies around BYOD must come center stage in enterprise IT strategic planning. As IT feels the squeeze from both management and the growing mobile workforce they support, the previously unthinkable, enterprise IT adoption of consumer level apps over multiple mobile platforms, is the new reality.

For the immediate future, that reality appears to be HTML5-based web applications interacting with enterprise data and services platforms.

Write Once – Play Everywhere

Combined, HTML5 and CSS3 are the de facto standards in the mobile consumer space delivering rich multimedia. The long term promise of the HTML5 application paradigm is the ability to write apps once for a wide variety of OS and hardware platforms from desktops to small-screen, resource limited smartphones. For enterprise IT, the ability to deploy a single code base onto multiple mobile platforms reduces costs and headaches on multiple levels given that other enterprise-level concerns can be met, namely security and performance.

Offline Application Execution

A prominent weakness of web apps prior to HTML5 was the requirement for reliable, continuous and fast Internet access. The current HTML5 application cache alleviates this need somewhat by supporting offline execution of apps within the browser and providing local storage. There are still sharp limits, of course, but the ability for off-site employees to access their company’s data anywhere, anytime has taken a big leap forward with HTML5.

Current Limits of the HTML Stack

Unlike desktops or laptops where HTML5 has already flourished, mobile devices present unique challenges. Their abilities to take advantage of context awareness and offer an enhanced user experience are good examples.

Native mobile applications still have a significant advantage in this regard because of their ability for direct access to device capabilities:

• Performance enhancing hardware such as graphics
• Motion and location sensors such as GPS or device position and proximity
• Sensory input from cameras and microphones
• Screen touch events such as spread and pinch
• Wired and wireless peripheral connections
• Onboard security devices such as a fingerprint scanner

Many company technology experts, therefore, feel that HTML5 adoption cannot extend much beyond customer acquisition apps or those that simply present a rich multimedia interface on desktop monitors, tablets and smartphones simultaneously.

The Stack Expands

However, others in the thick of web app development see a brighter future. As client-server HTML5 capabilities improve, such as Server Sent Events and Web Sockets, browser-server communication performance begins to match the native application user experience. Newer, higher performing JavaScript APIs, backend database libraries such as Node.js and native JavaScript frameworks for content rendering such as Backbone.js are blurring the line between HTML5 and native app performance.

Hybrid Applications Span the Gap

In order to begin escaping the burden of developing, deploying and supporting standalone, enterprise applications across Android, iOS and Windows platforms, IT can begin by employing hybrid apps. This approach blends an HTML5 interface supported by native platform plug-ins or libraries. As overall software performance continues to improve, the demarcation between web and native will shift closer to the platform. Eventually, this implies less work at the hardware interface and more portability across existing and emerging compute platforms.

Maturing HTML5 Development Frameworks

An HTML5 framework is now the preferred way to deliver an entire mobile application by over half of web app developers. In other words, HTML5 is breaking free of the initial perception that it is a browser-bound technology. It now can be seen as the application core, which extends itself via native code. Witness the rise in high-level mobile app development environments such as SeattleCloud, uBuildApp and ShoutEm or more intricate offerings like PhoneGap.

Emerging from Adolescence

As with any emerging technology, gaps exist during early adoption stages. HTML5 developer tools and developer skills are still maturing. The technology itself is a collection of cooperating sub-technologies: HTML5, CSS3, JavaScript, WebRTC and others. Browser implementations are uneven, security weaknesses exist and more will become apparent as the universe of HTML5-based apps expands.

Starting with Internal Apps

This state of affairs suggests that IT resources are best deployed toward internal mobile applications that access an organization’s private or hybrid services and data cloud. As software vendors enhance integrated development frameworks, the move beyond internal-facing applications toward offering an SaaS model that mobile workers demand will be well within IT’s grasp.

Expect Close Coexistence of Native and HTML5-based Applications

It is expected that neither HTML5 nor native mobile applications will triumph as a clear winner over the other. Together, they will push beyond the traditional client model of user software into an increasing emphasis on network and distributed infrastructure for enterprise application delivery and execution.

Web vs. Native vs. Hybrid: Understand Your Options

Pitting the pros and cons of developing mobile applications natively or on top of web-based technologies may seem a fruitless exercise. The scales weighing each approach’s strengths and weaknesses never quite balance in an unambiguous way. The technological and operational differences between Web vs. Native vs. Hybrid applications must be compared judiciously against specific product goals and available resources.

Fundamental Tradeoffs

Most of the tradeoffs of native versus web-based mobile apps revolve around functionality and aesthetics versus development and maintenance costs. Simply put, non-trivial native apps always outperform their web-based counterparts in terms of speed, responsiveness and overall UX. They come with significantly higher costs however. Each native app-device pairing requires customization or rewriting the code base to match the combined hardware/software platform on which it is deployed. Web-based app compatibility is based primarily on the browser rendering the application.

Detailed Advantages of Each

There are other aspects to examine between the two:

Native App Development Advantages

  • Besides enjoying the highest performance, native apps can access the accelerometer, GPS, camera, contact list, networking connections, notifications and screen gestures.
  • Native apps continue to be functional when the device is offline.
  • Intimate association with the device and its OS means the native app seamlessly fits into the product’s UI/UX.
  • Even though proprietary development environments required to code natively are expensive, these environments save development time by automating interface design, pre-compile checking and optimized libraries.

Web-Based Development Advantages

  • Web apps are built on standardized technologies: HTML5, JavaScript and CSS.
  • Web apps rarely replicate the exact UX of a native app, but come very close to doing so. High quality mobile UI frameworks make this task relatively easy.
  • Since Web apps are essentially write-once, run everywhere.
  • Less code is required for initial development or to support new device platforms.
  • Development and debugging tools are ubiquitous and inexpensive.
  • Distribution merely consists of a user bookmarking the app in their browser.
  • Although Web apps have very limited access to the platform on which the enclosing browser runs, such as GPS and tap-to-call, more low-level function APIs are under development.

A significant disadvantage to Web apps are their need for a constant Internet connection.

Marketing and Monetization

Web-based apps never achieve a completely seamless UI/UX for a branded platform. While a native user experience may not be critical for mobile enterprise B2E applications and their users, it might be critical to branding efforts for either or both the mobile device manufacturer or the OS provider. It can be a drag on adoption of the app itself if it is viewed as diminishing the platform UX.

Web apps also miss out on a visibility boost since they do not appear when a user is shopping at App Store or Google Play, which have extremely restricted search domains compared to a full-on search engine.

Native apps have more monetization opportunities available to them such as the trend away from banner ads and towards native ads. They can more easily charge for the initial app as well. The drawback for the developer is that the store usually takes a big commission.

The Best of Both Worlds?

Enter hybrid apps, which just as their name suggests are composed of part native and part web-based technologies. In a nutshell, they are able to gain a performance and functionality edge over purely web-based applications by employing native code while achieving the advantage of cross-platform compatibility of a Web app.

Like a Web app, they are rendered within a browser, but in this case the browser is actually embedded within the application. They can stand alone, just as native apps do, within the platform’s application store.

As far as development costs, they tend toward the lower-cost Web apps, since the bulk of their functionality is based on JavaScript, CSS and HTML5. The much smaller portion of native code allows access to all the device features, which enables richer applications that incorporate a truly native look and feel. The cost and time to port the native portion of the app to various platforms is far less than a fully native application.

A Place for All Three Approaches

Typically, full native mobile applications are only within reach of larger organizations that can bankroll initial development and ongoing maintenance and porting efforts. Companies with smaller budgets that still want to project the highest quality in terms of performance and UX will also choose to go native since native apps will always trounce Web or hybrid approaches in this regard.

Web apps and hybrid apps have their places as well of course. They not only cost less but have wider distribution possibilities and are easier to change, which is a vital advantage for organizations that depend on their agility in fast-moving markets.

Certainly, there is no need to choose one approach to the exclusion of others. Match the technology to the application and marketing requirements, both now and in the future, and you are sure to find the correct fit.

Know your Enterprise Mobile ABCs

mPowerBusiness-150x150 Know your Enterprise Mobile ABCs

Featured speakers at Wavefront’s mobile application event.

Enterprise Mobile Trends were a hot topic at the mPowerBusiness event hosted by Wavefront. The event was packed with more than 15 speakers in a single track. The range of experience and expertise amongst the speakers was a major highlight. From entrepreneurs building mobile solutions for consumers to titans from Samsung, RIM and the Executive Director of the Office of the CIO of BC (who had some very interesting details about the NFC chip being put into BC driver’s licenses in late 2012).

Almost all of the speakers preambled their session with why mobile is important. We’ve heard it all before – mobile is the biggest thing since sliced bread. Well it’s official and enterprises have taken notice. My favorite stats came from Jonathan Carrigan, Product Development manager at the CBC. He illustrated that mobile devices are being used for much more than quickly checking email and doing 30-second tasks. He explained that at the CBC they’ve seen a massive amount of mobile traffic hitting their websites and mobile apps to watch full length TV shows and spend hours interacting with their content.

Here are a few key stats from his speech:

  • In 2007 (the year the iPhone launched), mobile traffic grew by 3000%
  • In 2011, mobile traffic grew by 160%
  • 1/4 of CBC’s total traffic online is from mobile devices
  • By 2013, they expect mobile traffic to surpass desktop/laptop traffic
  • 75-80% of their mobile traffic is from iOS devices
  • In regards to tablets, a full 80% visitors are using an iPad

These kinds of numbers illustrate the rapid adoption; however, another common theme was the challenges faced by enterprises trying to manage mobile devices, security, and application deployment.

BYOD

Bring-your-own-device is not a new trend in the enterprise space, it’s just becoming commonplace. It used to be the norm to be issued a Blackberry on your first day at the job, but now employees will often already have a high powered smartphone that they’re comfortable with. Enterprises can either resist employees using their own devices or empower them to use whichever device they like. If the employee already has a good phone, they’re likely to end up carrying both.

BYOD is a pain for enterprise IT because they need to support more platforms, devices, operating systems, and applications. The days of the one size fits all “Blackberry enterprise” are gone and have been quickly replaced by a slew of iPhones, Androids, Blackberries, and increasingly Windows Phones.

The challenge for IT is to make sure employees have access to the data they need; meanwhile, retaining the ability to remove that data when the device is lost or the employee leaves the company. This is handled by MDM.

MDM

Mobile device management handles the first challenge by managing the core business functions: email, calendars, and address books – all with reliable encryption and remote wipe capabilities. From a device perspective, Android (specifically Samsung devices) has taken this challenge head on by packing their OS with hardware encrypted interfaces with Microsoft Exchange Server. This enables Android users (much like myself) to link their default mail client to Exchange email servers while IT can remote wipe their device if it’s forgotten on the subway.

From a server perspective, I was really pleased to hear that Blackberry is improving their BES to support management of Android and iOS devices. This is a great move by Blackberry to incentivize their 275,000 BES customers to continue using RIM’s infrastructure even as users are diversifying their mobile devices.

CoIT and MAM

The consumerization-of-IT (aka CoIT), is the increasing expectations of employees to freely install applications from app stores such as the iTunes App Store or the Android Marketplace. That’s all fine and good, but how do employees get access to custom enterprise apps? That’s where mobile-application-management (MAM) solutions come in.

MAM solutions enable IT to create their own private app store where employees can select and install applications of their choosing. From there they can deploy off-the-shelf apps and apps built specifically for their company. A MAM, such as Partnerpedia‘s, will then handle all the details of deployment, licensing, and revoking access.

Another major advantage of a MAM is that it supports BYOD. Users can use their own device, install the custom app store and run both Angry Birds (from public app stores) and their company’s private apps side-by-side. Then when the employee leaves, the company can revoke access to corporate apps without destroying the employee’s coveted Angry Birds high scores.

HTML5 vs Native Apps

As the spirited J. Joly hit the stage, I thought the crowd was going to erupt in a debate about the native VS web-based app mobile development approaches. J and his team at dimeRocker have been killing it on the HTML5 side and demonstrating how powerful web-based applications can be. Between him and Carrington, from CBC, they had some pretty convincing arguments about the benefits of starting with a web-based approach.

I’ve spoken at length of the benefits of starting with an HTML5 development strategy, so you know where I stand and almost all speakers echoed the same sentiment. With a mobile strategy start small, pick a few easy wins, and get it out the door. Pick one user and solve their problem, then expand. Often this approach is well suited to a HTML5 (read: web-based) solution. If the application is mainly there to display data and interact with forms, then web-based is the most efficient approach from both a cost and timeline perspective, especially if you want to target a broad array of devices.

From there, if the web-app picks up and proves useful for the company – it may be time to consider more powerful native applications.

LBS and NFC

The last two common themes at this year’s mPowerBusiness was location-based-services (LBS) and near-field-communication (NFC). Now that we’re all walking around with GPS enabled smartphones in our pockets, there are a lot of location based services taking off. Rob Goerhring from Contigo (cleverly named after the Spanish word for “with me”), spoke of the powerful (and sometimes privacy invading) opportunities to track shipments, equipment, and even people. His service enables companies to track what’s important to their business and he shared lots of interesting case studies.

Tracking shipments and vehicles is an obvious application, but how about tracking remote or isolated workers? By using LBS, companies are able to make sure their workers are safe – in the event a worker is in peril, they have a location enabled panic button that can trigger emergency services. The key concerns when using LBS is that the business is using it to improve efficiency and safety as oppose to employee monitoring.

NFC is our little tech darling that is yet to be – in Canada at least. Only a fraction of smartphones in the market are NFC enabled, but that will rapidly change. We’re all on 1-3 year hardware refresh cycles and our next devices will likely be NFC enabled. These devices will power a plethora of previously pocket packing products: key cards, transit passes, driver’s licenses, care cards, payment methods, to name only a few. While we’re stuck scanning QR codes, they’re already using NFC regularly in Japan.

Optimus provides mobile application development services in Vancouver, Canada. We develop cross-platform mobile applications using both HTML5 and native languages. We specialize in HTML5, iOS, Android, and Windows Phone. If you’d like to learn more about the mobile application development process and what it would take to get a mobile app made for your company, give us a call. We’d be glad to sit down and discuss your needs.

(image credit: Wavefront)

Mobile Strategy: How to Plan for Short and Long Term Success

cell_phones_athomeinscottsdale-150x150 Mobile Strategy: How to Plan for Short and Long Term Success

How can you deploy an application to all these devices?

Looking to build a mobile application for your company? Your mobile strategy is critical to your success.

Have you considered doing it in small phases using open source technologies? This approach will enable you to make a relatively smaller investment upfront and get a solid, usable proof of concept together before making a serious investment of time and money.

When planning a mobile strategy, you can get overwhelmed with the choices. Do we focus on smartphones or tablets? Do we build an iPhone app or a mobile website? What about all of our BlackBerry users?

Where to start?

Nowadays I would recommend a phased approach. Start with a lightweight mobile website built using open web technologies like HTML5, JavaScript, and CSS. That application can have full graphics, videos, forms, and be very dynamic. Plus, it can be designed in a flexible manner that will work well on a very wide range of devices.

Mobile web applications are just like websites that have been designed to fit and work well on small screens. They can even maintain limited functionality while the user is offline.

From that stage you can start to monitor the application’s usage and benefit to the company. Are users finding the information they need? Are they making purchases? Are leads being generated? If the answer is yes, then take the next step and start porting the web application to become native applications.

Why build a native application?

If your mobile web application is proving to be valuable, consider building a native application that can be deployed to specific application stores, such as the Apple App store and the Android Marketplace. The benefits of native applications are two-fold: native applications have improved functionality and arguably better marketing potential.

Once you develop native applications, you can begin to use more of the device’s functionality. You can start taking pictures, use more offline storage, benefit from the marketing opportunities and make a very natural user experience.

However, with the increased functionality of a native application comes a price, you need to develop in the native language. That can be a major investment of effort especially if you want your application to work on multiple devices.

How to build native applications WITHOUT learning 7 new programming languages?

Want to deploy your application to all the most popular browsers without having to learn a bevy of new languages? Consider the open source solution PhoneGap. It enables developers to write their applications using a combination of HTML, CSS and JavaScript. From there developers can access native elements through PhoneGap’s APIs and then deploy to all leading devices.

PhoneGap isn’t a silver bullet as there is still a challenge to make a single code-base work perfectly on all devices, but a recommended approach is to build a perfect app for one device, then patch that app to work on another device, without affecting the first deployment. For example, build an iOS application, then adjust it so it works on an Android but make sure it still works properly on iOS. Using this method, you don’t need to become a master at both Objective C and Java, you can leverage open web technologies. From this point you can attack one more platform at a time until you reach all 7 that PhoneGap currently supports.

To learn more about mobile application development, connect with us. We are happy to provide free consultations.

Having trouble executing your mobile strategy? Don’t feel bad, everyone is.

mobile-strategy-2011-300x160 Having trouble executing your mobile strategy? Don't feel bad, everyone is.

Mobile Market Share 2011

The mobile ecosystem is rapidly evolving and becoming increasingly fragmented. Facebook currently supports at least 7 versions of their service: web, iOS (primarily iPhone as they haven’t released an official iPad app), Android, Blackberry, HTML5 and other mobile optimized versions.

That fragmentation makes it almost impossible to sync features across all platforms. Not to mention housing an internal staff able to update or at least maintain each platform.

As illustrated below, the latest stats from Gartner report that Android has overcome both iOS and RIM’s Blackberry in terms of units sold.

mobile-unit-sales-2011 Having trouble executing your mobile strategy? Don't feel bad, everyone is.

Mobile Unit Sales 2011

Android’s growth from 2009 to 2010 was over 400%! Google’s distribution strategy has worked to successfully get Android into the number two slot. Now Google needs to refocus on improving the OS and user experience.

In other news, Nokia has just announced they will focus on hardware development and adopt Windows mobile as their primary operating system. This is good news for mobile developers as it’s once less ball to juggle; however, that still leaves at least four primary mobile operating systems not to mention versioning and device specific issues.

As tablets explode in popularity, that is another platform consumers (and increasingly businesses) are using to access websites and services. In addition to the almost 15 million iPads sold in 2010, we’re going to see countless Android tablets, several Windows tablets, and the Blackberry Playbook.

How does your mobile strategy deal with this fragmentation?

One strategy is to first focus efforts on HTML5 development, which is increasingly supported by mobile devices and provides a user experience almost equivalent to a native application. Although HTML5 is still years behind native applications in terms of functionality, it can be used to get at least the majority of features required for mobile users.

Revisit your mobile strategy from an end user point of view. Who are your users? Why are they accessing your service on the go? By conducting a needs analysis you may uncover that they primarily require access to a specific feature set such as reporting as oppose to the full functionality of your product. This approach will enable you to provide at least a basic feature set to users on the go. Then you can refocus on optimizing the mobile experience and servicing your most valuable users.

Once beyond that stage, an agile development cycle for specific devices will enable you to focus and refocus your efforts on devices and features that have the highest demand and ROI.

At OptimusMobility these are just some of the problems we’re helping our clients overcome as a mobile strategy partner. Currently we’re developing on iOS, Blackberry, Android and HTML5 applications to deliver cloud-based data and media to mobile devices.

To learn more about mobile application development, connect with us.

What is HTML5?

The above presentation gives a simple overview of What is HTML5?

HTML5 is a new programming language that is being used to enhance the web on both personal computers and mobile devices. HTML5 gives developers the power to create new web experiences with enhanced capabilities like drag-and-drop, local storage, and geo-location. It can also be used to play video, animations, and music on many devices without additional plug-ins.

Here are a few examples of how HTML5 is being used on the web today:

  • Try drawing a picture using HTML5 here.
  • Play with real HTML5 capabilities here.
  • Check out an HTML5 physics engine here.
  • See how Facebook uses HTML5 here.
  • Read how YouTube is implementing HTML5 here.

At Optimus we have been working with our clients to take advantage of the new capaibilties of HTML5 and CSS3. To learn how Optimus can help with your HTML5 development project, send us an email at info@optimusinfo.com