Industry leaders weigh in on questions surrounding deployment of mobile devices and applications within the enterprise.
The world is going mobile, and chances are that everyone reading this article has a smartphone, and probably has—or is planning to get—a tablet computer, be it an iPad, Android, Windows 7, or BlackBerry device.
The implications for enterprise computing are, if not enormous, at least extremely significant. No IT manager or chief technology officer today can claim to be completely confident in his or her decisions regarding mobile enterprise computing because the technology is changing so fast.
Nevertheless, we decided to source the crowd and posed a series of questions to a dozen or so technology experts working in, or familiar with, the field of mobile computing. We asked them to review the below list of questions and select one or more to answer based on their business experience, comfort level, and the time they could devote to our request.
Several answered only one or two questions, which is fine, but others couldn't resist responding to them all. As a result of the enthusiastic response and the resulting length of the material, we decided to split the article into two parts. "Power i Forecast: Smart Phones and Mobile Apps, Part II" will publish in the next issue of MC System Insights on August 1.
I would like to extend my personal thanks to Bill Gravelle of Boulder, Colorado, an independent consultant at TenMile Solutions, who spent much time helping me formulate the questions we distributed and even helped devise a list of people he knew actively working on issues of mobility today. Gravelle is a thought leader in the field of mobile application development and has a keen interest in stimulating discussion around the enterprise challenges posed by mobile devices. I would also like to thank Paul Tuohy of System i Developer, who helped frame the topic and gave us a peek at the mobile content training planned for the upcoming RPG & DB2 Summit October, 17-19 in St. Louis.
Below are the questions we asked, and many are repeated further on along with their responses. I know there are others out there who also are actively engaged in mobile development whom we didn't pulse, so please don't feel offended if we didn't request your input. There simply are limits to this type of project. There nevertheless is plenty of latitude for your thoughts and input, so feel free to leave your comments in the MC Forums.
- What should IT/system administrators be thinking about when considering deploying mobile apps? What kinds of costs might be incurred when operating on a 3G or 4G network? Are security risks tolerable, and how can they be mitigated?
- Do you think mobile devices should be standardized—perhaps company issued—or should everyone be allowed to bring their own device (BYOD)? What implications would there be for an environment supporting BYOD?
- Should the mobile apps be browser-based, native—i.e., device-specific—or some version of a virtual desktop? And why?
- Should the development approach for the mobile device applications utilize low-level coding, high-level coding/frameworks, or one of the variations of pre-fabricated Mobile Enterprise Application Platform (MEAP) solutions? What are the factors in minimizing the developer's learning curve, maximizing productivity, standardizing skill set, etc.?
- What types of internal assets should be exposed to mobile device applications (databases, documents, programs, and other data sources)? Should the mobile apps be straightforward extensions of a current application or utilize new enhanced device-specific capabilities for novel solutions?
- Would the mobile device applications be operating only when connected to the network, or should the apps support offline processing? Would a local data store make sense under certain circumstances? How can developers reduce the complexities of data access and transfer?
- Is it sufficient for IT to focus on what the packaged software vendors decide to deliver for mobile app services, or should IT tailor solutions to specific business needs?
- Going beyond existing internal apps, what new solutions could the mobile device enable, such as BI/data discovery/analytics, location-based services, collaboration/social media, workflow/business process improvements?
Ashar Baig
Senior Director, Product Marketing
Do you think mobile devices should be standardized—perhaps company issued—or should everyone be allowed to bring their own device (BYOD)? What implications would there be for an environment supporting BYOD?
Ashar Baig: The fact is that whether companies issue mobile devices or not, employees will inevitably use devices that they are most comfortable with and that enable the greatest productivity from their perspective. This is the idea behind the consumerization of IT or the introduction of consumer technologies and behaviors into IT environments. Rather than lose to the inevitability of this trend, organizations should accept it and structure their IT operations accordingly from a security, storage, and operational perspective. Those that do not are at risk of these devices being introduced outside of their official acceptance and sensitive company data being copied or developed on these devices. This then puts that information at risk of loss or unauthorized disclosure.
Acknowledging and accepting this trend, companies that adopt IT infrastructure that provides the mobile device data protection and security necessary will maintain a more predictable and stable IT environment. Organizations that try to control the uncontrollable and dictate which mobile devices are used in their organizations will put themselves at considerably higher risk because they will lack the technology necessary to cover the broadest possible range of devices, which will eventually hold their company's information assets.
_____________
David Brault
Product Marketing Manager
Should the mobile apps be browser-based, native—i.e. device-specific—or some version of a virtual desktop? And why?
David Brault: Not to sound indecisive, but the application's requirements will dictate the answer to this question. Hands down, native mobile applications are superior to mobile Web apps. Besides having better reliability, speed, and off-line capabilities, native applications have tighter integration with the mobile device's native features, like the calendar, contacts, camera, video recorder, GPS, etc. Also, native apps can receive push notifications, which means IBM i applications can notify a user's mobile application when a specific situation arises. Mobile applications that harness a mobile device's native features provide the best overall user experience.
That said, too many companies spend valuable time and resources developing native applications that don't deliver anything beyond what can be accomplished via a mobile Web app. Even worse, some company's "native" applications consist of nothing more than a container hosting an existing Web site, which is even more pointless. If your application can't benefit from features built into the device (and you know your users will always have a signal), then building a mobile Web app will suffice.
The good news is that mobile Web apps are becoming easier to build and manage across the different platforms, thanks in part to open frameworks like jQuery Mobile and other third-party development tools that handle the underlying technologies for you. As support for HTML5 increases, this will pave the way for more powerful mobile apps that are Web-based.
One trap to watch out for is overwhelming your development staff with a bunch of new languages to master. Building iOS (Apple), Android, and mobile Web apps requires a lot of different skill sets, and given today's tough economic times, internal resources are stretched thin. That said, developers should seek out design tools that can generate both native apps and mobile Web apps with a single skill set.
_______________
Nathan Clevenger
Chief Software Architect
Author "iPad in the Enterprise," John Wiley and Sons, New York
Enterprise Editor
iPhone Life Magazine
Is it sufficient for IT to focus on what the packaged software vendors decide to deliver for mobile app services, or should IT tailor solutions to specific business needs?
Nathan Clevenger: I believe that IT should focus on what their users want and need as opposed to simply looking for what's available. The challenge for the enterprise software industry, when it comes to mobility, is the fact that the optimal mobile applications are not direct one-to-one companions to their back-end counterparts. In a mobile context, a user's needs are driven by their workflow, which is not necessarily segmented the same way that back-end systems are. For instance, a field sales automation solution may need to integrate to quite a few back-end data and functionality sources. In addition to CRM, a field sales automation solution may also need access to ERP (for order entry or transaction status), BI (for analytics and reporting), knowledge management, finance, HR, and any other number of disparate systems.
If IT simply waits for those vendors to provide mobile companions to their back-end solutions, they will be inherently incomplete. As a result, we're seeing a disproportionate level of custom mobile app development in this space right now until the mobile software industry goes through another level of maturation and consolidation. The good news is that the development of mobile apps can actually be quite straightforward. The biggest cost and expense of enterprise mobile solutions is almost always the integration with back-end data and systems.
Going beyond existing internal apps, what new solutions could the mobile device enable, such as BI/data discovery/analytics, location-based services, collaboration/social media, work flow/business process improvements?
NC: The key is to both understand what the users desire, as well as what's now possible with these modern mobile devices. Think about not only how these solutions can be combined to optimize end-user experience (e.g., a location-driven workflow process that automates transactional data capture and the display of real-time analytics), as well as how the technology within the devices can be utilized (GPS, camera, accelerometer, gyroscope, compass, touch screen, etc.) along with external accessories (e.g., external stylus, barcode scanners, magnetic strip readers, RFID readers, receipt printers, etc.) to be assembled into powerful, brand-new types of solutions that were previously not possible in a non-mobile environment.
_________________
Roy Hart
Vice President, Business Development
Should the mobile apps be browser-based, native—i.e., device-specific—or some version of a virtual desktop? And why?
Roy Hart: To take advantage of some the features that the smart devices have, building a native app is the way to go. Also, performance of the app is going to better if it is native versus just being browser based.
Some of the advantages to native apps:
- Enhanced speed, performance, and user experience
- Native apps are integrated with the OS so users can use the same familiar commands
- They can use push technology to automatically update application data
- They allow data persistence, so data can be saved and reloaded when the app is launched
- Native apps can run both online and offline
- Access to more APIs
Should the development approach for the mobile device applications utilize low-level coding, high-level coding/frameworks, or one of the variations of pre-fabricated Mobile Enterprise Application Platform (MEAP) solutions? What are the factors in minimizing the developer's learning curve, maximizing productivity, standardizing skill set, etc.?
RH: The approach taken is obviously influenced by the perspective on the best approach to development in general. As long as the programmer is not constrained by some "template" or restrained somehow in an IDE, why not use a tool that can automate as much as possible in order to increase productivity? We are clearly in an era of smart devices, and we have been working to tackle the challenge of coding for multiple platforms and operating systems. Our software can automatically generate native code and model the problem as it already does for .NET, Java, Ruby, RPG, and COBOL development. There are a lot of inherent advantages to such an approach. It simplifies and drastically speeds up the development process. It provides a lot of flexibility in choosing a particular language and DBMS, and gives you latitude to change your mind. The new version of our IDE generates native code for iOS, Android, and BlackBerry platforms, so the programmer can quickly build out apps for all three of the major players. And to do so quickly and most effectively, one cannot approach the challenge with a manual coding approach perspective.
The answer to minimizing the developer's learning curve and maximizing productivity lies in leveraging knowledge-based IT solutions that allow developers to build an app once and then have it automatically generate native code, as well as the database for any platform and technology. It's also important to seamlessly interact with legacy solutions and existing databases because in the majority of cases you are not doing development from scratch.
Is it sufficient for IT to focus on what the packaged software vendors decide to deliver for mobile app services, or should IT tailor solutions to specific business needs?
RH: Build versus buy—this continues to be a fundamental decision to be made and an analysis that generally always needs to take place. Prepackaged software by definition affords limited customization—it might allow you to customize fields within a predesigned template. Sometimes APIs are provided for more advanced customization or capabilities are provided for customized report-writing. However, you also need to consider having the ability to develop a custom solution/module to meet specific business needs. The mobile app most likely will need to integrate with existing data, and developers need a versatile and agile tool to do that. You may want to build an app to fit or tweak an existing solution to meet your specific requirements without having to totally rely on the features and functions of a packaged solution. It is rare that any package is so commoditized to meet all your business needs. Custom development is also an option that should be considered.
____________________
Tony Jensen
Software Architect
Stellarwell
Should the mobile apps be browser-based, native—i.e., device-specific—or some version of a virtual desktop? And why? Should the development approach for the mobile device applications utilize low-level coding, high-level coding/frameworks, or one of the variations of pre-fabricated Mobile Enterprise Application Platform (MEAP) solutions? Going beyond existing internal apps, what new solutions could the mobile device enable, such as BI/data discovery/analytics, location-based services, collaboration/social media, workflow/business process improvements?
Tony Jensen: Mobile devices are changing the landscape of IT, especially in how we interact with our external customers. I recently saw an ad from Kohl's that featured a QR code. Think about that for a minute. Kohl's is a discount clothing store, and their customers are people wanting to save money. In order to make use of the QR code, those customers would need a mobile device with both a camera and an app that can interpret the barcode. If we can trust that Kohl's has research behind this decision, their customers have app phones.
How would you do business differently if you knew your customers were ready to interact with you through their mobile devices? Mobile can get you closer to your customers. Placing their needs and desires above your own allows you to build a relationship with them. Build apps for their benefit. Become a social enterprise.
I am a firm believer in native apps versus both Web apps and Mobile Enterprise Application Platform (MEAP) solutions. Why? Because it matters to your customer and because I believe there will soon be an apps arms race between competitors. MEAP solutions are great for reducing the development burden on the developer, but how does that help the customer? Build beauty into the app. Make use of the graphic designers down in marketing. I dare say that native apps, though more challenging to produce, are necessary to properly engage your customer.
There are a host of developers wanting to become proficient in mobile development. Maybe you have a few in your department. Maybe one of them is you! If you can't find the resources internally, contract to get it done right.
Through mobile devices, you can get close to your customer. Make it the best experience they've ever had.
___________________
Duncan Kenzie
Chief Technology Officer
Do you think mobile devices should be standardized—perhaps company-issued—or should everyone be allowed to bring their own device (BYOD)?
Duncan Kenzie: One of the positive things about BYOD is it provides the opportunity for the best technology to gain widespread adoption from the bottom up instead of from an organization's leadership imposing a solution from the top down on people. This is why the iPhone and the iPad are relatively successful in commercial applications. Consumers have discovered the power of these devices and then brought them into the workplace. There are potential additional costs associated with a BYOD philosophy, though, as IT has to cope with potentially several different clients with different software and infrastructure requirements.
What implications would there be for an environment supporting BYOD?
DK: As mentioned above, additional software costs, although if you have a browser-based solution, the incremental costs are reduced.
Should the mobile apps be browser-based, native—i.e., device-specific—or some version of a virtual desktop? And why?
DK: Browser-based. Mobile browsers have unique features well-suited to mobile devices (touch, swipe, different controls such as rolling selections, etc.) that make browser-based apps almost indistinguishable from standalone apps in ease of use and functionality. Also, having browser-based apps avoids the typical client-server trap where the client is perpetually out of date and needs updating. So browser-based apps improve user productivity long-term.
Should the development approach for the mobile device applications utilize low-level coding, high-level coding/frameworks, or one of the variations of pre-fabricated Mobile Enterprise Application Platform (MEAP) solutions?
DK: Having easy-to-use and robust development tools for writing browser-based mobile apps is ideal. Any tool that takes advantage of native mobile browser interfaces and minimizes cross-browser incompatibility issues will be helpful to this end.
What types of internal assets should be exposed to mobile device applications (databases, documents, programs, and other data sources)?
DK: All of them. With appropriate security (authorization and authentication).
Should the mobile apps be straightforward extensions of a current application or utilize new enhanced device-specific capabilities for novel solutions?
DK: It depends on the application. For example, in the medical field, one can envision all kinds of applications for an iPad that are probably not suited to simply porting a desktop browser implementation. (For example, X-ray or MRI image manipulation and review, photos of patient symptoms, drug interaction charts, etc.)
Would the mobile device applications be operating only when connected to the network, or should the apps support offline processing?
DK: Either, but primarily when connected. Connectivity is becoming more ubiquitous, so this shouldn't be a problem.
Would a local data store make sense under certain circumstances?
DK: Not really.
How can developers reduce the complexities of data access and transfer?
DK: Eliminate local data store!
______________
George Mashini
President
Catavolt, Inc.
What should IT/system administrators be thinking about when considering deploying mobile apps?
George Mashini: The wave of technology innovation that is making the possibility of mobile apps viable for enterprise today is both exciting and nerve-racking. The rapid growth and frequent changes in the technology landscape can make even the most experienced decision-makers a bit nervous in pulling the trigger on a mobile strategy.
Some key questions that should be thought about when considering a mobile strategy are:
- What business scenarios will benefit the most when deployed as a mobile application?
- How to develop applications for a variety of mobile devices and mobile operating systems?
- How to connect the same mobile device to multiple back-end systems?
- How to develop applications without lock-in to technology that may become antiquated?
- How to keep data a secret if a device is lost or stolen?
What kinds of costs might be incurred when operating on a 3G or 4G network?
GM: The unlimited data plan is being phased out as we speak, with Verizon being the latest vendor to discontinue and replace with tiered-access plans. Business applications will certainly consume bandwidth from a data plan. However, business applications are much less data-intense than multimedia applications and games. In particular, native applications, which download the bulk of the load when installed and then only transfer data as needed, tend to be the most efficient. I believe that mobile applications will need to be considered when selecting data plans but will be secondary to email and multimedia applications.
Are security risks tolerable, and how can they be mitigated?
GM: Some security risks are tolerable within reason. Organizations should evaluate the sensitivity of data that will show on a mobile device screen in public areas. If it is too risky to show data with possible onlookers, then do not provision the data for mobile access. A lost or stolen device should not allow access by a stranger. This can be prevented by requiring a password for every session, not allowing passwords to be saved, and/or requiring two-factor authentication.
Do you think mobile devices should be standardized—perhaps company-issued—or should everyone be allowed to bring their own device (BYOD)?
GM: No, mobile devices should not be standardized and don't have to be company-issued. The technology is sufficient to create thin applications that are the same risk whether running on company or non-company devices.
What implications would there be for an environment supporting BYOD?
Should the mobile apps be browser-based, native—i.e., device-specific—or some version of a virtual desktop? And why?
GM: It is okay to develop native and device-specific applications for very specialized applications. The company must decide if the ROI is there to justify the costs. Otherwise, the application should be HTML-based or written with a MEAP.
Should the development approach for the mobile device applications utilize low-level coding, high-level coding/frameworks, or one of the variations of pre-fabricated Mobile Enterprise Application Platform (MEAP) solutions?
GM: Enterprise mobile applications that must target multiple devices and multiple databases present a many-to-many problem. These applications should be developed and maintained with a MEAP strategy. The basic strategy is to minimize the low-level details necessary to develop and support form-based business applications that target many devices and many back-end systems.
What are the factors in minimizing the developer's learning curve, maximizing productivity, standardizing skill set, etc.?
GM: Choosing a proper toolset and framework is a must. However, depending on the toolset approach, the learning curve can be steep.
What types of internal assets should be exposed to mobile device applications (databases, documents, programs, and other data sources)?
GM: A conservative approach is to only expose data on a need-to-know basis and only expose data that is already allowed outside the company (currently in the form of reports, forms, and charts).
Should the mobile apps be straightforward extensions of a current application or utilize new enhanced device-specific capabilities for novel solutions?
GM: It is very difficult to map current applications to mobile-user scenarios. Often, what is needed on a mobile device is only a sliver of what is available in full-blown applications. Furthermore, the leading providers of mobility toolsets and applications will be those that deliver immersive user experiences. The best way to do this is with native applications. It is unknown whether HTML 5 will be able to deliver good enough user experiences over native.
Would the mobile device applications be operating only when connected to the network, or should the apps support offline processing?
GM: Offline mode is still needed under some user scenarios. However, as connectivity becomes ubiquitous (this is happening rapidly), there is less of a need for offline processing.
Coming Up
In "Power i Forecast: Smartphones and Mobile Apps, Part II" to be published August 1, we will hear from Eamon Musallam, product manager, looksoftware; Trevor Perry, chief strategist, Angus Thinks!; Trevor Seeney, technical director, Sentinex Inc., and Ken Singer, CEO and co-founder, AppCentral. Be sure to watch for the second part in the MC Systems Insight August 1 edition!
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1
LATEST COMMENTS
MC Press Online