Share It

Friday, May 17, 2013

Cloud Based Mobile App Development and the Challenge of Traditional Approaches



In my last blog I discussed how cloud services and in some cases MBaaS (Mobile Back end as a Service) will be a critical component to publishing and continually updating any number of informational, social, ecommerce and even internal applications rapidly and inexpensively. MBaaS opportunities help accelerate Enterprise app development but are only one consideration in how organizations may be currently attempting to meet the rapidly increasing mobile app development demand. Many companies are trying to address this demand with a more traditional approach to cloud based mobile app development. The issue lies in the associated challenges that hinder timely and effective delivery of the end product.

The Traditional Mobile App Development Approach - Internal Server-Side Development and Outsourcing

Traditionally, organizations can/do offer their own cloud services in a number of ways, but key among these are:
  • Internal server-side development through delivery of data via internal infrastructure:
In this case, software, hardware and networking infrastructure is first allocated and only then transferred into the data center. Using Objective-C, Java, PHP and other programming languages the required services are coded on the back end. Once these services are exposed via APIs and tested they can be further managed. If a client requests it, there is an opportunity to integrate to other public cloud systems like social channels and PayPal.

  • Internal server-side development by delivering data via Infrastructure-as-a-Service:
This is very similar to the first approach with the main difference being that instead of an internally managed infrastructure, a third party provider (outsourcing) is utilized. This is usually a less expensive option, but the back-end software development and management is still the customer’s duty. This means still needing to have development and support staff at the ready.


The Challenges of Traditional Approaches

Traditional server-side development is not without challenges. It is these obstacles that are causing many companies to struggle with how to address their increasing mobile app demands timely and cost effectively.

  • It is a costly venture to have an app built, thoroughly tested and accepted in the app stores. From hiring developers and having your app coded for cross platform use (ie. iOS and Android), to testing, distribution and maintenance, the numbers can easily exceed six figures.

  • From inception to release, it can prove extremely difficult to get an app to market in a timely manner with traditional approaches. Server-side app development can take several months from start to finish which can prove detrimental in the increasingly fast moving world of mobile apps.

  • Creating cross platform mobile apps traditionally requires highly skilled and experienced programmers who can develop both in Java and Objective-C. These developers are scarce and in high demand so organizations often have to hire one or more developers in each coding language to fill this need. Even still, the demand for experienced mobile developers exceeds the supply.

  • Keeping apps competitive requires constant updates or fixes which can sometimes prove as challenging as the initial build. App updates require additional coding which means additional expense. Additionally, internal or third party resources will have already moved on to other projects so stopping for updates means delaying new projects to maintain previous ones.

Faced with the challenges of timely and effective mobile app delivery with traditional app development approaches, utilizing a cloud based, online mobile app development platform is an excellent alternative to build your cross-platform, native mobile applications at a fraction of the time and cost. More on this approach in my next blog. 

Sunday, May 5, 2013

Cloud Based Enterprise App Building MBaas and More



The rapid rise and increasing consumer-driven demand for mobile applications is growing at a heated pace. Mobile apps have already proven to be an excellent way to promote/run your business and communicate with your customers. Now organizations are realizing the benefits and potential of implementing internal mobile apps to streamline business processes and communication with their employees. Enterprise mobile apps can further any companies’ strategies aimed at improving customer loyalty and employee productivity while decreasing costs.

One of the core challenges with mobile applications is that there is no single operating system suitable for all devices. Every device type runs on its own OS and has its own software and interface peculiarities. These devices support native, hybrid and HTML5 web apps on different OS platforms like iOS, Android, Windows Mobile and BlackBerry. Choosing theplatform(s) upon which to create your apps is as important a task as determine what apps you want to build. The choice will also hinge on who your audience is and how you want to attract and interact with your potential app users. Once the apps are developed, the ease of executing on-going maintenance and enhancements will play a big role in their success.

Although faced with the challenge of multi-device/OS support and the level of intricacies in the complex apps users are demanding, it’s no wonder enterprises are nevertheless putting vast amounts of time and resources into determining their mobile app strategies. Mobile devices and apps have given companies access to users in a myriad of ways and the users are responding and wanting more. With companies now adding in the internal component of strategies like BYOD (bring your own device) and users demanding access to enterprise backend systems, developing relevant apps is quickly becoming a necessity.

Cloud services and in some cases MBaaS (mobile back end as a service) will be a critical component to publishing and continually updating any number of informational, social, ecommerce and even internal applications rapidly and inexpensively.
The strategy of Mobile Backend as a Service

When implemented properly, utilizing MBaaS for enterprise mobile application development offers numerous benefits. MBaas is the term used to describe tools that provide cloud-based, pre-built components for developing mobile app backends. These platforms reduce the cost, time and difficulty needed to build, deploy and maintain mobile apps allowing developers to focus their efforts on core features. These types of mobile back end tools accelerate the process of new mobile app creation. Consumers require functionalities like GPS localization, social media integration and payment options to search, stay and purchase online. Employees are demanding BYOD opportunities with access to corporate enterprise systems like SAP, Salesforce and Oracle potentially combined with social networking and other services.

Taking advantage of MBaaS in your mobile app developments means addressing and resolving the potentially major issues before they happen.

- Product quality:
When your customer-facing mobile application is released there is a greater chance to be noticed and expand your business by gaining new clients. Internal apps have the potential to positively impact employees and productivity. The reverse side, however, is that if the app is poorly constructed, users will simply remove it from their devices. The golden rule is to deliver useful and reliable mobile applications focusing on quality and usefulness over “fancy” but possibly unstable technologies/features.

- Distribution
Your mobile application must be robust and work quickly regardless of the geographic location in which it is being downloaded and used. Consumers simply won’t tolerate slow working or buggy applications. To compete with the vast and rapidly increasing breadth of offerings in the app stores, you will have to offer maximum stability and availability, which can be a costly proposition.

- Security
With any cloud infrastructure data privacy and integrity is critical. This is a multi-level process addressing everything from the app that sits on a device to the back end support systems and shared resources. Your mobile app must ensure secure access to all information is provided at all times.

While MBaaS opportunities help accelerate mobile app development, they are only one step in the process. Determining how to effectively build and distribute complete enterprise applications in a cloud-based environment is the rel challenge. It means looking at the traditional server-side and outsourcing options and determining if there is a better approach. More detail on that in my next blog.


Alex

Tuesday, April 30, 2013

Step 5 in Creating an Enterprise Mobile App Strategy Management and Analytics




An often overlooked but key component of mobile app success, and the final step in your 5-step mobile app strategy (though on-going), is addressing app analytics and management.

App analytics relates to the number of users – new, active, registered; how often they use the app and other statistics to track in the immediate term and over time. If you have added a discussion forum or Q/A component to your app, users can also ask questions and provide feedback about functionality they’d like to see. This information will help you to understand how your app is performing and what your users are saying so you can consistently improve your app and its overall performance.

To follow your app/apps statistics with a product like snAPPii you can use the dashboard. Dashboard measures user analytics and improves app performance, allowing you to leverage continued feature and functionality updates to enhance the user experience.

Utilizing the snAPPii dashboard you can:

- Track the total number of app downloads (active, registered, first time)

- Send and track push notifications

- Track usage frequency

- Track registered users

As important as analyzing your app activity is app management. Your app needs to be a living product with continual updates and changes that further enhance your offering. Being able to make timely changes with ease will be important. So too, however, will be quickly and seamlessly distributing those changes to all of your end users, whether 100 or 100,000. snAPPii provides the ability to make and save your app changes, test them immediately and distribute them out to all your users with the push of a button. It's that easy.

Just building your app(s), dropping them in the public or private app store(s) and running won’t ensure rapid and long-term user adoption. Analyzing and managing your enterprise mobile application(s) to suit the changing demands of your app users and their technologies will make a dramatic difference in the popularity, usability, lifecycle and revenue generation of your mobile app(s).

Alex

Friday, April 26, 2013

Step 4 in Creating an Enterprise Mobile App Strategy Mobile Technology Selection




Watching the emergence and rapid rise of mobile apps, one harkens back to the advent of the internet and how it was transformed from its earliest static stages to the highly interactive solution of today. Part of this change occurred as a result of the continually new and improved development technologies.

In the informative phase of the web, HTML web servers were the foundation of web technology. With companies constantly having to meet their growing requirements and competitive needs, new tools such as JavaScript and other app servers quickly became an integral part of the interactive phase. The web showed companies’ they could dramatically change and influence their customer relationships by taking advantage of the full-featured web opportunities and applications that had been developed. This was then the time for companies to develop their enterprise web strategy. They took, and had, the time to plan IT budgets, interact with client and employees, integrate internal company systems and of course, time to innovate.

Mobile technology development and adoption is following a very similar course to the web only at a highly accelerated pace. Companies started by building native apps using SDKs and frameworks. These offered the most robust and user friendly apps, but was (and still is) a costly and time-consuming process that can only occur with experienced mobile app programmers. Then HTML5 came about allowing non-Objective-C and/or JavaScript programmers to build mobile apps quickly, more easily and without the concerns of rebuilding for various mobile device platforms. But a number of issues such as major security risks, poor offline accessibility and a much less robust overall user experience make this a faster, yet less effective offering. Now hybrid apps have begun making their way into the corporate mainstream offering the option to basically take the HTML5 technology, and wrap it in native code. However, since Hybrid apps are doing their best to emulate native apps the work required to create the “virtually native” look, often takes even more time and coding knowledge than simply building a native app to begin with and there are still some potential performance and compatibility issues. 

Just as there is no one single mobile device platform and no one mobile device type, companies may also want to consider adopting an enterprise mobile app strategy, and development tool, that offers native and HTML5 options. At the end of the day, native apps simply offer the richest most ultimately satisfying end user experience, being able to take full advantage of native device features and functionality, and should be part of any organization’s mobile app strategy. That may mean going wholly native, which is the ideal scenario, or possibly even hybrid if the organization feels strongly in that approach. But with the opportunity to offer data rich, cross platform, native mobile apps in tandem with HTML5 offerings, all from a single development platform, companies can take advantage of reaching users directly through their mobile devices in whichever way the user wishes to engage.

More and more organizations are realizing that not offering mobile apps to their employees and/or consumers is simply not an option and instead the question has become how to address the burgeoning app development backlog perpetuated by high consumer demands and a shortage of programming resources. Mobile app development platforms like snAPPii allow developers to quickly and easily build data rich, cross platform, native apps. It enables rapid development, testing, deployment, new version distribution and analysis of all apps. With its visual build methodology programmers can create apps faster using drag, drop and configure capabilities, without having to write any code at all for many apps. Apps can be launched in tandem across Android, iOS and HTML5 platforms without having to rebuild for each platform. Experienced programmers can work faster and more effectively taking advantage of maximum scalability, performance and code re-use. The snAPPii architecture facilitates creation of enterprise apps that access data from back end and cloud based servers.

Using the snAPPii Mobile App Platform companies can:

- Accelerate app development and shorten it to days, not months

- Develop real, high performance, secure, native, data rich apps by leveraging existing programmers without having to retrain them on Objective-C and Java technologies

- Exercise greater project control by keeping mobile app development in-house

- Leverage company employees who understand the business

- Accelerate development for experienced programmers providing them a solid app development foundation to enhance only as needed with business specific code.

Once your development platform has been selected and apps have been built and released, the work is really just beginning . On-going app analytics and management, to understand how your app is performing and what users are saying, will be key to further enhancements. Having an app isn't enough. Having an app people want and will use is what matters and will be essential to long term success. More on that in step 5.

Alex

 

Tuesday, April 23, 2013

Step 3 in Creating an Enterprise Mobile App Strategy Determining User Access and Trends



Creating an Enterprise mobile app strategy demands understanding the nuances of your audience. Beyond the obstacles once presented when incorporating the web into the business mainstream, the mobile proposition is even more challenging as there is no single operating system suitable for all devices. Every device type runs on its own OS and has its own software and interface peculiarities. This means choosing the platform(s) upon which to create/support your apps is as important a task as determine what apps you want to build. The choice will also hinge on who your audience is and how you want to attract and interact with your potential app users. 

At one time, Blackberry and their proprietary OS was THE corporate standard and the device that chartered in the emergence and predominance of mobile to the business space even before mobile apps came in to play. Then the Android and iOS platforms took over and devices like the iPhone exploded onto the scene bringing with it the introduction of mobile apps and their endless possibilities. For a time, iPhone reigned supreme as the number one smartphone device and now Android devices like the Samsung Galaxy III have dramatically taken over the #1 spot. On top of this, there’s Windows Phone 8, the re-emergence of Blackberry with BB10 and the explosive growth of the tablet market, now outselling PC’s by more than half with no slow down in site. Wtih more and more companies also considering or adopting a BYOD strategy as well, they are now faced with a plethora of devices and operating systems to consider supporting with their internal apps.

Beyond purely the number of operating systems and device to consider, there is also contemplation of the markets in which certain mobile devices tend to be preferred. For entertainment purposes, like streaming video or large/high intensity graphic applications, tablet-based devices tend to be a popular user choice. This is also true of ecommerce industries like retail, where more purchases are made on tablets than via smartphone, though the latter still provides a hefty amount of revenue for these shopping sites and applications. Due to the continually increasing popularity of Android devices like the Samsung Galaxy series, retail-related organizations might assume Android is the best market for their applications. For business, the jury is still out on whether, or if, there will be a predominant player in the business space, like Blackberry once was, though at present the Android and iOS operating systems hold the most market share across a number of devices.

Understanding why your enterprise organization needs mobile apps, and what business processes they will support, is key to a successful mobile app strategy. A big piece of that puzzle is mapping those processes to the needs of the end users and the overall audience you will be addressing early in the planning stages. This approach will help create the solid enterprise mobile app foundation upon which to build the robust, data rich apps your end users want and your business needs. As important as taking those first steps as well is determining the best tools and resources to execute your strategy - and that's Step 4.



Alex


Friday, April 19, 2013

Step 2 in Creating an Enterprise Mobile App Strategy Defining Your Mobile App Users




In a previous blog, I addressed Step 1 in creating an enterprise mobile app strategy - understanding the business needs. Step 2 is about clearly defining your mobile app users and their demands. The more experience and exposure users have, the more complex apps they want to see, the greater their expectations those apps will exist. When they find organizations that support their app demands and desires, those are the companies they support, as consumers and employees. Mobile applications are now actively using cloud services, personal log in functionality, chat, online catalogs, product lists and shopping carts etc. Apps are quickly following suit.


Trying to build a single app to meet the breadth and scope of everyone’s requirements will prove far more frustrating than beneficial and in many cases can lead to a project being scrapped shortly after implementation or even before the project is completed, but not before time, money and resources have been consumed. For any customer-facing mobile apps, create focus groups of current and prospective customers and find out what products or services they want to be able to access through your mobile apps and the functionality within the app that would be most useful to them. For employees, channels and business partners survey each group and determine what business issues they are facing and how mobile app(s) can solve these issues.


The wide range of functions that are now available for mobile applications significantly changes companies’ relationships with their mobile users. Interactive user experiences during the development cycle and within the apps themselves are inevitably a key piece of that engaging and ongoing experience. This can be a positive and transformative opportunity for companies and users as long as active research and implementation into users needs is constantly occurring. Determining what users want is one piece of the puzzle, it’s also important to know how they want to see it, the way they want to use it and where they want to access it.


Without understanding who your audience is and what they want, as well as their preferred device methods to find you, companies may end up building the greatest apps no one ever uses. This is especially important with the emerging proliferation of BYOD opportunities and therefore every imaginable type of mobile device infiltrating daily enterprise operations. Determining the technology preferences of your app audience and how that factors into your mobile app strategy is Step 3.


Alex

 

Tuesday, April 9, 2013

Part 2 - Enterprise Mobile App Development - Native vs. HTML5 (and Hybrid)



In my last blog, I discussed the necessity for enterprise businesses to embrace a mobile app strategy to remain competitive in an increasingly mobile world. Two of the approaches for app building, HTML5 and hybrid offer some benefits, with web apps being an easier build for non-mobile programmers and Hybrid apps offering a more native look and feel. But web apps pose a strong security risk, can’t take advantage of device features like camera and GPS, offer limited local storage and have poor offline capabilities and compatibility issues. Hybrid apps offer a better level of security and can take advantage of device features but the complexity of trying to make it “look and feel” like a native app, often requires more coding and can be more challenging than just building a native app to being with. In comparison, native apps, the third app building approach, simply offer the best overall user experience, bar none.

Native apps offer a wealth of advantages over their web-based and counterparts. Information is far more secure being compiled, encrypted and multi-level. Local databases are available through on-device storage and apps are able to function in offline mode. Native apps are able to take advantage of the full device functionality such as camera and GPS and offer the same look and feel which simply makes the apps easier to use. Fast graphics and fluid animation allow for the smoothest transfer of images and data which is a key for corporate apps that process a lot of information or require frequent refreshing. Native apps also have excellent potential for exposure in the app stores offering dynamic marketing, trending and analytics.

Traditionally, compared with web and hybrid apps, native apps have had the reputation of being costly, with long development cycles due to coding from scratch for each new app. There is also no single mobile platform, so developers have needed to be experienced in Objective-C (iOS) or Java (Android) languages to build the apps for one platform or the other. With there being a shortage of skilled mobile developers to begin with, programmers with the ability to develop for both platforms are even harder to come by. This has meant multiple developers and/or multiple app builds to launch on more than one platform have been required. Additionally, app updates and changes have been challenging when needing to be deployed to potentially tens of thousands of people at one time. That said, native app development has changed for the better.

Along with the benefits native apps offer over web apps or hybrids, there are now tools available to develop Enterprise mobile apps that are timely, cost effective and address burgeoning mobile app backlogs. These development platforms allow the creation of true, native, cross platform apps that are data-rich and require no coding. With a platform that offers visual app development and the option to build and immediately test functionality, even non-mobile programmers are able to quickly and easily build quality apps. This means past concerns over native app development equaling a lengthy time-to-market, challenging prototyping, searching for mobile-skilled programmers and high costs are no longer warranted. Instead, enterprise organizations can address their mobile app backlog by leveraging all their existing programmer resources to launch the cross platform, native apps that will offer their end users the best overall experience, period.

Alex