Update on Cojiro platform development

Hi everyone,

Below is a quick update on our work on Cojiro over the past couple months. This being the first post since the award winners were announced, we’d like to say thank you to the community for selecting us! It’s so great to have your support, and so great that GV created these awards.

Apologies in advance: this post will be a bit technical since our main focus right now is on building the basic components of the application. I’ll try to keep the discussion as high-level as possible, but if you’re not interested in the technical stuff skip to #4 below.

For an overview of the project see our earlier post and proposal on the innovation blog, and the github page for the project.

1. Thread mockup

Tomomi is working on mockups for various parts of Cojiro. Our main focus right now is on what we call “threads”: these are what users create to gather sources (tweets, blog posts, videos, etc.) together in one place and discuss them.

Below is a snapshot of the thread mockup. You’ll see that there are many different types of media in the thread: a YouTube video, a blog post, a photo from TwitPic, an article, a tweet, etc. User information is featured under the title of the thread — this information is pulled from Twitter (see below on user login).

Cojiro thread mockup

Cojiro thread mockup

At this point, the page looks much like Pinterest, Storify or other “bundling” services. The key difference, which is not obvious here, is that everything on the page will be translatable with a click: click on the title of the thread, or a tweet, or the title of the YouTube video, and a dialog box appears to translate it. Once you’ve translated it, it saves that translation so that others viewing it in your language will see the translation.

As I mentioned in a previous post on this blog, the goal with Cojiro is to figure out which information is valuable to translate, and make it really really easy to translate that information. The thread is the place where we figure out the what: what to group, what to read, what to translate. The reader-to-translator transition is really important here: a user should be able to translate as they are reading, almost without thinking and with minimal effort.

2. Twitter login (done)

Although we intend to add other options, for now we are keeping things simple and Cojiro only allows users to login with an existing Twitter account. This is fairly easy to do in Ruby on Rails using a gem (library) called omniauth. Once you login, Cojiro saves your Twitter account information and displays it when you create threads, comments, etc.

Cojiro sign-in through Twitter API

through Twitter API

3. Backbone integration

Javascript was once a programming language mainly used to add flashy click events to websites to make them look more “dynamic”, but recently it’s evolved to take center stage at the cutting edge of modern web development.

The problem with Javascript, though, is that by its nature it morphs into spaghetti code very quickly, and becomes unmaintainable. We experienced this with the beta version of Cojiro, so when we started to re-code the platform, we decided to handle things more systematically.

Backbone is a Javascript library which “gives structure to web applications”. Basically, Backbone does what is says: it gives your application some backbone. To get a sense of what you can do with Backbone, have a look at GapVis (Google Ancient Places) and the blog post about it. It’s a pretty impressive and complex site, but the code is well-organized (and available on github).

I’m currently working on integrating Backbone into Cojiro on a separate branch of the github repository. If anyone is interested in learning more about that, or has any experience with Backbone, I’d be eager to chat! Drop me a line.

4. Collaboration

Meedan is a project with similar goals to ours. Recently I’ve been chatting with Chris Blow, Meedan’s Director of User Experience, and we’ve been pretty excited that there is so much overlap between the problems we’re each tackling. Meedan has recently submitted a proposal to the Knight news challenge to build what they call a “Translation Workbench for Twitter“. The discussion about how to appropriately display translations of tweets has a lot in common with some of the issues we’re thinking about. There may be possibilities for collaboration, although Meedan uses a very different development setup to ours (they use Drupal, we use Ruby on Rails).

5. Get involved

If you’re interested in getting involved, or just curious to learn more about what we’re doing, drop us a line! This is an open-source project so everything we’re doing is freely available online — you can download it and tinker around if you like. I’ve started a wiki page on github where we’ll post information about that and other avenues for the community to get involved (user testing and localization, for example).

That’s it for now. Our next post should be less technical and more user-oriented. Thanks again for supporting us!

p.s. We have a Google group for the project, if anyone is interested in joining let us know.

3 thoughts on “Update on Cojiro platform development

  1. Pingback: Update on Cojiro | Global Voices Innovation Awards

Leave a Reply to Chris Salzberg Cancel reply

Your email address will not be published. Required fields are marked *