Dimensions of Mobile Computing
Alexander Nelson
August 27, 2019
University of Arkansas - Department of Computer Science and Computer Engineering
Reminders
Course Mechanics
Course Webpage:
sites.uark.edu/ahnelson/csce-4623-mobile-programming/
Syllabus is on the website.
Course Communication:
https://csce4623-uark.slack.com/
This slack channel is to be the primary mode of communication
1
Homework - Due Friday by Midnight
Sign up on the Slack website
Use your UARK username as the slack username.
Download Android Studio
https://developer.android.com/studio/index.html
Video will be on the website by end of day today. Send screenshot
of android studio in direct message to my slack user (ahnelson)
5% of the first project grade.
2
Survey Results
Class Level: 6 Junior, 42 Senior, 10 Graduate
30 iOS, 28 Android
Team/Solo: 24 Team, 13 Solo, 17 Either
Friday Lectures:
Type 1st 2nd 3rd %1st Plan
Traditional Lecture 10 17 28 18% 2-3 Fridays
“Transitive” Classroom 20 21 14 36% 5 Fridays
Dedicated Project Time 25 17 13 45% 6 Fridays
3
Survey Results – Apps
4
Survey Results – Hopes
5
Survey Results – Hopes
Single Occurrences:
approach become build capabilities career coding comfortable
component computer confident cool credit current doing
ecosystem environment Everything feel frameworks front-end fun
fundamentals general grade hobby hours hybrid IDE’s Improved
incorporate industry infrastructure inspiration interest job load
marketable means monopoly moving native New outside overall
passing personal phones platforms popular practice primary
principles produce product provides pursue re-building Renewed
required smaller/mobile smartphones stand-alone systems
techniques time UI user using
6
Mobile Dimensions
Why is Mobile Programming Challenging?
User InterfaceDesign
NetworkingWLAN and WPAN
OperatingSystems
Web andCloud Services
Built-InSensors
Limited HardwareResources
7
What about Mobile Computing?
Reza B’Far - Mobile Computing Principles (2005)
8
Mobility and Location
Advantage:
Accomodate logic based on locale
Not unique to mobile
Ex. POS systems and sales tax
9
Mobility and Location
Advantage:
Accomodate logic based on locale
Not unique to mobile
Instead:
Accomodate logic based on changing
locale
10
How do mobile devices localize?
GPS:
Localization by message time-of-flighta
Cellular:
Localization by time-of-flight or signal
strength
WiFi:
Crowdsourced information from Wi-Fi
basestations
Measure by ToF, RSSI, or Angle (for
MIMO based routers)
aPlus special and general relativity
11
Quality of Service
The downside of mobility!
• Loss of network connectivity
reliability
• Bad Weather/Solar Flares/ # of
concurrent users
12
Quality of Service
The downside of mobility!
• Loss of network connectivity
reliability
• Bad Weather/Solar Flares/ # of
concurrent users
Must be able to operate even when
disconnected or during bouts of
connectivity cycles!
13
What about Mobile Computing?
Reza B’Far - Mobile Computing Principles (2005)
14
Battery
15
Battery
11Mehdi Niroomand, Hamid Reza Foroughi, “A rotary electromagnetic
microgenerator for energy harvesting from human motions,” Journal of Applied
Research and Technology, Volume 14, Issue 4, 2016, pp. 259-267
16
Battery
2
2https://bambooapps.eu/blog/electric-vehicle-landscape-road-to-2025
17
Battery
18
Battery
19
Battery
Since 2010, battery capacity has increased 4x while CPU
benchmark has only improved ∼2x
3
(Network speed has also increased ∼ 4x during 2010-2019)
3MS Paint Magic!
20
Bottom Line:
Battery density improvement isn’t keeping up
with power requirements
20
Battery Constraints
Heaviest single component:
iPhone 7: 27.7g/138g = 20%
iPhone XS: 39.5g/177g = 22.3%
Large amount of space!
21
What about Storage?
Two rules of thumb:
• Smaller is almost always better
• If possible, let the user choose what to cache
Local cache smooths out network reliability
22
What about Mobile Computing?
Reza B’Far - Mobile Computing Principles (2005)
23
Enabling Varied UI Patterns
Screen size?
• Phone
• Tablet
• Phablet?
Input?
• Finger
• Stylus
• On-Screen Keyboard
• Voice
• Gestures?
Assumptions on input and output mechanisms are difficult
24
Enabling Varied UI Patterns
1. Designers have difficulties learning the user’s tasks
2. Tasks and domains are complex
3. A balance must be achieved among the many different design
aspects (e.g. Standards, Graphics, Technical writing,
internationalization, performance, levels of detail, social
factors, implementation time)
4. Existing theories and guidelines are insufficient
25
Enabling Varied UI Patterns (continued)
5. Iterative design is difficult
6. Real-Time requirements for handling input events
7. Difficult to test UI software
8. Languages do not support for user interfaces
9. Added difficulty of modularization of UI software
26
Platform Proliferation
In the days of PDAs & similar handhelds this was a larger issue
however
27
Platform Proliferation
In the days of PDAs & similar handhelds this was a larger issue
however
The problem of multiple platforms still exists
Number of OS versions being supported
Number of hardware providers is even larger
28
What about Mobile Computing?
Reza B’Far - Mobile Computing Principles (2005)
29
Active Behavior
Passive transactions are initiated by the user
while
Active transactions are initiated by the system
30
Active Transactions
Active transactions can be defined by these properties:
1. Transaction initiated by system, user is given an opportunity
to respond
2. Require timely response from user
3. Interactions are sequential and serial
4. Between system and a single user
Example: Some 2-Factor authentication schemes
31
”Active Transactions are an absolute essential
part of mobile application development mainly
because of the lack of FOCUS on the part of
the user while the user is mobile.”
31
What about Mobile Computing?
Reza B’Far - Mobile Computing Principles (2005)
32
Readings
Meyers 1993 - User Interfaces
Satyanarayanan 1996 - Fundamental Challenges of Mobile
Computing
Read these by Monday, and be prepared to discuss
33