SlideShare a Scribd company logo
Connecting
Apple’s iPhone To
 Google’s cloud
  Jonathan Saggau and Noah Gift
agenda

• Wherefore the cloud for iPhone data
  storage?
• Why Google App Engine?
• What does TouchEngine do, exactly?
• How Does it do that?
• What’s next / roadmap
Mobile + Cloud
    It’s like chocolate and peanut
                 butter




http://www.flickr.com/photos/rocknroll_guitar/3737067347/
Mobile + Google’s Cloud
 • It’s like chocolate and really, really good peanut
   butter.




http://www.tj.la/2009/09/17/peanutbutter-overload/
What Does AppEngine Do
       and Why

• Generates data model files that match for both GAE
  and iPhone (coredata)
• Simplifies communication between GAE data models
  and iPhone apps using plists (GAE)
• Semi-Automatically synchronizes data model objects
  python and objc
• Google user login included (new feature using the
  open source GAE login code from github)
Demo
Default Core Data Books
How Does It Do It


• GoogleAppEngineAuth from cameronr
  on github.
• (Note, GAE will do OAuth but it’s beta)



    http://github.com/cameronr/
        GoogleAppEngineAuth
Mogenerator

• What is it for?
• How it works (MiscMerge)
• What the templates look like
• What the data model looks like
 • Special GAE_ and gae_ attributes and
   why

                                          Code
How to Insert Touchengine
     into Appengine



          Demo
Technologies
               Soon
 Current
Google App Engine:
 Core Data Books
     Adding a book




           Live Site - also JQuery Code
Google App Engine:
 Core Data Books
     View Library
Plist generation



• Why PList?
• plistlib
• introspection
• Registering objects


                                Code
How We Use the plists
   on the iPhone

• GAEModelSync + bookModelSync
• Show how the app goes from login to
  downloading the appropriate plists and then
  goes about.
• Segue into what’s next by mentioning that
  one-way sync could be much more
  automated.

                                                Code
Roadmap




http://www.flickr.com/photos/solaluminacaptura/
              54667385/sizes/z/
What’s Next
• Automate the one-way sync translation
  between strings in plist and dates and
  gae_ stuff that we’re currently doing
  manually
• Two-way real-time communications
• Two-way sync offline
• Integrate Ads w/ iAd and mobclix
Questions




Noah’s frickin’ picture

More Related Content

What's hot

Share point app architecture for the cloud and on premise
Share point app architecture for the cloud and on premiseShare point app architecture for the cloud and on premise
Share point app architecture for the cloud and on premise
Sonja Madsen
 
Component Driven Development - DrupalCamp London 2017
Component Driven Development - DrupalCamp London 2017Component Driven Development - DrupalCamp London 2017
Component Driven Development - DrupalCamp London 2017
John Ennew
 
See the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentationSee the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentation
Lammert Westerhoff
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
bgerman
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud Foundry
Prabhas Gupte
 
I've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveI've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you have
Simon Willison
 
Building 3D Models with Skycatch & Autodesk Recap API's
Building 3D Models with Skycatch & Autodesk Recap API'sBuilding 3D Models with Skycatch & Autodesk Recap API's
Building 3D Models with Skycatch & Autodesk Recap API's
Christopher Bumgardner
 
React For Vikings
React For VikingsReact For Vikings
React For Vikings
FITC
 
10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James ClanceyXamarin
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Sanguine_Eva
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
James Montemagno
 
GermaniumWeb for Barcamp Singapore 5
GermaniumWeb for Barcamp Singapore 5GermaniumWeb for Barcamp Singapore 5
GermaniumWeb for Barcamp Singapore 5
G Element Pte Ltd
 
Operationalizing R with Azure ML
Operationalizing R with Azure MLOperationalizing R with Azure ML
Operationalizing R with Azure ML
Chris McHenry
 

What's hot (16)

Share point app architecture for the cloud and on premise
Share point app architecture for the cloud and on premiseShare point app architecture for the cloud and on premise
Share point app architecture for the cloud and on premise
 
Component Driven Development - DrupalCamp London 2017
Component Driven Development - DrupalCamp London 2017Component Driven Development - DrupalCamp London 2017
Component Driven Development - DrupalCamp London 2017
 
See the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentationSee the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentation
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud Foundry
 
I've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveI've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you have
 
Building 3D Models with Skycatch & Autodesk Recap API's
Building 3D Models with Skycatch & Autodesk Recap API'sBuilding 3D Models with Skycatch & Autodesk Recap API's
Building 3D Models with Skycatch & Autodesk Recap API's
 
Code workshop
Code workshopCode workshop
Code workshop
 
React For Vikings
React For VikingsReact For Vikings
React For Vikings
 
10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Cache me if you can
Cache me if you canCache me if you can
Cache me if you can
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
 
GermaniumWeb for Barcamp Singapore 5
GermaniumWeb for Barcamp Singapore 5GermaniumWeb for Barcamp Singapore 5
GermaniumWeb for Barcamp Singapore 5
 
Operationalizing R with Azure ML
Operationalizing R with Azure MLOperationalizing R with Azure ML
Operationalizing R with Azure ML
 

Viewers also liked

VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
VMworld
 
Marathon
MarathonMarathon
Marathon
Ido Green
 
Topic Maps: Theory & Practice
Topic Maps: Theory & PracticeTopic Maps: Theory & Practice
Topic Maps: Theory & Practice
bbater
 
Erlang - Because S**t Happens
Erlang - Because S**t HappensErlang - Because S**t Happens
Erlang - Because S**t Happens
Mahesh Paolini-Subramanya
 
Senior project photo album
Senior project photo albumSenior project photo album
Senior project photo albumtravisball
 
Big Data para PME's
Big Data para PME'sBig Data para PME's

Viewers also liked (6)

VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
VMworld 2013: Walk-Through an IT Makeover, End-to-End, and See the Results! V...
 
Marathon
MarathonMarathon
Marathon
 
Topic Maps: Theory & Practice
Topic Maps: Theory & PracticeTopic Maps: Theory & Practice
Topic Maps: Theory & Practice
 
Erlang - Because S**t Happens
Erlang - Because S**t HappensErlang - Because S**t Happens
Erlang - Because S**t Happens
 
Senior project photo album
Senior project photo albumSenior project photo album
Senior project photo album
 
Big Data para PME's
Big Data para PME'sBig Data para PME's
Big Data para PME's
 

Similar to iphone and Google App Engine

Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and Backbone
Troy Miles
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
Ido Green
 
How to build a SaaS solution in 60 days
How to build a SaaS solution in 60 daysHow to build a SaaS solution in 60 days
How to build a SaaS solution in 60 days
Brett McLain
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
Tyler Johnston
 
Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review
IIHEvents
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
[Public] between two worlds native&no-native experiences
[Public] between two worlds  native&no-native experiences[Public] between two worlds  native&no-native experiences
[Public] between two worlds native&no-native experiences
Nicolas Bortolotti
 
OpenStack DevOps Workflows with TOSCA
OpenStack DevOps Workflows with TOSCAOpenStack DevOps Workflows with TOSCA
OpenStack DevOps Workflows with TOSCA
Cloud Native Day Tel Aviv
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailDeploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
AWS Germany
 
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIsFrom Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
Apigee | Google Cloud
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Gil Irizarry
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
e-Legion
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
Serge Huber
 
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Keiko Ogura
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+uploadTianwei_liu
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 
Automating Application over OpenStack using Workflows
Automating Application over OpenStack using WorkflowsAutomating Application over OpenStack using Workflows
Automating Application over OpenStack using Workflows
Yaron Parasol
 
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
Infinum
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
Paul van Zyl
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGIMatthew Wilkes
 

Similar to iphone and Google App Engine (20)

Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and Backbone
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
How to build a SaaS solution in 60 days
How to build a SaaS solution in 60 daysHow to build a SaaS solution in 60 days
How to build a SaaS solution in 60 days
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review Florian Pertynski session at Google Partner Summit Review
Florian Pertynski session at Google Partner Summit Review
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
[Public] between two worlds native&no-native experiences
[Public] between two worlds  native&no-native experiences[Public] between two worlds  native&no-native experiences
[Public] between two worlds native&no-native experiences
 
OpenStack DevOps Workflows with TOSCA
OpenStack DevOps Workflows with TOSCAOpenStack DevOps Workflows with TOSCA
OpenStack DevOps Workflows with TOSCA
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailDeploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
 
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIsFrom Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
From Napkin to Network: Rapidly Design, Prototype and Leverage Network APIs
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
 
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+upload
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
Automating Application over OpenStack using Workflows
Automating Application over OpenStack using WorkflowsAutomating Application over OpenStack using Workflows
Automating Application over OpenStack using Workflows
 
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
Infinum android talks #12 - Google IO report: Milkshakes, Marshmallows and Ma...
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGI
 

More from Lecturer UC Davis & Northwestern

Sentiment analysis for Business Analytics
Sentiment analysis for Business AnalyticsSentiment analysis for Business Analytics
Sentiment analysis for Business Analytics
Lecturer UC Davis & Northwestern
 
Social power and_influence_in_the_nba_gitpro
Social power and_influence_in_the_nba_gitproSocial power and_influence_in_the_nba_gitpro
Social power and_influence_in_the_nba_gitpro
Lecturer UC Davis & Northwestern
 
Favorite X Code4 Features
Favorite X Code4 FeaturesFavorite X Code4 Features
Favorite X Code4 Features
Lecturer UC Davis & Northwestern
 
RabbitMQ Plugins Talk
RabbitMQ Plugins TalkRabbitMQ Plugins Talk
RabbitMQ Plugins Talk
Lecturer UC Davis & Northwestern
 
PyCon 2011: IronPython Command Line
PyCon 2011:  IronPython Command LinePyCon 2011:  IronPython Command Line
PyCon 2011: IronPython Command Line
Lecturer UC Davis & Northwestern
 
Pycon 2008: Python Command-line Tools *Nix
Pycon 2008:  Python Command-line Tools *NixPycon 2008:  Python Command-line Tools *Nix
Pycon 2008: Python Command-line Tools *Nix
Lecturer UC Davis & Northwestern
 
iphonedevcon 2010: Cooking with iAd
iphonedevcon 2010:  Cooking with iAd iphonedevcon 2010:  Cooking with iAd
iphonedevcon 2010: Cooking with iAd
Lecturer UC Davis & Northwestern
 

More from Lecturer UC Davis & Northwestern (8)

Sentiment analysis for Business Analytics
Sentiment analysis for Business AnalyticsSentiment analysis for Business Analytics
Sentiment analysis for Business Analytics
 
Social power and_influence_in_the_nba_gitpro
Social power and_influence_in_the_nba_gitproSocial power and_influence_in_the_nba_gitpro
Social power and_influence_in_the_nba_gitpro
 
Erlang factory slides
Erlang factory slidesErlang factory slides
Erlang factory slides
 
Favorite X Code4 Features
Favorite X Code4 FeaturesFavorite X Code4 Features
Favorite X Code4 Features
 
RabbitMQ Plugins Talk
RabbitMQ Plugins TalkRabbitMQ Plugins Talk
RabbitMQ Plugins Talk
 
PyCon 2011: IronPython Command Line
PyCon 2011:  IronPython Command LinePyCon 2011:  IronPython Command Line
PyCon 2011: IronPython Command Line
 
Pycon 2008: Python Command-line Tools *Nix
Pycon 2008:  Python Command-line Tools *NixPycon 2008:  Python Command-line Tools *Nix
Pycon 2008: Python Command-line Tools *Nix
 
iphonedevcon 2010: Cooking with iAd
iphonedevcon 2010:  Cooking with iAd iphonedevcon 2010:  Cooking with iAd
iphonedevcon 2010: Cooking with iAd
 

iphone and Google App Engine

  • 1. Connecting Apple’s iPhone To Google’s cloud Jonathan Saggau and Noah Gift
  • 2. agenda • Wherefore the cloud for iPhone data storage? • Why Google App Engine? • What does TouchEngine do, exactly? • How Does it do that? • What’s next / roadmap
  • 3. Mobile + Cloud It’s like chocolate and peanut butter http://www.flickr.com/photos/rocknroll_guitar/3737067347/
  • 4. Mobile + Google’s Cloud • It’s like chocolate and really, really good peanut butter. http://www.tj.la/2009/09/17/peanutbutter-overload/
  • 5. What Does AppEngine Do and Why • Generates data model files that match for both GAE and iPhone (coredata) • Simplifies communication between GAE data models and iPhone apps using plists (GAE) • Semi-Automatically synchronizes data model objects python and objc • Google user login included (new feature using the open source GAE login code from github)
  • 7. How Does It Do It • GoogleAppEngineAuth from cameronr on github. • (Note, GAE will do OAuth but it’s beta) http://github.com/cameronr/ GoogleAppEngineAuth
  • 8. Mogenerator • What is it for? • How it works (MiscMerge) • What the templates look like • What the data model looks like • Special GAE_ and gae_ attributes and why Code
  • 9. How to Insert Touchengine into Appengine Demo
  • 10. Technologies Soon Current
  • 11. Google App Engine: Core Data Books Adding a book Live Site - also JQuery Code
  • 12. Google App Engine: Core Data Books View Library
  • 13. Plist generation • Why PList? • plistlib • introspection • Registering objects Code
  • 14. How We Use the plists on the iPhone • GAEModelSync + bookModelSync • Show how the app goes from login to downloading the appropriate plists and then goes about. • Segue into what’s next by mentioning that one-way sync could be much more automated. Code
  • 16. What’s Next • Automate the one-way sync translation between strings in plist and dates and gae_ stuff that we’re currently doing manually • Two-way real-time communications • Two-way sync offline • Integrate Ads w/ iAd and mobclix