Your SlideShare is downloading. ×
0
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....
≠
OUTLINE

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

1.31.2014 - WWW.QUBOP.CO...
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 WI...
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 platfo...
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
SE...
The Salesforce developer community is
primarily a web development community

...and extremely seperate from the
iOS develo...
Salesforce for iOS
Developers

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

SALES OPPORTUNITY
SALES LEAD

PROSPECTING (10%)
QUALIFICATION (20%)
PROPOSAL (5...
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.CO...
The “Salesforce 1 app” (hybrid platform)

3RD PARTY WEB-TECHNOLOGY APPS PLUG INTO THE LEFT SIDE MENU
BUILT-IN ACCESS TO ST...
Salesforce platform: what is interesting
to native iOS developers
Native SDK (OAuth, communication stack)
Rapid back end d...
Sales Organization Manager (live demo)

NATIVE IPAD APP USING ALL OF THE “BIG 4” SALESFORCE ELEMENTS
1.31.2014 - WWW.QUBOP...
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 SUBST...
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 ...
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....
(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....
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

...
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 QUEUEI...
Thanks!
Evan Kirchhoff
COO, Qubop Inc.
evan@qubop.com
twitter: @theevank

www.qubop.com
twitter: @qubopinc
1.31.2014 - WWW...
API Design and Enterprise Mobile Apps
API Design and Enterprise Mobile Apps
Upcoming SlideShare
Loading in...5
×

API Design and Enterprise Mobile Apps

1,331

Published on

From Renaissance 2014, how to design APIs for enterprise mobile apps, and how to approach the Salesforce platform as native iOS developers.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,331
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
11
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "API Design and Enterprise Mobile Apps"

  1. 1. API Design, Development and Enterprise Apps RENAISSANCE 2014 SAN FRANCISCO, CA JANUARY 31, 2014 1.31.2014 - WWW.QUBOP.COM
  2. 2. Hello! Evan Kirchhoff COO, Qubop Inc. evan@qubop.com twitter: @theevank www.qubop.com twitter: @qubopinc 1.31.2014 - WWW.QUBOP.COM
  3. 3.
  4. 4. OUTLINE What is Salesforce? Salesforce for native iOS developers API design for enterprise apps 1.31.2014 - WWW.QUBOP.COM
  5. 5. IN A GOOD MOBILE APP, API DESIGN IS DERIVED FROM UI DESIGN 1.31.2014 - WWW.QUBOP.COM
  6. 6. IN MOBILE, YOUR UI DESIGN DETERMINES YOUR BUSINESS MODEL* * SLIGHTLY CONTROVERSIAL TO CLIENTS 1.31.2014 - WWW.QUBOP.COM
  7. 7. What is Salesforce? 1.31.2014 - WWW.QUBOP.COM
  8. 8. = ?! Mobile Back-end as a Service (MBaaS) 1.31.2014 - WWW.QUBOP.COM
  9. 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. 10. Our job is to “flatten” the platform into a minimal set of APIs 1.31.2014 - WWW.QUBOP.COM
  11. 11. The Salesforce architecture & APIs = 1.31.2014 - WWW.QUBOP.COM Default apps running on a general-purpose database platform with common APIs
  12. 12. The Salesforce architecture & APIs = = 1.31.2014 - WWW.QUBOP.COM Different APIs Different APIs
  13. 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. 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
  15. 15. Salesforce for iOS Developers 1.31.2014 - WWW.QUBOP.COM
  16. 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. 17. Default Salesforce web paradigm 1.31.2014 - WWW.QUBOP.COM
  18. 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. 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. 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. 21. Sales Organization Manager (live demo) NATIVE IPAD APP USING ALL OF THE “BIG 4” SALESFORCE ELEMENTS 1.31.2014 - WWW.QUBOP.COM
  22. 22. API Design for Enterprise Apps 1.31.2014 - WWW.QUBOP.COM
  23. 23. Design the app UI first! 1.31.2014 - WWW.QUBOP.COM
  24. 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. 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. 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. 27. Sales Organization Manager: our custom API calls from iOS 1.31.2014 - WWW.QUBOP.COM
  28. 28. Example: Opportunities Heatmap UI 1.31.2014 - WWW.QUBOP.COM
  29. 29. Example: Opportunities Heatmap UI 1.31.2014 - WWW.QUBOP.COM
  30. 30. (1) iOS connection to custom Apex endpoint
  31. 31. (2) Apex class written specifically to feed this heatmap UI (MASHES UP LEAD AND OPPORTUNITY OBJECT DATA) 1.31.2014 - WWW.QUBOP.COM
  32. 32. (3) JSON response from Apex, converted to NSDictionary in iOS 1.31.2014 - WWW.QUBOP.COM
  33. 33. (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
  34. 34. Where should your code live? 1.31.2014 - WWW.QUBOP.COM
  35. 35. Business logic vs. presentation logic? 1.31.2014 - WWW.QUBOP.COM Data vs. documents?
  36. 36. Example: Documents + server-based email = API GOAL: THE SALESPERSON WANTS TO ATTACH COLLATERAL FROM SALESFORCE TO EMAIL 1.31.2014 - WWW.QUBOP.COM
  37. 37. Standard solution: use the iPhone native email client SALESFORCE DOCUMENT STORAGE 1.31.2014 - WWW.QUBOP.COM
  38. 38. 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
  39. 39. Thanks! Evan Kirchhoff COO, Qubop Inc. evan@qubop.com twitter: @theevank www.qubop.com twitter: @qubopinc 1.31.2014 - WWW.QUBOP.COM
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×