Category Archives: Miscellaneous

Should Mozilla teach HTML5? YES!!!

Audrey Watters is conducting research on the question “Should Mozilla develop a tool to help the world learn HTML5?”. You can join her fireside chat on Thursday and see the interviews that she has already conducted. (If you are in Houston, like I am, I am sure the fire doesn’t sound appealing right now, but the conversation sounds good.)

My answer is YES!!!! And I am hoping Mozilla will build this teaching/learning/doing tool into WordPress so that two of my favorite ideas (other people’s that is) can come together. Earlier I blogged (One webserver per child) about Gardner Campbell’s call to action to give students control over their own web persona and information and I suggested that a simple starting point is a blog site that you control yourself.

So, why do I think these two ideas are related? A wordpress site, especially one that you know how to control and manipulate yourself, can be your resume, your portfolio, the place you show off your credentials formal and informal (badges!), the place you control what parts of your online social media you share and display, etc. So lets teach HTML5 right there. Where the code you create can immediately become a part of your portfolio. Where others can engage directly with you and your ideas.

The web development skills become relevant for everyone, not just future computer scientists. Artists and writers and managers and politicians and engineers all have resumes and portfolios and will need the skills to articulate their talents and ideas. Game designers can build simple demos right on their site. Want to collect some data and analyze it? Use your web skills to collect and analyze, and then display the results as part of your blog. Collect badges from various online classes and code academies and display them on your blog. Show off some fun math tricks with MathJax. The possibilities seem endless.

OERPUB: A community to create a flexible architecture for publishing and remixing OER (Open Education Resources)

I realize that we all want yet another mailing list to be on, but hear me out. A group of folks that participate on the Connexions’ Technical Committee wanted a way to broaden that discussion to the wider OER and OER tools community, attract new partners and collaborators, and yet stay focused on the principles of remixability. Thus was born the new oerpub-dev mailing list.

Draft Mission:

The next paragraph is how the fledgling oerpub.org website describes the group:

“We are a community that discuss and develop open source technology focused on designing, and implementing “An architecture for remixable Open Educational Resources (OER)”. OERPUB is not a single project but a collective where open source projects with the same goals can discuss the tools and architectures that work best for authoring, adapting, remixing, and publishing open education resources and then delivering them to the web, mobile, tablet, and print. If you are interested in advancing the tools that education authors use to create, remix, typeset and publish semantically rich documents, please join the discussion.”

In some sense we are still figuring this new group out as we go along. The idea grew out of the Connexions Consortium Technical committee and my Shuttleworth Fellowship to create a technical “roadmap” for remixable OER. specifically, textbook-like OER.

Some brief history:

  • Connexions Consortium Technical Committee formed 2.5 years ago and has always had non-consortium-member members and has welcomed anyone to participate. Right now it meets on a conference call every 6 weeks and in person once a year. When we last met, we decided to become part of a larger and broader group under this oerpub umbrella.
  • Connexions’ current architecture is a single interacting piece of software that is a repository, an editing environment, a quality control system (lenses), a search and web display system, and an engine for building pdfs, epubs, offline html packages, etc. It is hard to grow an ecosystem around it because components are not separable and APIs for interacting with the system are sparse.
  • I have been supporting components and API’s for remixability through my fellowship.The goal of the fellowship is to support a broad set of repositories and tools, while encouraging much more remixable OER content in general. I started out with a publishing API called OERPub based on SWORD which is based on AtomPub and now I am focusing on building converters and editors that help authors create semantically rich and remixable OER and then use the API to publish the content. SWORD is supported in a bunch of scholarly repositories so it creates opportunities for dual publishing and for sharing development of editors and composers.
  • Connexions is planning to rearchitect and wants to build components that are separate and communicate through APIs. They are also rethinking the semantic format that documents are stored in with a strong leaning toward a subset of HTML5 with additional semantic markup to do cool education-y things. So this larger group has an opportunity to influence those choices in ways that support the broader community.

Remixability:

I have always thought that Connexions’ vision captured the essence of remixable OER in the following principles:

  • Modularity — Rather than publishing complete works (books, papers, conference proceedings, courses, etc), it pays to support topical chunks that can be strung together to make many different collected works. Each topical chunk is reusable, adaptable and mixable.
  • Semantic document structure — Having a semantic structure makes things much easier to remix, because you can put sections together and have them flow smoothly. You can also do fancy things like pull all the glossary terms or exercises together.
  • Shareability — Making reuse licensing super easy. CC-BY is a simple, elegant choice for promoting maximum reuse opportunities. It really should be possible to mix other licenses in also, however, but more repositories will need structure that supports remixing.
  • Permanence — To build interesting systems that remix, combine, adapt, rate content, and so on, you really need to know the content is secure and uniquely addressable. When it lives on someone’s website, it could move, disappear, etc. Permanence makes the investment in reuse secure.

Participants and recruits:

The vision for OERPUB is broader than Connexions, though.

  • Siyavula, Flat World Knowledge, CK12, Saylor.org and others are all creating shareable content in semantic formats. They are interested in supporting remixability, but it is still a technical challenge.
  • Siyavula, OpenStax College, and various university presses support sharing and remixing their content, but still want a sophisticated and branded publishing system. One size fits all won’t work, but they could certainly share and adapt tools for producing PDF, EPUB, MOBI, Web Etc.
  • Wikiwijs and Vietnam Foundation (they use cnx software) have major OER initiatives and also would like to figure out ways to share technology and remix content. Projects like Booktype have infrastructure for supporting remixable content and creating multiple delivery formats from a single source.
  • Tons of universities are creating content and storing it locally as Open Courseware in DSpace/Eprints/Fedora/educommons repositories. If remix were easier to support, many of them would be willing.

My personal goals for the oerpub-dev list is to create the place to discuss (and develop and experiment with) an architecture for remixable OER that maintains the principles above, but is technically flexible and inclusive of a larger development community.

Some of the relevant discussions include:

  • How to use HTML5 as a semantic document format?
  • How to make really, really usable structured documented editing work?
  • When and how to build converters that help with remix — DocBook/CNXML/DITA/LaTeX — are all semantic formats that can translate fairly well one to the other.
  • What sorts of API’s should repositories “speak” to facilitate reuse of the code AND reuse of the stuff in the repositories?

Interested? Join us at oerpub.org, and oerpub-dev.

Google Summer of Code — Students get your applications in!

Attention students! We have a project to build a web application that imports slide presentations into Connexions accepted as part of the Connexions Google Summer of Code. The tool will help unlock original material in professors’ slides and will make it really easy to provide ancillaries that faculty need in order to adopt and use open textbooks.

Relevant Dates

  • March 26th – Student application period opens.
  • April 6th (12pm) – All applications must be submitted by April 6th. (Not sure which time zone 12pm is in.)
  • April 23rd – Accepted student proposals announced.
  • May 22nd – August 20th: Students coding!

Links

More about the Slide Importer Project

The author’s original slides can be in Powerpoint, OpenOffice, or Google Docs-Presentations. The web tool will create a module template with introductory paragraphs, publish the slides to a slide sharing site like slideshare, embed a web playable version of the slides in the module, and create featured links to download the original slides in an editable format. The resulting module might look something like this example published on Connexions. In addition to saving the original slides in the module so that teachers and students can adapt them, deposit the slides in a service like Slideshare or Google Docs Presentation so they can be embedded into the module. The tool could have an optional slot for audio/video to go with the slides. If there is time, test slides within mobile versions, and design ways for authors to specify alternate images for printing. These could be a single slide that represents the whole or a slide-by-slide print out. Finally, use the OERPub publishing API to upload the new module and resources to Connexions and publish the module. Future extensions to the tool could allow authors to use slides as the outline for an entire course or textbook.

Project Mission and Objectives:

  1. Some really valuable, original material is locked in professors’ slides. If they were easy to share they would.
  2. Open textbooks need ancillaries. Ancillaries are not well supported with cnx authoring, so this would make it easy to build a module per chapter with the accompanying slides. This in turn will help faculty adopt open resources.

Why you should apply to work on this project!

  • The work is open, so it is very easy to show off to future employers and future partners in an entrepreneurial venture.
  • The team has great mentors — eager to help, smart, open, global.
  • The work is creative — your contributions are in your control and your ideas are valued and supported.
  • The work is important — what we are doing is going to make it much, much easier for people to create, adapt, share, and improve education around the world.
  • The work is interesting — you will be working on user interface design, web design, using web APIs, and common web tools like Google Docs, Slideshare, etc.
  • The work is flexible — you work around your schedule and location.
  • The work is impressive — It shows off a lot of skills and attributes that are not typical in an undergraduate education — entrepreneurial, creative, experimental, etc.

Implementation Ideas and Resources

An existing general purpose module importer that converts documents to CNXML (the semantic format of Connexions modules) is available as a model for the new slide importer. The code is written in the Pyramid Web Framework in python. It uses a python SWORD library to publish the modules to a service in Connexions. SWORD is based on AtomPub.

Skills

  • Programming skills : Javascript, Python (knowledge of pyramid/ZPT/Chameleon is a plus)
  • Basic knowledge of XML and HTML
  • Usability and visual design skills a plus

Mentors

  • Marvin Reimer, one of the main programmers that built the Connexions Importer and a former Google Summer of Code student is available to mentor for this project.
  • Kathi Fletcher, who is fostering an ecosystem of tools and services around open repositories like Connexions, is also available to mentor and provide user interface design support.

Connexions Conference Sprint Day 1!

We had a fantastic first sprint day after the Connexions Conference. Over 50 people, from all over the world were here. We had user interface designers working on Connexions, OERPub, and Siyavula, content entry and enhancement sprint working on a Life Sciences textbook and procedures for Physics teaching materials planned, developers sprinting on Connexions, the OERPub Connexions Importer, and a new Visual Editor for Semantic/Structured Documents.

Sprinter photo by Daniel Williamson

Below is a brief list of the checkins the groups did at the end of the day.

Design Sprint

  • Connexions importer at oerpub.org : Got advanced mode options compact on each page
  • Designed workflow for creating new versions of documents


Content Sprint

  • Disastrous morning — initial document had unexpected structure (a table inside a heading). Lots of struggling – also known as learning!
  • Got over half the textbook in in the afternoon after the nuclear option (cut and paste the document with all formatting removed). Then put the formatting back in. As the importer improves the nuclear option should be needed less often.

Repeatable process for St. John’s Physics content

  • No complete solution yet.
  • Open Office — better for general audience, but converted all math into inline math
  • LaTeX — problem with math fonts on mac

Bug fixes on Connexions

  • Took a while to get up and running. Easter eggs in the buildout
  • Fixed a handful of bugs
  • Cancel button for banner color so doens’t change if you haven’t gotten it right
  • Collection rendering improved
  • Login status improvements
  • Design for editing the modules (content) in a collection being derived

OERPub Connexions Importer bug fixes

  • Fixed red text processing that was going wrong, better id gen
  • JP enhanced client to use public google docs URL, button disabling
  • Ying fixed google new stylings bug
  • Various other bugs
  • The fixes will help both cnx and oerpub

Visual editor

  • Looked at Aloha, TinyMCE, WYM editor
  • Aloha doesn’t work on ipad
  • Mercury — in place DOM editor, works on the ipad — looks well structured, easy to extend
  • Wym focused on semantic editing
    • difficult to extend — too strict, has javascript hand xhtml parser — would be a lot of work.
  • TinyMCE — plugin created for adding exercise, auto numbers, validation next.
    • Mapped a small snippet of CNXML to HTML with microformat and microdata. TinyMCE handles both. CSS3 to style.

Project plans for 2012

I am thrilled to report (a bit belatedly) that my fellowship with the Shuttleworth Foundation has been renewed for another year and I have big plans for the next year (along with the team of designers, developers, testers, open ed collaborators, and students working with me so far)!
Year 1 Review and Year 2 Plans

In Year 1 we:

In Year 2 we plan to:
  • Work with specific OER producers and help them publish their content efficiently while making it remixable using the OERPub tools.
  • Create an easy to use visual editor for the importer to create a full service “Massive Content Enabler”.
  • Expand OERPub to include common APIs to make open assessment banks interoperable.
References
I am always looking for more people to get involved so if some aspect resonates with you, please get in touch.