Phonedeck Developers' Introduction - Salesforce Meetup Berlin

14
Calling the Cloud A developer’s introduction to Phonedeck

description

At Phonedeck we always knew that combining the world of telecommunications with the world of IT can enable so far unexploited features. All of our products were built around the idea of enriching phone calls and text messages, providing the right information for the right context. With Salesforce we could take this a step further: our customers can now easily integrate phone calls into their business processes. In the presentation I'll show some challenges our developers had to face while migrating a state-of-the-art cloud service to the Salesforce Platform.

Transcript of Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Page 1: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Calling the CloudA developer’s introduction to

Phonedeck

Page 2: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Developer Who

Gergő ErtliLead Developer

[email protected]

• Before: Nokia Siemens Networks• mobile phones && Microsoft Dynamics AX

• Now: Phonedeck since the beginnings• mobile phones && (desktop || cloud ||

Salesforce)

Page 3: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

The Idea• 2010: cool, we can control the phone remotely

• let’s catch phone calls

• enrich the boring details of the contact (name, company, birthday)

• and display info from LinkedIn, Facebook, Twitter, Email, Salesforce, SMS as an aggregated stream

• 2013: cool, Salesforce already contains everything• let’s add phone calls to it

• and define business processes with them

• making a salesperson’s life simpler

Page 4: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Salesforce! But why…

• Giving the perfect context• most of the customer interactions are still phone calls• all the contact details, previous correspondence, plans• and business processes, reminders, automated tasks

• We were called ‘poor man’s CRM’ anyway• people get the same experience• and we only develop what we are good at

• Operating services is the necessary bad• they always wake you up at 4am• not with Salesforce, zero DevOps

Page 5: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

STOP!

DEMOTIME

Page 6: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

…and How?

Phone APEX REST Browser

incoming callnotification

what changed?

call ended

notification

what changed?

Page 7: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Think Different• We had 8+ years experience in traditional web architecture• server, browser, client, serialization, database

• But Salesforce is different• nice interface over a high-performance database• and some scheduled tasks

• Hard to find a common language• Salesforce people don’t think in API Servers and clients• but in data and business processes• the awesome community often cannot help you• their Heroku acquisition makes things better

Page 8: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Challenge: Dev Tools

• Developer Console• good for writing a few lines of code• we have 50+ classes, thousands of lines

• Force.com IDE• getting there• old Eclipse, crashes, gets confused easily

• MavensMate with Sublime Text• close enough• but for objects, layouts, deleting classes it’s still clicky

clicky

Page 9: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Challenge: Collaboration• When you’re alone• everything is awesome• well, if you don’t need versioning, backup and change management

• In a team these things are a must• code stored in git• feature branches, merges

• Force.com Migration Tool• very nice start• had to figure out the process ourselves• must be careful with managed packages

Page 10: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Challenge: Packaging & Updates

• Traditional Services• server always backwards compatible for some time• clients can always use the latest versions

• Salesforce Managed Package• manual updates: server might be behind the clients• clients must also be backwards compatible• complicated version negotiation• global classes: I just changed my mind. No, you didn’t. APEX REST

• Patch Orgs and Pushed Patches• bugs bugs bugs bugs bugs

Page 11: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Challenge: API Limits

• Limits for• API requests• triggers• touched records• scheduled tasks• timings

• We are not in control of most• statistical estimation, that fails sometimes• strange architectural solutions

Page 12: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Challenge: Salesforce is Huge• I have an awesome idea• unfortunately there is no public API for it• nor a confirmed idea.salesforce.com entry• wait at least three upgrades, at least 1 year

• Mobile SDKs• dev department: here, use these• security department: please don’t use the SDK• we are inclined not to use them, so far the bugs

outweighed the advantages

Page 13: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

We Happy?• Definitely

• Our Business Managers LOVE it• marketing support• great ecosystem• consistent product story

• Our Developers… well… it’s complicated • took some time to adapt our methodologies• but now everyone sees the advantages• and we are much faster than doing everything ourselves• we only have to develop the fun parts, everything else is

Salesforce

Page 14: Phonedeck Developers' Introduction - Salesforce Meetup Berlin

Thanks for listening!

Q & A