Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Broadcasting music from the cloud
1. itcampro@ itcamp13# Premium conference on Microsoft technologies
Broadcasting Music from the
Cloud
Andy Cross
Windows Azure MVP
Elastacloud
@andybareweb
blog.elastacloud.com
2. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
CloudHuge thanks to our sponsors!
3. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• Real Time Web
• Social media is the new telephone
• Spotify API
• Synchronicity
• SignalR
• Windows Azure Websites
• Service Bus
• ROCK!!!
Agenda
4. itcampro@ itcamp13# Premium conference on Microsoft technologies
REAL TIME WEB
What is the
Any sufficiently advanced technology is
indistinguishable from magic.
Arthur C Clarke
5. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• A history!
– HTML
– Javascript
– Iframes
– XmlHttp
– AJAX
– JSONP
– Web Sockets
Real Time Web
6. itcampro@ itcamp13# Premium conference on Microsoft technologies
Facebooks’ Real Time Web
Facebook has multiple real time web features, such as the news
feed and messaging
7. itcampro@ itcamp13# Premium conference on Microsoft technologies
Twitters’ Real Time Web
Twitter is perhaps the ultimate in real time web opportunities, but
even it struggles with *n more tweets*
8. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• With great advantages
– Instant messaging
– Responsive user interfaces
– Collaboration and sharing
• Come some great problems
– Scalability
• Concurrent connections
• Server load
– Complexity of client
Real time web pitfalls
9. itcampro@ itcamp13# Premium conference on Microsoft technologies
SOCIAL MEDIA
If you want to share music, the 1990s were better than
10. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• Billions of users of facebook
• Imagine sharing music on there.
– READY. STEADY. GO!!!
• My real time is not your real time
• If we want to build engagement on
– Brand
– Concept
– Movement
• we must engage simultaneously
Social Media
13. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• Spotify is a 4 year old ‘start up’
– Streaming music
– Integrated apps
• Apps are written in HTML5 and JS
– Chromium Embedded
• Its API for apps gives every song a URI
– spotify:track:12345679abc
• We will distribute these URIs along with a
Play command
Spotify
14. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
function playTrack(data) {
console.log(data);
player.playTrack(models.Track.fromURI(data)).d
one(function ()
{
//this is a promise update the ui maybe
});
Example Spotify code
15. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• Introducing Goose
• Geese fly together.
• Geese fly in flocks.
• There is a lead goose in the flock
• The rest are tail geese.
• Geese honk
• Geese sing
• Geese flap
Using the Real Time Web to fix this
17. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• We can send a Play command to individuals.
• How can we combine the Real Time Web
with this?
My real time is not your real time
18. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• We cannot just send PLAY commands
– What if we join part way through a song
– Nothing would be played until we completed the
song
• We also track the LEAD GOOSE’s position
My real time is not your real time
19. itcampro@ itcamp13# Premium conference on Microsoft technologies
ASP.NET SIGNALR
Technologies for the Real Time Web
20. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
CloudWhat does SignalR try to fix?
Here’s some data!
21. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
CloudHow does it fix it?
Yeah, dude!
24. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
• Start on Free
– And continue for dev/test
• Production uses Reserved Mode
– Custom URL
– Scalable as easily as:
Not a lightweight option