OokOok Progress

OokOok is coming along nicely. It's been a couple of months since the last update, so I'll outline a bit of what I've done since the last post.  I'm nowhere near being able to throw up a demonstration server for anyone to play with, but I'm getting closer. With a little more testing, a reasonably decent administrative interface, some simple themes, and full authorization management, we'll be good to go on a first demo. I'm aiming for the end of the year. I'm trying to think about what a good, simple demonstration project might be that is just text on-line. Perhaps a curated collection of creative-commons licensed works on a subject?

OokOok isn't meant to do everything for everyone. I'm designing it with opinions. I think they are well researched and thought out opinions, but they are opinions. I hope the pros can outweigh the cons, but that's something you'll need to decide when considering which platform to use for your project.

I'm designing the system to enable citation, reproduction, sustainability, and description. You should be able to point someone at exactly the version of the page that you saw (citation), be able to see the same content each time you view that version of the page (reproduction), see that content "forever" (sustainability), and leverage computation through description (composing the rules) instead of prescription (composing the ways). I've based all the opinionated choices in the system on trying to meet the needs of those four "axioms."

At this point, OokOok has rudimentary support for themes and project sites. OokOok manages the two separately. A project will select a theme, but won't create or manage the theme. Think of a theme here like you would in a program like Powerpoint or Keynote. It will have a set of masters and some tunable parameters that you can use to customize the theme, but you won't have to (or be able to) worry about color coordination, CSS, or grid frameworks. When working on a project, you'll just focus on the content. This is a lot like working with a traditional publisher.

I'm setting up management boards to run projects. Any time you create a project, you'll automatically create a board with you as the single member. Think of boards as filling the role of guilds or clans in MMORPGs. Boards will have ranks, and ranks will have members and permissions. You'll be able to bring people into the project and manage how they take part. As they gain your trust, you can elevate them in rank, giving them greater leeway in the project. Anyone who wants to take part in the project can apply to the managing board. This is part of making digital humanities social and opening it up to people outside the academy.

Projects have editions. You publish changes in the project by creating a new edition. Once you create an edition, it will be there forever. This means you can work on several aspects of your project without worrying that pieces will be out of sync. Once everything is back together, you can push the big, friendly "Create Edition" button and everything will be available for the world to see. All earlier editions will also be available, but anyone visiting your project will see the current, default edition unless they are following a time-based citation to a particular edition.

Identity management is an area that has gotten other projects hung up. I'm not worried about providing or restricting access to what others have already done, just as I'm not concerned with OokOok keeping what anyone has already created. Instead, I'm looking to the future. OokOok is about what you will build and whom you will build it with. We don't need to restrict access based on institutional affiliation, especially when most people in the world aren't affiliated with an institution. I've tried to offer identity management before in other projects and found it a pain to get right. OokOok will make use of widespread social platforms to manage identity. At first, I'll use Twitter, but I've designed the system to allow other logins, so we can expand to Google or Facebook in the future.

I've attached some screenshots showing a simple theme and a project with a single page of text. Nothing fancy, but it shows the pieces working. They look a bit different from the screenshots from May. I've moved to an administrative interface that uses Twitter Bootstrap and mimics the admin UI from Radiant CMS. It's clean and simple.

The next few weeks will focus on the management board admin UI, adding child pages, and previewing themes. After that, I'll look at adding some social features such as following a project or providing an RSS feed of project changes as editions roll out. There's still a lot of detail work to make sure we get security right, but the broad strokes are coming together.