iPad Apps for the Enterprise:More Than Just a Clever UI
Table of contentsAnother Paradigm Shift in Technology is in Process   03UI Complexities                                   ...
Another Paradigm Shift in Technology is in ProcessWe are in the early stages of yet another fundamental transformation of ...
Most customers approach iOS development as simply providing mobile access to their existingsystems and data and do not rec...
UI ComplexitiesMobile application adoption within the enterprise is being driven by the user experience thatemployees are ...
Choosing the Right ArchitectureThe architectural approach is based on what features are needed. In turn, these features mu...
iOS application architectural approaches can be broadly classified into a:Native applicationPros:        ? best user exper...
Mobile Platform Specific ConcernsA mobile application, unlike a desktop/server application, executes on a very constrained...
Data access, storage, and security: Given the limited storage space on the device and the   relatively restricted network ...
TestingTesting iOS applications comprehensively is an inherently difficult and involved process for severalreasons:   ?too...
Testing (continued )  Installation: There are several ways to distribute and deploy iOS applications. All options  ?     t...
Testing (continued )   Beta testing: Besides testing iOS applications in the development/simulator environment,   ?       ...
SecurityiOS devices often operate in environments and ecosystems with diverse security arrangements. .Employees sometimes ...
Case Study : iPad app for a “Customer Performance Utility”Client:The client is a leading automobile spare parts company, w...
SummaryBuilding iOS mobile applications that deliver on their business requirements can seem deceptivelyeasy, but the uniq...
Upcoming SlideShare
Loading in …5
×

iPad Apps for the Enterprise

647 views

Published on

“iPad apps for the enterprise: More than just a clever UI”
Building iOS mobile applications that deliver on their business requirements can seem deceptively easy, but the unique challenges mentioned in this paper must be first understood and then addressed in order to achieve success.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
647
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

iPad Apps for the Enterprise

  1. 1. iPad Apps for the Enterprise:More Than Just a Clever UI
  2. 2. Table of contentsAnother Paradigm Shift in Technology is in Process 03UI Complexities 05Choosing the Right Architecture: 06Mobile Platform Specific Concerns 08Testing 10Development Platform and Tools 12Resource Availability 12Security 13Casestudy 14Summary 15About Us 15
  3. 3. Another Paradigm Shift in Technology is in ProcessWe are in the early stages of yet another fundamental transformation of IT technology, as we seethe quick ramp up of mobile computing across the enterprise. Much like the move frommainframes to client/server back in the 80s, or the move from client/server to the web in the 90s,this transformation is forcing IT managers to rethink everything they do from security, bandwidth,backup and recovery, and provisioning. Most prominently, applications built for mobile devicesneed to be completely reconsidered in light of the capabilities and limitations of these new devices.Nowhere is this more significant than for iOS devices such as the iPad and iPhone.App designs for the iPad/iPhone platform require a fundamentally new computing model thatrecognizes the unique capabilities of the device, the mobility demands of their users, and thespecial restrictions for provisioning apps properly and cost effectively. All of this requires thedevelopment and management of more sophisticated and broad based mobile strategies that seekto deliver functionally complex and rich applications. In order to build these mobile strategies,some considerations may include: Which device platforms to use? ? What development architecture is needed? ? ? be restricted to the device or will a BYOD policy be adopted? Will users ? you determine what software goes to your users, and how will you get it there? How will ? happen if the device is lost, stolen, or the person leaves? What will 1970 - 1986 1980 - 1995 1995 - 2010 2010 © 2012 Object-Frontier Inc. 03 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  4. 4. Most customers approach iOS development as simply providing mobile access to their existingsystems and data and do not recognize the fundamentally different user experience andcapabilities provided by this platform, such as: Touch Screen/Multi-Touch ? GPS/Location Awareness ? Compass ? Accelerometer ? Microphone ? Voice Recognition ? Camera ? Video Display ?While none of these capacities are new, what is new is that these have all been combined very wellinto an easy to use, sleek device. These features can be leveraged to greatly enhance the userexperience, whether for customers or employees on the go. IT shops typically have built up years ofexperience in developing desktop/web applications, but most of these assume the use of a desktopbrowser and do not have access to the iOS features above. Consequently, these shops mayoverlook the potential and possibilities that these new capabilities bring to applicationdevelopment. These shops need help to think differently when they envision applications for theiOS platform. For example, using the platform features of GPS and camera or video can greatlyenhance the functionality of an app. Using the GPS, location can be confirmed; any scene can berecorded visually; if a report is needed, it can be written and sent to be processed without having togo back to the office. A collaborative effort by in-house developers and skilled iOS specialists isoften needed to meet the challenges of defining application features and use cases that fullyexploit these abilities. This white paper describes some of those challenges and provides insight onhow to deal with them. © 2012 Object-Frontier Inc. 04 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  5. 5. UI ComplexitiesMobile application adoption within the enterprise is being driven by the user experience thatemployees are having when using their mobile devices as consumers. In fact, this is part of a largertrend known as the “consumerization of IT,” whereby employees are bringing their consumerexpectations of software into the workplace and demanding that their office IT provide the samekind of flexibility, cleverness, and ease of use that they have come to expect. These mobileemployees with handheld devices require a completely different user experience than previouslyoffered on desktops.Desktop PCs and notebooks using wireless networks access data, present information, and gatheruser input in the same, well-understood way—by using large screens, QWERTY keyboards, andpointing devices. Typically, this is done in a comfortable environment where the user can interactwith the application using both of his or her hands in a convenient manner while seated. In the caseof mobile applications, users are often standing, walking, and sometimes even driving whileinteracting with the apps using a small touch screen and seeking to execute a context specific tasksuch as accessing directions.This calls for a completely different approach to designing iOS User Interfaces in order to takeadvantage of the iOS specific interaction mechanisms like multi-touch gestures, voice commands,and location awareness; plus they should adhere to the recommended User Experience Guidelines.Finalizing UI components is a time consuming and a very involved process, often involving manytrial and error iterations to get it right. Visual design considerations for an iOS application aredistinctly different from designing for browser/desktop applications. IT shops that try to design a UIexperience on their own (icons, logos, visual themes) often come up with solutions that are notappropriate for a mobile application. Knowledge and training is required to adopt a designapproach that has been specifically developed for iOS applications. © 2012 Object-Frontier Inc. 05 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  6. 6. Choosing the Right ArchitectureThe architectural approach is based on what features are needed. In turn, these features must bebased on the iOS platform. If there is only one approach that meets these requirements, thedecision making process is fairly simple. Typically, however, there are multiple architecturalapproaches that could satisfy the requirements, and choosing the most appropriate design meansevaluating several factors, some of which are unique to mobile development. Some of the mostcommonly considered factors are the deployment platforms being targeted, the specific devicesand user profiles, the contexts in which the application is most likely to be used, and any off-lineusability and connectivity profiles that the application must support. The complexity of theworkflow and the richness of the user experience that is required is probably one of the mostimportant factors that determine this choice. The choice of architecture will undoubtedly havelong term ramifications, and mobile app architects need to understand a customers vision androad map for the application. Web-Based? Native? Hybrid? Target Platform Usability Connectivity Rich UI Workflow © 2012 Object-Frontier Inc. 06 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  7. 7. iOS application architectural approaches can be broadly classified into a:Native applicationPros: ? best user experience; possible to build complex, rich, and responsive Offers the applications that offer the best performance. ? to all the native features provided by the platform. Has access Fine grained control over local data caching makes it possible to implement ? applications that can function offline. ? ensure transactional integrity in synchronizing offline data. Ability toCons: ? installation, up-grading, and uninstallation. Requires ? very device and platform specific. Is typically Distribution of the application is more cumbersome and is often dependent on the ? App Store. ? to App Store approval policy which is time consuming and might require Subject several iterations.Web based applicationPros: ?existing web applications. Reuses Minor tweaks to CSS and JavaScript are enough to make them mobile friendly. ? No installation, upgrade, and uninstallation are necessary. ? ?can take advantage of some native features like geolocation, local storage, HTML5 etc. Can support multiple iOS devices and versions. ? ? to create visually compelling UI. PossibleCons: ?of improved browser support, performance and usability is not as good as In spite native applications. ? HTML5, access to native functionality is very limited. Even with ? to implement applications that can work in a disconnected state. DifficultHybrid applicationHybrid applications are built by combining native components and web components. Webcomponents are built using HTML, CSS, and JavaScript and wrapped by a native container (internalbrowser) that not only displays them but also gives them access to native functionality throughJavaScript.Pros: ? web assets can be used. Existing ? all native features. Access to Can provide a rich user experience by using native components intelligently. ?Cons: ? be installed, upgraded, and uninstalled. Has to Accessing native functionality using JavaScript comes with a certain overhead and ? is not as efficient as a native app. © 2012 Object-Frontier Inc. 07 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  8. 8. Mobile Platform Specific ConcernsA mobile application, unlike a desktop/server application, executes on a very constrained platformand has to grapple with several resource restrictions. A well-developed mobile application, whiledelivering a gratifying user experience and fulfilling its business functionality, has to successfullyaddress the following limitations: d? te ec ? it fit nn Memory Speed co t? e i ey ak Will t Connectivity th p y the Ap e ill Ar e w ile her ob W M Environment Is it secure? Security Limited memory: A maximum of 512 mb of memory is available; iOS applications have to be designed from the ground up to be as memory efficient as possible. Memory management is critical to an applications implementation. Performance management: iOS applications have to execute on a platform with a limited battery life as well as limited processing power. Applications have to balance between performance and power consumption. iOS applications in particular have to be architected to deliver maximum performance with minimum power consumption and several iterations of performance tuning are often required to achieve the right balance. © 2012 Object-Frontier Inc. 08 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  9. 9. Data access, storage, and security: Given the limited storage space on the device and the relatively restricted network bandwidth that most devices have access to, applications have to be very selective about the data that they download and cache locally. In addition, since the devices are by definition mobile and can “walk away,” the right encryption policy, security mechanisms, and data wiping tools must be used to secure data that is stored locally by these applications. Connectivity: Applications have to be designed to recover gracefully from connectivity failures and should be able to perform optimally even on a low bandwidth connection. Connection stability as well as coverage can be unpredictable. Much time and effort is required to test and fine tune applications on different connectivity profiles and with different carriers. Challenging usage environments: iOS applications, unlike traditional applications, are typically used outside of normal office environments where they face extremes in ambient lighting, noise, and temperature, all of which affect the users ability to interact with the application. Applications must be designed to be extremely responsive and sensitive to the users needs and provide a gratifying user experience in a wide range of user contexts, most of which are while the user is on the go. Therefore, apps must be designed in a way that is easily usable with just one hand or completely usable using just voice commands. Mobile applications are kept extremely sensitive and responsive to the users needs by designing workflow and UI navigation with these contexts in mind. The responsiveness is achieved by carefully architecting processes and service calls that are triggered by user actions such as clicking on a button or flipping a page; all long running processes should be implemented as asynchronous calls and when possible data could be cached.Once all the use cases are implemented, and a fully functional application is demonstrated to thecustomer, there is a tendency to assume that the application is ready for deployment. Thesignificance of fine tuning the application to address the above mentioned concerns, however,requires extra time and effort in development and may have to be explained to business owners. © 2012 Object-Frontier Inc. 09 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  10. 10. TestingTesting iOS applications comprehensively is an inherently difficult and involved process for severalreasons: ?tool support: The tools available to help test iOS applications are very limited and Testing not yet mature. Most of the tools currently available typically require a high degree of manual participation and offer minimal support for automated testing. ? speed/carrier: The iPhone is currently being offered by multiple carriers, so Network testing the application on a single network/carrier is no longer an option. Application performance and the user experience it offers tend to vary depending on network speed and stability; it therefore becomes imperative to test the application on all popular carrier networks. IOS versions: The iOS version on which the application runs could have an impact on its ? relative performance and stability, and testing must be done on all the targeted versions. ?size: Screen size is the most important aspect that is considered during UI design. Screen This significantly impacts user experience (e.g., scrolling is required). If the application targets the iPhone and the iPad, all tests have to be run on both of these devices since screen size varies significantly between them. Interruptions: The applications ability to handle interruptions gracefully must be ? thoroughly tested. It is very common for interruptions to disrupt the normal functioning of an iOS application. The application, therefore, must save the state and remain suspended during these interruptions. . Once the interruptions are over, the application needs to be able to continue normally without any loss of the state. . Some examples of interruptions that must be considered are: ? voice calls. Incoming ? SMS and MMS messages. Incoming Low memory notifications. ? Low battery notifications. ? ? of battery. Removal ? outage and recovery. Network Cable insertion and removal. ? © 2012 Object-Frontier Inc. 10 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  11. 11. Testing (continued ) Installation: There are several ways to distribute and deploy iOS applications. All options ? that are available for download and installation of the application must be tested, and every step that is part of the installation process has to be tested. The successful adoption of an iOS application by its intended audience is greatly influenced by the ease with which it can be downloaded, installed, upgraded, and uninstalled. This is, therefore, a very important part of the iOS testing process. The growing acceptance of company-specific, private App Stores is bringing some order to this but adds the complexity of creating and managing these stores by the enterprises themselves. Data security testing: iPhones and iPads are more vulnerable to theft and loss as compared ? to desktops; the data cached locally by applications has to be completely safe and secure from unauthorized access. It becomes critical to identify risks and vulnerabilities in mechanisms and strategies employed by an application to secure data and to mitigate them. Data security testing is a vital component in the testing process. Static code analysis/dynamic analysis: iOS applications are vulnerable to buffer overflows ? and memory leaks if Objective-C APIs are used. Static analysis tools and techniques should be used to detect such issues. There are several dynamic analysis tools available to perform the run-time monitoring of file activity, memory usage, process flow, and network utilization. © 2012 Object-Frontier Inc. 11 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  12. 12. Testing (continued ) Beta testing: Besides testing iOS applications in the development/simulator environment, ? it is critical to test on as many devices as possible. Beta testing applications on multiple devices by many testers is vital to understanding how the application performs in a real world environment. Applications should also be tested on connections with various bandwidth and stability profiles. Enrolling devices for testing involves creating and installing provisioning profiles on each of these devices and is a cumbersome process. Distributing and installing applications on testing devices and later de-provisioning these devices is also time consuming and must be budgeted for in the test plan.Development Platform and ToolsiOS applications are developed using Objective-C which is a powerful but difficult language tolearn. Besides learning Objective-C, iOS developers have to learn a very large set of APIs tosuccessfully leverage the platform. This makes for a steep learning curve, and substantial time andeffort has to be invested in training developers.Resource AvailabilityiOS application development is a recent phenomenon and as of now there is not a large pool oftalented developers. Finding competent and experienced developers remains very challenging atthis point and often the decision is made to use a third-party firm who specializes in enterprise iOSdevelopment. © 2012 Object-Frontier Inc. 12 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  13. 13. SecurityiOS devices often operate in environments and ecosystems with diverse security arrangements. .Employees sometimes integrate their devices with the enterprise, access enterprise data, save it tolocal storage, and then move into a completely non secure environment and continue to operatetheir devices with all this sensitive corporate data. Having the ability to sync devices to third partyclouds further complicates matters. Even while these devices are operated in an enterpriseenvironment, they might not be controlled by the administrator since many corporations adopt aBYOD (bring your own device) policy. These devices might not then be subject to the enterprisesexisting compliance, security, and data loss policies.The security concerns of iOS applications are very different from those of traditional applications.The iOS platform was designed to be inherently secure, and many security features are provided atthe operating system level. This does not sufficiently protect enterprise assets that are stored onthe device. iOS app developers must thoroughly understand the iOS security model and employ theappropriate security mechanisms and encryption model to protect application data. They mustalso have knowledge of the applications data access and storage needs to ensure proper security.Development planning should also focus considerable effort and time in defining a strategy tosecurely provision, update, and de-certify applications. Media Games Banking Enterprise Data Social Server Network © 2012 Object-Frontier Inc. 13 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  14. 14. Case Study : iPad app for a “Customer Performance Utility”Client:The client is a leading automobile spare parts company, who was looking for a comprehensivemobile solution for their sales force to effectively manage customer data on an iPad. Requirements: ? Find a customer based on various search criteria ? Add favorites on customer list ? View recent list of viewed customers ? View, update and modify different customer data ? Purchase history of the customer Sales andOFS Solution:OFS understood the task at hand and defined a paradigm to use the intuitive features and controlsavailable with iPad and proposed the solution. ? UI with a style manager which was developed to manage the UI styling or graphical Intuitive design. Additional mobile based features were defined wherever applicable and included in the ? application. ? and filtering based on multiple criteria, such as: alphabets, date, location etc., Indexing Developed custom graph-based components using Multi Touch accessibility. ? ? styles can be applied without quitting the application, controlled from the Different application settings. (Font color/ background color etc.,). ? identification of nearby customers using the Map Kit. GPS based ? based navigation and multi perspective approach for different areas of the Gesture application. Dashboard displaying critical metrics of all information. ? Comparative analysis of KPI using multi touch interfaces. ? ? made grid view control for listing several items on various iPad device orientations, Custom this control also managed the animation effects (Paging/ Flipping and Scrolling). Customers List Customer Dashboard GPS based identification © 2012 Object-Frontier Inc. 14 E-mail: sales@objectfrontier.com | www.objectfrontier.com
  15. 15. SummaryBuilding iOS mobile applications that deliver on their business requirements can seem deceptivelyeasy, but the unique challenges mentioned in this paper must be first understood and thenaddressed in order to achieve success. Since developing for the iOS platform is relatively new, mostdevelopment shops are not familiar with these challenges and assume that developing an iOSapplication should be faster and require less effort then developing for the web or desktop.Overcoming these perceptions involves changing the mindset and educating developers andbusiness users in order to embrace this transformation in technology. A wise choice in these earlydays of this new paradigm is to seek the counsel and help of a trusted enterprise mobile appdevelopment company. About US ObjectFrontier (OFS) helps software companies and software-enabled businesses to design, develop, test, and maintain their software products and applications, whether they are hosted, licensed, or mobile. OFS is based in Atlanta and has offices in New York, Washington DC, Philadelphia, and offshore in India and the Philippines. Our clients are Independent Software Vendors (ISVs) and F1000 companies whose revenues are driven primarily by customer-facing software products. We have earned the trust of clients in such industries as healthcare, financial services, publishing, and hospitality, and have partnered with them for years. For more details, contact: Susana Caparros, We have a large and growing mobile apps division that is Director of US Marketing Communications building mobile software for medium and large 267.757.8768 office corporations looking to empower their workforce with 917.847.6767 cell the latest technology in iPad, Android, and other mobile susana.caparros@objectfrontier.com platforms to help them interact with customers and systems in new and innovative ways while on the move. Object-Frontier Inc Atlanta-US Headquarters OFS takes on the entire life-cycle of software product 1000 Windward Concourse development, maintenance, quality assurance testing, Alpharetta, GA 30005 and support, all while keeping the costs low. (678) 218-5210 © 2012 Object-Frontier Inc. 15 E-mail: sales@objectfrontier.com | www.objectfrontier.com

×