Plex blog

Let it snow…lyrics for all your music!

12.23.15 65 Comments

Ahh, late December. Snow falls softly past frosted windows, a fire crackles in the hearth, and in the kitchen, someone is making a spiced alcoholic drink with lots of whipped cream. Unless you live in Hawaii, like I do, laid up with some form of Hawaiian Ebola, shivering in our unseasonably cold 65F (18C!) evenings. Or if you live in Australia like some of our team, you might be heading to the beach—marsupial presumably in tow—to escape the insane heat wave.

No matter where in the world you are, we wanted to spread a bit of Holiday cheer in your direction. First of all, we’d love to introduce you to a brilliant new feature: Lyrics from LyricFind. Plex Pass members get synchronized lyrics for their music, so you can sing along until the dog howls, or finally figure out what Kurt Cobain is mumbling about. Simply download the newest Plex Pass Preview release of the media server (autoupdate is not enabled yet), and check out our simple guide to lyrics. We also support BYOL (Bring Your Own Lyrics) as seen here. A few quick notes: LyricFind is not available in all countries or on all planets, and synchronized lyrics aren’t available for all tracks. And there was probably a second shooter on the grassy knoll.

roku 3

Hey, by the way, do you need a last minute Christmas present? Well, you could do much, much worse than the gift of a Plex Pass, now available via our lovely new gifting page.

Speaking of gifts, we’re thrilled to announce that our PlayStation® and Xbox One apps are now completely free! We expect many of you will wake up with one of these under the tree, and now you can use them for something other than fragging with noobs. Or do you frag the noobs? Totally unclear.

Need another gift? How about our awesome Media Optimizer feature, now available for everyone! Use it to automatically create optimized versions of your media for the best streaming performance. Read all about it here, update to the newest media server release, and start optimizing.

Since we’re on a roll, and gifts this time of year usually come in packs of three, we also wanted to let you know about a great feature which has been rolling out slowly, but with today’s release is now available for everyone across our iOS and Apple TV apps (it’s already available on Windows and Web). Those apps now are able to display text-based subtitles, which means you don’t need a powerful server burning them in. This means faster video playback, faster seeking, and much happiness for lower-powered servers.

Pasted image at 2015_12_23 17_23

We want to take a moment and thank you all for an amazing year! We have the best team and the best community of users anyone could ever ask for. We’re super excited for 2016, and we have some amazing stuff coming…

Barkley wants to wish you all the best for the holidays and for 2016 as well!


Plex on the new Apple TV!

11.02.15 627 Comments

Note: The Plex app requires the new fourth generation Apple TV, as Apple does not make the app store available on older models of the device.

There truly isn’t any other platform we’ve wanted to be on for as long as we have the Apple TV. Today’s the day, and we’re celebrating. The app is free in the app store for everyone, and requires the latest media server (note: you may need to download and install the very latest server manually for now on certain NAS devices).

First released way back in 2007 (the same year Plex started), the original Apple TV didn’t support any apps beyond the ones Apple provided. Three years later, in 2010, the second generation of the device was released and subsequently jailbroken, and a barebones third party Plex app was written. It was by no means easy to install, but it was technically impressive, and we ended up hiring both of the main people involved with the project.

Three years later, people discovered a way to run custom Apple TV “channels” on the device. Channels were the official way content partners added apps to the device, written in a custom markup language and Javascript. Coupled with a rather silly DNS trick, you could run the Trailers app on the Apple TV and have it run your custom channel. Enter three smart guys (and a surprising dearth of Frankincense) and all of a sudden it was possible to run a Plex app on a device without any jailbreaking. Over the years, Plex Connect was heavily developed, with a large user base.

Now over the years, we heard numerous rumors that Apple was going to open up their platform, and add a real app store. Every single WWDC the rumors heated up, we got excited (along with half the Internet), and then our hopes ended up dashed on some fairly sharp rocks. With no rum.

That being said, an app store on the device seemed an inevitability. Roku, Google TV, Android TV (essentially every other top streaming device) had them. How long could Apple hold out?

Turns out, until about 6 weeks ago.

The instant the fourth generation Apple TV was announced with an app store, we here at Plex pumped our fists in the air with excitement, as we raced to download the new Xcode and read the developer documentation. Our immediate goal was to be on the platform at launch, which means we didn’t have much time. What we did have was a clean modern iOS codebase for our new app.

Before we pull back the curtain on a few technical details around how we got here, let’s take a minute to appreciate this great-looking new app:


We had some tough choices to make. The new platform allowed for two very different ways to build apps, each with distinct advantages and disadvantages. The easiest was TVML, which is a custom markup language evolved from the earlier version present on previous generations of the device. TVML is a markup language for media interfaces, meaning that it’s incredibly easy to make the beautiful screens you’re accustomed to seeing in the Apple apps. On the other hand, they allowed running full native code, which was obviously essential for games, and provided the highest level of control.

We timeboxed two days of prototyping using both technologies, and quickly realized that a beautiful native-looking UI build with the native SDK would take much longer than using TVML. On the other hand, the limitations around the TVML media players led us to want to use our native code from the iOS app.

Fortunately, Apple makes it incredibly easy to bridge between the TVML/Javascript world, and the native world. So we worked hard to combine the best parts of both into the nascent app. We formed a small team which combined a handful of engineers and designers across four countries and as many timezones, who literally worked around the clock (thanks, round planet!).

The other important decision to make was how we would generate the TV Markup Language. After a bit of experimentation, we settled on a clever mechanism whereby we’d request XML from the media server, and then transform it using XSLT into TVML. Said with fewer acronyms and more gesticulating, we essentially transform the output from a Plex Media Server directly into the beautiful screens you see on the Apple TV. (And yes, we had to make a few small tweaks to the API, which is why we require a brand new media server for the new app.)

We’re incredibly proud of this new app, which is essentially one of the richest apps we’ve built feature-wise, built in just five short weeks. Feast your eyes on the screens, and then go download the new app. It’s completely free for everyone, and it’s awesome.

Thanks, Apple, for a great new device, a powerful new way of building apps for the big-screens, and an exciting future on the platform! Barkley really appreciates it.