SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
API Design, Development
and Enterprise Apps
RENAISSANCE 2014
SAN FRANCISCO, CA
JANUARY 31, 2014

1.31.2014 - WWW.QUBOP.COM
Hello!
Evan Kirchhoff
COO, Qubop Inc.
evan@qubop.com
twitter: @theevank

www.qubop.com
twitter: @qubopinc
1.31.2014 - WWW.QUBOP.COM
≠
OUTLINE

What is Salesforce?
Salesforce for native iOS developers
API design for enterprise apps

1.31.2014 - WWW.QUBOP.COM
IN A GOOD MOBILE APP,
API DESIGN IS DERIVED
FROM UI DESIGN
1.31.2014 - WWW.QUBOP.COM
IN MOBILE, YOUR UI
DESIGN DETERMINES
YOUR BUSINESS MODEL*
* SLIGHTLY CONTROVERSIAL TO CLIENTS

1.31.2014 - WWW.QUBOP.COM
What is Salesforce?

1.31.2014 - WWW.QUBOP.COM
=

?!

Mobile Back-end as a Service (MBaaS)

1.31.2014 - WWW.QUBOP.COM
The “Big 4” Salesforce elements
from a mobile app developer’s point of view
(BASED ON MARKETING TERMS THAT YOUR CLIENTS WILL KNOW)

1.31.2014 - WWW.QUBOP.COM
Our job is to “flatten” the platform
into a minimal set of APIs

1.31.2014 - WWW.QUBOP.COM
The Salesforce architecture & APIs

=
1.31.2014 - WWW.QUBOP.COM

Default apps running
on a general-purpose
database platform
with common APIs
The Salesforce architecture & APIs

=
=
1.31.2014 - WWW.QUBOP.COM

Different APIs

Different APIs
Example: the Sales Cloud technology stack
Lead Objects &
Opportunity Objects
DATABASE TABLES

SOQL
QUERY LANGUAGE

Apex
SERVER MIDDLEWARE CODE

VisualForce / HTML5
WEB UI AND PRESENTATION
1.31.2014 - WWW.QUBOP.COM
The Salesforce developer community is
primarily a web development community

...and extremely seperate from the
iOS developer community
1.31.2014 - WWW.QUBOP.COM
Salesforce for iOS
Developers

1.31.2014 - WWW.QUBOP.COM
Typical Salesforce “sales pipeline” model

SALES OPPORTUNITY
SALES LEAD

PROSPECTING (10%)
QUALIFICATION (20%)
PROPOSAL (50%)
NEGOTIATION (80%)

WON! or CLOSED
1.31.2014 - WWW.QUBOP.COM
Default Salesforce web paradigm

1.31.2014 - WWW.QUBOP.COM
Does Salesforce 1 (Nov 2013) affect
the world of native iOS developers?

(NOT THAT MUCH, SO FAR)

1.31.2014 - WWW.QUBOP.COM
The “Salesforce 1 app” (hybrid platform)

3RD PARTY WEB-TECHNOLOGY APPS PLUG INTO THE LEFT SIDE MENU
BUILT-IN ACCESS TO STANDARD SALESFORCE DATA TYPES
1.31.2014 - WWW.QUBOP.COM
Salesforce platform: what is interesting
to native iOS developers
Native SDK (OAuth, communication stack)
Rapid back end development
Automatic server-side optimization
Lots of free general business logic
Authentication, security, user roles
Valuable clients: $$$
1.31.2014 - WWW.QUBOP.COM
Sales Organization Manager (live demo)

NATIVE IPAD APP USING ALL OF THE “BIG 4” SALESFORCE ELEMENTS
1.31.2014 - WWW.QUBOP.COM
API Design for
Enterprise Apps

1.31.2014 - WWW.QUBOP.COM
Design the app UI first!

1.31.2014 - WWW.QUBOP.COM
The world’s smartest dumb terminal
EVEN IF BUSINESS LOGIC LIVES ON THE SERVER, THE CLIENT IS “THICK” AND MAY CONTAIN SUBSTANTIAL UI LOGIC

1.31.2014 - WWW.QUBOP.COM
Don’t design the UI based on the data structure
THE USER DOESN’T PERCEIVE THE APP THE WAY YOU PERCEIVE THE DATA

X
...AND THE SCREEN IS VERY SMALL
1.31.2014 - WWW.QUBOP.COM
Don’t be satisfied with
the stock APIs
THIS USUALLY MEANS THAT YOU’LL NEED TO WRITE MIDDLEWARE

1.31.2014 - WWW.QUBOP.COM
Sales Organization Manager:
our custom API calls from iOS

1.31.2014 - WWW.QUBOP.COM
Example: Opportunities Heatmap UI

1.31.2014 - WWW.QUBOP.COM
Example: Opportunities Heatmap UI

1.31.2014 - WWW.QUBOP.COM
(1) iOS connection to custom Apex endpoint
(2) Apex class written specifically to feed this heatmap UI
(MASHES UP LEAD AND OPPORTUNITY OBJECT DATA)

1.31.2014 - WWW.QUBOP.COM
(3) JSON response from Apex, converted to NSDictionary in iOS

1.31.2014 - WWW.QUBOP.COM
(4) Finally: render the circles and columns in iOS

“AMOUNT” = NUMBER OF DEALS IN THE COLUMN (DETERMINES CIRCLE RADIUS)
1.31.2014 - WWW.QUBOP.COM
Where should your code live?

1.31.2014 - WWW.QUBOP.COM
Business logic
vs. presentation logic?

1.31.2014 - WWW.QUBOP.COM

Data vs.
documents?
Example: Documents + server-based email = API

GOAL: THE SALESPERSON WANTS TO ATTACH COLLATERAL FROM SALESFORCE TO EMAIL

1.31.2014 - WWW.QUBOP.COM
Standard solution: use the iPhone native email client

SALESFORCE
DOCUMENT
STORAGE

1.31.2014 - WWW.QUBOP.COM
Better solution: create an API to send email +
attachments from the server

SALESFORCE
DOCUMENT
STORAGE

ALLOWS FOR QUEUEING LOGIC, LOW BANDWIDTH, OFFLINE CASE HANDLING

1.31.2014 - WWW.QUBOP.COM
Thanks!
Evan Kirchhoff
COO, Qubop Inc.
evan@qubop.com
twitter: @theevank

www.qubop.com
twitter: @qubopinc
1.31.2014 - WWW.QUBOP.COM

Más contenido relacionado

La actualidad más candente

Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Allan Isfan
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Justin O'Neill
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätVincitOy
 
Mobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireMobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireCocoaHeads France
 
UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)sendwithus
 
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to successAiTi Education
 
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessVietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessGameLandVN
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Mobile app development - course intro
Mobile app development - course introMobile app development - course intro
Mobile app development - course introIvano Malavolta
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Effective
 
Learning salesforce-mobile-way
Learning salesforce-mobile-wayLearning salesforce-mobile-way
Learning salesforce-mobile-wayAbhinav Gupta
 
Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!July Systems
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 
Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?iFactory Digital
 
[Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization [Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization AiTi Education
 
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessMobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessGameLandVN
 

La actualidad más candente (20)

Native Application Development Company
Native Application Development CompanyNative Application Development Company
Native Application Development Company
 
Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: Virittäjät
 
Mobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireMobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from Appsfire
 
UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)
 
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
 
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessVietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Mobile app development - course intro
Mobile app development - course introMobile app development - course intro
Mobile app development - course intro
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
 
Learning salesforce-mobile-way
Learning salesforce-mobile-wayLearning salesforce-mobile-way
Learning salesforce-mobile-way
 
Marketing
MarketingMarketing
Marketing
 
Mobile app
Mobile appMobile app
Mobile app
 
Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
Mobile app vs web app
Mobile app vs web appMobile app vs web app
Mobile app vs web app
 
Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?
 
[Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization [Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization
 
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessMobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
 

Destacado

Hum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireProfWillAdams
 
CleverBear презентация
CleverBear презентацияCleverBear презентация
CleverBear презентацияTrofimov Mikhail
 
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...ArthritisNT
 
Gatti grandi avventure
Gatti grandi avventureGatti grandi avventure
Gatti grandi avventureZoroastro01
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJAX London
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучениеOpenFest team
 
Hum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideProfWillAdams
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!Andreas Grabner
 
Historically Important People
Historically Important PeopleHistorically Important People
Historically Important Peoplewesleycatcher8
 
Opportunity Execution Project - Career Mentor Online
Opportunity Execution Project - Career Mentor OnlineOpportunity Execution Project - Career Mentor Online
Opportunity Execution Project - Career Mentor OnlineCharles Sun
 
Arh2050 1730 syllabus
Arh2050 1730 syllabusArh2050 1730 syllabus
Arh2050 1730 syllabusProfWillAdams
 
Google Plus Business Page Setup
Google Plus Business Page SetupGoogle Plus Business Page Setup
Google Plus Business Page SetupBeyondtheSite
 
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...CreAgri Europe
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDOpenFest team
 

Destacado (20)

Hum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaire
 
CleverBear презентация
CleverBear презентацияCleverBear презентация
CleverBear презентация
 
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
 
Gatti grandi avventure
Gatti grandi avventureGatti grandi avventure
Gatti grandi avventure
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучение
 
Lec sequential
Lec sequentialLec sequential
Lec sequential
 
Fall newsletter-2008
Fall newsletter-2008Fall newsletter-2008
Fall newsletter-2008
 
2008 annual report
2008 annual report2008 annual report
2008 annual report
 
Hum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guide
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
Fall newsletter-2009
Fall newsletter-2009Fall newsletter-2009
Fall newsletter-2009
 
Historically Important People
Historically Important PeopleHistorically Important People
Historically Important People
 
Loopbaanbeleid
LoopbaanbeleidLoopbaanbeleid
Loopbaanbeleid
 
Opportunity Execution Project - Career Mentor Online
Opportunity Execution Project - Career Mentor OnlineOpportunity Execution Project - Career Mentor Online
Opportunity Execution Project - Career Mentor Online
 
Arh2050 1730 syllabus
Arh2050 1730 syllabusArh2050 1730 syllabus
Arh2050 1730 syllabus
 
Google Plus Business Page Setup
Google Plus Business Page SetupGoogle Plus Business Page Setup
Google Plus Business Page Setup
 
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
 
Hotmail
HotmailHotmail
Hotmail
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
 

Similar a API Design and Enterprise Mobile Apps

#CNX14 - Building Enterprise Mobile Apps With Salesforce1
#CNX14 - Building Enterprise Mobile Apps With Salesforce1#CNX14 - Building Enterprise Mobile Apps With Salesforce1
#CNX14 - Building Enterprise Mobile Apps With Salesforce1Salesforce Marketing Cloud
 
How to Launch Mobile Apps by Oracle Director of Product Manager
How to Launch Mobile Apps by Oracle Director of Product ManagerHow to Launch Mobile Apps by Oracle Director of Product Manager
How to Launch Mobile Apps by Oracle Director of Product ManagerProduct School
 
Web App Development Company | ConvrtX
Web App Development Company | ConvrtXWeb App Development Company | ConvrtX
Web App Development Company | ConvrtXConvrtX
 
Mobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesMobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesSlideTeam
 
The Complete Guide To Custom Web Application Development.pdf
The Complete Guide To Custom Web Application Development.pdfThe Complete Guide To Custom Web Application Development.pdf
The Complete Guide To Custom Web Application Development.pdfSuccessiveDigital
 
Hackers guide to UX
Hackers guide to UXHackers guide to UX
Hackers guide to UXCyber-Duck
 
App development process
App development  processApp development  process
App development processMagora Systems
 
StartupBus UK presentation
StartupBus UK presentationStartupBus UK presentation
StartupBus UK presentationCyber-Duck
 
Case Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceCase Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceDeeDee Kato
 
Cost Of App Development
Cost Of App Development Cost Of App Development
Cost Of App Development Nitish Garg
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar
 
Why Mobile App Should Upgrade to UX/UI Design?
Why Mobile App Should Upgrade to UX/UI Design?Why Mobile App Should Upgrade to UX/UI Design?
Why Mobile App Should Upgrade to UX/UI Design?AppClues Infotech
 
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...Techinventive Software
 
Everything about-mobile-app-development
Everything about-mobile-app-developmentEverything about-mobile-app-development
Everything about-mobile-app-developmentNine Hertz
 
How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?Alex Sam
 

Similar a API Design and Enterprise Mobile Apps (20)

Our process: from idea to engineering
Our process: from idea to engineeringOur process: from idea to engineering
Our process: from idea to engineering
 
#CNX14 - Building Enterprise Mobile Apps With Salesforce1
#CNX14 - Building Enterprise Mobile Apps With Salesforce1#CNX14 - Building Enterprise Mobile Apps With Salesforce1
#CNX14 - Building Enterprise Mobile Apps With Salesforce1
 
How to Launch Mobile Apps by Oracle Director of Product Manager
How to Launch Mobile Apps by Oracle Director of Product ManagerHow to Launch Mobile Apps by Oracle Director of Product Manager
How to Launch Mobile Apps by Oracle Director of Product Manager
 
Portfolio
PortfolioPortfolio
Portfolio
 
Web App Development Company | ConvrtX
Web App Development Company | ConvrtXWeb App Development Company | ConvrtX
Web App Development Company | ConvrtX
 
Mobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation SlidesMobile App Development Proposal Template PowerPoint Presentation Slides
Mobile App Development Proposal Template PowerPoint Presentation Slides
 
UX/UI Designer
UX/UI DesignerUX/UI Designer
UX/UI Designer
 
The Complete Guide To Custom Web Application Development.pdf
The Complete Guide To Custom Web Application Development.pdfThe Complete Guide To Custom Web Application Development.pdf
The Complete Guide To Custom Web Application Development.pdf
 
Hackers guide to UX
Hackers guide to UXHackers guide to UX
Hackers guide to UX
 
App development process
App development  processApp development  process
App development process
 
StartupBus UK presentation
StartupBus UK presentationStartupBus UK presentation
StartupBus UK presentation
 
Case Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceCase Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User Experience
 
Cost Of App Development
Cost Of App Development Cost Of App Development
Cost Of App Development
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual Resume
 
Why Mobile App Should Upgrade to UX/UI Design?
Why Mobile App Should Upgrade to UX/UI Design?Why Mobile App Should Upgrade to UX/UI Design?
Why Mobile App Should Upgrade to UX/UI Design?
 
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...
9 Miscalculations That You Should Avoid As A Inventor While Developing A Mobi...
 
JAKT Portfolio
JAKT PortfolioJAKT Portfolio
JAKT Portfolio
 
Folio2019
Folio2019Folio2019
Folio2019
 
Everything about-mobile-app-development
Everything about-mobile-app-developmentEverything about-mobile-app-development
Everything about-mobile-app-development
 
How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?
 

Último

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Último (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

API Design and Enterprise Mobile Apps

  • 1. API Design, Development and Enterprise Apps RENAISSANCE 2014 SAN FRANCISCO, CA JANUARY 31, 2014 1.31.2014 - WWW.QUBOP.COM
  • 2. Hello! Evan Kirchhoff COO, Qubop Inc. evan@qubop.com twitter: @theevank www.qubop.com twitter: @qubopinc 1.31.2014 - WWW.QUBOP.COM
  • 3.
  • 4. OUTLINE What is Salesforce? Salesforce for native iOS developers API design for enterprise apps 1.31.2014 - WWW.QUBOP.COM
  • 5. IN A GOOD MOBILE APP, API DESIGN IS DERIVED FROM UI DESIGN 1.31.2014 - WWW.QUBOP.COM
  • 6. IN MOBILE, YOUR UI DESIGN DETERMINES YOUR BUSINESS MODEL* * SLIGHTLY CONTROVERSIAL TO CLIENTS 1.31.2014 - WWW.QUBOP.COM
  • 8. = ?! Mobile Back-end as a Service (MBaaS) 1.31.2014 - WWW.QUBOP.COM
  • 9. The “Big 4” Salesforce elements from a mobile app developer’s point of view (BASED ON MARKETING TERMS THAT YOUR CLIENTS WILL KNOW) 1.31.2014 - WWW.QUBOP.COM
  • 10. Our job is to “flatten” the platform into a minimal set of APIs 1.31.2014 - WWW.QUBOP.COM
  • 11. The Salesforce architecture & APIs = 1.31.2014 - WWW.QUBOP.COM Default apps running on a general-purpose database platform with common APIs
  • 12. The Salesforce architecture & APIs = = 1.31.2014 - WWW.QUBOP.COM Different APIs Different APIs
  • 13. Example: the Sales Cloud technology stack Lead Objects & Opportunity Objects DATABASE TABLES SOQL QUERY LANGUAGE Apex SERVER MIDDLEWARE CODE VisualForce / HTML5 WEB UI AND PRESENTATION 1.31.2014 - WWW.QUBOP.COM
  • 14. The Salesforce developer community is primarily a web development community ...and extremely seperate from the iOS developer community 1.31.2014 - WWW.QUBOP.COM
  • 16. Typical Salesforce “sales pipeline” model SALES OPPORTUNITY SALES LEAD PROSPECTING (10%) QUALIFICATION (20%) PROPOSAL (50%) NEGOTIATION (80%) WON! or CLOSED 1.31.2014 - WWW.QUBOP.COM
  • 17. Default Salesforce web paradigm 1.31.2014 - WWW.QUBOP.COM
  • 18. Does Salesforce 1 (Nov 2013) affect the world of native iOS developers? (NOT THAT MUCH, SO FAR) 1.31.2014 - WWW.QUBOP.COM
  • 19. The “Salesforce 1 app” (hybrid platform) 3RD PARTY WEB-TECHNOLOGY APPS PLUG INTO THE LEFT SIDE MENU BUILT-IN ACCESS TO STANDARD SALESFORCE DATA TYPES 1.31.2014 - WWW.QUBOP.COM
  • 20. Salesforce platform: what is interesting to native iOS developers Native SDK (OAuth, communication stack) Rapid back end development Automatic server-side optimization Lots of free general business logic Authentication, security, user roles Valuable clients: $$$ 1.31.2014 - WWW.QUBOP.COM
  • 21. Sales Organization Manager (live demo) NATIVE IPAD APP USING ALL OF THE “BIG 4” SALESFORCE ELEMENTS 1.31.2014 - WWW.QUBOP.COM
  • 22. API Design for Enterprise Apps 1.31.2014 - WWW.QUBOP.COM
  • 23. Design the app UI first! 1.31.2014 - WWW.QUBOP.COM
  • 24. The world’s smartest dumb terminal EVEN IF BUSINESS LOGIC LIVES ON THE SERVER, THE CLIENT IS “THICK” AND MAY CONTAIN SUBSTANTIAL UI LOGIC 1.31.2014 - WWW.QUBOP.COM
  • 25. Don’t design the UI based on the data structure THE USER DOESN’T PERCEIVE THE APP THE WAY YOU PERCEIVE THE DATA X ...AND THE SCREEN IS VERY SMALL 1.31.2014 - WWW.QUBOP.COM
  • 26. Don’t be satisfied with the stock APIs THIS USUALLY MEANS THAT YOU’LL NEED TO WRITE MIDDLEWARE 1.31.2014 - WWW.QUBOP.COM
  • 27. Sales Organization Manager: our custom API calls from iOS 1.31.2014 - WWW.QUBOP.COM
  • 28. Example: Opportunities Heatmap UI 1.31.2014 - WWW.QUBOP.COM
  • 29. Example: Opportunities Heatmap UI 1.31.2014 - WWW.QUBOP.COM
  • 30.
  • 31.
  • 32. (1) iOS connection to custom Apex endpoint
  • 33. (2) Apex class written specifically to feed this heatmap UI (MASHES UP LEAD AND OPPORTUNITY OBJECT DATA) 1.31.2014 - WWW.QUBOP.COM
  • 34. (3) JSON response from Apex, converted to NSDictionary in iOS 1.31.2014 - WWW.QUBOP.COM
  • 35. (4) Finally: render the circles and columns in iOS “AMOUNT” = NUMBER OF DEALS IN THE COLUMN (DETERMINES CIRCLE RADIUS) 1.31.2014 - WWW.QUBOP.COM
  • 36. Where should your code live? 1.31.2014 - WWW.QUBOP.COM
  • 37. Business logic vs. presentation logic? 1.31.2014 - WWW.QUBOP.COM Data vs. documents?
  • 38. Example: Documents + server-based email = API GOAL: THE SALESPERSON WANTS TO ATTACH COLLATERAL FROM SALESFORCE TO EMAIL 1.31.2014 - WWW.QUBOP.COM
  • 39. Standard solution: use the iPhone native email client SALESFORCE DOCUMENT STORAGE 1.31.2014 - WWW.QUBOP.COM
  • 40. Better solution: create an API to send email + attachments from the server SALESFORCE DOCUMENT STORAGE ALLOWS FOR QUEUEING LOGIC, LOW BANDWIDTH, OFFLINE CASE HANDLING 1.31.2014 - WWW.QUBOP.COM
  • 41. Thanks! Evan Kirchhoff COO, Qubop Inc. evan@qubop.com twitter: @theevank www.qubop.com twitter: @qubopinc 1.31.2014 - WWW.QUBOP.COM