Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

01 01 - introduction to mobile application development


Published on

introduction to mobile application development

Published in: Technology
  • Be the first to comment

01 01 - introduction to mobile application development

  1. 1. Introduction Mobile Application Development
  2. 2. Agenda Web Apps vs. Mobile Apps Mobile Application Phases in Mobile App Development Platform Languages Supporting Mobile App Development What is a Smart Phone Introduction to Different Smart Phones and its Features Introduction to Different Smart Phone Application Development Environments What's different in developing Applications for Smart Devices (Smart Phones & Tablets)
  3. 3. Advantages of Web Apps  • Universal access  – Browsers are everywhere  – Any device on the network can access content  PCs, Macs, Linux, Android, iPhone, Blackberry, etc.  • Automatic “updates”  – Content comes from server, so is never out of date  • Well-established tools and methodologies  – In multiple languages  Java, PHP, .NET, Ruby/Rails, CGI, etc.
  4. 4. Disadvantages of Web Apps  • Few and weak GUI controls  – Textfield, text area, button, checkbox, radio, list box, combo box. That’s it! No direct drawing (except for HTML5 Canvas)  • Cannot interact with local resources  – Cannot read files, call programs, or access devices on the user’s machine  • Inefficient communication  – HTTP is weak protocol  • Hard to write  – Requires knowledge of many technologies  Java, HTML, HTTP, CSS, JavaScript, XML  • Designed for large displays with mouse  – So harder to use on small phone displays with touch screen
  5. 5. Advantages of Mobile Apps  • Many GUI controls  – Textfield, text area, button, checkbox, radio, list box, combo box, clock, calendar, date picker, dialog box, image gallery, etc.  • Comparable to options in desktop programming  – Supports direct drawing  • So animated games ala Angry Birds possible  • Can interact with local resources  – Can read files (e.g., contacts list), have local database, access GPS, initiate phone calls, get input from microphone, create voice output, read screen orientation, etc.
  6. 6. Advantages of Mobile Apps (Continued)  • Efficient communication  – Can use any networking protocols you want  • Easier (?) to write  – Requires knowledge of one language only  • Java for Android  • Objective C for iPhone  • Designed for small displays with touch screen  – So, many apps and GUI controls are optimized for this environment
  7. 7. Disadvantages of Mobile Apps  • No universal access  – Apps must be installed one at a time on each phone  – An Android app cannot run on iPhone, Blackberry, PC, Mac, or Linux box  • Difficult to manage updates  – User must intervene to get latest versions  • Newer (esp. Android)  – So, fewer established tools and methodologies  • On the other hand, Android programming is similar to desktop Java programming, and there are plenty of established approaches there
  8. 8. What is Mobile OS  A mobile operating system (mobile OS) is the operating system that controls a smart phone, tablet, PDA, or other mobile device.  Modern mobile operating systems combine the features of a personal computer operating system with Touch screen Cellular Bluetooth WiFi GPS mobile navigation Camera, Video camera Speech recognition Voice recorder Music player Near field communication personal digital assistant (PDA) Other features.
  9. 9. Mobile OS Challenges  Limited resources  Memory / Processing Power / Screen / Display width  Connectivity Constraints  Bad Net work connectivity / Roaming scenarios  Usability constraints  User interfaces  User input /Data output  Security  Scalability  Wide verity of devices Different carrier Constraints Power management Data safety in case of power loss is an issue Compact Not much room for UI and the application itself Reuse of common components important Reliability “Always on”
  10. 10. Difference in Mobile and Desktop resources applications Screen Size • The screen size of mobile devices these days typically ranges between 2-4.5 inches as compared to that of a desktop which is normally 15-17 inches. • Due to this dramatic change in the screen sizes the mobile web application design is quite challenging. Graphics • In addition to this the graphical display on mobile too varies from that of the desktop. • Very few graphics are present on mobile sites in comparison to many graphics on desktop owing to the small screen size making place for only crucial information and necessary links to be present on it . • However the traditional websites mainly accessed through desktops include a wide variety of content. • Hence mobile site design focuses on the prioritization of content which the user is most likely to use while accessing through mobile phones. Layout • The layout of the mobile site also becomes vertical in contrast to the horizontal layout of desktop websites. • Vertical layout leads to guided approach, one step at a time. • Even the use of hypertext is also minimal on mobile sites. • These are instead replaced by buttons and bars which are quite easy to tap and access through fingers on mobiles. • So the design of website has to be user friendly and in accordance with the size and color scheme of the mobile screen to avoid its distortion.
  11. 11. Difference in Mobile and Desktop based applications Navigational limitation: • There are two types of navigations possible on websites i.e. Global navigation and contextual navigation. • Navigation on the desktop is quite complex and multi- layered contrast to the flat structure of mobile devices. • While a desktop makes use of both types of navigations, mobile is limited to just global navigation with almost total absence of contextual navigation. • Global navigation remains consistent across a site while contextual navigation shows the changes depending on where a user is on a site. • So absence of contextual navigation makes the user unaware of its whereabouts on the site. • Thus the navigation on mobile sites is kept simple and uncomplicated. • The content on mobile sites has to be placed such that user need not dig deep to get its work done. Usability Environment: • As a mobile device is used on the go while travelling, shopping etc. whereas desktops usually sit at a place so applications have to be developed in such a way that they do not restrict the mobility of a person when accessing them.
  12. 12. Difference in Mobile and Desktop based applications Processor and Memory capabilities: • The processor of a desktop is quite different than that of a mobile. • The size of RAM on a mobile far less than that of desktops. Even after up gradation of RAM on Mobile phones its size on desktops cant be matched. • Moreover the user would want faster response and quicker access to services with least processing time. • Mobiles and desktops also differ in the amount of audio and video stuff which they support. • A desktop site can contain multiple video files, heavy images and Flash animations. • But all this cannot be supported on mobile sites because of browser and bandwidth limitations. • Hence heavy applications cannot work smoothly on mobile phones. • With this limited available memory and processing capabilities implementation of many technologies like Flash and JavaScript gets limited. • Mobile sites have to be developed in a way that it uses minimum resources on phones. Different Expectations of users: • Mobile phones are basically communicating devices which nowadays is equipped with more enhanced features like camera, music player, games etc. • As compared to its desktop brethren the demands and expectations of a mobile user might be different and expect that too much of resources are not used up by it thus hampering performance of other applications on phones. • One unique feature of mobile devices includes geo-location services and support. • Mobile phones make use of GPS to pinpoint locations, get to know there current location through local searches. • This feature of personalized search is totally missing on a desktop. • Now a days even mobile websites are increasingly using this GPS feature to render various kinds of services to the mobile users. • User expects to make use of this mobile feature in order to find out nearest available services like getting the best restaurant or other products. • The expectation of a user has to be taken under consideration.
  13. 13. Design Considerations of mobile apps • In comparison to desktop Web sites, which usually contain a wide range of content and information, mobile sites usually include only the most crucial and time- and location-specific functions and features.Content Prioritization • On desktop Web sites, horizontal navigation at the top of a page is a widely accepted way of structuring and presenting a site’s content. However, vertical navigation replaces horizontal navigation on more than 90% of the mobile sites we analyzed. Vertical Instead of Horizontal Navigation • Hypertext is the signature component of the Internet and the Web. However, on mobile sites, there are few or no hypertexts on pages.Bars, Tabs, and Hypertext • On desktop Web sites, designers use graphics for many different purposes, including promoting, marketing, and navigating. Mobile sites avoid using promotional and marketing graphics and use minimal graphics for navigation. Text and Graphics • Various types of navigation are available on desktop Web sites. Some are global, so are consistent across a site, while others are contextual and change depending on where users are on a site. In contrast, while most mobile sites have global navigation, contextual navigation is rare on mobile sites. Contextual and Global Navigation • On desktop Web sites, footers typically provide either links to content users might expect to see on a site’s home page or quick links that are available across a site to provide access to content users often need. Mobile sites employ a minimal form of the first type of footer, but they do not use footers containing quick links. Footers • On desktop Web sites, breadcrumbs reassure users that they are on the right page and let them backtrack on their navigational path. Breadcrumbs are rare on mobiles sites and really aren’t necessary, because of the relatively flat structure of mobile sites. Breadcrumbs • Process funnels on desktop Web sites frequently use a progress indicator at the top of each page to guide users through the process. Such progress indicators do not appear on mobile sites.Progress Indicator • Mobile sites offer better integration with phone functions—and present marketing opportunities such as facilitating direct orders by phone or sending promotional text messages.Integration with Phone Functions • Mobile sites can take advantage of technology that automatically detects where users are to present local search results. When users set up their preferences or profile, personalized search results become even more relevant and valuable to them Localized & Personalized Search
  14. 14. Mobile Application Types Thick Client • Both processing and Presentation logic resides on the Mobile clients • Fact due to local processing • Heavy on the mobile Think Client • Both processing and Presentation logic resides on the Server • Only presentation engine resides on the client • Heavily dependent on the wireless network conditions • Slow due to dependency on the server for all transactions Smart client • A mix of thin and thick client • processing resides on the Server while Presentation logic and presentation engine resides on the client • User store and forward method to avoid dependability on the wireless network
  15. 15. Mobile Development Phases Market Analysis Gatheri ng info for client require ments Analyzi ng and Plannin g Concept Sketchin g Researc h & Strategi es Wire- framing User Interfac e Design Develop ment Testing
  16. 16. Feature Android Windows mobile BlackBerry company Google Microsoft RIM OS family Linux Windows Mobile OS Languages Java Visual C++ C++ SDK Platform Multiplatform dependent dependent Face book Yes Yes Yes Multitasking Yes limited limited Differences between Smart Phones
  17. 17. Some of the Platfrom Developments • Java but portions of code can be in C, C++Android • JavaBlackBerry • C; the APIs are provided in C with a C++ style interfaceBREW • Objective-CiOS SDK • JavaJava ME • C, C++, PascalPalm OS • C++Symbian • JavaScript, CSS, HTML, C and C++ through the PDKwebOS • C#, Visual Basic,C,C++Windows Phone • Action Script, HTML, CSS, JavaScriptAdobe AIR
  18. 18. Various Platforms • from Google • OS from RIM • from Apple • OS from the Symbian Foundation • from HP • Phone 7 from Microsoft
  19. 19. Mobile OS comparison
  20. 20. Different Kinds of Mobile OS Market share Source: wikipedia
  21. 21. World-Wide Smartphone Sales Source: wikipedia World-Wide Smartphone Sales Quarter Android iOS Symbian RIM Microsoft Bada Other 2011 Q4 [5] 50.9% 23.9% 11.7% 8.8% 1.9% 2.1% 0.8% 2011 Q3 [4] 52.5% 15.0% 16.9% 11.0% 1.5% 2.2% 0.9% 2011 Q2 [6] 43.4% 18.2% 22.1% 11.7% 1.6% 1.9% 1.0% 2011 Q1 [7] 36.0% 16.8% 27.4% 12.9% 3.6% 1.7% 1.6% 2010 Q4 [8] 31.1% 16.1% 32.9% 13.1% 3.4% 1.3% 2.2% 2010 Q3 [4][9] 25.3% 16.6% 36.3% 15.4% 2.8% 1.1% 2.5% 2010 Q2 [6][10] 17.2% 14.2% 41.2% 18.2% 5.0% 0.9% 3.3% 2010 Q1 [7][11] 9.6% 15.3% 44.2% 19.7% 6.8% 4.4% 2009 Q4 [8][12] 7.6% 16.2% 44.7% 19.7% 7.9% 4.0% 2009 Q3 [9][13] 3.4% 17.0% 44.2% 20.5% 7.9% 7.0% 2009 Q2 [10][14] 1.8% 13.0% 51.0% 19.0% 9.3% 5.9% 2009 Q1 [11][15] 1.6% 10.5% 48.8% 20.6% 10.2% 8.2% 2008 Q4 [12][16] 1.1% 10.6% 46.5% 19.3% 12.2% 9.1% 2008 Q3 [13][17] 0.6% 13.1% 50.3% 16.1% 11.2% 9.8% 2008 Q2 [14][18] 2.8% 57.5% 17.5% 12.1% 10.8% 2008 Q1 [19] 4.6% 49.5% 11.6% 10.4% 11.6% 2007 Q4 [20] 5.2% 62.3% 10.9% 11.9% 9.6% 2007 Q3 [21] 3.4% 63.1% 9.7% 12.8% 11.5% 2007 Q2 [22] 1.0% 65.6% 8.9% 11.5% 13.0% 2007 Q1 [23] 61.2% 8.7% 13.4% 16.8%
  22. 22. Smartphone A smartphone is a mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a feature phone. The first smartphones mainly combined the functions of a personal digital assistant (PDA) and a mobile phone or camera phone. Today's models also serve to combine the functions of portable media players, low-end compact digital cameras, pocket video cameras, and GPS navigation units.
  23. 23. Key Smartphone Features •In general, a smartphone will be based on an operating system that allows it to run applications. Apple's iPhone runs the iOS, and BlackBerry smartphones run the BlackBerry OS. Other devices run Google's Android OS, HP's webOS, and Microsoft's Windows Phone. Operating System •While almost all cell phones include some sort of software (even the most basic models these days include an address book or some sort of contact manager, for example), a smartphone will have the ability to do more. It may allow you to create and edit Microsoft Office documents--or at least view the files. It may allow you to download apps, such as personal and business finance managers, handy personal assistants, or, well, almost anything. Or it may allow you to edit photos, get ]driving directions via GPS, and create a playlist of digital tunes. Apps •More smartphones can access the Web at higher speeds, thanks to the growth of 4G and 3G data networks, as well as the addition of Wi-Fi support to many handsets. Still, while not all smartphones offer high-speed Web access, they all offer some sort of access. You can use your smartphone to browse your favorite sites. Web Access •By our definition, a smartphone includes a QWERTY keyboard. This means that the keys are laid out in the same manner they would be on your computer keyboard--not in alphabetical order on top of a numeric keypad, where you have to tap the number 1 to enter an A, B, or C. The keyboard can be hardware (physical keys that you type on) or software (on a touch screen, like you'll find on the iPhone). QWERTY Keyboard •All cell phones can send and receive text messages, but what sets a smartphone apart is its handling of e-mail. A smartphone can sync with your personal and, most likely, your professional e-mail account. Some smartphones can support multiple e-mail accounts. Others include access to the popular instant messaging services, like AOL's AIM and Yahoo! Messenger.Messaging
  24. 24. Development Options of mobile  Sony Ericsson  Java ME  Symbian OS/UIQ  Browser based  Motorola  Android  Windows Mobile  Mobile Linux  Java ME  Web Widgets LG Java ME Web Widgets Samsung Symbian Windows Mobile Java ME
  25. 25. Questions?