Your business depends your customers - keeping them in the loop

456 views

Published on

Some of you are in businesses that generate - possibly vast amounts of - data as part of your regular operations, quite a bit of which is used by your customers in one form or the other. As your business scales, an issue that you will almost certainly face is that of data latency and consistency degradation. To put it differently, the speed of access to, and reliability of your data will decrease, causing you and your customers quite a bit of pain and suffering.
In this talk, we will explore this issue in detail. In particular, we will focus on how an erlang-based infrastructure can ease your pain at scale, and help keep your customers - happily - in the loop.

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

  • Be the first to like this

No Downloads
Views
Total views
456
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Well, that was revelatory, wasn’t it?
  • This is the lifeblood of your business. At all possible levels
  • you are communication with them - When they log in - When they check their mail - When the update their contacts - When they look at their call logs - When you send them a notification
  • This is the lifeblood of your business. At all possible levels
  • Everything your customer does reflects on you
  • Just because they are happy now, doesn’t mean they will be happy laterHence the karma points you build up
  • Just because they are happy now, doesn’t mean they will be happy laterHence the karma points you build up
  • Initiated
  • - real time (or near real time) * your phone is ringing * no, your phone is *really* ringing * never mind. it rang. they left a voicemail - delayed (or really delayed) * heres the voicemail you were left * heres the transcription of the voicemail you were left
  • This is the lifeblood of your business. At all possible levels
  • Unless you are unlucky, in which case, degradation is fast. Or is that unlucky?Two phase design - build it to demo the feature - rebuild it to scale - rebuild it again to scale (properly this time)
  • Oh, it’ll scale all right, just not the way you thoughtJVM, MySQL, Heroku
  • Yes, this is all ludicrously obvious. Its still worth being said
  • Yes, this is all ludicrously obvious. Its still worth being saidBuses, and pub/sub and EJB and c
  • Yes, this is all ludicrously obvious. Its still worth being said85 different cat-skinning-solutions, self-state-machine, null-pointer-exceptions
  • System startup is an often overlooked partIf your not up, you don’t got no customer communication!Its not what you started with. Its what you have now. It doesn’t matter how good your original design was.Domain objects, daemons (tons of them), perl + ruby + java,
  • Time spent on the system is time not spent making your customer happy.Business issues? Or just getting stuff working?
  • This is the lifeblood of your business. At all possible levels
  • Your business depends your customers - keeping them in the loop

    1. 1. Communicating with Customersis Key Mahesh Paolini-Subramanya CTO, Vocalocity
    2. 2. Welcome to the Obvious Its all about the Customer, stupid © Vocalocity 2011. Confidential. 2
    3. 3. Welcome to the Obvious Keeping your customers in the loop is Key © Vocalocity 2011. Confidential. 3
    4. 4. The First Lesson You are always communicating with your customers © Vocalocity 2011. Confidential. 4
    5. 5. Moments Every customer interaction is a Marketing Moment © Vocalocity 2011. Confidential. 5
    6. 6. Moments Every customer interaction is a Teachable Moment © Vocalocity 2011. Confidential. 6
    7. 7. Moments Every customer interaction is a Karmic Moment © Vocalocity 2011. Confidential. 7
    8. 8. Second Lesson Every interaction counts -or- You never get a 2nd chance to make a 3rd impression © Vocalocity 2011. Confidential. 8
    9. 9. Reactive Communications “Give Me, Show Me, Tell Me” ► Initiated by the User © Vocalocity 2011. Confidential. 9
    10. 10. Proactive Communications “Yo! Check this out!” ► Initiated by the System © Vocalocity 2011. Confidential. 10
    11. 11. Small is Simple Prototypes are Easy (and Dangerous) ► Bad assumptions (always!) ► Interactions are easy to build out • Services • Domain Objects • CGIs • Triggers (Really!) © Vocalocity 2011. Confidential. 11
    12. 12. At Scale? Ack! Systems evolve as patch-ware ► Scaffolding incompatibility ► Degradation is slow ► “Two+ phase” design © Vocalocity 2011. Confidential. 12
    13. 13. Third Lesson Scaling is Hard ► You will always discover that • You didn’t understand your own problem-space • You didn’t understand your tool-set • It will not scale the way you thought ► Thereare more failure modes Horatio than are dreamt of in your philosophy © Vocalocity 2011. Confidential. 13
    14. 14. Need Cloud? Use Erlang/OTP OTP behaviors make your life less eventful © Vocalocity 2011. Confidential. 14
    15. 15. Passing the Buck gen_event ► Notifications ► Updates ► (A)sync actions © Vocalocity 2011. Confidential. 15
    16. 16. Choreography gen_fsm ► What to do next? © Vocalocity 2011. Confidential. 16
    17. 17. “Thing”-ness gen_server / supervisors ► Startup ► State ► Maintenance ► Management © Vocalocity 2011. Confidential. 17
    18. 18. Fourth Lesson Where do you want to spend your time? -or- Complexity never goes away, it just moves up the food chain © Vocalocity 2011. Confidential. 18
    19. 19. The Lessons ► You are always communicating with your customers ► Every interaction counts ► Scaling is Hard ► Where do you want to spend your time? © Vocalocity 2011. Confidential. 19
    20. 20. Communicating with Customersis Key Mahesh Paolini-Subramanya CTO, Vocalocity

    ×