-
What is the Mobile Platform?
Any portable device plus the software needed to run applications on a mobile device.
Portable probably means on the move rather than just being small enough to carry.
Late 1980s Compaq Portables!
As can be seen on the pictures below some of the first portable devices that were introduced in the late 1980s, it was commonly known as the “Compaq luggable” and some called it “suitcase computer”.
21st Century portable devices
In 21st century portable devices are even more versatile and powerful computers as in addition to standard phone features, they also have an increasingly broad range of apps including office type software, tablets/laptops e-book readers, a calendar, e-mail, web browser, GPS, camera, video and audio recorder/players and educational tools. Other portable devices that became arguably is less common include PDAs (Personal Digital Assistants), Apple’s iPod Touch and Samsung’s Galaxy camera. Many of these portable devices have functions of smart phones, but without the standard phone line.
-
What is Ubiquitous “Computing” Device
Ubiquitous computing is a paradigm and technological innovation that connect every computing devices and communicate information and activity to users through that device. Also known as pervasive computing.
Ubiquitous “Computing” devices can provide value to user’s lifestyle as focuses more on learning by increasing efficiency and removing technological complexity.
Mostly run in the background of the digital device, making it easy to use daily without thinking as noted in Weiser Paper (See in tutorial 1 section) and the comment “Using computers is like taking a walk in the park”
But in some case interaction is still poor as ubiquitous computing devices requires continuous availability and connectivity for users to reach a wide range of modern digital lifestyle.
Dedicated Platforms
Rapid technological advancement in recent years led mobile operating systems becoming fragile due to increasing demand of software platform diversity in mobile applications i.e. availability of software in more than one platform.
But hardware variations and compatibility issues make it difficult adopting user experience (UX) and User Interface(UI) from one device to another. For example, Apple iOS platform will not run on the rival android operating system. Therefore, forcing mobile platform developers to choose to support only some platforms and mobile application versions.
In this module, we are going to use Android studio IDE and emulator. You will learn how to download, and create android visual device during labs activities.
- Most dedicated platforms have the following features:
- Small screen, screen may be specialized (e.g. Traffic lights)
- No qwerty keyboard nor mouse
- Dedicated buttons with selected Functionality
- Selected Output perhaps via symbols
- Other examples of dedicated platforms include:
- Alarm System, Smoke Detector, Satellite receiver
- Various controllers (e.g. Heating/AC controller, TV, Cooker, Microwave etc.)
- Engine/Car Management System and Remote locking
- Wearable Devices
Communication with Ubiquitous Devices
Communications with ubiquitous devices is realised through an effective collaboration of internet connected devices and users.
- Examples of ubiquitous devices that can be linked to a mobile phone app allowing users to remotely carry out autonomous activities without physically being present includes:
- Doorbell – (ring.com)
- Heating Controls (hivehome.com)
- Lighting (wifiplug.co.uk)
-
Terminology
- Pervasive Computing
- Mobile and Ubiquitous Computing (MUC)
Pervasive Revolution
The most important technological developments in recent discovery is the introduction of pervasive computing systems that when integrated into our daily lives can change our lifestyle completely.
As it is with all major breakthroughs is the autonomous system, pervasive systems can have major impact on our health e.g. smart watch being able to record and store health and fitness data of its users, with little human intervention through downloadable mobile apps.
- Some Examples of Pervasive computing revolution are:
- Motors and Machines nowadays miniaturised and now ubiquitous, pervasive devices
- Machines are controllable from a distance
- Machines that “react” to us!
- Cars, Electrical Appliances, Micro-motors
- Nanotechnology will further reduce size of machines
Pervasive Computing
Information Access Devices such as smart phones and PDAs, also called “palm-tops” as their size is roughly that of a human palm and can be argued that these are the dominant “species” in this category.
Enabling users to carry personal information such as calendar, address book, messages and able to connect to networks or other devices. However, line between cell phone & PDA now very blurred.
Most typically categorised PDAs are PALM, MS Pocket PC, EPOC, Symbian and Linux whilst smartphones are known for its ability to use touch screen and availability with varied screen sizes ranges from 5” to 11” that are packed with functionality such as WiFi, GPS, Bluetooth, mapping capability and lots of apps.
-
Challenges of applied Pervasive Computing
- Some of the challenges of applied pervasive computing today are mostly technical issues such as:
- Memory
- Processor speed
- Screen
- Input
- Power
- Starting to overcome the above challenges, the following has been advanced:
- Mobile phones blurring the line with PDAs
- PDAs are now specialized devices
- Smartphones are now as fast as the 1st PC
- Examples of applied pervasive computing applications today are:
- Handheld PCs
- Wireless internet access
- Set-top boxes, games consoles
- Car systems (ABS, Trip computers, SatNav)
- “Travel” logging systems
-
Mobile Ubiquitous Computing (MUC)
- Mark Weiser refer to as the “father” of ubiquitous computing (refer to technical paper in the footnote) describe the term MUC as follows:
- Mobile computing focusses on how to handle connectedness of mobile devices
- Ubiquitous computing: the method of enhancing computer use by making many devices available throughout the physical environment, but making them effectively invisible to the user.
Principles of MUC
MUC advocates four principles
1. Decentralisation
2. Diversification
3. Connectivity
4. SimplicityYou will need to take these four principles of MUC into consideration when developing mobile applications.
-
Principles of MUC explained
- Decentralisation
- Distribution of tasks that require computing to multiple autonomous devices, for example: keeping a user’s diary current through synchronisation and each device is part of a heterogeneous Pervasive Computing Landscape.
- However, the de-centralised computing over common infrastructure can present administration problems such as?
- Diversification
- Currently most people rely on do-it-all PCs and MUC requires small, targeted, optimised devices to support a specific group of users and for a specific purpose
- A consumer is served by a multitude of devices (rather than 1 PC)
- Devices may have overlap in functionality (e.g. web surfing) but there will be a preferred tool for each situation.
- Application (software) will determine the device hardware, in contrast with today’s practice.
- Challenges in managing the device characteristics such as input (keyboard, stylus, voice), output (screen, vibration, sound) and connection protocols.
- Connectivity
- Seamless, transparent and implicitly initiated connection required for devices
- Everybody’s software, running on everybody’s hardware, over everybody’s network (Lou Gerstner, IBM CEO)
- Everybody’s software, running on everybody’s hardware, over everybody’s network (Lou Gerstner, IBM CEO)
- Typical standards required for communication such as UMTS (3G), Bluetooth, WiFi, Zigbee; data exchange! (XML); application exchange! (Java) and now 4G as well.
- Simplicity
- Diverse devices that perform their intended task extremely well relies on availability, convenience and ease of use.
- Proper selection and education of user groups for today’s IT e.g. “Kettle” (i.e. intuitive) interfaces for tomorrow’s users
- Extremely complex technology is masked by user friendly interfaces e.g. one-click, verbal commands, gestures, predictive, assistive, user-centred, automated, reality-augmenting services on miniature devices.
-
Developing apps for the Mobile Platform
You have now reached the end of part 1 of week 1 presentation which introduced the mobile platform and terminology used within it. Part 2 of this week presentation will prepare you with a practical aspect of the module which requires you to develop apps for the Mobile Platform.
- The approach is much the same as with other programming module. You will need:
- An integrated development environment.
- A Java programming language skills.
Mobile Platform Development
This is a Programming Module, as such you will need to download Android Studio available for free at GCU AppAnywhere link - available by clicking 🔗 here or as shown on the getting started document.
The programming language used in this module is Java for the Android Platform and use built in Android emulator.
What’s next!
The getting started notes at the footnote of this week is a set of activities that was designed to provide some information on how to download Android Studio and couple of Lynda.com links to videos that you can follow to ensure that your Java programming skills are at appropriate standard. Then move on to read part 2 of this week’s presentation below and try out practical activities of this week.