COMP90018 Mobile Computing Systems Programming
Does any resource help with this course?
Ubiquitous Computing Fundamentals
What is this course about?
This course is an introduction to mobile computing systems programming for engineering students.
What is the ubiquitous computing?
A vision of computing in which technology is embedded in the world around us, providing a seamless and unobtrusive experience to users as they go about their daily lives.
What are the main aspects of UI development for mobile devices?
- Interface: keyboard, screen, transparent/foldable screen, augmented reality
- Computing power
- Technology's progress is fast; human's evolution is slow
- What, why, who, how
- Research: discover, define; design: execute, deliver
What is the action cycle in UI development?
- The world --> Evaluation --> Goals --> Execution --> The world
What are the steps involved in the evaluation phase of the action cycle?
- Perceiving the state of the world
- Interpreting the perception
- Evaluation of interpretation
What are the steps involved in the execution phase of the action cycle?
- Intention to act
- Sequence of actions
- Execution of the sequence of actions
What is cross-platform design in UI development?
- Designing for multiple devices such as watches, phones, etc.
What are the key aspects of usability in UI development?
- Learnability
- Efficiency
- Memorability
- Errors
- Satisfaction
What is the relationship between technology and human perception?
- Technology --> Perception/experiences of reality --> Manipulate humans (good and bad)
What is ubiquitous interaction?
- Interaction that occurs on the user vs in the environment
What is the hardware renaissance?
- Rapid prototyping 快速原型设计
- Mass customization 大规模定制
- Cheap development 低成本开发
What is Moore's Law?
- The number of transistors on a chip doubles every two years 每两年芯片上的晶体管数量翻倍
How do sensors convert physical phenomena into data?
- Physical magnitude/phenomenon 物理量/现象 --> Sensor --> Data
What are some examples of mobile sensors?
- Camera
- Magnetometer 磁力计
- Ambient light sensor 环境光传感器
- Gyroscope 陀螺仪
- Microphone
- Barometer 气压计
- GPS
- Fingerprint 指纹
What is the activity lifecycle in the context of sensors?
- When listening, when not listening, i.e., battery concern
How is measurement represented in signal processing?
: Measurement : True value : Noise, in the form of Gaussian distribution
What is a mean filter?
What are the characteristics of mean/median filters?
- Easy to implement
- Efficient
- Great cost benefit
- Laggy 滞后的
- No dynamic model
What are the characteristics of a Kalman filter?
- Predictive
- Dynamic model
- No lag
- Tunable trade-off between model and measurement
- Uncertainty estimate
- Cheap to run
- Parameter not intuitive
- Overshooting 超调
What are the key components of a location-based system?
- Reality reproduction
- Acquisition
- Processing
- Display
- Perception
What is the history of the Global Positioning System (GPS)?
- GPS has been in use since 1970
What are some examples of indoor localization?
- Nintendo 3DS
What are the types of localization systems?
- Client-based location system
- Device computes its own location
- GPS
- Privacy, local computation power
- Network-based location system
- Network infrastructure calculates the position of the device
- Active Badge system
- Low cost, low privacy
- Network-assisted location system
- Assisted GPS (基站)
- Fast, accurate, data charge
How can location be represented?
- Absolute: address, GPS coordinates
- Relative: A is 3km south of B
- Symbolic: descriptive, e.g., home, work
What are the methods to determine location?
- Proximity 接近度
- If in a range
- Strength of signal
- Time of flight (ToF)
- Trilateration 三边定位
- 3 circles determine a point
- Hyperbolic lateration 双曲线定位
- Signal arrival time
- Triangulation 三角定位
- Angle of arrival (AoA)
- Antenna
- Fingerprint
- Signal characteristic
- Temporal stability
- Spatial variability
- Collect data --> training --> localization
- Dead reckoning
- Direction computed from previously
- Location
- Elapsed time
- Direction
- Average speed
- Visual localization
- Cameras, depth sensors
- Structure from Motion (SfM)
- Visual Simultaneous Localization and Mapping (vSLAM)
What is the goal of context awareness?
- Intelligent behaviors
What types of context/information are used in context awareness?
- Location, time, event, environment, etc.
What did Mark Weiser say about profound technologies?
- “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.” Mark Weiser, 1991
What are proactive applications?
- Applications that anticipate user needs
How is data collected in context awareness?
- Tagging, sharing
What is the Human Activity Recognition (HAR) System?
- Execution
- Generalization
- Recognition
- Activities
- System model
What factors should be considered when choosing a sensor?
- Accuracy: how close to the true value
- Precision: how close to each other
- Operating range
- Resolution or sensitivity
- Cost
- Energy consumption
- Lifespan
What are the steps in handling data for context awareness?
- Raw data
- Preprocessing
- Segmentation
- Feature extraction
- Classification
- Context determination
What are the design techniques used in prototyping?
- Sketching: ideation, refinement
- Storyboarding
- Prototyping: evaluation, usability
What are the stages of a low-fidelity prototype?
- Concept of operation
- Requirement and architecture
- Detailed design
- Implementation
- Integration, test and verification
- System verification and validation
- Operation and maintenance
What should be prototyped?
- Workflow, task
- Screen layouts and information displays
- Difficult, controversial, critical areas
- ...
What is the difference between fidelity and functionality in prototyping?
- Fidelity vs functionality
What are the types of prototyping?
- Evolutionary vs throwaway
- Horizontal vs vertical
- Horizontal: all screens, no functionality
- Vertical: some functionality in some screens
What should you consider when testing your project?
- Which aspect of your project do you want to test?
- Keep it cheap and dirty
- Encourage feedback!
What is the difference between native and cross-platform development?
- Native: rich APIs, all functions, need license
- Cross-platform: HTML5
What are some frameworks for mobile development?
- RN: Facebook, JS
- Flutter: Google, Dart
- Xamarin: Microsoft, C#
- Ionic: PWAs
- PhoneGap: Adobe, HTML, CSS, JS
- jQuery Mobile
What is AWARE?
- A platform for mobile sensing
Why evaluate?
- Cause and effect: with isolation
- Predictions
- Test a hypothesis
What is the difference between causation and correlation?
- Causation vs correlation
What are the components of experimental design?
- Independent variables
- Dependent variables
- Conditions
- Repeated measures
- Independent measures
What is the difference between experimental and quasi-experimental design?
- If it is random
What are the steps to create a focus group?
- Create
- Plan
- Run
What is ethnography?
- Observe
- Interview
- Participate
What is the Wizard-of-Oz technique?
- Don't implement the hard part
- 用户认为他们在与一个自动化系统交互,但实际上是人在后台手动操作
What are Nielsen’s usability heuristics?
- Match between system and the real world
- Consistency and standards
- Help and documentation
- User control and freedom
- Visibility of system status
- Flexibility and efficiency
- Error prevention
- Recognition rather than recall
- Error reporting, diagnosis 诊断, and recovery
- Aesthetic and minimalist design 美观和简约设计
What are some general heuristics for usability?
- Meet expectations
- User is the boss
- Handle errors
- Keep it simple
What are the privacy and security concerns in location-based services?
- Private information
- Traffic monitoring
- Social networking
- Advertising
What is rendezvousing?
- 设备或节点在网络中相互发现和通信的过程
What does it mean to be stealthy in location-based services?
- Be at a location without anyone knowing you are there
- Passive devices such as GPS
What is anonymity in location-based services?
- Separate location information from an individual’s identity
What is K-anonymity?
- Every record in the table is indistinguishable from at least k-1 other records with respect to quasi identifiers
What is cloaking in location-based services?
- 隐藏用户的精确位置,通过提供一个较大的区域来模糊实际位置
What is a decentralized system?
- No central authority
What is negative information?
- Any information except positive information
What are some methods of social engineering?
- Password
- DAS (draw a secret)
- Passpoints (click on a picture)
- Passfaces (recognize faces)
What are CAPTCHAs?
- Completely automated public Turing test to tell computers and humans apart
What are some long-standing privacy/security issues?
- Prove your device is where you claim to be
- Associate with other devices
- Authenticate in public
- Multi-model authentication
What are the characteristics of augmented reality?
- Interact with the real world
- Real-time
- 3D
What technologies are used in augmented reality?
- Tracking
- Display
- Input
What are the limitations of augmented reality?
- Registration of information
- Tracking error
- Latency
- Visual field of view
- Depth cue mismatch
- Impact of lighting conditions
- Uncomfortable technology
What is an interesting experiment in augmented reality?
- AR for drunk/sleepy people
What is an advanced evaluation method?
- Crowdsourcing
What topics were covered in the guest lecture on mobile sensing and edge intelligence?
- Gait analysis
- Mobile sports analytics
- On-device LLM