API Design and Enterprise Mobile Apps

Qubop Inc.
Qubop Inc.CTO at Qubop Inc.
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
API Design and Enterprise Mobile Apps
API Design and Enterprise Mobile Apps
(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
1 of 41

More Related Content

Viewers also liked(20)

Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaire
ProfWillAdams765 views
CleverBear презентацияCleverBear презентация
CleverBear презентация
Trofimov Mikhail483 views
Gatti grandi avventureGatti grandi avventure
Gatti grandi avventure
Zoroastro01313 views
Lec sequentialLec sequential
Lec sequential
UmAir AsgHar593 views
Fall newsletter-2008Fall newsletter-2008
Fall newsletter-2008
Direct Relief 281 views
2008 annual report2008 annual report
2008 annual report
Direct Relief 1.3K views
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guide
ProfWillAdams573 views
Fall newsletter-2009Fall newsletter-2009
Fall newsletter-2009
Direct Relief 312 views
Historically Important PeopleHistorically Important People
Historically Important People
wesleycatcher8238 views
LoopbaanbeleidLoopbaanbeleid
Loopbaanbeleid
Augustus consultancy735 views
Arh2050 1730 syllabusArh2050 1730 syllabus
Arh2050 1730 syllabus
ProfWillAdams1.1K views
Google Plus Business Page SetupGoogle Plus Business Page Setup
Google Plus Business Page Setup
BeyondtheSite206 views
HotmailHotmail
Hotmail
karenAlvaredo745 views

Similar to API Design and Enterprise Mobile Apps(20)

Recently uploaded(20)

Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet48 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation23 views

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