MC 4,5 Flashcards

1
Q

User Interaction and controls

A

Active and passive controls. Writing callback methods for active controls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

SQLite

A

provides relational data to list views and other controls. Providing data to controls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Fragment

A

represents a behavior or portion of UI in an activity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Android

A

Open source, based on linux kernel. Allows devs to modify and customize OS. Large app ecosystem. Can publish apps to platform. Heavily integrated with google services ex. maps. Customizable UI.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Each Process has its own

A

unique ID that interacts between apps. Apps are called through a single entry point. Entities are called one after the other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Android Studio Features

A
  • Version Control
  • Debugging Tools
  • Code Completion
  • Logcat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

AVD

A

Android Virtual Device, basically an emulator to test apps real-time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Real Device Testing

A

Enable dev options on device to test app directly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Gradle

A

Powerful build system used in Android Studio. Serves as the foundation for managing the build process of android apps. Automates several aspects of building apps. Offers flexible and configurable approach to accommodate needs of app development projects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Gradle Properties

A
  • Open Source build automation system
  • Automate testing, building, publishing etc.
  • Powered by guild programming language. Concise yet expressiveS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Specific Reasons to choose Gradle

A
  • Domain Specific Language (DSL) to describe and manipulate build logic
  • Build files are groovy based and allow mixing of declarative elements through DSL
  • Built in dependency management through maven/ivy
  • Flexible. Allows best practices but doesn’t force you
  • Plugins can expose their own DSL and API for build files to use
  • Good tooling API allowing IDE integration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Building process of android app

A
  • Compilers convert code to dex files which include bytecode that runs on android devices and everything else into compiled resources
  • The APK packager combines DEX and compiled resources into a single APK
  • APK packager signs your APK using debug or release keystore
  • Uses zipalign tool to optimize app to take less memory before generating final APK
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

App Bar

A

Dedicated space to give your app identity. Access important actions such as search support for switching tabs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

UI success criteria

A
  1. Easy and fast access to main functionality
  2. Clear and non intimidating landing page
  3. User gets clear understanding what app does
  4. Option to include current info about application or app domain
  5. Data loading is intrusive
  6. No non-necessary data is loaded
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Dashboard (Description)

A

Landing page of an application containing large and clear symbols of main functionality and optionally an area for relevant new info.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Dashboard (Problem)

A

Very clear and easily accessible navigation to main functionality is very important

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Dashboard (Solution)

A

Landing page should be visually clear and provide easy access to main tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Dynamic List (Description)

A

Many apps use lists to display large amounts of data. This data is often loaded over a network connection. Dynamic lists improve performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Dynamic List (Problem)

A

Loading lots of data can be slow especially if over internet, as it has to load it all at once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Dynamic List (Solution)

A

Instead of waiting for all the data to load it is better to load only the most relevant data and populate it to a list immediately, then automatically load more when user reaches the end.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Manifest attributes

A

XMLNS: name of loaded namespace and where DTD for xml parser is loaded
Package: Name of java package for this application
Android:version : Version code for this version of the app
Android:versionName : version name for publishing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

<activity> attributes
</activity>

A

android:name - the name of the activity which will be used as the name of the Java file
android:label - a string that we can programmatically retrieve at run time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

<intent>
</intent>

A

used to send a message from one program to another, consists of two parts: action, and the data that action is supposed to use

24
Q

What can intents be used for

A

Loading Built in web browser, launching web with search string, launching dialer with phone number…

25
Q

UI guidelines

A

Collections of recommendations that are allowed when making UI. Such as general design principles, standards, style guides. Don’t rely on these exclusively, still ask questions and use logic.

26
Q

UI basic principles

A
  • Spacing and Positioning
  • Size
  • Grouping
  • Intuitiveness
27
Q

Spiral Design Process 6 Phases

A

Envisioning, planning, prototyping, developing, stabilizing, and preparing for the next version.

28
Q

Usability Testing

A

Starts from beginning and at every iteration. Use an iterative cyclical design process with early focus on users, integrated design, and continual testing.

29
Q

Envisioning Phase

A

Contextual research, competitive testing, user audience analysis

30
Q

Planning Phase

A

User scenarios, task analysis, heuristic evaluations, cognitive walkthroughs, GOMS, Iterative usability test

31
Q

GOMS

A

Goal operator methods and selection rules; method of describing task and users knowledge of preforming tasks

32
Q

When is software hard to use

A

Most users don’t construct adequate mental models of product. Interface design for most current software assumes that users will understand a conceptual model that the designers carefully crafted.

33
Q

Why do people change the way they interact with technology?

A

Changing needs, connection, context, approach

34
Q

5Ws of pervasive computing

A

Who: identify system user and their role. Extended to important elements like pets and robots.

Where: Tracking of geographic location of user at any point in time.

When: Association of activities with time used to build a realistic picture of system dynamics. Need to know when changes occur and how long they last.

What: Recognition of activities and tasks users are performing. Fundamental to provide help. Multiplicity of possible scenarios makes this difficult. Spatial and temporal awareness help us achieve task awareness.

Why: Capability to infer and understand intentions and goals behind activities. Hard but fundamental challenge that allows system to anticipate needs and serve users sensibly.

35
Q

Information Architecture

A

Discipline and set of methods that aim to identify and organize information in a purposeful and service-oriented way. The goal is to improve info access, relevance and usefulness to a given audience.

36
Q

Context Awareness

A

User’s location, environment, time and identity i.e context. Improving mobile service convenience will be done through use of context in mobile UX. Consumer product strategists must anticipate what users want when opening their phone.

37
Q

A customer’s mobile context consists of:

A
  • Situation: Current location, altitude, environment, and speed of app
  • Preferences: History and personal decisions the customer has shared with you or social network
  • Attitudes: The feelings implied by customer’s actions and logistics
38
Q

How to achieve Context Awareness

A

using sensors, raw context data, preprocessing

39
Q

Context Aware Sensors

A

Accelerometer, Gyroscope, Digital compass, barometer

40
Q

Accelerometer

A

Detect orientation of phone and motions ex. shaking

41
Q

Gyroscope

A

add dimension of rotation or twist

42
Q

Digital compass

A

Uses magnometer to provide orientation in terms of magnetic field

43
Q

Barometer

A

Retrieves altitude data

44
Q

User Models

A

target helping designers and developers maximize levels of visibility and accessibility of products/services through user properties for adaptation purposes

45
Q

A model may represent

A

an individual, group, community

46
Q

2 Types of Model

A

Empirical, Analytical

47
Q

Empirical Model

A

Don’t try to understand user’s cognitive processes

48
Q

Analytical Model

A

Simulate cognitive processes that take place during interaction between users + system

49
Q

Evaluating UI or usability becomes difficult because of:

A

Mobile context use, small size, rich device functionality, lack of direct manipulation, software design

50
Q

Location Info

A

Achieved through device/network. GPS can predict within 10 feet radius. Network side location can be determined through timing advanced technology. Network call must be successful to return location. Base station location accurate to 100 feet (radius)

51
Q

Context Awareness Best Practices

A

Don’t test on emulator, Don’t block OnSensorChanged(). Avoid depreciated sensor types or methods. Verify sensors before using, choose sensor delays carefully, unregister sensor listeners.

52
Q

Versioning

A

Sensor availability varies from device to device and in different android versions. Depreciated sensors are replaced by newer sensors in newer versions.

53
Q

Android Sensor Framework

A

Provides several methods to make it easy to determine which sensors are available on the device. Use mSensorManager

54
Q

How to get list of every sensor

A

List<sensor> deviceSensors = inSensorManager.getSensorList(sensor.Type_all)</sensor>

55
Q

Ethical Perspective

A

To what extent should one share their personal information through smart mobile devices

56
Q

Design Consideration (Bank Example)

A
  1. These services are accessible through different devices such as laptops, desktops, smart mobile devices etc.
  2. Design the applications for different screen sizes
  3. Apply different security levels
57
Q

Internet Evolution

A

Web 1.0 - Allowed people to read from internet
Web 2.0 - Allows people to read and write to internet
Web 3.0 - Promises potential for apps to speak to each other directly
Web 4.0 - “Mobile Web”
Web 5.0 - “Open, linked and intelligent web = Emotional Web”