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.
"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.
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
Looking for a fulfilling job at the intersection of sexual health and technology?
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.
•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
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
I’m going to cheat now and show you the end product …
III. How to create an app, by example
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
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
III. How to create an app, by example. Creating tables
• New database!• First task is to create tables to store our data
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.
III. How to create an app, by example. Creating tables
Let’s set up our main table and variables
III. How to create an app, by example. Creating tables
Create table
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
III. How to create an app, by example. Creating tables
Variable options
III. How to create an app, by example. Creating layouts
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
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
Right-click!
Assigning input boxes to a specific table
field…
III. How to create an app, by example. Creating layouts
Input boxes render differently on device
FileMaker FMTouchIII. How to create an app, by example. Creating layouts
Many, but not all commands are supported
Script run by
this button
III. How to create an app, by example. Creating layouts
One script per layout
transition or special button
III. How to create an app, by example. Creating scripts
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
‘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
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
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
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
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
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
• 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
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
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.