MediaGoblin 0.3.0: Rise of the RoboGoblins

MediaGoblin 0.3.0: Rise of the RoboGoblins banner

It’s our birthday!! A whole year of writing the decentralized media future. We can’t wait for year two; new challenges, new opportunities and new technologies. We’re rolling out a set of awesome features in this release to raise a legion of RoboGoblins! The three biggest milestones for the 0.3.0 release are:

  • The database switch is finished, YAY!
  • Audio support is achieved, YAY!
  • Mobile layout - take one!

Organizationally, we continue to grow. In particular, we have some exciting news about our level of professionality and for-realness. But first, let’s take a look at all the new code.

The massive time-consuming Mongo to SQL database conversion is finished! SQL scales down more gracefully, making lighter-weight deployments possible — a critical feature for federation. We also think that SQL’s popularity will make it easier (or at least less daunting) for people to install and tweak their instances. A SPECIAL thanks to Elrond, without whom this Herculean task just would not have happened.

We have audio support! MediaGoblin can handle MP3, FLAC, Ogg, WAV, M4A. We convert them all to Vorbis and run them in a WebM container. All played through HTML5 audio!

The audio player!

We’re on your phones, serving you media! We’ve written an alternate style sheet so users can reasonably check out media on the go. True mobile-app-dom for submitting media will have to wait for the completion of our API. In the meantime, here’s our first stab at a mobile layout:

The mobile layout!

We worked hard to make video smoother and the look of MediaGoblin nicer. We added video.js which is basically a style sheet functionality for HTML5 video players. Then we made a custom skin so our player would match the rest of the site. Take a look:

The improved video player!

Video pre-buffering is also smarter now. A little bit loads (not the whole video) and then it waits for the user to press play. Numerous enhancements were also made to the theme for this release. For instance, the top bar is nicer and user comments render cleaner. Take a look:

Smoother looking theme

We made improvements to the testing and installation processes, all with the end goal of making it easy to set up and debug your own instance. Our new lazycelery.sh script should make testing and deploying with celery a bit easier. We’ve added ipython support in the gmg shell subcommand and removed the pygtk dependency. You don’t have to install X Windows just to have video support on your server anymore, whoo! We also refactored the processing pipeline code (image resizing and transcoding, etc) which will make things easier to develop moving forward.

We also have release notes now! If upgrading from an older version of MediaGoblin you should check these out, especially given the recent database change.

Thanks to our wonderful and generous contributors! Jorge Araya Navarro, Elrond, Will Kahn-Greene, Deb Nicholson, Christopher Allan Webber, Jef van Schendel, Svavar Kjarrval, Luke Slater, Joar Wandborg, Sacha De’Angeli, Bassam Kurdali, Derek Moore, Brett Smith, Jacob Kramer, Hugo Boyer and chrono —thanks!

We also have our first paid contributor! Joar Wandborg is getting funding from the Icelandic government to build our API. We are officially a for-real, grown-up project. Congratulations to Joar, major thanks to Tryggvi Björgvinsson for coordinating things, and Takk fyrir to Iceland!

What’s next as we write the RoboGoblin future? Our plugin system is getting close. Plus, there is loads to do to make federation a dreamy, bug-free user-experience. In the coming months we’ll be working on better ActivityStreams and PubSubHubbub support. We’re also working towards using the Salmon Protocol to handle comment notification, favoriting, and so on across instances. These are the nuts and bolts of federation and many of these bits need some creative tinkering to make them work flawlessly with media hosting. If that sounds like your kind of fun, then we would love to meet you.

Additionally, we need help testing social features like favoriting and other curation tools. MediaGoblin aims to be functional, gorgeous and user-savvy. If you have opinions about user experience and how media should be served, then we absolutely want to hear from you! As always, we’re beeping and whirring away in #mediagoblin on freenode.net. You can also join the mailing list. One way or another we’d love to have you around, so join us!