The ABC Player App for iPad: Start Here
COW Library : Telestream Episode : Robert Longwell : The ABC Player App for iPad: Start Here
2004 might not seem like it was all that long ago, but in the digital video world, it's a really long time ago.
I was hired at ABC.com simply as an Avid editor, and my only job was to cut the occasional "behind the scenes" piece, promo clips or sneak peeks of what was coming. We had a VHS deck capturing Jimmy Kimmel at night, and I'd come in the next day hoping that the timer had worked correctly. We were even ingesting episodes of "Lost" from DVD. At most, we were making maybe 10 videos a week, transcoding them to 50-100 files, tops, and putting them up at ABC.com.
Fast-forward to today: we're creating hundreds of videos weekly made up of short-form and episodes, and creating 200,000 transcoded files a month, mostly from 1080p/23.98 sources -- and not just for ABC.com anymore. (Thankfully I had a few more skills up my sleeve beyond Avid editing.) Now we represent ABC Primetime, ABC Late Night, ABC Daytime, ABC Family, SOAPnet, Oscar. com and ABC episodes for the ABC Player iPad app, too. We also deliver content to Hulu, iTunes, Amazon, Xbox, Playstation, YouTube, AT&T, QuickPlay , Verizon and MobiTV, so that they can further transcode before posting the files on their own sites or devices. We are accountable for making sure that those several hundred thousand files successfully arrive, and are error free.
It's a far cry from 2004.
We built the architecture at the time to be scalable to grow with the business, but to be honest, we could never have anticipated everything that was coming. We didn't know that we were making groundbreaking decisions that would sustain us through today.
FINAL CUT PRO
The first big decision for us was getting off of Avid and going to Final Cut Pro. We outfitted two bays with Final Cut Pro, a couple of Macs and Apple Xsan storage at a relatively small cost. Not only was it a smart financial decision, but also less constrained in terms of video formats, frame dimensions and so on.
Honestly, I haven't looked at Avid since then. Media Composer can probably do all the same things now, but at the time, Final Cut made it far easier to adopt a digital workflow. Today we have more than 10 FCP edit bays.
The second big decision was using software for Mac called Compression Master, a desktop transcoder that could handle every format in and out natively, made by a Swedish company called Popwire. Popwire also had a program called Compression Engine, which let us submit jobs to a cluster of Apple Xserves.
Telestream has since acquired Popwire and combined these software applications under the name "Episode."
We didn't have a big cluster at the time -- just three Apple G5 Xserves -- but now those two edit bays were dropping QuickTime files into watch folders, and the watch folders were kicking off jobs to the Xserves.
As the business has grown and we've added more jobs to do, we've simply added more servers. Today we have 40 nodes of Telestream Episode, all running on Intel-based Apple Xserves.
Our verification of the transcoded files before we deliver them has been and is still rather basic. We spot check a couple of them just to make sure that they don't have any glaring, obvious errors -- like no audio or no video! We have found that those are almost always user file creation errors or something that got corrupted in the workflow, rather than transcoding errors.
VERIZON MEDIA PLATFORM
In early 2006, we were still only feeding videos to ABC.com, and a handful of mobile partners. We used an Excel spreadsheet to manually track the entire workflow. "If you do a 'Lost' sneak peek, send it to ABC, GoTV, and Helio, but don't send it here, here or here. Start it on this date, end it on this one."
The spreadsheet also described transcoding rules. "If it goes here, it has to be Windows 9 at 320x240. If it goes there, it has to be 640x480 H.264," and so on. It also contained the rules for FTP, including who got emailed when the job was complete.
Seeing how much time we were spending managing this with just three or four partners and hand-writing much of the metadata, we quickly realized that we were going to have to hire a new person or two for every new partner we took on, in order to shepherd all the transcoded files through the processes outlined in the Excel spreadsheet, send the media, metadata, and alert the partners.
That's when we made our third big decision, to use a program made by Verizon Business called the Media Platform. It automates much of what we do, and tracks all of it. As part of delivering 200,000 files every month, we can have hundreds of different ways to deliver the program metadata ALONE! Not the files -- just the metadata. Once you add in the different video formats for each and every partner, you can have thousands of different combinations.
Media Platform shows us everything, using a simple software dashboard. There's a big green check that says, for example, "I know for a fact that I successfully delivered 5 JPEGs, 4 AIFF tracks and an MPEG 2 file, and I sent the XML. I'm good." We also see any failures. If someone's FTP servers go down and they can't accept our delivery, we get a red X telling us to check what's wrong.
It doesn't get much simpler than that.
Episodes for ABC's Wipeout as seen from the iPad app.
Metadata hasn't really changed much for us in the last several years. We don't embed metadata in the assets themselves. In fact, no one has ever asked us to do that...yet. Metadata is always passed in an XML file, and the Verizon Media Platform manages what we call the metadata superset. When the screen pops up and it's time to enter our metadata, there are approximately 60 fields to fill, including actors, genres, keywords, ratings for language or violence, start and end dates, and descriptions of the episode.
We have multiple versions of the descriptions that we deliver to various partners. One partner might want the descriptions at 150 characters, so they subscribe to that version. Another partner might only want 80 character descriptions, so they take that version, and don't bother subscribing to the longer one. Beyond that, everybody's metadata formatting is different. I call it the digital media wild west: you come to our town, you do it our way.
How we convert our metadata into their format is where the magic of one of my administrators, Andy Bauch, comes into play. He has written XSL templates in the Verizon Media Platform that say for example, "Map this field to that field. This field plus that field equals a new field. This field needs to be in all caps."
Then, each partner wants to handle the same information in different ways. For example, iTunes doesn't like "NR" ratings, so if a show has an NR rating in the superset, we turn it into a null value for them. NR stands for "no rating," so if it goes to Amazon, NR gets translated to the word "None."
There are some overarching rules -- like, that the metadata is passed in an XML. But what goes in the XML? It really is different for everyone. Thankfully, we have the metadata superset that we just transform.
Telestream Episode software control panel. Note in upper right: 2033 jobs finished, 54 jobs running, and 2502 jobs queued.
Editor's note: The ABC Player app has been a huge success, to say the least. By the time you read this, it will have been downloaded nearly one million times, with over 6 million episodes watched. It is yet another example of ABC's commitment to reaching people on any device that plays video.
"The success of the ABC Player app reflects our commitment to delivering high-quality experiences on devices that fans of our shows use to complement their traditional TV viewing," said Anne Sweeney, co-chair, Disney Media Networks, and president, Disney/ABC Television Group. Given that ABC was the first network to offer full episodes in the iTunes store, the first to stream online in both SD and HD, this comes as little surprise. These folks are aggressive. As Anne notes, "We continue to evolve with each technological advance, leveraging emerging platforms so that TV fans can engage with our content in ways that are relevant to their lives."
As we were wrapping this issue, the Disney/ABC Television Group launched their second app, the innovative "ABC News App for iPad(TM)." It uses a unique 3D interface to provide access to every category of news, both breaking and archival, and to easily personalize and share stories and feeds.
Both of these apps are free, using limited ads within shows comparable to the web streams, as well as sponsorship in the app players themselves to monetize these projects. There is also one-click integration with iTunes in the ABC Player, allowing easy purchase of episodes that catch your eye. These are business models that are clearly working for ABC, their sponsors, and their viewers. Whichever models come next, we suspect that ABC will be there first.
And yes, the original ABC Player was the first app we downloaded for our own iPads.
We were still a standard-def shop then, working from DigiBeta. Trying to convince Final Cut to capture in 16x9 anamorphic, and inverse telecine to reject all the extraneous frames to get me back the progressive 24 frame so it could look good in (at the time) Flash VP6 -- it was a disaster.
After a few months of that, we finally said, you know what? Let's just bite the bullet. We can get a D5 deck for less than one third of what it cost a couple of years ago and forget about telecine, anamorphic and everything else. We can capture everything in 1080p/23.98 and just be done with it. Acquisition would be completely native and more or less future proof.
By August of 2006, we also jumped to HD for internal productions, and by the next fall, ABC was the first to stream full episodes in true 720p HD online.
Today, we get most of our programming on both D5 and HDCAM SR, although we also get ProRes HQ files. Both methods have their pros and cons, but tapes still seem to work better. There are only a few ways to make a bad tape, but a million ways to make a bad file. There are so many options for a file, so many places for something to go wrong. You can wind up with eight tracks of mono vs. four tracks of stereo, mixed up apertures between 1920x1080 and 1888x1062, all kinds of messed up metadata -- and it's hard to fix those mistakes once they're there in the file. With tape, there's signal on the tape, or there's NOT signal on the tape. It just works, and it seems to generally be more accurate.
Don't get me wrong -- I want to be tapeless as much as anybody. It's the Holy Grail, but I think we're also getting slightly ahead of ourselves. Until these files feel like I'm moving around a really small MP3 file, and it doesn't have any impact based on the speed of the network, and file size has no bearing because we're working in petabytes of storage, it feels a little premature for the moment to rely on it solely.
In the meantime, we're capturing from tape at 1080p/23.98, directly to ProRes HQ, with our AJA Kona 3 cards.
Verizon Media Platform
A small section of the Xserve Encoding Cluster
QUANTUM STORNEXT STORAGE MANAGER
Our online SAN today is 230 terabytes. Offline and near-line tape is another 800 terabytes or so at this point, and growing daily.
In the beginning, every time we created a file, that file just sat on a disk. And eventually that disk filled up. The choice was to either get the file off, or keep adding more disks. We kept adding disks until our racks started to fill up, and power and cooling requirements were getting a little crazy. We started moving files to data tapes -- you can get a lot of media on an LT0-4 tape -- but we still need to get to those files quickly.
Quantum StorNext Storage Manager balances our need for immediate access to current files, and easy access to files we don't currently need. It handles this essentially automatically for us. Once a file lands on a disk, Storage Manager says, "If you don't touch that file for the amount of time that you define, I'm just going to move it off the disk."
It only exists on tape, even though the file looks like it's still on the disk. As soon as you touch a file that is not really present, the Storage Manager sends a robot to retrieve the tape, load it, and then copy the files to online storage. After maybe a 10-minute lag, the file is fully active and ready to work with. So when we sign up a new partner, like Amazon, they might say, "We need your entire catalog of 'Lost' and 'Desperate' and 'Grey's,' and oh yeah, we also want 'Schoolhouse Rock'." Everything is easily available, so it's just right-click, transcode, send.
From the beginning, our team's choices have focused on the kind of scalability and flexibility that would leave us able to face almost anything, even if there was no way to prepare specifically for any individual challenge in advance.
That's exactly what happened with the iPad. We found out about the iPad at the same time you did. ABC immediately set as the goal to be the first network to stream ad-supported full episodes on the iPad -- but from the time we decided to actually build an app for the iPad's launch was less than five weeks!
I had to re-encode 300-some-odd episodes from the current season of ABC right away, and if I didn't have all those files a right-click away in a near-line tape archive, we wouldn't have made it. There just wouldn't have been time to restore or re-ingest that much data. "It's got to be ready by April 3rd, and you have to have a full catalog of programming. Oh, and by the way, we don't know how to build an iPad app yet, or how to serve ads, and we don't have an iPad for you to look at or test anything with!" That's how it got started.
We had 12 in-house software engineers working on the app itself, and they didn't have an iPad either. We were all working in a software emulator. I had some video specs, and I was able to go by the experience I had transcoding for other Apple devices. After that, I hoped for the best. You can emulate as much as you can, but until you have the iPad in your hands, you don't know what you're going to get.
Launch day, April 3, was a Saturday. Some of us had pre-ordered our iPads, so we all got on the phone together early that morning. We'd hear, "Hey, the UPS truck just showed up," and listen as each of us got to crack open their iPad for the first time, and download the ABC Player app from iTunes.
We were on the West Coast, but wanted to be together when people on the East Coast were picking up their iPads from the stores. If we heard any reports of things not working, we wanted to get on those issues right away. I don't personally use Twitter, but that's what everyone else does, so we watched what people had to say. Almost immediately, they started tweeting. "Hey, this works," and a few others said, "This doesn't work."
When people would say, "Every time I do this or this, the ABC app crashes," we actually reached out to a few of them directly. We quickly discovered a memory leak, and by noon on that same Saturday, we had it fixed, and submitted to the iTunes apps store for approval. It was released by that night. In fact, we fixed most of the problems we'd seen on Twitter by the end of the first day.
Amazingly, the response we got was overwhelmingly positive, which is something we don't normally get in a typical feedback scenario. We have feedback buttons on ABC.com and the other websites, and in the iPad app itself, but most of that feedback we get is negative. People use those feedback mechanisms more to submit bugs than to offer praise. But following Twitter gave us a really great feeling. Ninety-eight percent of what we saw was, "It works! The video looks fantastic! I can't believe that they can do this on an app!"
And, "What's taking the other networks so long?"
All of this was on Saturday. We loved it!
One of several views of the "ABC News for iPad" app, choosing "Archives" from a drop-down menu.
The globe can be spun by touching, and stories can be randomized by shaking.
News categories and stories are also available in list view.
ABC iPad app
I don't know much about how it works at other networks, but Disney/ABC really thrives on having a technology team in-house.
If you use external vendors for everything, you learn nothing. You learn how to write a check, but you haven't actually acquired any of the knowledge. As a result, you're not ready for the next challenge, and there's always another challenge.
Five weeks to build an app with that much content is a tight schedule, no matter how you slice it. But we built it on the foundation of what we have already built for ABC.com and every other partner. We leveraged everything we already know, and leveraged the content already in our archives. We just had to figure out the new video format, how to transform the metadata superset in a new way, and how to get it all out the door.
The thing is, I don't know what's coming. I don't know what the next device is. I don't know what the next set top box is. I know what you know.
Maybe less! I used to surf the web all the time. "Woo-hoo! There's this new toy coming out! It would sure be fun to get our stuff playing on that." But now we're so focused on making sure that the infrastructure is running, and that it's solid, and that it's ready for the next big thing, that I don't even know what the next big thing is anymore. As it is, I get the phone call telling me what the next thing is, and that I have to have it live in a few weeks!
Even if we were aiming for a single, specific "next big thing" further in the future, it might not actually be the next big thing. All you can do is make choices about flexibility, scalability, and accessibility -- and have talented staff that put yourself in the best possible position for whatever comes next.