Projects/Wikislice
See also the Wikislice and DITA pages, and the WikiBrowse project
Project Page: OLPC/DITA/Wikipedia/Wikislice project
Team mission
To deliver a proof of concept that demonstrates how to create custom curriculum materials from Wikipedia for OLPC. Our objectives include:
- use DITA to pull the resources from Wikipedia
- deliver Wikipedia resources in an interchange-friendly and semantically-rich set of DITA-specialized topics that can be used as classroom materials
- integrate DITA topics using a DITA map derived from a wiki slice
Join us!
We're looking for volunteers! Specifically, we're recruiting XO teachers to help us identify design requirements and provide feedback on our approach and prototypes. Because this project is designed primarily for the XO teacher, we have a major dependency on XO teacher insights to ensure the success of this effort. In addition, we're looking for members of the OLPC development community to collaborate with us. So... interested in a humanitarian project that also includes cutting-edge technology and complex content management? Join us! Please comment to this page and provide your email address if interested -- Alyson Riley, our team's project manager, will contact you to discuss your interests and opportunities, as well as your participation level and available time commitment.
Team members
Members of our team include:
- Alyson Riley
- Andy Stanford-Clark
- Anne Gentle
- Laura Cowen
- Michael Boses
- Michael Priestley
- Salim Ismail
- SJ (Samuel) Klein
- Tom Deutsch (declined; attempting to identify replacement)
Team meetings
Team meeting details are as follows:
- Regular meeting day: 2nd and 4th Thursday of the month
- Note: we'll be slightly off-schedule in the month of May, and will meet on May 22nd and May 29th -- we'll then resume our regular 2nd and 4th Thursday schedule starting on June 12th
- Regular meeting time: Thursdays, 08:00PDT/10:00CDT/11:00EDT/16:00BST
- Conference call number: 877.421.0003 (US), 770.615.1374 (UK)
- Conference call passcode: 499831 (followed by the # sign)
See below for meeting minutes; the most recent team meeting appears first.
Team meeting, 29 May 2008
Invitees: Alyson, Anne, Andy, Laura, Michael P, Michael B, Salim, Tom (regrets)
Agenda:
- Review of team to-dos from the previous meeting (everyone)
- Excellent news (Laura)
- Efforts to add additional team members (Michael)
- Work time: continue to flesh out use cases (everyone)
- Additional team members. MichaelP has sent notes -- (1) Travis from wikiHow (original connection to OLPC and Wikipedia, might like to get back involved now that we're closer to having something real); (2) Scott Abel from Content Wrangler -- has been pushing Web 2.0, content management, and DITA to his audience and is interested in connections in this space; and (3) SJ, trying to get us access to our target users, teachers with whom we can validate use cases. Andy -- what about Sugar Labs (OLPC software, split out from OLPC)? Development using Sugar-based platform for low-end development for educational purposes. Michael -- need to be able to operate with other kinds of software as well.
- Laura's big news. IBM has agreed to fund an "Extreme Blue" project -- means we'll have 4 students to work with us on development for this project, starting June 23rd. Woo hoo! Lots of discussion on this topic.... Where to focus these students? Start with the Windows option -- bottleneck is getting the content out of wikipedia, into the standalone consumable form (the DITA map and topics). If we can focus there, that's an intermediate function that we can show off and then use for additional work -- subscription model, feedback, coordinate with Sugar Labs to broaden scenarios. First job should be getting a local copy of the DITA content extracted. If we can have Windows running on a laptop, then that means we can use the InVision Word-based DITA editor to work with the DITA content locally with the DITA Open Toolkit as the publishing engine. Needs to be a lightweight editor -- concern that Windows runs slowly on the XO laptop. Key challenge: can't assume that the teachers will have good laptops for Windows. Need to focus on open source -- Sugar is Linux-based. At the very least, we'll have the teacher consumption scenario (they have a PC running Windows) -- in that context, there is room for the InVision editor. First, get the content out of wikipedia -- then diverge along either a Windows or a Sugar path. InVision will contribute the DITA editor but understands there is a Sugar path too. Need to define a workflow based on types of inputs and types of outputs. DITA Open Toolkit runs on any platform. The DITA editor is our sticking point. Not sure how far we can slim down the DITA OT tool stack. If this part of the workflow is on the teacher machine, we can get it working for scenarios where they have a more powerful machine, then focus on getting the processing requirements down over time. Start first with cross-platform. DITA OT works on Linux and Windows. For EB project, the funders were interested in connection between the local copy and the copy online. MichaelP: get the local copy, design work around what the DITA markup will look like and where we want to store time stamp (when extracted, last changed server, last changed locally), tool that runs on demand when there's a net connection that goes to wiki and gives a list of changed and new topics in the map selected that I have a local copy of. Standard diff between local and server copies, let people decide how to resolve. None of this involves the editor yet. Can use the InVision editor or a free Linux editor (though there are usability issues with the Linux editor). For the EB project, need to demonstrate this working with a swappable editor -- the editor component is left to the community to develop and the audience to choose. Our focus: get DITA content out of wikipedia, reconcile changes, and push select feedback back to the wiki).
- We need XO teachers! Need to focus on this for next meeting. Hoping that Michael's note to SJ will generate some progress. Worst case scenario: use any teacher. What kind of teacher? Long-term: non-US, non-native speaker of English, experience preparing lesson material for 8-year-olds, environment characterized by extreme lack of resources. What does it mean for a teacher to take content from wikipedia and make it useful? Laura might have a contact with a couple who have this experience in Africa. Agreement that language issues are a future thought. Need to find someone from key target countries (needs to speak English for us for now). Differences in the way people teach in different countries. If we only got teachers from England and Canada and the way they teach is radically different from how the user teachers work, then we'll mis-gear the solution. Need to get real data on job role, job skills, actual work method. First let's find someone who's taught 8 year olds, then try to find a representative user who can address the cultural and environmental issues.
- Comment: start with someone fluent in English to help revise what to ask for. We could then find a teacher in Brazil / Peru / Haiti... It might be useful to work through this for an English-language teacher in the US as well as long as that doesn't throw off longer term sol'ns.
- Use cases. Will do further drill-down with students so they can participate and help drive the learning and design process.
To-dos:
- Andy to contact Sugar Labs to explore their involvement.
- Laura, Andy, Michael, and Alyson to meet next week to nail down details for the Extreme Blue student project -- will bring details back to this group.
- Laura to contact SJ about a development contact for the EB students (and copy Alyson).
- Laura to contact her XO/Africa couple about possible involvement. And blog, too!
- Anne, Alyson, Michael to increase focus on getting teacher involvement.
- Alyson to touch base with Salim on his involvement.
Team meeting, 22 May 2008
Invitees: Alyson, Anne, Andy, Laura, Michael P, Michael B, Salim, Tom (regrets)
Agenda:
- Need a note-taker this meeting(Alyson has to leave early).
- Review to-dos from last meeting.
- Drill down on use cases.
Discussion notes:
- Anne hadn't filled in the tools needed or identified the gaps in the end-to-end use case yet, so we discussed where those can be filled in. Also, Anne will add the main success scenarios and identify actors for the use cases she added in the previous weeks. The tools identified so far are: DITA export from Wikipedia (MediaWiki engine), DITA content editor on the XO laptop, and a DITA map editor on the XO laptop.
- Related to tools, there are some relevant announcements from OLPC for our project. One is - the XO laptop will run WinXP and contain Microsoft Office by the end of the year, likely in the September 2008 time frame. I've been reading as much of the news as I can about the Windows on the XO computer, and I have to say the best essay for helping me understand the background is [Ivan Krstic's blog entry]. Also informative is the [New York Times article]. And I also found the [Microsoft Unlimited Potential blog entry rather informative].
- Related to educators, Anne and Alyson emailed folks from the Dallas-Fort Worth deployment of XOs as well as the Birmingham, Alabama deployment, asking for teacher participants in the project. We'll let the team know who is interested, and the request seemed well-received. Once we have tasks for teachers, we can touch base with them again.
Team meeting, 1 May 2008
Invitees: Alyson, Anne, Andy, Laura, Michael P, Michael B, Salim (regrets), Tom (regrets)
Agenda:
- Administrivia: (a) we've got a meeting time!; (b) user profiles/pages; (c) rotating minute-taking.
- Review SJ's email response to 16 April team meeting.
- Review homework from last team meeting -- begin work on use cases.
Discussion notes:
- Benefits of DITA: (1) consumable resources, (2) preserve template outside of wiki environment
- Assume we have DITA specializations for wikipedia article types (historical person, animal, country)
- We don't reorganize wiki pages, we reorganize the map -- wikislices then point to whole articles and sections (teachers can edit the map to point to what they want)
- Pages have anchor tags/sections
- Not a wikislice because we're authoring on the local machine, it's a DITA slice -- you create a new parent node in the map with a short description or a new topic on the local system -- "glue content," create new topics -- scenario use case is "creating new content" for teacher use case (not just reordering and edit) -- this is a local operation
- Editing in Word not possible because Word doesn't run on the laptop. We will need a local DITA editor on the laptop (tool requirement!)
- Tools involved: editor, generation step from wikipedia
- Student team might be available in IBM Hursley to help us build this tool if we have requirements specifically defined. Should know within a month whether it's available.
- Our team goal: get to very specific use cases
- For the future: teacher might be using their own laptop or PC -- with PCs in the US scenario, high chances that they'd have Word and therefore Word docs that they might want to add to the wikislice. Need to address international scenario.
- Would In.Vision play in this scenario? Would need low-cost version, lots of people using it! MichaelB absolutely sees this. Some good profile-raising opportunities.
- Editing environments: on the wiki, on the XO laptop, on a non-OLPC PC
- Need to work with Salim -- he has connections to companies developing OLPC tools -- is there a connection there for the editor?
- Usability is a huge issue -- Michael's company has a lot of expertise on usability in the DITA editing world for the student project -- which bit is most appropriate for the student development?
- Need to define the requirements/purpose so we can shop around for development resource
- Need more external awareness -- needs to be a development community around OLPC and wikipedia -- SJ is our contact to both
- We need to figure out our requirements, value-add, etc. to generate that interest from the OLPC development community
- Need to drill down into scenarios with specific tasks - what, why, how
- First pass at a basic comprehensive use case from Michael below
To-dos:
- Define details and specifics underneath Michael's simple use case below -- Anne to take first pass
- Michael to create blog entry to try to generate interest
- Anne to talk to local teachers to see if there's interest in helping us
- Alyson to try again to connect with SJ on meeting times and finding teachers to help us with participatory design/usability validation
- Alyson to connect with Salim -- get him up to speed, issue on connections to other companies (specifically: he mentioned that he knew some folks in startups that were focusing on tools for the OLPC)
Team meeting, 16 April 2008
Attendees: Anne, Andy, Michael P, Michael B, Alyson
Minutes: (post-meeting comments from SJ Klein added -- look for **SJ)
- Draft audience descriptions for DITA/OLPC project: We're looking forward to having the information below confirmed and enhanced with input from SJ and this group -- this will be the bulk of today's discussion. As you can see, there are some questions (and I'm sure you have some, too!) that need answering.
- our team's goal: bundle wikipedia articles together for children to consume as curriculum (**SJ: "Perfect. Zdenek as you know has been working on generating bundle-sets. There are also a few childrens-encyclopedia projects underway."**)
- actors for a wikislice:
- content consumer.
- kids have to be able to read/interact with the slice, that it makes sense relative to what else they're studying (**SJ: "Interaction is important here. How does annotation reflect/pass up the chain?"**)
- teachers -- teach in the material in the wikislices to the kids on the XO (primary consumers)
- teachers also provide feedback to wikipedia -- requests for slices, requests for enhancements/functionality for slices (**SJ: "Requests are particularly important."**)
- Andy: they go get the slices, press a button, and out comes a bundle
- Michael: pure Wikipedia scenario -- situation where some of the resources they want are in Wikipedia but some are coming from another resource (ideally in DITA, DITA is the common currency), then they might start with a wikislice but will end with something that is a custom thing with pointers to some wikipedia sources but also some from other collections -- the wikislice is just a starting point for a curriculum design exercise.
- Michael/Andy: need to guarantee that wikislices are in synch (that everyone is teaching from the same material). The school would have the main repository with the internet connection, and the kids would connect with each others PCs and the central repository -- update would happen on the central repository and kids would synchronize from that. Potential to be an automatic update. Might want to have an automatic inform ("FYI, there are updates available, come get when ready"), rather than forced. Teachers could preview that update is appropriate.
- Anne: blue and red indicators that show a wikislice article has info about butterflies but article doesn't exist yet (red=not populated, blue as soon as something was there?).
- Michael: may be as simple as in the local DITA copy (of the wikislice or of the individual article resources), make sure we include a time stamp -- then when the kids have an internet connection run through the time stamps and compare to time stamps on remote connections. Need to optimize this. If local resources has been edited since last download, then it kicks off a comparison workflow -- "grab the updated copy but create a new version of the document and enable side-by-side viewing."
- New audience: local curriculum designer/deployer -- makes decision of what wikislice to grab and whether or not to edit it.
- content creator
- person with global view of subject organization who does organizing of the content of the slices
- person with detailed subject matter knowledge creating articles (may not even know their topic is part of a slice)
- question: teachers creating wikislices? teachers collaborating with wikipedia about content of a wikislice?
- question: who makes the indexes (subject index and title index)?
- (**SJ: "Teachers, students, parents, subject experts, enthusiasts, global educators."**)
- content maintainer
- someone (teacher? wikipedia people? system?) ensuring that the content of a wikislice is up-to-date and accurate and appropriate
- (**SJ:"Systemic prsentation of data on last-update, the existence of newer versions, etc."**)
- content packager
- person who decides that the content is ready to be packaged and deployed on the XO laptop
- question: not much interaction between teachers and wikipedia regarding creation of wikislices?
- question: wikipedia folks want primarily people experienced with wikipedia creating wikislices? (**SJ: "But to create a good wikislice, someone needs to be able to contribute in a way that is meaningful to other creators; that sort of specfic experience is a matter of fluency with the available tools."**)
- content consumer.
- Wikislice examples from Anne for your awareness:
- Administrivia
- Team agreed to regular meeting time of Thursdays, 10AM Central. Alyson to confirm with those who couldn't make today's call.
- For next time:
- Team: brainstorm individually on use cases based on updated audience descriptions; come to next session prepared to discuss. Store results of individual use case work in wiki.
- Anne: create OLPC wiki space for us to store team documents. (done, you're looking at it now)
- Alyson: send minutes and suggestion for regular meeting time. (done)
Team deliverables
Please use this place to store team work items and outputs.
Audience/Actor descriptions
See also descriptions and discussions in Apr 16 meeting minutes.
- content consumer; teachers, students
- content creator; teachers, students, parents, subject experts, enthusiasts, global educators
- content maintainer
- content packager; Someone familiar with existing tools
Use cases
This section contains work-in-progress use case information.
Use case input
Use case 1: End to end, creation to updates, main success scenario
- a person who is a wiki editor creates the wikislice,
- teacher downloads it as ditamap plus dita documents (1 document per page/wiki article, multiple topics per document) and customizes it (potentially targeting individual topics, other topics from other wiki/source) and sends feedback to wiki editor
- student reads it and comments and does an assignment
- teacher grades the assignment and sends more feedback/changes to wiki editor
- wiki editor makes changes
- teacher is notified and makes the decision to update three of the content resources but leave the others, and repackages for student
Use case 2: Reading a wikislice on the XO
- Wikislice available on the Internet or school server,
- Student or teacher selects relevant wikislice by using the Browse Activity
Use case 3: Creating a wikislice, deploying to XO for offline or online reading
Use case 4: Refreshing a wikislice, deploying to XO
Use case 5: Updates, deploying to XO and sending updates to Wikipedia
Useful Links
Useful Background Information
Paraphrased from an email from SJ Klein, November 20, 2007:
"We need to implement concrete use cases, using DITA with an editor and publishing pipeline. Say, use the DITA open toolkit, a specific editor, and one of the wikiproject:wikislice slices, and trying to keep up with changes to the slices.
My default for the 'final format' of the edited work would be an html collection, one html file per article, that preserves internal links to other articles in the slice, and leaves out broken links (or converts them into external links to wikipedia).
Identify added value that can come from having this structure to the data, other than identifying red/blue links.
Then it would help to contrast using DITA as an interchange with some of the simplest options: - using no metadata at all and having a named URL that always contains the latest version of a wikislice - using a static set of metadata that get updated when things change, along with a version number that is incremented."
Michael and SJ discussed a few core use cases: maintaining and updating a stream that many people may be contributing to; and maintaining the latest version of a package that many people may be committing to, and which has some sort of 'latest' version.
Some distinctions to be made follow. It would be interesting to see specific implementations of the following notions in DITA format. 0) distinguish map updates from content updates
1) distinguish streams from patch updates to a static object that 'improves' over time
2) provide for pre- and post-filters; a pre-filter might be by keyword; a post-filter might be a transparent redirect fopr links that don't exist locally; keys that are resolved locally or externally.
3) other dimensions for feeds/streams:
- read-only v. read-write intearction with both streams and packages. Think of the latter as "two-way streams" and "distributed patch updates for packages" - linear v. distributed orderings (a single time-ordreing, or a distributed patch-ordering) - whether there are constraints that need to be applied when things are edited for read-write collections. michael : "export v feed"? perhaps the wrong term.