Unsalted Thinking: Roadmapping Butter



The story of Popcorn.js is an admirable one; envious developers strive to build libraries with the kind of amicable response and contribution streak that Popcorn has enjoyed lately. Yet, we strive for more.

If you haven’t been formally introduced, meet Butter: The Popcorn Timeline Tool. At a release point that Popcorn can only look back upon with fond and fading memories, Butter isn’t yet at the maturity to be called stable.

An incredible amount of work went into the first iterations of Butter, thanks to people at Bocoup, like Rick Waldron, and now we have the foundations from which to build a productive and comfortable user experience.

Arguably, there are harder problems to solve while building something like Butter than something like Popcorn. They’re not programming problems; there are lots of those wherever you look, many of them hard or impossible to solve. So, maybe ‘harder’ isn’t the correct word. But, there’s something alluring and demanding about the complications of a primarily user-facing (as opposed to developer-facing) piece of software that must be confronted for the sake of the product’s success.

Like any piece of software with a GUI, Butter needs to face problems of usability. We need to really focus on some key points:

  1. By using Butter, which tasks are users able to complete (to some degree)?
  2. Which of these tasks are most desirable?
  3. Of those tasks, does Butter currently accomplish them with ease, consistency, and stability?

I believe that the strong points of Butter are those which directly concern timelines. Again, Popcorn is an incredible library, but using it requires a lot of JavaScript. Butter’s primary goal should be to alleviate the tediousness of manual (boilerplate) syntax regurgitation, and, right now, almost nothing else. It needs to accomplish this so well that it is the default tool for users to accomplish event synchronization using Popcorn. In fact, when users think of Popcorn, they should immediately think of Butter, and begin to consult it for its expertise.

In the future, it’s conceivable (even already planned) that Butter will include better features to help not only synchronize Popcorn, but design the page in which Popcorn is used altogether.

So, for now, the roadmap for Butter looks like this:

  1. Refactor parts of Butter that impede deft architectural abilities of contributors. Namely, the UI needs to use as much CSS as possible in place of its current canvas-oriented rendering structure. Butter can benefit from losing a few hundred lines of superfluous mouse-interface code.
  2. Bring the abilities of Butter to align steadily with those of Popcorn. This means Youtube, Vimeo, and, in general, Player Plugin support.
  3. Give users a better experience in using and editing the plugins. We can attempt to give users contextualized editing interfaces for different plugins. For example, for the Googlemaps plugin, we can use as much of the experience of Google Maps as possible to increase consistency for users (i.e. users are already used to manipulating maps on Google Maps, so let’s try to capitalize on that).

With these three high-level goals in mind, editing the timeline for a Popcorn project with Butter will become simple and obvious for Popcorn users. For more detail on the roadmap, I encourage you to explore the wiki on the webmademovies/butter github project page: https://github.com/webmademovies/butter/wiki/.

Any feedback is welcome. You can try the most bleeding edge version of butter at http://butterapp.org/edge/.

One response

  1. Amanda wrote on :

    So I tried using “the” tools (not sure of the names they are located at http://butterapp.org/edge/) this morning. Is there a forum associated with the tools I have questions?