SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
CocoaHeads 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
 

Mais procurados (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
 

Destaque

Hum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaire
ProfWillAdams
 
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 avventure
Zoroastro01
 
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
JAX London
 
Hum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guide
ProfWillAdams
 
Historically Important People
Historically Important PeopleHistorically Important People
Historically Important People
wesleycatcher8
 
Arh2050 1730 syllabus
Arh2050 1730 syllabusArh2050 1730 syllabus
Arh2050 1730 syllabus
ProfWillAdams
 
Google Plus Business Page Setup
Google Plus Business Page SetupGoogle Plus Business Page Setup
Google Plus Business Page Setup
BeyondtheSite
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
OpenFest team
 

Destaque (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
 

Semelhante a API Design and Enterprise Mobile Apps

Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual Resume
Haresh Karkar
 
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
 

Semelhante 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

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

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