Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

#CNX14 - Building Killer Apps - Moving Beyond Transactions to Experiences

4,676 views

Published on

Customers expect more than just simple messaging from your brand—they want a complete personalized experience. In this session, learn how to take your application to the next level and go beyond sending email to provide an interactive journey that will engage and impress.

  • Be the first to comment

#CNX14 - Building Killer Apps - Moving Beyond Transactions to Experiences

  1. 1. Track: Developers #CNX14 #CNX14 Building Killer Apps – Moving Beyond Transactions to Experiences Ian Murdock VP Platform & Developer @imurdock Kelly Andrews Sr. Developer Advocate @kellyjandrews
  2. 2. Track: Developers #CNX14
  3. 3. Track: Developers #CNX14 Announcing Journey Builder for Apps Beacons Thermostat Welcome Email Facebook Ad In-Store Offer SMS Alert Geo Location FitBit Journey Builder Product Recommendations Car Dashboards
  4. 4. Track: Developers #CNX14 Connect Your Journeys to Your Apps Journey Builder for Apps SDK JB4A SDK Mobile SMS & Push SDK Connected Spaces SDK Connected Devices SDK App Templates Journey Map leveraging best practices to drive app awareness, adoption & usage HerokuIntegration Native run-time environment for mobile app development & in-app messaging
  5. 5. Track: Developers #CNX14 What does this mean to you?
  6. 6. Track: Developers #CNX14 1 2 3 ExactTarget 101 for developers What’s new for developers this week? Waxing philosophic: “What is an app?”
  7. 7. Track: Developers #CNX14 12 years in the platform business
  8. 8. Track: Developers #CNX14 The ExactTarget Marketing Cloud
  9. 9. Track: Developers #CNX14 ExactTarget Fuel Journey Builder Predictive Intelligence Customer Data Platform
  10. 10. Track: Developers #CNX14 Journey Builder
  11. 11. Track: Developers #CNX14 Journey Builder Interactions Triggers Activities
  12. 12. Track: Developers #CNX14 Journey Builder: Declaratively build triggers
  13. 13. Track: Developers #CNX14 Journey Builder: Declaratively build interactions
  14. 14. Track: Developers #CNX14 Journey Builder: Declaratively build interactions
  15. 15. Track: Developers #CNX14 Journey Builder: Declaratively build interactions
  16. 16. Track: Developers #CNX14 Journey Builder: Declaratively build interactions
  17. 17. Track: Developers #CNX14 Journey Builder: Programmatically extend via custom activities
  18. 18. Track: Developers #CNX14 1 2 3 ExactTarget 101 for developers What’s new for developers this week? Waxing philosophic: “What is an app?”
  19. 19. Track: Developers #CNX14 Journey Builder for Apps SDK https://github.com/ExactTarget/MobilePushSDK-iOS https://github.com/ExactTarget/MobilePushSDK-Android
  20. 20. Track: Developers #CNX14 Journey Builder for Apps developer’s guide
  21. 21. Track: Developers #CNX14 App Center support for Journey Builder Activities*
  22. 22. Track: Developers #CNX14 Marketing Cloud Developer Edition http://code.exacttarget.com/developer-edition
  23. 23. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETList> response = client.retrieve(ETList.class); for (ETList list : response.getResults()) { System.out.println(list.getName()); } } }
  24. 24. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String args[]) { PartnerAPI service = new PartnerAPI(); soap = service.getSoap(); // 14 lines of initialization code deleted RetrieveRequest retrieveRequest = new RetrieveRequest(); retrieveRequest.setObjectType("List"); retrieveRequest.getProperties().add("ListName"); RetrieveRequestMsg retrieveRequestMsg = new RetrieveRequestMsg(); retrieveRequestMsg.setRetrieveRequest(retrieveRequest); RetrieveResponseMsg retrieveResponseMsg = soap.retrieve(retrieveRequestMsg); for (APIObject apiObject : retrieveResponseMsg.getResults()) { List l = (List) apiObject; System.out.println(l.getListName()); } } }
  25. 25. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETList> response = client.retrieve(ETList.class); for (ETList list : response.getResults()) { System.out.println(list.getName()); } } }
  26. 26. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETDataExtension> response = client.retrieve(ETDataExtension.class, "name=test"); ETDataExtension de = (ETDataExtension) response.getResults().get(0); ETDataExtensionRow deRow = de.select("id=42"); }
  27. 27. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETDataExtension> response = client.retrieve(ETDataExtension.class, "name=test"); ETDataExtension de = (ETDataExtension) response.getResults().get(0); ETDataExtensionRow deRow = de.select("id=42"); }
  28. 28. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETDataExtension> response = client.retrieve(ETDataExtension.class, "name=test"); ETDataExtension de = (ETDataExtension) response.getResults().get(0); ETDataExtensionRow deRow = de.select("id=42"); }
  29. 29. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETDataExtension> response = client.retrieve(ETDataExtension.class, "name=test"); ETDataExtension de = (ETDataExtension) response.getResults().get(0); ETDataExtensionRow deRow = de.select("id=42"); }
  30. 30. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries SimpleFilterPart sfp1 = new SimpleFilterPart(); sfp1.setProperty("name"); sfp1.setSimpleOperator(SimpleOperators.IS_NOT_NULL); SimpleFilterPart sfp2 = new SimpleFilterPart(); sfp2.setProperty("description"); sfp2.setSimpleOperator(SimpleOperators.EQUALS); sfp2.getValue().add("foo"); ComplexFilterPart filter = new ComplexFilterPart(); filter.setLeftOperand(sfp1); filter.setLogicalOperator(LogicalOperators.AND); filter.setRightOperand(sfp2);
  31. 31. Track: Developers #CNX14 Coming Soon: Fuel Client Libraries public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); ETResponse<ETList> response = client.retrieve(ETList.class); for (ETList list : response.getResults()) { System.out.println(list.getName()); } } } Make it easy to accomplish common use cases (the “80%”) Make it possible to accomplish advanced use cases (the “20%”) Expose the same objects and properties… … but do so in a way that feels “native” to the language or environment being used
  32. 32. Track: Developers #CNX14 Coming Soon: App Center support for Heroku
  33. 33. Track: Developers #CNX14 1 2 3 ExactTarget 101 for developers What’s new for developers this week? Waxing philosophic: “What is an app?”
  34. 34. Track: Developers #CNX14 Case study: Link Validator
  35. 35. Track: Developers #CNX14 Case study: Link Validator Most requested new feature for many years. Free. #1 most installed app. Deep level of ETMC integration. 10 out of the top 10 apps in “app usage per customer install” have some level of integration beyond SSO. Link Validator is not one of them.
  36. 36. Track: Developers #CNX14 Why?
  37. 37. Track: Developers #CNX14 Why?
  38. 38. Track: Developers #CNX14 Why?
  39. 39. Track: Developers #CNX14 Why?
  40. 40. Track: Developers #CNX14 Why?
  41. 41. Track: Developers #CNX14 Apps need to extend the native experience
  42. 42. Track: Developers #CNX14 Apps need to extend the native experience
  43. 43. Track: Developers #CNX14 Apps need to extend the native experience
  44. 44. Track: Developers #CNX14 Apps need to extend the native experience
  45. 45. Track: Developers #CNX14
  46. 46. Track: Developers #CNX14 1 2 3 ExactTarget 101 for developers What’s new this week? “What is an app?”
  47. 47. Track: Developers #CNX14 #CNX14 Building Killer Apps – Moving Beyond Transactions to Experiences Kelly Andrews Sr. Developer Advocate @kellyjandrews
  48. 48. Track: Developers #CNX14 Connections and developers! FREE Developer Pass 750 developers! Dev Zone with demo pods, lightning talks, hack spaces, and plenty of coffee, snacks, and schwag 14 developer breakout sessions (2x last year) 23 lightning talks in the Dev Zone theater Beer Fest sponsored by Heroku Code Cram sponsored by Eleven Fifty
  49. 49. Track: Developers #CNX14 Take the after-session survey! Take the Survey in the Connections 2014 Mobile App Join the Conversation! #CNX1 4 $50 Starbucks Gift Card
  50. 50. Track: Developers #CNX14 Questions?
  51. 51. Track: Developers #CNX14 CUSTOMER JOURNEY SHOWCASE MARKETING THOUGHT LEADERS EMAIL MARKETING PRODUCT STRATEGY & ROADMAP PERSONAL TRANSFORMATION & GROWTH SOCIAL MARKETING MOBILE & WEB MARKETING DEVELOPERS HANDS-ON TRAINING INDUSTRY TRENDSETTERS CREATIVITY & INNOVATION SALESFORCE FOR MARKETERS ROUNDTABLES
  52. 52. Track: Developers #CNX14

×