Introducing HTML and XHTML

Download Report

Transcript Introducing HTML and XHTML

Phonegap Bridge – File System
CIS 136 Building Mobile Apps
1
Building greatness
Starting your app project
2
Building Greatness
3
Ideas
Bill Splitter
Money tracker
Where I his it
Saving passwords
Storyteller
Quiz/Flash Card
Alcohol App (driving below the legal limit)
Diary
Garden growth
Song Lyrics
Name that Tune
Bus Info
Golf Scores













4
Before you begin
Define parameters for the app


Narrows down the scope



5
Formulates ideas for wireframes
Guidelines for its functions
Understand what it needs to accomplish
Pre-Development Q&A
Question


What is the app called?
Who will use the app?

Why will they use the app?


What are the key features
of the app?


6
Answer

My favorite Locations
Anyone, but probably people
over the age of 10
To see some of my favorite
spots and maybe visit them
as well
Map overview with pins
showing locations I tag;
popups describing why they
are my favorites, a button to
indicate they agree with the
choice
Pre-Development Q&A
Question

7
What technologies are
required to implement the
apps’ features
Answer

GPS, a database
somewhere, probably
some user tracking
Outcome of Q&A
Design ideas and details




Icons to use
Color scheme
Platforms to target
Scope creep


Administrative side to app



8
Add new places
Take pictures
Add data fields
A place to start
MVP
Minimum viable product


Approach development with an eye on iteration



9
Develop critical pieces
Develop necessary functions
Defines the “blurry” line between a timely, cost-effective
release vs. a release catering to desired audience that is a
money pit and overly complex
Handling scope creep

Audience wont care about administrative side


Consuming outputs
Less moving parts



10
Speed through development faster with a more “lean” first
version
Less time needed to product the app
Gauge overall interest in the app
Don’t toss in the towel

Create a “parking lot”




A place to save the great ideas for the next version
Include elements that come to mind for marketing, sales, etc.
Plan for the “next big feature”
Calendarize the nex big offering
11
User Stories

Helpful to understand the user experience


What the user will hear, see, do while interacting with the app
Won’t overlook key features
Describe who is doing what, and what the result is


12
Single sentences that dictate a small aspect of the intended
functionality
User Story Example

As a user of the My favorite Locations app, I can login to
the app using my email address and a password. Once
logged in I can scroll through ha list of places that are
displayed and pick any of them. When I pick one, I can
see a picture of the place and some information about it,
including an address. If I click on the address, it will load
the map on my phone so I can get directions to go there
13
Architectural definition


Clear blueprint for what needs to be developed
Consists of an:



14
Overview
[here you provide a high level description of what the app will
do, who will use it and why they will use it]
Walkthrough
[Here you insert bulleted items representing the steps of
operation from the moment the user taps the app’s icon.
Branching logic should be represented here as well as clear
paths to events and important input and output from the app.
This will most likely be the largest part of the document]
Architectural definition (cont.)


15
Databases
[Client-side – this is where you define data that will be used by
the app. Tables should include ID, key and value]
[Server side – define the tables and fields that will be used, as
well as the web services{proxy} for moving the data back and
forth
Web Services
[Here you can provide a breakdown of web services your app
will use –
service: what it does
inputs: what it expects for data
outputs: what it returns for data]
Storage Options
16
Storage Options

Many storage API’s

Local Storage



WebSQL (android, blackberry, iOS)



more features than LocalStorage but fewer than WebSQL
HTML5
Plug-in Based



17
full-featured database tables accessed via SQL queries
IndexedDB (windows, blackberry)


Web storage, simple storage, session storage
Based on key/value pairs
File API - allows you to cache data on the local file system
Downloader - Downloads files to persistant Storage
SQLLite - use more storage and provides more flexibility than the
standard Web SQL database
Local Storage
18
Local Storage

Permanent – localStorage() method


Data is saved even when app is closed
Temporary – sessionStorage() method

19
Data is not saved when app is closed
Methods
Works off of key/value pairs


Set a key - Returns the name of the key at the specified position


var value = window.localStorage.getItem("key");
Remove an item - Removes the item identified by the specified key


window.localStorage.setItem("key", "value");
Get an item - Returns the item identified by the specified key


var keyName = window.localStorage.key(0);
Set an item - Assigns a keyed item's value


Note: can serialize data using json.Stringify method
Window.localStorage.removeItem("key");
Clear - Removes all of the key/value pairs

20
Window.localStorage.clear();
<script>
// Wait for device API libraries to load
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
function onDeviceReady() {
window.localStorage.setItem(“hobby", “sailing");
var keyname = window.localStorage.key(0);
// keyname is now = “hobby"
var value = window.localStorage.getItem(“hobby"); // value is now = “sailing“
var value2 = window.localStorage.getItem(keyname); // value is now = “sailing"
window.localStorage.removeItem(“hobby");
window.localStorage.setItem(“hobby2", “riding");
window.localStorage.clear();
// localStorage is now empty
}
</script>
21