Monthly Archives: May 2013

Image Uploading, MakeAPI and Webmaker

It’s been a while and frankly there’s a lot I could talk about. I’m going to rapid fire some things and then talk about this week as there are a lot new faces and new things we are working on.

Since my last post

– Popcorn Maker 1.0 was released at the Mozilla Festival in London. I overslept and missed the entire presentation about it.
– Popcorn Maker levels up and gains some really game changing features with Media clips and the ability to sequence multiple video clips together.
– I started a 1 year contract with Seneca to continue doing what I do now.

Webmaker 2.0

On April 9-12th the Webmaker team had a work week down at the Mozilla Toronto office. Here we discussed all of the elements that were going to need to come together for our relaunch of to be a great centralized location for the maker movement around our tools and a way to advance our learn movement as well. This will be requiring greater integration between our existing tools – Popcorn Maker and Thimble as well as the creation of new pieces to help unify everything – MakeAPI, Single Sign On, Thimble (on Node.js) as well as an awesome gallery system – all of this is in preparation for our second summer long event dubbed Maker Party 2013 by our fearless leader Mark Surman. Needless to say we have a lot of work to do but we have also accomplished a lot over the past few weeks.

This all sounds great, but what are some of these new things you are talking about?

I won’t get into too much detail, but here’s a brief explanation as to how each piece is going to help our goal of better integration between our tools.

We needed a way to easily track work done by our users with our tools whether they made something with Popcorn Maker or Thimble. The MakeAPI is a service that will allow us retrieve “Makes” in many different ways. In the case of individual users, it might be simply grabbing all of the makes they have and building their personal gallery with it. Maybe the work by one of our makers is so great we tag it as a featured make allowing us to easily identify content that we want featured on our main pages. We also want makers to be able to tag other makes by people that they liked and this will manage this as well. In the end it’s a tool to help manage make information across all of our tools and allow easy searching through them.

Single Sign On (SSO)
We want not only our tools to feel like they are tightly integrated with each other but the entire platform as well. It would be really awful if you had to sign in once when browsing the normal and then sign in again to use any of our tools. SSO will allow us to manage a makers session across all areas of our platform allowing for a seamless experience no matter what they are doing. Signed in while using Popcorn Maker and then went to view other work on No problem, we recognized you already signed in and will maintain that state. All using Mozilla’s Persona login system.

Thimble on Node.js
Thimble is great, but admittedly it’s running on a backend that limits the amount of people who can work on it easily in our team. We learned last year that Node.js is actually extraordinarily powerful by running Popcorn Maker on it without hiccups through very high traffic periods through our work with TED and others. This allows not only more developer power behind it but it now lives on the powerful Node.js technology which really leaves it open to all kinds of potential.

Anyway, this should be enough for a nice quick overview. On to this past week.

The Summer Work Term at CDOT

The summer work term is always an interesting time for the Seneca Centre for Development of Open Technology. There is a shuffle of people with some leaving onto other things and new fresh faces eager to dive in, contribute and learn. In the case of the Webmaker project we have three new guys joining us – Kieran(actually started in April during our work week), Igor, Ali, Rick and Caitlin – pretty much the biggest change in personel with the Mozilla team at CDOT in like, ever. Rick and Caitlin are going to continue their great work on the WebVTT spec implementation in Firefox for now but they will be joining us on Webmaker soon enough. Looking forward to working with them all as well as teaching them a few tricks along the way.

Image Uploading

My big focus this week was finishing the thumbnail backend for Popcorn Maker and then taking that new information we had and tying it into the MakeAPI as well as our controls. We had working parts for elements of this in the past with conversion of DataURIs from canvas elements and then creating files on the server end but we knew we could clean this code up by simply using direct uploading to the Amazon S3 service we use. It was a rather large changeset but the best part of it is the majority of it was code removal. It’s always great when you can accomplish the same task with far less code than you had previously.

From there I got our server pushing project information to the MakeAPI upon creation, updating and removal which was a simple enough task but it does lead to other problems. Namely, how do we deal with it during our dev environment where we won’t want to be constantly pushing information up to the MakeAPI but how we can test around the framework existing there. This is something that will need to be solved early next week before we can land that work in.

I also wrote up a patch that takes the project thumbnail a maker uses for their project and makes it the poster image for the video area until the video is played. This helps solves problems we have had in the past with events that have a start time of 0 seconds causing them to be loaded and visible upon page load; the biggest culprit of this being GIFs. GIFs and our sequencer work provided a great way for people to make really interesting video based memes, however having the GIF being visible immediately before the project played more often that not would ruin the intent. Now this will no longer be the case!

We have a lot of work coming up this week as our goal is to get a working alpha of the new site up and usable for the rest of the Mozilla Foundation as we are having our first All Hands of the year in a little over 10 days. Needless to say, lot’s of work to be done. Potential loss of sleep is probably high.

Until next week!