SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
new m.sc
          Eric Wahlforss / CTO
          eric@soundcloud.com




Thursday, April 21, 2011
m.soundcloud.com

                mobile version of sc
                all ajax
                html5 streaming
                html5 history
                request caching




Thursday, April 21, 2011
m.soundcloud.com
                2 ppl - 2 months, matas petrikas + jörn zäffrer
                Based on the sc public api
                Modern stack
                Fully test-driven
                continuous integration -> continuous deployment
                git push origin stable to live < 3 min



Thursday, April 21, 2011
tech

                backbone/underscore/jquery
                jquery templates
                node
                backbone patches: html5 history, oauth signing +
                https, sessionStorage request cache
                will be open-sourced
                http://documentcloud.github.com/backbone/
                #examples-soundcloud
Thursday, April 21, 2011
build pipeline + deployment
                js: load fake dom environment in node, pull out script
                tags, bundle up, run through closure, generate new
                html file with all.js
                css: same thing, cssmin
                templates: load up fake dom env -> load templates
                with jquery tmpl -> pre-compile -> attach to all.js
                mostly the fs node module
                deployment all git + chef


Thursday, April 21, 2011
testing
                200+ tests
                QUnit - contributing
                manually in browser and headless selenium
                we’ll open-source the headless part soon
                http://vowsjs.org/ for node js tests
                api responses mocked



Thursday, April 21, 2011
cross-domain


                unfortunately CORS is buggy--redirects
                node based http proxy
                https iframe to http via postMessage. oauth 2 dance +
                safe https storage of access tokens




Thursday, April 21, 2011
learnings

                backbone is very lightweight--needs to be extended for
                more complex apps. routing gets messy
                working on inheritance model with the backbone crew
                android 2.2, older webkits the new ie6
                mobile debugging sucks
                blackberry has no audio -- big hopes for wp7 ie9



Thursday, April 21, 2011

Contenu connexe

Tendances

Installing and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command linedotCloud
 
Composer | PHP Dependency Manager
Composer | PHP Dependency ManagerComposer | PHP Dependency Manager
Composer | PHP Dependency ManagerUjjwal Ojha
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with ComposerAdam Englander
 
Linux project no 1
Linux project no 1Linux project no 1
Linux project no 1Harry Nguyen
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)iXsystems
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPressdotCloud
 
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)Tobias Liebig
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 applicationRoman Rodomansky
 
Hitchhikers guide to open stack toolchains
Hitchhikers guide to open stack toolchainsHitchhikers guide to open stack toolchains
Hitchhikers guide to open stack toolchainsstagr_lee
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Helgi Þormar Þorbjörnsson
 

Tendances (11)

Installing and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command line
 
Composer | PHP Dependency Manager
Composer | PHP Dependency ManagerComposer | PHP Dependency Manager
Composer | PHP Dependency Manager
 
Docker perl build
Docker perl buildDocker perl build
Docker perl build
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with Composer
 
Linux project no 1
Linux project no 1Linux project no 1
Linux project no 1
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
 
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Hitchhikers guide to open stack toolchains
Hitchhikers guide to open stack toolchainsHitchhikers guide to open stack toolchains
Hitchhikers guide to open stack toolchains
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008
 

En vedette

SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sEric Wahlforss
 
SoundCloud - Platforma za dijeljenje audiozapisa
SoundCloud - Platforma za dijeljenje audiozapisaSoundCloud - Platforma za dijeljenje audiozapisa
SoundCloud - Platforma za dijeljenje audiozapisaTijana Kranjac
 
SoundCloud @ Music Hackday Barcelona 2010
SoundCloud @ Music Hackday Barcelona 2010SoundCloud @ Music Hackday Barcelona 2010
SoundCloud @ Music Hackday Barcelona 2010Eric Wahlforss
 
SoundCloud API Learnings
SoundCloud API LearningsSoundCloud API Learnings
SoundCloud API LearningsEric Wahlforss
 
SoundCloud Presentation @ AWS Startup Event London
SoundCloud Presentation @ AWS Startup Event LondonSoundCloud Presentation @ AWS Startup Event London
SoundCloud Presentation @ AWS Startup Event LondonEric Wahlforss
 
SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011Eric Wahlforss
 
Sound cloud
Sound cloudSound cloud
Sound cloudkarbutek
 
Student Support Services on Banner Self-Service
Student Support Services on Banner Self-ServiceStudent Support Services on Banner Self-Service
Student Support Services on Banner Self-ServiceKhalid Tariq
 
디지털미디어특강_soundcloud
디지털미디어특강_soundcloud디지털미디어특강_soundcloud
디지털미디어특강_soundcloudbretonyj
 
Transfers Overview
Transfers OverviewTransfers Overview
Transfers Overviewpulse20
 
Disruptive Media Conference
Disruptive Media ConferenceDisruptive Media Conference
Disruptive Media ConferenceEric Wahlforss
 
My Life
My LifeMy Life
My Life331904
 
Trustmojo: Architectures For Trust
Trustmojo: Architectures For TrustTrustmojo: Architectures For Trust
Trustmojo: Architectures For TrustEric Wahlforss
 
Sound cloud analysis
Sound cloud analysisSound cloud analysis
Sound cloud analysisalexplatt
 
Sound & Clouds: Reboot 10 Talk
Sound & Clouds: Reboot 10 TalkSound & Clouds: Reboot 10 Talk
Sound & Clouds: Reboot 10 TalkEric Wahlforss
 
Latest SoundCloud Market Research on Vertical Expansion
Latest SoundCloud Market Research on Vertical ExpansionLatest SoundCloud Market Research on Vertical Expansion
Latest SoundCloud Market Research on Vertical ExpansionInes Chen
 
Impresos relativos a_la_declaracion_independencia_-_altamiro_avila
Impresos relativos a_la_declaracion_independencia_-_altamiro_avilaImpresos relativos a_la_declaracion_independencia_-_altamiro_avila
Impresos relativos a_la_declaracion_independencia_-_altamiro_avilaTorres Saavedra Nelson Alberto
 

En vedette (20)

SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:s
 
SoundCloud - Platforma za dijeljenje audiozapisa
SoundCloud - Platforma za dijeljenje audiozapisaSoundCloud - Platforma za dijeljenje audiozapisa
SoundCloud - Platforma za dijeljenje audiozapisa
 
SoundCloud @ Music Hackday Barcelona 2010
SoundCloud @ Music Hackday Barcelona 2010SoundCloud @ Music Hackday Barcelona 2010
SoundCloud @ Music Hackday Barcelona 2010
 
SoundCloud API Learnings
SoundCloud API LearningsSoundCloud API Learnings
SoundCloud API Learnings
 
SoundCloud Presentation @ AWS Startup Event London
SoundCloud Presentation @ AWS Startup Event LondonSoundCloud Presentation @ AWS Startup Event London
SoundCloud Presentation @ AWS Startup Event London
 
SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011
 
Sound cloud
Sound cloudSound cloud
Sound cloud
 
Student Support Services on Banner Self-Service
Student Support Services on Banner Self-ServiceStudent Support Services on Banner Self-Service
Student Support Services on Banner Self-Service
 
디지털미디어특강_soundcloud
디지털미디어특강_soundcloud디지털미디어특강_soundcloud
디지털미디어특강_soundcloud
 
Transfers Overview
Transfers OverviewTransfers Overview
Transfers Overview
 
Hackday sf 2011
Hackday sf 2011Hackday sf 2011
Hackday sf 2011
 
Disruptive Media Conference
Disruptive Media ConferenceDisruptive Media Conference
Disruptive Media Conference
 
My Life
My LifeMy Life
My Life
 
Trustmojo: Architectures For Trust
Trustmojo: Architectures For TrustTrustmojo: Architectures For Trust
Trustmojo: Architectures For Trust
 
Sound cloud analysis
Sound cloud analysisSound cloud analysis
Sound cloud analysis
 
Sound & Clouds: Reboot 10 Talk
Sound & Clouds: Reboot 10 TalkSound & Clouds: Reboot 10 Talk
Sound & Clouds: Reboot 10 Talk
 
Latest SoundCloud Market Research on Vertical Expansion
Latest SoundCloud Market Research on Vertical ExpansionLatest SoundCloud Market Research on Vertical Expansion
Latest SoundCloud Market Research on Vertical Expansion
 
Soundcloud PPT-3
Soundcloud PPT-3Soundcloud PPT-3
Soundcloud PPT-3
 
Instrucciones de-acceso-al-portal
Instrucciones de-acceso-al-portalInstrucciones de-acceso-al-portal
Instrucciones de-acceso-al-portal
 
Impresos relativos a_la_declaracion_independencia_-_altamiro_avila
Impresos relativos a_la_declaracion_independencia_-_altamiro_avilaImpresos relativos a_la_declaracion_independencia_-_altamiro_avila
Impresos relativos a_la_declaracion_independencia_-_altamiro_avila
 

Similaire à m.soundcloud.com

SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketSeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketProcessOne
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins WayNicolas De Loof
 
Hacking Selenium @ JSConf
Hacking Selenium @ JSConfHacking Selenium @ JSConf
Hacking Selenium @ JSConfhugs
 
Setting up Sphinx Development Environment
Setting up Sphinx Development EnvironmentSetting up Sphinx Development Environment
Setting up Sphinx Development EnvironmentAnnamalai Chockalingam
 
CRX Best practices
CRX Best practicesCRX Best practices
CRX Best practiceslisui0807
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkRyan Weaver
 
High Availability from the DevOps side - OpenStack Summit Portland
High Availability from the DevOps side - OpenStack Summit PortlandHigh Availability from the DevOps side - OpenStack Summit Portland
High Availability from the DevOps side - OpenStack Summit PortlandeNovance
 
Academy PRO: Node.js alternative stacks. Lecture 3
Academy PRO: Node.js alternative stacks. Lecture 3Academy PRO: Node.js alternative stacks. Lecture 3
Academy PRO: Node.js alternative stacks. Lecture 3Binary Studio
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19btopro
 
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в KubernetesDevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в KubernetesDevOps_Fest
 
Getting Started Running Apache Spark on Apache Mesos
Getting Started Running Apache Spark on Apache MesosGetting Started Running Apache Spark on Apache Mesos
Getting Started Running Apache Spark on Apache MesosPaco Nathan
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testingmikereedell
 
History of Android Security – from linux to jelly bean
History of Android Security – from linux to jelly beanHistory of Android Security – from linux to jelly bean
History of Android Security – from linux to jelly beanJung Pil (J.P.) Choi
 
Openstack win final
Openstack win finalOpenstack win final
Openstack win finalJordan Rinke
 
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...Hack Shack workshop: Persist, optimize and accelerate using persistent storag...
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...Michael Mattsson
 

Similaire à m.soundcloud.com (20)

SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocketSeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
SeaBeyond 2011 ProcessOne - Eric Cestari: XMPP over WebSocket
 
Future of web_apps
Future of web_appsFuture of web_apps
Future of web_apps
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins Way
 
What's New in GWT 2.2
What's New in GWT 2.2What's New in GWT 2.2
What's New in GWT 2.2
 
Hacking Selenium @ JSConf
Hacking Selenium @ JSConfHacking Selenium @ JSConf
Hacking Selenium @ JSConf
 
RunDeck
RunDeckRunDeck
RunDeck
 
Setting up Sphinx Development Environment
Setting up Sphinx Development EnvironmentSetting up Sphinx Development Environment
Setting up Sphinx Development Environment
 
CRX Best practices
CRX Best practicesCRX Best practices
CRX Best practices
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP Framework
 
eZ Publish 5 in depth inspection
eZ Publish 5 in depth inspectioneZ Publish 5 in depth inspection
eZ Publish 5 in depth inspection
 
High Availability from the DevOps side - OpenStack Summit Portland
High Availability from the DevOps side - OpenStack Summit PortlandHigh Availability from the DevOps side - OpenStack Summit Portland
High Availability from the DevOps side - OpenStack Summit Portland
 
Academy PRO: Node.js alternative stacks. Lecture 3
Academy PRO: Node.js alternative stacks. Lecture 3Academy PRO: Node.js alternative stacks. Lecture 3
Academy PRO: Node.js alternative stacks. Lecture 3
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19
 
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в KubernetesDevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
 
Getting Started Running Apache Spark on Apache Mesos
Getting Started Running Apache Spark on Apache MesosGetting Started Running Apache Spark on Apache Mesos
Getting Started Running Apache Spark on Apache Mesos
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testing
 
5 Thomas Magedanz
5  Thomas Magedanz5  Thomas Magedanz
5 Thomas Magedanz
 
History of Android Security – from linux to jelly bean
History of Android Security – from linux to jelly beanHistory of Android Security – from linux to jelly bean
History of Android Security – from linux to jelly bean
 
Openstack win final
Openstack win finalOpenstack win final
Openstack win final
 
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...Hack Shack workshop: Persist, optimize and accelerate using persistent storag...
Hack Shack workshop: Persist, optimize and accelerate using persistent storag...
 

Dernier

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

m.soundcloud.com

  • 1. new m.sc Eric Wahlforss / CTO eric@soundcloud.com Thursday, April 21, 2011
  • 2. m.soundcloud.com mobile version of sc all ajax html5 streaming html5 history request caching Thursday, April 21, 2011
  • 3. m.soundcloud.com 2 ppl - 2 months, matas petrikas + jörn zäffrer Based on the sc public api Modern stack Fully test-driven continuous integration -> continuous deployment git push origin stable to live < 3 min Thursday, April 21, 2011
  • 4. tech backbone/underscore/jquery jquery templates node backbone patches: html5 history, oauth signing + https, sessionStorage request cache will be open-sourced http://documentcloud.github.com/backbone/ #examples-soundcloud Thursday, April 21, 2011
  • 5. build pipeline + deployment js: load fake dom environment in node, pull out script tags, bundle up, run through closure, generate new html file with all.js css: same thing, cssmin templates: load up fake dom env -> load templates with jquery tmpl -> pre-compile -> attach to all.js mostly the fs node module deployment all git + chef Thursday, April 21, 2011
  • 6. testing 200+ tests QUnit - contributing manually in browser and headless selenium we’ll open-source the headless part soon http://vowsjs.org/ for node js tests api responses mocked Thursday, April 21, 2011
  • 7. cross-domain unfortunately CORS is buggy--redirects node based http proxy https iframe to http via postMessage. oauth 2 dance + safe https storage of access tokens Thursday, April 21, 2011
  • 8. learnings backbone is very lightweight--needs to be extended for more complex apps. routing gets messy working on inheritance model with the backbone crew android 2.2, older webkits the new ie6 mobile debugging sucks blackberry has no audio -- big hopes for wp7 ie9 Thursday, April 21, 2011