The GNU MediaGoblin project was announced just a year ago. The project, to build a decentralized, free software media sharing tool, has been going great guns ever since. To get an idea where the project stands today, we talked with lead developer Chris Webber. Here we share Webber's comments on the history and future of MediaGoblin, new features, and the switch away from MongoDB to SQL.
Just in time for the one year anniversary, the MediaGoblin team released 0.3.0 with audio support, SQL database support, and the first take on a mobile layout. Needless to say, that's a lot of work!
Linux.com: Where is MediaGoblin at, feature-wise? What can I do with MediaGoblin now, and what can't someone do that needs to be addressed? That is, any major missing features that are in the works (versus the ever-present "nice to haves")?
Chris Webber: MediaGoblin is in a great state right now for artists or organizations who want someplace they can post their audio, video, images and such all in the same place. A good proportion of our audience is currently people hosting sites to cover photos and videos of their families. Generally I believe as a media publication system, MediaGoblin works great. We have rock-solid internals, beautiful features like HTML5 standards-compliant video and audio hosting support and the ability to add more media types. We certainly have surprassed everything I dreamed that we could accomplish in the first year.
That said, I am the first to acknowledge that we have a ways to go. We still don't really have federation which is the main impetus for building MediaGoblin. We felt that we had to switch the underlying database so we could gracfully handle small instances before taking on the challenges associated with federation.
We also have ancillary goals about the interface. Photographers want an API so they don't have to submit each picture individually. We want to provide a nice way for people to theme their instances. We also need a plugin system, and one is in the works. So even though we have a ways to go, I am extremely optimistic.
Linux.com: What are the big new features in this release? What does the audio support add to the MediaGoblin experience?
Chris Webber: The biggest features in this release are audio support, an improved mobile layout, a few miscellaneous improvements to video, and a switch from MongoDB to SQL as the database.
The most interesting user-facing addition in this release is audio support. This means MediaGoblin could become more interesting to, say, musicians, and could begin to step into the space of proprietary network service applications such as SoundCloud. As usual, we try to be progressive and forward-facing by using the HTML5 audio tag. We don't have support for feed enclosures this release, but that should be easy to add, and once we have that I suspect MediaGoblin could become a very compelling podcasting application.
The MongoDB to SQL conversion is the one everyone seems to be curious about. We gave a poster session at PyCon on it and had that as one of the discussion topics, and it was certainly the one people wanted to know most about that. "Wow, switching from NOSQL to SQL? Isn't that backwards? Nobody does that!"
I think MongoDB is excellent software, and I might consider it for some other software project. If development continues I think it has a bright feature ahead of it, but it wasn't the right choice for MediaGoblin. The main reason for choosing MongoDB in the first place was flexibility, not scale. I even wrote in the original document for MediaGoblin that I had some worries about MongoDB. We now support both sqlite and postgres, and things seem to be working rather well. Landing that transition took some time, but thanks to the hard work of our contributor "Elrond Elvenlord" we were able to do this transition in parallel to other feature development.
We also have a new and improved mobile layout. Jef van Schendel has done some great work providing mobile-friendly, "adaptive" CSS for this release, so things should look great still on mobile devices and generally any browser set to a smaller width. Video is a bit nicer in this release. We now are using a custom-themed video.js skin and we have things set up so preloading of videos is a bit smarter.
Linux.com: Google is shuttering Picasa for Linux development. What tools can I pair with Media Goblin to get the same type of service?
Chris Webber: MediaGoblin needs an API to work well with any sort of desktop or mobile uploading application. The good news is that we have our first paid MediaGoblin developer now. Joar Wandborg, who has contributed significantly to MediaGoblin in many areas (most notably adding the "multiple media type" stack, including video, audio, and ascii art support) is going to be paid by the Icelandic government to develop an API for MediaGoblin. Once that's done we'll be working on application integration, most likely starting with Shotwell.
I'm hoping that we can construct the plugin and factor some parts into a generic library in Vala, in a way that will enable us to have a library that is cross-platform out of the box via gobject-introspect. Of course, we'll have a better sense of this once the API is finished. Some work has aready been done on an Android client that "merely" needs to be hooked up to the API once it exists.
Linux.com: What's the community look like at this point? How many contributors, any companies that are dedicating developer time to MediaGoblin?
Chris Webber: We have about 40 code contributors at this point, and many more non-code contributors, so we are probably in the range of about 50 MediaGoblin contributors in total. It isn't easy to tell how many translators we have from Transifex, but I'd guess around 20 people have helped in some way. We have about 5-15 people active on MediaGoblin at any given time. Even better is that everyone in the community is very friendly. I'm probably biased, but hanging out in the IRC chatroom I often feel like we have one of the nicest free software communities around. I'm very grateful for that and work hard to try to maintain that friendliness.
As for organizations devoting developer time, there was not much of that over our first year but that looks like it will be changing in our second one. As I already mentioned, Joar Wandborg is set to be paid to work on our API by the Icelandic government, I have been told of two universities that are interested in having student projects involved in MediaGoblin (one for user experience testing and another for actual python development experience), and through my own work at Creative Commons we have been talking about prototyping some of our next generation licensing tooling through MediaGoblin. I'm optimistic we'll be seeing more of this over the next year.
Linux.com: The current install instructions don't look bad for geeks – but what about users who are less geeky (or just don't want to be hassled)? Any hosted instances of MediaGoblin people can pay to use? Any planned?
Chris Webber: I think there are two responses to this question.
We have a couple of "open registration" sites available for use, but they are fairly small. As for paid instances, I really hope that happens and think it will be a critical piece toward MediaGoblin success. We need the plugin system to land for this though so people can both have a nice/convenient way to have paid user management, manage upload limits, and so on. Thankfully, that should be coming soon.
The other side of this is making MediaGoblin deployment and maintainance easy for people who aren't extremely technical. Running a GNU/Linux desktop these days is actually not so hard without being technically inclined once you get help setting it up. We have nice visual package managers and everything and I'd like to see similar ease of use for federated hosting. There are some promising things going on with abstracted deployment solutions like OpenShift and JuJu. I'm hoping we'll see interfaces around these systems that allow you to select several applications which can handle all the mess of hooking them up to webservers for you.
Linux.com: Any insight into user uptake at this point? Number of downloads, any way to count installs, etc.?
Chris Webber: We don't know for sure how many MediaGoblin installs there are, though I suspect it is a fairly modest amount. You can see a few listed at the live instances page.
I expect the number to increase over the next year, and even after this release. Several people have said they wanted to run smallish instances and were holding out for sqlite support.
may sound strange to say, but the limited audience we have now is also somewhat intentional. Diaspora is a great project with a great community, but I think in hindsight we learned a couple of lessons from them. One was just how important it is to release your code to the public from day one and be transparent about things.
The other lesson is that once you tap into excitement of the general public about your project, you have basically hit a ticking timebomb. The expectation outstrips a community project's ability to release massive piles of quality code. We have been marketing GNU MediaGoblin to the free software world, which tends to understand that building a good solution takes time. That said, I hope by the time MediaGoblin anniversary number two comes around that we'll have started to appeal to the imagination of the general public.
Thanks much to Chris for his time, and we are excited to see what happens with MediaGoblin in year two. If you're interested in checking out MediaGoblin, head over to the site and check out the documentation or find one of the public instances running MediaGoblin.