build your own ipod/phone/pad app using fmtouch

55
Looking for a fulfilling job at the intersection of sexual health and technology? Eli Rosenberg: [email protected] ; 404-783-2552 Patrick Sullivan: [email protected] ; 404-210- 6039 Both of us are floating around Sex::Tech and would be glad to speak with you today ! The Emory University Center of AIDS Research is looking for a tech-savvy individual to develop and maintain technology solutions that support our health research. Our solutions are often cross-platform, involving PC, web, and mobile components. The successful applicant must have database development experience (MS SQL Server, Access, FileMaker, etc.) and excellent programming skills. Specific familiarity with PHP, VBA, SAS, ColdFusion, and/or online survey and social media APIs (SurveyGizmo, Facebook, etc) is a plus.

Upload: yth

Post on 16-Jan-2015

900 views

Category:

Health & Medicine


4 download

DESCRIPTION

"Build Your Own iPod/Phone/Pad App Using FMtouch" was presented at Sex::Tech 2011 by Eli Rosenberg of Department of Epidemiology Emory University Rollins School of Public Health.

TRANSCRIPT

Page 1: Build Your Own iPod/Phone/Pad App Using FMtouch

Looking for a fulfilling job at the intersection of sexual health and technology?

If interested, please contact:

Eli Rosenberg: [email protected]; 404-783-2552Patrick Sullivan: [email protected]; 404-210-6039

Both of us are floating around Sex::Tech and would be glad to speak with you today!

The Emory University Center of AIDS Research is looking for a tech-savvy individual to develop and maintain technology solutions that support our health research.

Our solutions are often cross-platform, involving PC, web, and mobile components.

The successful applicant must have database development experience (MS SQL Server, Access, FileMaker, etc.) and excellent programming skills. Specific familiarity with PHP, VBA, SAS, ColdFusion, and/or online survey and social media APIs (SurveyGizmo, Facebook, etc) is a plus.

Page 2: Build Your Own iPod/Phone/Pad App Using FMtouch

Build Your Own iPod/Phone/Pad App Using FMtouch

Eli Rosenberg

Department of EpidemiologyEmory University Rollins School of Public [email protected]

Sex::Tech 2011April 1, 2011 - San Francisco, CA

Page 3: Build Your Own iPod/Phone/Pad App Using FMtouch

What we’ll discuss today

I. The case for iStuff data collection

II. Introduction to FMTouch

III. How to create an app, by example

IV. Syncing data

V. Advanced features

VI. Help and resources

For this presentation, ‘iStuff’ = iPods/Phones/Pads

Page 4: Build Your Own iPod/Phone/Pad App Using FMtouch

Examples of sex-health data apps

Data collection• Field interviews

▫Staff administered▫First app developed for our group with this purpose

• Intake at CBO or clinic▫Staff or client administered▫Collect info on attendance, risk factors, etc.▫ Jeb Jones from Emory presenting Saturday

• Monitoring of sex behaviors▫Client administered

Data delivery – won’t be explicitly covered today• Interactively deliver interactive sex information,

messages, interventions, or resources (directory of services)

I. The case for iStuff data collection

Page 5: Build Your Own iPod/Phone/Pad App Using FMtouch

•Our group has done mostly data collection, rather than presentation

• MSM Venue Screener• Assess demographics, behaviors, eligibility for

studies• Get contact information from those who qualify

• Screening for multiple research studies simultaneously

• Engaged 5,000 men in Atlanta over the last 8 months

Examples of sex-health data apps

I. The case for iStuff data collection

Page 6: Build Your Own iPod/Phone/Pad App Using FMtouch

MSM Venue Screener

I. The case for iStuff data collection

Page 7: Build Your Own iPod/Phone/Pad App Using FMtouch

• Eligibility questions• Decision-making logic

I. The case for iStuff data collection

Page 8: Build Your Own iPod/Phone/Pad App Using FMtouch

Advantages of data collection via iStuff

•Paperless•No secondary data entry•Faster interviews•Merge data collection with:

▫Program flow control (decision making)▫Other iStuff functionality (GPS, camera, etc.)

•Can share data easily•Get ‘approach’ data•As user-friendly as you want•Security•Large-scale deployment•Looks cool!!

I. The case for iStuff data collection

Page 9: Build Your Own iPod/Phone/Pad App Using FMtouch

How do we do this?

1. Design graphical database using FileMaker Pro

6. Data managed in FileMaker or other ODBC source. Can be exported for analysis.

2. Transfer database to FMTouch

3. Program interacts with participants / clients

4. Collect responses (data)

5. Upload data!

II. Introduction to FMTouch

Page 10: Build Your Own iPod/Phone/Pad App Using FMtouch

So what is FileMaker?

•Desktop relational database program for Macs/PCs

•Macintosh’s answer to MS Access

•A visual environment for collecting quality data in tables▫Use graphical forms (‘layouts’) to collect

information using text boxes, check boxes, etc.▫Scripts let you control input and program flow

•Easy to use tools for creating tables, layouts, scripts

II. Introduction to FMTouch

Page 11: Build Your Own iPod/Phone/Pad App Using FMtouch

And what is ?

•An iStuff app that lets you run FileMaker DBs on your iStuff

•Must make the database on your computer, then transfer to device

•Before Summer 2010, the only serious database solution available for iStuff

•FileMaker released FileMaker Go in July 2010▫Much closer to desktop version than FMTouch▫But lacking with certain sync features

II. Introduction to FMTouch

Page 12: Build Your Own iPod/Phone/Pad App Using FMtouch

What do I need to get started?

• Software▫ FileMaker. Current version is 11.

Pro ($200-$300. Free demo.) Pro Advanced ($300-$400).

Offers DDR export. I will explain later.

▫ FMTouch app. ($10 from iTunes store)

• Hardware▫ WiFi-capable computer (need not be connected to web!)

▫ iStuff devices du jour ($200 - $800) All iOS 3 and 4 devices supported

• Personnel▫ Some knowledge of database structure and programming (light

MS Access experience)▫ Could be you after today!!▫ Cost = $$?

II. Introduction to FMTouch

Page 13: Build Your Own iPod/Phone/Pad App Using FMtouch

Today’s example: Self-administered CBO intake screener

•The ISIS Center. A place for LGBT teens.

•Lately, the center has been extremely popular!

•Would like to give arriving clients an iPod-touch to:▫Track client information for evaluation (and

sponsors) Demographic information Reasons for visit

▫Collect email addresses for Facebook page sign-up

▫Discretely screen for important, sensitive behaviors Indicate message for staff if alarming response

III. How to create an app, by example

Page 14: Build Your Own iPod/Phone/Pad App Using FMtouch

CBO intake screener – Question flow and variable plan

• Client information▫ Age (pull-down) numeric▫ First name to use at visit text▫ Sexual identity coded as numbers 1 - 6

• Services requested▫ Learn about social activities binary number 1/2 (0/1 problematic in FM)▫ Talk to a counselor binary number 1/2 ▫ HIV/STD testing binary number 1/2 ▫ Other binary number 1/2

• Facebook page sign-up▫ Ask if interested in joining Facebook page binary number 1/2 ▫ If yes, prompt for email address text

• Screen for important behaviors▫ Suicidal ideation binary number 1/2 ▫ If yes, final screen will indicate a code for staff

• Also capture▫ Unique interview #, Date, Device ID#, Staff initials

III. How to create an app, by example

Page 15: Build Your Own iPod/Phone/Pad App Using FMtouch

I’m going to cheat now and show you the end product …

III. How to create an app, by example

Page 16: Build Your Own iPod/Phone/Pad App Using FMtouch

CBO intake screener – general design consideration

•Screen dimensions▫iPod/Phone = 320 px wide x 460 px tall▫iPad = 768 x 1004 (portrait)

1024 x 768 (landscape)

•Interface appearance. Flat vs. 3D

•Login page

•One or two questions per screen

III. How to create an app, by example

Page 17: Build Your Own iPod/Phone/Pad App Using FMtouch

Development process overview

1. In FileMaker, create: ▫ Tables ▫ Data-entry layouts▫ Scripts page jumping and decision-making

2. Save DB as Database Design Report (DDR)▫ not Deutsche Demokratische Republik▫ XML document that describes database structure

3. Transfer DDR to FMTouch via WiFi

4. Test it all a lot on device! Modify where needed.

▫ Quirky things happen when transfer to iStuff

III. How to create an app, by example

Page 18: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating tables

• New database!• First task is to create tables to store our data

Page 19: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating tables

There are two main modes to operate in:• Browse. For entering and viewing data• Layout. For designing DB tables and

layouts.

Page 20: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating tables

Let’s set up our main table and variables

Page 21: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating tables

Create table

Page 22: Build Your Own iPod/Phone/Pad App Using FMtouch

Cool trick!‘phone’ in field name = uses iPhone phone pad‘email’ = uses email-style keyboard

By value listRestricted to our custom list of values (1,2)

Auto-enter last visitedRemembers value from previous record. Lets us keep ‘login’ data on each record

Everything is set with ‘options’…

III. How to create an app, by example. Creating tables

Create variables

Page 23: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating tables

Variable options

Page 24: Build Your Own iPod/Phone/Pad App Using FMtouch

III. How to create an app, by example. Creating layouts

Page 25: Build Your Own iPod/Phone/Pad App Using FMtouch

Text for display

Drawing shapes

Input fields:Text boxes, check boxes, pull-down menus, etc.

Buttons

Other goodies:Tabs, portals (subforms), web browser, etc.

III. How to create an app, by example. Creating layouts

Page 26: Build Your Own iPod/Phone/Pad App Using FMtouch

Rectangle tool

Select one of the 11 layouts in our DB

Text

Input fields (displaying variable names)

Buttons

Inserted graphic (and also converted to button!)

III. How to create an app, by example. Creating layouts

Page 27: Build Your Own iPod/Phone/Pad App Using FMtouch

Right-click!

Assigning input boxes to a specific table

field…

III. How to create an app, by example. Creating layouts

Page 28: Build Your Own iPod/Phone/Pad App Using FMtouch

Input boxes render differently on device

FileMaker FMTouchIII. How to create an app, by example. Creating layouts

Page 29: Build Your Own iPod/Phone/Pad App Using FMtouch

Many, but not all commands are supported

Script run by

this button

III. How to create an app, by example. Creating layouts

Page 30: Build Your Own iPod/Phone/Pad App Using FMtouch

One script per layout

transition or special button

III. How to create an app, by example. Creating scripts

Page 31: Build Your Own iPod/Phone/Pad App Using FMtouch

Many, but not all commands are supported

Script run by login page’s ‘New Interview’ button

Very simple script builder!• Uses standard logical syntax• No need to remember statements

Double-click commands to place in right pane, then

edit specific options

Page 32: Build Your Own iPod/Phone/Pad App Using FMtouch

‘New interview’ script in detail

First, check that iPod ID and initials are entered.

Give pop-up error messages if not!

If iPod ID and initials are OK:• Go to 1st page of the interview (‘intro text’)• Start a new record• Hide the pesky menu bar in FMTouch (allows full-screen display)

III. How to create an app, by example. Creating scripts

Page 33: Build Your Own iPod/Phone/Pad App Using FMtouch

Header info w/ current interview #

Button to evaluate the 2 fields, skip to

next page

Jumps back to page 1

Quit button jumps to login page

III. How to create an app, by example. Creating scripts

Page 34: Build Your Own iPod/Phone/Pad App Using FMtouch

When push ‘Yes’, run ‘facebook_script’ and send

it the value 2.

Using buttons to send different values to the same script for processing

III. How to create an app, by example. Creating scripts

Page 35: Build Your Own iPod/Phone/Pad App Using FMtouch

First line of script receives value from Yes/No buttons and sets the ‘facebook’ field in our table

III. How to create an app, by example. Creating scripts

Page 36: Build Your Own iPod/Phone/Pad App Using FMtouch

Set field value

If want to sign up, go to email collection page

Otherwise, skip to next question

‘Facebook_script’ in detail

III. How to create an app, by example. Creating scripts

Page 37: Build Your Own iPod/Phone/Pad App Using FMtouch

Getting your app on your iStuff device: DDRs

1. Save your app as a DDR•A Database Design Report (DDR) is an XML

document that describes the database’s structure

• If you have FileMaker Pro Advanced, create in program. If have just Pro, create at www.fmtouch.com

2. Send the DDR to your iStuff device.•While FileMaker is running on the PC, we have

FMTouch retrieve the DDR file via WiFi.▫Requires FMTouch plugin for FileMaker to

transfer

III. How to create an app, by example. DDR Process

Page 38: Build Your Own iPod/Phone/Pad App Using FMtouch

1. Saving a DDR file in FileMaker Pro Advanced

Page 39: Build Your Own iPod/Phone/Pad App Using FMtouch

Open FMTouch

2. Transferring the DDR to iStuff

III. How to create an app, by example. DDR Process

Page 40: Build Your Own iPod/Phone/Pad App Using FMtouch

2. Transferring the DDR to iStuff

(Our MSM venue screener is the first displayed)

Click this icon to manage DBs• Add DBs• Change preferences

(3 DBs are loaded on device)

III. How to create an app, by example. DDR Process

Page 41: Build Your Own iPod/Phone/Pad App Using FMtouch

2. Transferring the DDR to iStuff

Click to add a new DB

III. How to create an app, by example. DDR Process

Page 42: Build Your Own iPod/Phone/Pad App Using FMtouch

2 ways to connect via WiFi:1. Manually via IP

2. Automatic detection using Mac’s Bonjour service. This requires:

• A simple wireless network.

• A great deal of luck

2. Transferring the DDR to iStuff

III. How to create an app, by example. DDR Process

Page 43: Build Your Own iPod/Phone/Pad App Using FMtouch

2. Transferring the DDR to iStuff

1. Make sure FileMaker is open.

2. Enter your computer’s IP address (easy to find out).

3. Your computer will prompt for which file to upload.

4. Select the file to begin transfer!

III. How to create an app, by example. DDR Process

Page 44: Build Your Own iPod/Phone/Pad App Using FMtouch

Once DDR uploaded, can adjust DB settings

III. How to create an app, by example. DDR Process

Page 45: Build Your Own iPod/Phone/Pad App Using FMtouch

DB settings page

Lock the DB in a particular orientation

Lock the DB with a password and encrypt

(128 or 256 bit).

III. How to create an app, by example. DDR Process

Page 46: Build Your Own iPod/Phone/Pad App Using FMtouch

Syncing data to the central DB1 2 3 4 5

Easy!

1. Open your central DB in FileMaker

2. Via FMTouch, each iStuff sends its data via WiFi to the central DB

3. Clear devices of data after sync.

IV. Syncing data

Page 47: Build Your Own iPod/Phone/Pad App Using FMtouch

2. Sending records to central FileMaker DB

For our needs, we only send records

But there may be situations where you want

to carry around your entire DB contents on

your iStuff app!

IV. Syncing data

Page 48: Build Your Own iPod/Phone/Pad App Using FMtouch

3. Clear devices of data after sync.

IV. Syncing data

Page 49: Build Your Own iPod/Phone/Pad App Using FMtouch

Syncing IDs across multiple devices

A. FileMaker reorients all auto-numbers to continue where DB left off.▫Ex: if last record in DB is ID #1500, the first iStuff to sync

will start at 1501.

1 2 3 4 5

• Each cleared device starts counting auto-numbers (record IDs) at 1.

Q. Will there be conflicts when we sync all devices?

IV. Syncing data

Page 50: Build Your Own iPod/Phone/Pad App Using FMtouch

Where’s my data?

•FileMaker has a built-in tabular display, but it can annoying to use!

IV. Syncing data

Page 51: Build Your Own iPod/Phone/Pad App Using FMtouch

Where’s my data?

Other ideas:•Excel, CSV exports

•Store data table in other system and connect via ODBC.

• Allows for easy sharing of your data. Not just stored in one FileMaker file!

• FileMaker serves as ‘front-end’ and data actually stored in:

• Access• MS SQL Server• Excel

What we do • Your web server• SAS • Anything!!

IV. Syncing data

Page 52: Build Your Own iPod/Phone/Pad App Using FMtouch

Advanced features

• FileMaker Server = sync from anywhere via Web

• Fancy data collection, using iStuff hardware▫ Photo capture – diagnostic aid?▫ Barcode scanning – laboratory uses?▫ GPS - geolocation apps?▫ Voice capture – notes, interviews, etc…

• Email sending from apps and email exports

• Web browser integration

• App compiling service – FMTouch Enterprise▫ Create your own deliverable app, available on iTunes store▫ User doesn’t need FMTouch▫ Might be very helpful for intervention/message/data delivery

V. Advanced features

Page 53: Build Your Own iPod/Phone/Pad App Using FMtouch

HELP!! Resources on www.fmtouch.com

• Wiki▫ One-stop shop for design guidelines, which FileMaker

features are currently supported, and set up or syncing help.http://reference.fmwebschool.com/FMTouch_Reference

• Helpful PDFs▫ User’s guide. Wiki is more updated.

http://www.fmtouch.com/FMTUG10_24.pdf

▫ Style guide. For matching iStuff look. http://www.fmpug.com/members_download.php?filename=FMTouchStyleGuide_v2.zip&free=true

• User forum

• FREE support request system

• How-to videos

VI. HELP!

Page 54: Build Your Own iPod/Phone/Pad App Using FMtouch

Thanks for coming!

This work was supported by:

•NIH/NIMH: 1R01MH085600 •NIH/NICHD: 1R01HD067111 •The Emory Center for AIDS Research: P30

AI050409

Page 55: Build Your Own iPod/Phone/Pad App Using FMtouch

Looking for a fulfilling job at the intersection of sexual health and technology?

If interested, please contact:

Eli Rosenberg: [email protected]; 404-783-2552Patrick Sullivan: [email protected]; 404-210-6039

Both of us are floating around Sex::Tech and would be glad to speak with you today!

The Emory University Center of AIDS Research is looking for a tech-savvy individual to develop and maintain technology solutions that support our health research.

Our solutions are often cross-platform, involving PC, web, and mobile components.

The successful applicant must have database development experience (MS SQL Server, Access, FileMaker, etc.) and excellent programming skills. Specific familiarity with PHP, VBA, SAS, ColdFusion, and/or online survey and social media APIs (SurveyGizmo, Facebook, etc) is a plus.