VTechWorks Video – an Apple TV app for our Institutional Repository

On Friday, October 30th, 2015, Apple released the 4th generation of its Apple TV product, a device that’s built to stream internet video to high-definition televisions. Perhaps the most interesting change in this iteration is that Apple opened up the product to app developers.

Virginia Tech Library has a collection of library event and university related videos, courtesy of the event capture group. Many of the videos are stored in VTechWorks, our institutional repository. This seemed like an obvious choice for a library related video app.

The weekend prior to the release, I began working an app to display and stream the videos in VTechWorks. Using an Apple TV device simulator, I had something prepared for submission that weekend, but was unable to submit the app for review because of the rule that apps should be tested on actual devices – which hadn’t been released yet – and not just the simulator. I had to wait.

On Friday – release day for the Apple TV product – I had a clear and flexible schedule because of Focus Friday, a day free of meetings where I’m asked to concentrate on tasks that will help me to develop professionally, especially tasks that involve writing or that I can write about.

(Thanks to Amanda French for implementing this tradition and setting the example.)

At 9:45 A.M. I had the product in my hands, went to the library, and used the giant-screen television that I had learned to operate the previous day to test the app on actual hardware. And of course there was a problem. The particular video that I had setup to test closed captions wouldn’t play at all on the hardware, even though it worked perfectly in the simulator.

The group of library produced videos, to my knowledge, currently only has two captioned videos (I performed the captioning myself) and a few with American Sign Language interpreters. I couldn’t solve the problem, so I compromised here and made the video play without the caption option.  I want to note now that there is currently a university wide project to caption all video content for accessibility and legal purposes, so I need to get this essential feature working in the app.

Sometime during lunch, between 12PM and 1PM, I submitted the app for Apple’s Review process, and when I checked on the app status the next day – Halloween – I found that it had, to my surprise, been approved.

VTechWorks Video – also known affectionately as VT TV – is very simple in this version. The full functionality consists of browsing through collections of videos, scrolling through thumbnails in each collection, and watching the videos. I took the simplest path to completion, and the video streaming is performed directly through our customized DSpace repository, VTechWorks (with the exception of a single video that is an experiment in streaming directly from Amazon’s S3 service,  in order to simplify current testing of adaptive bitrate streaming and future testing of content delivery networks.) Even the video thumbnails are downloaded directly from VTechWorks. On release day, only 13 videos were included in the collections. I’ll gradually add more content, but one thing that became glaringly obvious while testing on the very large screen is that the current size of encoded videos – which was optimal for embedded web browser viewing several years ago –  now looks somewhat poor when enlarged on a giant, 1920×1080 high definition screen. So I’m investigating various options for video formats, as well as other options for streaming.

Here’s a quick video introduction to the app. I haven’t narrated it yet, so I’ll outline the script here first:

  • Start a search for “library” in the Apple TV app store to look for library related apps
  • Find VTechWorks Video and go to its description page on the app store
  • Read description; show screenshots
  • Exit back to main Apple TV screen. Select installed VTechWorks Video icon.
  • Point out the VTechWorks Video “Top Shelf” splash screen that appears
  • Show the parallax effect on the app icon (floating VT)
  • Start the app. Browse through categories of videos
  • Stop in the Computer Science collection and examine video thumbnails
  • Start video with Bert Huang. Pause video and skip forward about six minutes (audio seems just barely out of synch)
  • Exit back to videos collection, then exit back to the main screen

This has been a largely independent project. Even with our now relatively nimble IT team, it’s much quicker to get something off the ground before anyone else has a stake in it – it takes time to make good decisions, but I can make bad decisions on my own very quickly. Also, this is a client-server style app, and while I was able to host some small files on the AWS account I have at the library, the test video for adaptive bitrate streaming is, for the time being, hosted on my own personal account because I didn’t have the correct security access in my work account. Setting this up at the library requires valuable and sparse system administrator time.

I hope that the library will someday have an interest in inheriting this app from me. Clearly one fast and dramatic improvement would be made if our marketing team could create a professional looking icon and graphic for the app. I’m currently working on an internal white paper to describe how the app works, the various options for improved video quality, for creating and including subtitles as closed-captioning, and an overall action plan, and also would like to write journal articles about this subject.

I’m hoping this becomes a “thing.” It’s another way to get the knowledge of Virginia Tech out to a global audience.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s