Mobile Software Technologies - Intranet - Department of Computer ...

intranet.cs.aau.dk

Mobile Software Technologies - Intranet - Department of Computer ...

Mobile Software Technologies(SW8)Background andPlatform-Independent IssuesHua LuDepartment of Computer ScienceAalborg UniversitySpring 2011


Adm. Info. of MST Course 2011• Divided into two parts• Part 1: Platforms and programming languages• Part 2: User interface design• Part 1 lecturer• Hua Lu Email: luhua@cs.aau.dk, Office: 3.2.05• Course website• https://intranet.cs.aau.dk/education/courses/2011/mst/You may need to login with your CS account• A PE course• Still no exam this year!• But we will have (group based) “mini-projects” in Part 1 • All information that follows regards Part 1 ONLY!2


Lecture Schedule (tentative)1. Tuesday, Feb.22, 10.15-12.00 (Today)• Introduction (Background and platform-independent issues)• Mini-project announcementsLecture Room:0.2.12 always2. Wednesday, Feb. 23, 9.15-12.00• Symbian3. Friday, Feb. 25, 9.15-12.00• Java ME4. Friday, Mar. 4, 9.15-12.00• Android and Windows Mobile5. Friday, Mar. 18, 9.15-12.00• Mobile databases and mobile services6. Friday, Mar. 25, 9.15-12.00• Management of indoor moving objectsMobile Programming (~2/5)Advanced Mobile Software Technologies (~2/5)7. Friday, Apr. 8, 10.15-12.00• Summary• Mini-project showcase3


Literature• (Text)book• Mobile Phone Programming: And Its Application to WirelessNetworking.Edited by Frank H.P. Fitzek and Frank ReichertAvailable at the local bookstore• Most relevant chapters1. Introduction to Mobile Phone Programming3. Java 2 Micro Edition4. Symbian/C++8. Windows Mobile Programming• Other materials will be provided in the slides or on thecourse website• E.g., online tutorials and papers4


Reminders• This is a PE course intended to help you with yoursemester projects on mobile software development• My part will introduce to you the most popular platformsand programming languages for mobile software, as wellas some advanced research topics in the mobile softwareareas• Each group needs to pick the most suitable platform andprogramming languages according to your project and your ownpreferences• You may choose to specialize in database technology after thissemester if you are interested in the advanced topics to beintroduced in this course• You are supposed to get your own hands dirty by doingtutorials and the mini-projects offline5


Mobile Computing Years AgoWelcome to a world of Fun, Frustration, and Future!6


Early Pocket Computers• The TRS-80 PC-1 is the first-ever BASIC-programmablepocket-sized computer• Actually Sharp PC-1211, sold by Radio Shack in the US• Introduced: July 1980• Weight: 170g / 6.0 oz.• Price: USD$230• RAM: 1.5K• OS: BASIC in ROM• Ports: Expansion connector• Display: 24 X 1 text LCD• An online pocket computer museum• http://pocket.free.fr7


Early Mobile Phones• The first mobile phone: Motorola DynaTAC 8000X• Inventor: Dr. Martin Cooper• Prototype demonstrated in 1973• Weight: ~ 0.9kg,• Speaking time: 0.5hr• Commercial approval obtained in 1983• Price: USD$3995.00• Until the early 1990s, most mobilephones were too large to be carriedin a jacket pocket, so they weretypically installed in vehicles as carphones.8


Evolution and Trends• For the first decade since their emergence, unfortunately,mobile computing and wireless communication havedeveloped along two parallel lines• In early 1990s, they started to evolve towards a commondirection• Nowadays• Smartphones: offering advanced capabilities beyond a typicalmobile phone, often with PC-like functionality.• PDAs: equipped with networking and telephony functionalities.• Laptops: becoming thinner, lighter but more powerful.• By various wireless networking technologies, mobiledevices today are increasingly connected to the Internet!• Mobile InternetMore or less a reality already today.9


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication10


Definition of Mobile and Wireless• Mobile• The ability to be on the move• Mobile applications are any applications that can be used when onthe move: PDAs, laptops, mobile phones• Wireless• The transmission of voice or data over radio waves• Wireless devices are those that send or receive data wirelessly• Mobile, but not wireless• Stand-alone applications• Wireless, but not mobile• Stationary using wirelesscommunicationApplication examples?“Mobile and Wireless Design Essentials” (Mallick 2003)11


Mobile/Wireless Application Options• Wireless Internet (online only)• Online access to Web content• Typically used for consumer applications• Limited user interface and capabilities• Smart Client• Incorporates mobile database technology for persistent datastorage• Updates to data can be synchronized to enterprise systems• Allows for offline access to important data• Works best in ‘occasionally connected’ environment• Messaging• Store and forward delivery of data• Text and multimedia messaging are very popular today• Can be used on its own, or in addition to other architectures12


Variability of The Mobile Environment• A 3D coordinate system model• As a mobile software designer or developer, you need to• Position your applications in this coordinate system.• Find suitable platforms and technologies for the development.Mobility• stationary• nomadic (pedestrian speed)• mobile (vehicular speed)• roaming (mobile across networks)Mobile Device Capability• form factor• GUI• multimedia• real-time multimediaConnectivity• connected• semi-connected(asymmetric)• disconnected13


Roles in Mobile Environment• Wireless operators and service providers• Device manufacturers• Hardware vendors• Software infrastructure providers• Independent software vendors• System integrators• As software engineers• Probably you will act as one of the last 3 roles.• But knowing about the overall picture is still beneficial.14


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication15


Hardware Platforms• Laptops• Programmable hand-held devices• SmartphonesMobile phones that are more powerful than normal mobile phonesToday, it’s increasingly hard to differentiate them• Pocket PCs• iPhone• Google Phone• Many other embedded platforms, where technologiescovered in this course may also be applicable• Sensors• Intelligent electric appliance16


Software Architecture3 rd Party ApplicationsWhere we willwork most ofthe time.Interpreters/Virtual MachinesNative ApplicationsGUISDKs/APIsSoftware FrameworkEmbedded Operating System17


Current Market Share• Share of worldwide 2010Q3 smartphone sales toend users by operatingsystem, according toGartner19


Typical Mobile Development Platforms• Symbian• General, powerful but hard to grasp• Based on preliminary C++• Java Micro Edition• A.K.A J2ME most of the time• Ideal for portable solution• Supported by many Symbian OS based mobile phones• Android• Modified Linux kernel; Google-developed Java libraries• Open source alliance• Win Phone 7, .NET Compact Framework, Pocket PC• Easier to learn if you are familiar with Windows and Visual Studio• Python• Script based, more GUI oriented• Easy making of fancy stuff, but hard to create real software20


Capabilities and BreadthSymbian J2ME Android .NET CF Pocket PCGraphicalInterfaceFunctionality No restrictions2D, 3D 2D, 3D 2D, 3D 2D,visualGUI builderVaries bydevicesNorestrictionsLimitedaudio access2D, 3D,visual GUIbuilderNo restrictionsDevice DataAccessFullVaries bydevicesFull Full FullRuntimeSpeedDeveloperSupportMarketpenetrationBest (Compiledlanguage)Average dueto JavabytecodeFaster thanJava due toJITAverage dueto .NETarchitectureExtensive Extensive Extensive MSDN MSDNDeployed on alarge numberof (high-end)devicesExtensiveIncreasinglyhighAverageBest (Compiledlanguage)Extensive withinEurope and agrowing marketwithin the US.A more comprehensive comparison can be found at http://en.wikipedia.org/wiki/Mobile_development21


A Comparison w.r.t. DevelopmentLearningCurveDebuggersavailableEmulatoravailableIDEavailableCross-PlatformDeploymentInstallerPackagingOptionsDev.Tool CostSymbian(C++)Difficult(unusualC++ APIs)Good onlatestversionFreeEmulatorManychoicesCompileper targetSIS filesfree toolsavailableJ2ME(Java)Average Excellent FreeEmulatorEclipse,NetBeansMobilityPackAverageJad/JarpackagingFreeAndroid(Java)Average Eclipse IDE Yes Eclipse Android only apk Free.NET CF(C#,VB.NET)Average Excellent Bundledwith IDEMS VS2005, 2003OnlyWindowsMobileCAB filesOnlybasictools arefreePocket PC(C, C++)Average(excellentfor Win32developer)ExcellentBundledwith IDEMS VS2005 or MSeVC 4.0(free)OnlyWindowsMobileCAB filesMS VSStandardor better,or MSeVC 4.0(free)A more comprehensive comparison can be found at http://en.wikipedia.org/wiki/Mobile_development22


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication23


Mobile Software Architecture• Standalone• E.g., a simple game on your mobile phone• Client-Server (C/S)• Web based, or micro-browser based• WWAN basedE.g., accessing remote data server via 3G connection on your mobilephone• WLAN based• Peer-to-Peer (P2P)• Devices are connected by short-range wireless communicationmeans like Wi-Fi, Bluetooth• Hybrid• Automatic choosing C/S or P2P channels for data and/or service24


Typical C/S Architecture• Web based, and WWAN basedWeb ServerServices on ServerRemote Web PagesLocal CodeMobile WebBrowser.NET CF & J2MEDevice Operating SystemThin ClientFat Client25


WLAN Based C/S Architecture• Wireless LAN with Access PointsGatewayInternet“Mobile and Wireless Design Essentials” (Mallick 2003), with some addition.26


Peer-to-Peer Architecture• No dedicated servers• Any device can be the data/service provider• Data/service access may be relayed by some intermediatedevices• A device and join and depart at any time“Mobile and Wireless Design Essentials” (Mallick 2003)27


Hybrid ArchitectureWireless Service ServerWireless C/S ChannelWireless P2P ChannelAutomaticchoosing C/S orP2P channels fordata and/orserviceMobile Devices28


Challenges• Different operating systems• Even many versions on the same OS• Different hardware architectures• Most hand-held devices are ARM-based.• Heterogenous development and runningenvironments• Limited computing capabilities• Small memory• Reduced API libraries• Different screen size• Have to live with that in your codes• Different input methods• Reduce/Ease user input• Special input, e.g., GPS signalsWe needdifferentemulators.Real dailychallengesfor mobiledevelopmentNot onlyinvolves GUIdesign!29


General Good Practices• Use suitable data type• E.g., if byte is enough, don’t use integer, float or even double• Fixed point operations• Balance between accuracy and speed• Simplify algorithms if possible• Balance between accuracy and speed• Consider data compression• Compression needs more time then.• Store pre-computed results• Balance between space and speed• Code optimization• Reduce (concurrent) resource use30


Mobile System Development ProcessWirelessDomain Analysis•Network Infrastructure Analysis•Business Workflow Analysis•Mobile User & Data Analysis•Domain Function Analysis3D ModelSystem Analysis•Communication Analysis•Data, Function Analysis•Mobile System Behavior Analysis•Technology & Technical AnalysisSystem Design•Comm. & Architecture Design•Wireless Data & Function Design•Dynamic Behavior Design•Technical Solution DesignSystemImplementation•Wireless/Fixed Protocol Coding•Wireless Application Server Coding•Mobile Client Coding•Facilitating Function CodingSystem Integrationand Testing•Mobile Client-Server Integration•Wireless & Fixed Network Integration•Wireless Function and System Testing•Performance & Deployment TestingCopyright@2004. Jerry Gao, Ph.DSystemDeployment•Network & Service Deployment•System Function Deployment•Mobile Device Deployment•Customer Technical Support31


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Mobile/Wireless Applications• Wireless Communication32


Access to Corporate Infrastructure• Web based, and WWAN basedFirewallfor DMZDial-upConnectionsAccessNetworkGSMConnectionsMobileNetworkWAPPDAClientsCorporate WAN(Intranet)EVO CommsServerWAP GatewayIMAP/SMTP ProxyHTTP ProxyRadiusServerMS MobileExchangeServiceWAP/xHTMLPortalServiceMulti-channelInformationServiceExistingServices33


Fit into 3-Tier Architecture• Decide the mobile client size w.r.t.• Implementation of exiting services and applications• Working environment• Budget limitation• …DatabasesLegacy SystemsThinClientExternalApplicationsFatClient34


Consumer vs EnterpriseConsumer• Standard Internet Applications• Web browsing• Gaming• Music download• E-commerce• Mobility based applications• Location-based services• Micro-payment• Mobile ticketing• M-commerce• Wide range of devices• Performance is key• Price sensitiveEnterprise• Standard Business Applications• e-mail, calendar, voucher,• Vendor payment, documentsharing• M-office• Customer relations info• Mobility based applications• Data entry in the field• Field service info• Transportation and logistics• More uniform high end devices• Security is a key• Performance is also important• Willing to pay more35


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication38


Wireless Networks• WWAN• Wireless WAN• Cellular systems• 1G -> 2G -> 3G• WLAN• Wireless LAN• WPAN• WirelessPersonalAreaNetworksSatellite39


Brief History of Cellular Systems• The first commercial cellular network was launched in Japan by NTTin 1979.• The first fully automatic mobile phone system was the Nordic MobileTelephone (NMT) system introduced in 1981. The 1G (first generation)networks then used analog radio signals.• The first “modern” network technology on digital 2G (secondgeneration) cellular technology was launched in 1991 in Finland onthe GSM standard.• The first commercial launch of 3G (third generation) was again inJapan by NTT DoCoMo on the WCDMA standard.• Network issues• Increased bandwidth• Always-on capability• Lower costs• Enhanced services• Interoperability and roaming40


Evolution of Cellular Systems“Mobile and Wireless Design Essentials” (Mallick 2003)41


GPRS vs 3G• GPRS = General Packet Ratio Service• 3G• A mobile data service available to GSM users• Lets mobile phones send and receive data over an Internet-Protocol (IP) network• Always on, wherever you are• Operates at the same speed as a standard dial up phone line171.2kbps• Also packet-switched and always on, but faster!384kbps and even higher with new technologies• GPRS is seen as the first step toward 3G networks. Somepeople even think GPRS is more revolutionary than 3G,which reuses ideas and infrastructure of GPRS42


Doubts Over 3G• Opinions• The demand for wireless Internet services is questionable.Such demand mainly comes from personal consumersCorporate usage is often focused on smart client synchronization andPIM and email access• 3G licenses in some countries, plus the infrastructure constructioncosts, are too expensive for the operators to make profits in a shortterm.• GPRS is enough for many mobile users.• Other alternatives exist for mobile users to get connected.• What about other alternatives besides GPRS?• Wireless LAN with Access Points43


Wi-Fi• Wi-Fi: Wireless Fidelity• A wireless technology brand owned by the Wi-Fi Alliance• Intended to improve the interoperability of WLAN products basedon the IEEE 802.11 standards."Wi-Fi Certified" products• Several generations since 1997.• Supported in MS Windows, Apple Mac OS X, Unix, Linux• Wi-Fi use mode• Access points, a.k.a. hotspotsCity wide Wi-Fi• Wi-Fi routers: a cable modem + a Wi-Fi access pointWidely used in homes• Peer-to-peer mode without access points44


Pros and Cons of Wi-Fi• Advantages• LAN deployment without cableReducing the costs of network deployment and expansionSuitable for spaces where cables cannot be run• Cheap chipsetsTherefore Wi-Fi is quite popular in current laptops and PDAs• Global set of standards for interoperability• Disadvantage"Wi-Fi Certified" products are backwards inter-operable• High power consumption• Limited range• Default open mode, i.e., encryption-free modeFree wireless networking for your neighborsOpen for monitoring data transmitted• Congestion on certain channels45


Wireless Personal Area Networks• A wireless network for devices close to you• Those devices may or may not belong to you• Typical range is limited by a few meters• Technologies for WPANs• IrDA: Infrared Data Association• Bluetooth• UWB: Ultra-wideband• ZigBee46


IrDA: Infrared Data Association• The Infrared Data Association, often referred to as IrDA, isa nonprofit organization whose goal is to develop globallyadopted specifications for infrared wirelesscommunication.• Global acceptance and use of these specifications isparamount to the success of IrDA and its members.• IrDA is a secure, low-cost, convenient cable replacementtechnology• Remote control• Data sending47


Bluetooth• An industrial specification for WPAN developed andlicensed by the Bluetooth Special Interest Group.• A way to connect and exchange information between(mobile or/and stationary) devices over a secure, globallyunlicensed short-range radio frequency.• Some applications• Wireless control and communicationBluetooth headset• Wireless networking between PCs via Bluetooth• Replacement of traditional wired serial communicationsBluetooth GPS receivers• Transfer files between Bluetooth devices, or between PDA and PC• Advertising via Bluetooth48


Bluetooth vs. Wi-Fi in Networking• They have slightly different applications today, working onthe same frequency range but with different multiplexingschemes.• Bluetooth is thought of as wireless USB• Is a cable replacement for a variety of applications and peripherals• Exists in many products, such as phones, printers, modems andheadsets• Simplifies the discovery and setup of services between devicesBluetooth devices advertise all of the services they provide• Wi-Fi is thought of as wireless Ethernet• Is a cable replacement only for LAN access• Provides higher throughput and covers greater distances• Requires configuration for setupStronger and securer connection49


Bluetooth Networking ExampleBluetooth-IPRouter“Mobile and Wireless Design Essentials” (Mallick 2003)50


A Complex Example• Both Bluetooth and Wi-Fi can be involved51


Network SummaryType ofNetworkWirelessPersonalAreaNetworks(WPAN)WirelessLocal AreaNetworks(WLAN)WirelessWide AreaNetworks(WWAN)SatelliteNetworksCoverageAreapersonaloperatingspace,typically 10metersIn buildingsor campuses,typically 100metersCoverageprovided onnational basisfrom multiplecarriersglobalcoverageFunctioncablereplacementtechnology,personalnetworksExtension oralternative towired LANExtension ofLANExtension ofLANAssociatedcostTypicalThroughputStandardsvery low 0.1 – 4 Mbps IrDA,Bluetooth,802.15low -mediummedium -high1 – 54 Mbps 802.11a, b, g,HomeRF,HyperLAN/28 kbps – 2Mbpsvery high 2 kbps to 19.2kbpsGSM, TDMA,CDMA, GPRS,EDGE, WCMAWirelessMatrix52


Data Rate100 Mbit/sec10 Mbit/sec802.11g802.11bUWB802.11a1 Mbit/sec 3GBluetooth100 kbits/secZigBeeZigBee10 kbits/sec UWB0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz53


Range10 km1 km3G100 m802.11b,g802.11a10 m ZigBee BluetoothZigBeeUWBUWB1 m0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz54


Power Dissipation10 W1 W3G802.11bg802.11a100 mWBluetoothUWB10 mWZigBeeZigBeeUWB1 mW0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz55


Infrastructure Cost$10003G$100802.11b,g802.11a$10$1UWBBluetoothUWBZigBee ZigBee$ .100 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz56


Summary• 3D Mobile Environment Model• Device Operating Systems• Typical Mobile Development Platforms• Mobile Software Development Process57

More magazines by this user
Similar magazines