Successfully reported this slideshow.
Your SlideShare is downloading. ×

MD-III-CH-ppt.ppt

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 20 Ad
Advertisement

More Related Content

Advertisement

MD-III-CH-ppt.ppt

  1. 1. Mobile Application Development
  2. 2. Chapter 3: 3CHEERSCABLE APP • 3CheersCable is a leading cable entertainment company[Europe] • The enterprise has decided to bring its TV channels onto its consumers’ mobile devices to extend the entertainment experience outside the set-top box. • That launch a native Android app – 3CheersCable app – that will cater to the following use cases. 1. Authenticate consumers before they use the app. 2. Subscribe a set of channels. 3. View program schedules for each channel. 4. Share favorite shows with friends and family. 5. Watch live TV on the go. 6. Contact customer-care executives. 7. Persist user credentials and preferences.
  3. 3. To design and implement the 3CheersCable app can be logically summed up into the following two layers: • 1. The mobile app itself. • 2. The backend enterprise application.
  4. 4. The mobile app comprises of six logical building blocks: • 1. App user interface is the topmost layer intended for user interaction. • 2. App functionality is the “app logic” layer. • 3. Native hardware access is the layer that enables mobile app to access native device hardware such • as accelerometer and camera. • 4. Native data access is the layer that accesses app data residing on the device. • 5. Enterprise data access is the layer that enables remote data access. • 6. Native data storage is the layer that physically stores the app data on the device
  5. 5. • The enterprise data access layer of the mobile app sources the required remote data from the service layer of the enterprise application, as depicted in Fig. 3.1 (represented with a dotted line). • The data layer of enterprise application hosts the required data entities such as • Channel list and • TV guide–related data. • The business layer of the enterprise application actually hosts the application logic to provide • Channel list and • TV guide, which is further exposed by service layer to be consumed by external systems (such as a mobile app in this case).
  6. 6. MOBILE APP DEVELOPMENT CHALLENGES 1. User experience–specific challenges 2. App functionality–specific challenges 3. Data-specific challenges 4. Platform-specific challenges • User experience–specific challenges: User experience–specific challenges primarily comprise the following four areas:
  7. 7. Short span of user focus: Mobile apps get very short span of time to make an impression on the user. Thus, it is important to structure the app in such a manner that the most important things are the ones that • The user gets to see, as soon as the app is launched. • The learning curve of using an app must not be steep. The more an app engages the user, the longer and better it would be used.
  8. 8. Native look and feel: • Mobile users get used to the native look and feel of the platform in the long run of its usage. • An app developer needs to make sure that the look and feel of the app should be consistent with that of the platform.
  9. 9. Responsiveness: Mobile devices provide the user the liberty to do things on the go. Hence, • The user expects mobile apps to be fast and responsive. • The user should be able to perform desired operations in the app within a short span of time. • Complex operations should be divided into simple subtasks that gets completed in short period of time. • An app that keeps a user waiting would never be appreciated. Thus, it is the developer’s responsibility to structure the app and optimize the code for simple and fast operations.
  10. 10. Personalization: The app can be customized to suit individual users. For example, • The device location may be used to provide information that is more relevant to the user location. • It may also be a good idea to store username and password on first login, and keep the user logged in for subsequent access. • Storing user preferences and using them to personalize the app would also delight the user
  11. 11. 2. App functionality–specific challenges: App functionality–specific challenges typically include the following two categories: • Battery life and computational power • Network access Battery life and computational power • The computational power of an average mobile device is less than a modern personal computer or laptop. • Battery life is yet another hardware constraint. • Smartphones and tablets tend to consume more battery owing to touchscreens, graphics, sensors, and multiple apps running together. • The developer has to ascertain that app functionality does not demand excessive computational power or battery life.
  12. 12. Network access: • The advent of 3G and 4G mobile communication standards has marked a phenomenal rise in data transfer speed limits. • However, network reliability is a big problem. • Apps should not make the user wait for too long while data is being transferred across the network. • Additionally, they may also have an offline mode in case of unavailability of network.
  13. 13. 3. Data-specific challenges: There are mainly two types of data- specific challenges: • Security • Privacy Security: The ubiquity of mobile devices provides numerous expediencies to the consumer, but also makes him or her vulnerable to security threats. • Mobile devices store valuable user information, which if compromised may result in varying degree of losses to the user. • Such loss may vary from an embarrassing social networking update to transmission of confidential e-mails to unauthorized recipients or even unauthorized monetary transactions. • It is the developers’ responsibility to build apps that prevent unauthorized access to any information.
  14. 14. 4. Platform-specific challenges: Platform-specific challenges primarily include the following: • Platform fragmentation • Screen types • Input mechanisms Platform fragmentation: The mobile device market is highly competitive with a variety of operating systems and platforms powering these devices. The diverse offerings come as a blessing to the consumers who get a lot of options to choose from. But this also poses a huge challenge for app developers.
  15. 15. Screen types: Mobile devices come in a variety of screen sizes and types. • While Original Equipment Manufacturers (OEMs) strive continuously to provide choices to the consumer, developers have to make sure that their app works well on all targeted devices. • Mobile devices in different price segments sport different screen sizes, resolutions, pixel density, and display technologies. • The onus lies on the developer to ensure that the app works consistently across different devices. • Besides this, developers also face the challenge of adapting the app to change in device orientation. • Some developers even go a step further, and exploit the change in orientation to provide additional functionalities.
  16. 16. Input mechanisms: Mobile devices in today’s market come with different input mechanisms such as • Touch screens, • QWERTY keyboard, • trackballs and touchpads, • and sensors ---To facilitate user input. • Mobile devices could use one or more of these mechanisms to capture user input. • The app has to be designed in such a manner that it can be used on any targeted device using any available mechanism for user input.
  17. 17. TENETS OF A WINNING APP Though the challenges for developing mobile apps are multifold, to create a winning app we have to design • It in such a way that it always enjoys advocacy from end users. • This may be achieved by following five tenets, as proposed in Fig. 3.2. • The app should be intimate, interactive, immediate, intelligent, and insightful.
  18. 18. • Intimacy element ensures the belongingness of user with the app. • Interactivity element ensures cooperation of app with the user, and delights the user on each interaction. • Immediateness element ensures instant gratification to the user by providing direct access to information required at that moment in time. • Intelligence element ensures pertinent inferences for the user, by way of reasoning. • Insightful element ensures appropriate suggestions for the user by exhibiting relevant insights and perspectives in the app. This brings us to the end of Part I of this book. Now, we will take a deep dive into understanding the building blocks of a typical Android app using 3CheersCable app as the reference application.

×