Technology and music are strange bedfellows. Since the beginning of professionally performed music, technology advances have provided new instruments, performance methods, and recording mediums. At the same time, technology has worked to dilute the value of the musician's creativity. With the advent of every new recording and playback method, the music industry has gone through the textbook Kubler-Ross "Five Stages of Grief," and finally moved on, to wait for the Next Big Thing.
In the late 1800s, the pianola (player piano) spelled the certain death of performing musicians. Ditto for the gramophone in the early 20th century. Fast forward to the battles the New York Musician's Union has had with Broadway over using synthesizers in lieu of pit musicians, starting in the late 70s and continuing to the present day. Home Taping Was Killing Music in the 80s, when the record industry successfully lobbied the United States Congress to attach a mandated tax to all digital audio recording mediums (due to their ability to capture "perfect" reproductions.)
In 1990, Karlheinz Brandenburg, working at Bell Labs, gave us the MP3, and by the late 90s the hard drive had essentially replaced the cassette tape as a storage medium. In 1999 Shawn Fanning and Sean Parker sprung Napster on us, and at the peak of its short life, people using the peer-to-peer service accounted for roughly 60% of all bandwidth used by universities in the United States.
In 2001, Steve Jobs introduced the world to the iPod and iTunes, and the purely digital distribution of music became the standard.
What do all of these events have in common? Not a single one of them has had the slightest effect on the desire of a human being, sitting in his or her bedroom late at night, to write a piece of music to express how he or she feels. The medium is not the message, and the tool is not the art. Someone will always have something to say, and will want to say it through music. We'd like to help them.
The decision to use Scala as the base for Octave was easy - Scala provides that perfect balance between application development time, robustness, and overall speed. Octave was engineered from the ground up to be extremely scalable, responsive, and reactive, and Scala hits all of those qualities perfectly. Running on the JVM, Scala best represents a truly next-generation language.
Akka provides a high-performance middleware that allows developers to create distributed apps like Octave much faster. Octave uses Akka to tie together its clusters of web application servers and encoding servers, so that intra-cluster communication is easy, fast, and robust. Akka enables Octave's various microservices to talk to each other very quickly, and has been an invaluable tool in building out our infrastructure.
CouchDB's tagline is "a database for the web" and we couldn't agree more. Its support for unstructured data, lock-less data updates, and unbelievably easy replication make it a powerful choice when you need to have a fast, highly-available database. Additionally, its support for HTTP made it a perfect choice for getting data to Octave clients with lightning speed.
The Play framework adds a high-performance web application framework on top of the power of Akka, making web applications like Octave very easy and predictable with scalability, performance, and responsiveness. Octave embraces the "reactive" web application movement, and we've designed Octave with the four reactive tenets in mind: Octave is responsive, resilient, elastic, and message-driven.
Every application developer knows about Redis already, but just in case, Octave is a big proponent of using Redis in its replicated form, and all of our in-memory caching runs through Redis. It is a large part of why Octave is so fast, and why our clients are able to make changes to their tracks, albums, page, and account so quickly.
To securely store your files, and to run the backbone of the entire Octave application, we've turned to AWS. Amazon provides a world-class application hosting environment combined with the ability to scale up Octave as your tracks become massive hits and your albums turn multi-platinum. Octave is truly deployed globally, and with Amazon's content delivery network, your tracks are within a few milliseconds of your listeners.