Integ Prog

Subdecks (1)

Cards (158)

  • Mobile Computing
    Technology that allows transmission of data, voice and video via a computer or any other wireless enabled device without having to be connected to a fixed physical link
  • Main concepts of Mobile Computing
    • Mobile communication
    • Mobile hardware
    • Mobile software
  • Mobile communication
    • Refers to the infrastructure put in place to ensure seamless and reliable communication, including devices such as protocols, services, bandwidth, and portals
    • Data format is defined to ensure no collision with other existing systems
  • Mobile hardware

    • Mobile devices or device components that receive or access the service of mobility, such as portable laptops, smartphones, tablet PCs, PDAs
    • Devices are configured to operate in full-duplex, capable of sending and receiving signals at the same time
    • Devices use a wireless network to operate
  • Mobile software
    • The actual program that runs on the mobile hardware, dealing with the characteristics and requirements of mobile applications
    • The operating system of the mobile device, the essential component that operates it
  • Portability is the main factor of mobile computing, allowing users to operate from anywhere
  • Android
    A mobile operating system based on a modified version of Linux, originally developed by a startup called Android, Inc. and later purchased by Google
  • Google wanted Android to be open and free, so most of the Android code was released under the open-source Apache License
  • Vendors can add their own proprietary extensions to Android and customize it to differentiate their products
  • The main advantage of adopting Android is that it offers a unified approach to application development, allowing developers to create apps that can run on numerous Android-powered devices
  • Android versions and codenames
    • 1.1
    • 1.5 (Cupcake)
    • 1.6 (Donut)
    • 2.0/2.1 (Éclair)
    • 2.2 (Froyo)
    • 2.3 (Gingerbread)
    • 3.0 (Honeycomb)
  • Android features
    • Storage (SQLite)
    • Connectivity (GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, WiFi, LTE, WiMAX)
    • Messaging (SMS, MMS)
    • Web browser (WebKit, Chrome's V8 JavaScript engine)
    • Media support (H.263, H.264, MPEG-4, AMR, AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP)
    • Hardware support (accelerometer, camera, compass, proximity sensor, GPS)
    • Multi-touch
    • Multi-tasking
    • Flash support (Android 2.3)
  • Android applications

    • Browser
    • Phone
    • Contacts
    • Home
  • Android supports tethering, allowing sharing of Internet connections as a wired/wireless hotspot
  • Android OS architecture
    • Linux kernel (low-level device drivers)
    • Libraries (provide main OS features)
    • Android runtime (Dalvik virtual machine, core libraries)
    • Application framework (exposes OS capabilities to developers)
    • Applications (pre-installed and user-installed)
  • Android device types
    • Smartphones
    • Tablets
    • E-readers
    • Netbooks
    • MP4 players
    • Internet TVs
  • The Android Market is an online application store for Android devices, allowing users to download both paid and free third-party applications
  • Availability of paid applications on the Android Market is dependent on legal and regional restrictions
  • Voice user interaction (VUI)

    A unique challenge for mobile developers, as it departs from traditional keyboard and touchscreen interfaces
  • Challenges of VUI design
    • Understanding user expectations, as human communication has inherent context that computers struggle to compensate for
    • Explicitly communicating the capabilities and limitations of the voice recognition system
    • Providing clear visual feedback to indicate the system is listening
  • Integrating VUI apps with conversational APIs like api.ai or Amazon's Alexa Skills Kit API is crucial for best performance
  • Practices to avoid in Building VUI design
    • Not asking the user a question when the app expects a response
    • Not being clear about the user's options
    • Giving the user too many choices or being too verbose
    • Confirming the user's query too often
  • Being clear about the user's options
    For example, "Which sport do you want scores for, football or basketball?" is a better question than "Do you want scores for football or basketball?", since the user might simply respond "Yes."
  • Giving the user too many choices or being too verbose (for example, "Say 'football' for football. Say 'basketball' for basketball…") is not recommended
  • Confirming the user's query too often is not recommended. Confirmations should be reserved for important actions such as sending a message or making a purchase
  • Siri is one of the most successful examples of VUI (Voice User Interface) design, according to the above principles
  • Siri virtual assistant

    • When users start Siri, they're presented with a list of ideas such as "Call Hannah" and "Play some rock music"
    • Siri provides both visual feedback (in the form of a glowing white line) and tactile feedback to let users know when it's listening
  • Millions of Moms across the world have been called a little more often thanks to Siri's help
  • Designing great VUIs isn't easy, but there's little doubt that voice interaction is the way of the future. As more and more users use voice-controlled virtual assistants and apps on their mobile devices, getting your VUI right will be ever more important
  • Text-to-speech (TTS) synthesis

    The artificial generation of human voice – either in the form of speech or in other forms such as a song
  • Speech synthesizer
    The computer system used for speech synthesis
  • Types of speech synthesizers
    • Hardware based
    • Software based
  • TTS (Text to Speech) system

    Converts normal language text into human speech
  • Text-to-speech synthesis procedure
    1. Text analysis
    2. Generation of speech waveforms
  • Quality of a speech synthesizer

    • Similarity to normal human speech (naturalness)
    • Intelligibility (ease of understanding by the listener)
  • Front end
    Responsible for text normalization (the pre‐processing part) and text to phoneme conversion
  • Back end
    Converts the symbolic linguistic representation of the text into sound
  • Formant synthesis is based on the source-filter-model of speech
  • Formant synthesis provides an infinite number of sounds which makes it more flexible than concatenation methods
  • The PARCAS model uses a total of 16 control parameters