Projects/Wikislice
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
- integrate DITA topics using a DITA map derived from a wiki slice
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)
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.