Top Banner
If interested, please contact: 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.
55
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Build Your Own iPod/Phone/Pad App Using FMtouch

If interested, please contact:

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.

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.

ButtonsOther 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 FMTouch

III. 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 onlysend 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

If interested, please contact:

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.