At its most basic, Plex is an app that lets you stream media from your desktop to any other device, whether you're using a phone or a tablet or another computer. But it's slowly become an entire ecosystem of media management across virtually every platform you could think of.
There are Plex apps for iOS, Android, Windows, Mac, Linux, and devices such as Chromecast and Roku — just to name a few. This ubiquity of availability is what enables your movies and music to be streamed to you anywhere, any time, even to your home theatre. How did Plex come about? Well, it started on an Xbox.
We spoke with the development team behind Plex to learn about their history and how they manage to stay nimble among media giants.
Where did the idea for the app come from? Were you trying to solve a problem you'd experienced, or did the inspiration come from somewhere else?
The core problem we were interested in solving hasn't changed: we have lots of media that we have curated, created, or have access to online and we were seeking a system to help us organise that content and make it available to us everywhere.
After you came up with the idea, what was the next step?
Way back when, a bunch of us were using XBMC on old school Xboxes as our main media center solution. We started contributing to the XBMC project because the original Xbox was running out of horsepower to play the content we cared about (HD videos) and the platform was difficult to innovate on. We saw an opportunity to help bring that platform to OS X, and the Mac mini, in particular (which we saw as the perfect little home theatre device).
Why the decision to fork and go it alone rather than stay with the XBMC community?
The main reason we decided to fork was that our respective goals were quite different. We were interested in building a robust media server that could centrally manage all of your content and serve it up to all of your (rapidly growing number of) devices, both at home and remotely. The design decisions and focus required with this as our overarching goal was divergent enough to suggest that forking would be better for both of us.
When we forked, our focus was on building the best media server in the universe, with as many amazing clients as possible. The Plex Media Server is now available for Windows, Mac, Linux, FreeBSD and on many NAS devices (such as Synology, QNAP, Netgear, Thecus, etc). Plex clients are available on almost every media consumption client that matters (iOS, Android, Windows 8, Windows Phone 8, Roku, Samsung Smart TVs, Chromecast, Android TV, LG Smart TVs, OS X, Linux and many others). Our interest in fostering an awesome community around Plex was also a big motivator for us.
How did you choose which platforms to target and which to ignore or wait on?
The decision is usually based on our current sweet spot amongst the following dimensions: potential audience for the platform, effort required, and current developer resource availability and fit. Plex has, hands down, the best community on the internet and the folks that make it up definitely help guide our platform and feature priorities.
What was your biggest roadblock and how did you overcome it?
Excellent question. The biggest obstacle was probably finding the best way to build a sustainable global business around Plex. Maintaining a global business can be a challenge for a company our size but we believe it works to our advantage. One of them is that we are able to attract a diverse talent pool from around the world — we have employees in over a dozen countries! We believe we've found a business model that appeals to most regions — the freemium model with the Plex Pass subscription option has found the right mix between letting people use Plex without paying, while providing nice advanced features for a fee. The response has been awesome — Plex truly has the best users in the world, bar none.
What was launch like for you?
Which launch? We've had over 500 various launches and releases across products and platforms to date!
Launches are always exciting, since we live to continually bring a better and better experience to the Plexverse. Each one brings us just a little closer to fulfilling the long term vision.
The hairiest launch we ever had was last holiday season (the eve of Christmas Eve). We decided to launch a whole new website, a new support site, a whole Plex Web client AND change our domain from plexapp.com to plex.tv. All at the same time. That was a bit too "exciting," but it has proven to be one of the most impactful launches we've ever had.
How do you handle user requests and criticisms effectively?
We work as hard as possible and try to fail gracefully. :)
One of the biggest things that separates Plex from other apps/products is our community. They are both helpful (to us and, even more importantly, to each other) and usually very understanding. I do believe there is a spirit of all of us being in this together — they know we are working hard everyday to improve and expand Plex for their pleasure, while we know they have legitimate requests and criticisms and we do our best to address them.
We have limited resources, but we are also our own worst critics since we are some of the system's heaviest users. We are working hard to expand the usefulness and the quality of the product, to reach new audiences and delight our existing users. At times those goals can be at odds with one another; for example, an iOS user sometimes doesn't appreciate why we work so hard on, say, an Android client while they suffer some miserable bug. We try to be as open as possible when we can identify issues and shortcomings.
Now, how do you split time between developing new features and managing existing ones?
It ends up being fairly evenly split across, say, a year (we just did some analysis on this). It's tough, because we always want to keep doing more in our quest to Make Media Better for Everyone. We do realise, however, how important it is to make things Just Work™. It's a tough balance to strike, but as we grow we are getting better at adding new features and platforms while maintaining a higher level of quality.
How do you deal with being relatively small and independent while trying to cooperate with larger companies like Netflix and Hulu?
We have amazing partner relationships. From our platform partners (like Google, Microsoft, Apple, Roku, Samsung or LG) to our NAS and content partnerships, there really is a shared sense of delivering something special to our mutual users. You would be surprised how many influential people within our partners use and love Plex. It can make a huge difference when you are trying to achieve things in partnership with large corporations. We also believe that our small size allows us to be nimble and responsive to the frequent market changes.
What advice would you give to others that want to take on a similar project?
1. Start from a place of love. This has taken us years and when we started we didn't know if it was going to be a hobby or a business. We are very lucky that it appears to be growing into a solid business. If we didn't love what we were doing, we can assure you it would not have made it to this point.
2. Focus on building a great community around what you are doing. Our users have helped build Plex, no question. Without our community, Plex would be less successful and less fun. Who wants that?
3. Be as hands on in as many things as possible. Our developers all engage regularly with users to resolve issues. Not one of us is above engaging on customer support and satisfaction issues. It is not possible to help everyone all of the time, but pretending that you are above it doesn't get you any closer to the heart of issues and resolving them.
4. Don't be afraid to do things differently. Guess what? There is no perfectly right way to go about building something. We've done a ton of stuff other people thought would be terrible for our project, but ended up being exactly right for Plex.
5. Have fun. Life is short — don't ruin it with a project that isn't a blast.
Lifehacker's Behind the App series gives an inside look at how some of our favourite apps came to be — from idea to launch (and beyond).