Poll Builder
From WorldWideWorkshop-OLPC wiki
| Summary |
|---|
| Tickets: Trac |
| Source: Git |
Contents |
Latest Development Updates
[Date/Name]: Add entry here
[10/29.07 Morgan]
Uploaded Poll-11.xo which has Rich's new icon.
Uploaded Poll-10.xo which has the mesh status bar functionality added (which only works on the latest developer joyride 138+ builds). This bundle will still work on Trial 3, build 622, but the alerts won't display.
[10/27/07 Morgan]
Uploaded Poll-9.xo to allow multiple votes on one XO, to allow for recording of votes of non-XO users.
[9/27/07 Morgan]
Uploaded Poll-7.xo to handle changes in Sugar between Trial 2 and Trial 3 which resulted in Poll Builder not working in the latest development builds. Use this build in the next MaMaMedia release, assuming you will do one after Trial 3 is finalized.
[8/13/07 Morgan]
Uploaded Poll-6.xo which re-enabled lesson plans which had been temporarily disabled during mesh testing (as the AbiWord widget added a lot of unnecessary entries to the log files).
[8/10/07 Morgan]
Uploaded Poll-5.xo which fixed a missing file in Poll-4.xo
[8/09/07 Morgan]
I've uploaded Poll-4.xo for the v1.1 project milestone, which implements Mesh sharing. It requires build 452, the Trial 2 version.
I have had to convert Poll Builder to use the Sugar journal, which we had agreed was out of the scope for Poll Builder 1.1 but I needed to do it anyway as the way data was stored needed to be changed to handle how it is being transmitted over the mesh.
To run it, you must launch Poll Builder from the frame on one XO, share it using the toolbar at the top, and then on another XO you must launch it from the mesh view not the frame.
I'll add more info here after more testing.
Description & Goals
Summary
The Poll activity is a simple poll tool that allows children to express their opinions on a given topic by selecting one of five answer choices and submitting a vote. The results are tallied by total number of votes and percentage of total votes cast for each choice - like the usual web polls.
The existing Kids Say Poll could run “as is” in the Sugar environment, and could be accessed from its current location via the internet. However, we wish to have Poll Builder run locally (no internet connection required). We also plan to enhance the functionality so kids can create their own polls and vote on one another's polls via the mesh. Because Sugar is itself a pygtk application, it makes sense to rebuild these applications in pygtk too.
Goals
The Poll activity is based on MaMaMedia.com's Kids Say Poll. However, instead of a web application it is to run on the XO assuming no Internet access, and take advantage of the mesh sharing features.
Children should be able to:
- View a poll created previously
- Create a new poll with a title, a question and five answer choices
- Vote in the poll
- The intention is that when the activity is shared over the mesh, each child's vote is counted only once, tracking some anonymous unique identifier for each XO against that vote.
- However as a prototype, before sharing is implemented, the activity will allow voting multiple times in the same poll, to demonstrate the concept.
- View the running total showing the total number of votes cast as well as a bar graph showing votes for each choice.
- Function to close the poll to new votes
- Function to reset the poll data back to zero votes (for testing purposes)
- Storage in the Data Store to be accessible via the Journal.
- For sharing purposes, each vote should be stored, anonymously yet such that an XO cannot cast two votes.
- The vote database gets shared across the mesh, and votes on other XOs are merged back onto the XO that created the poll.
Collaboration
- Kids can access and vote in one another's locally saved polls from their own XOs.
- Polls can be shared over the mesh multiple times (e.g. X can share it with Y who can share it with Z.)
- Data from remote votes will be merged back to one location (poll author's XO or the School Server) for tracking totals accurately.
- This requires including the author's XO ID in the shared data. Other XOs will update back to this machine where possible.
This design to change according to what is possible with mesh sharing...
Visual Design
Media
| Document | Description |
|---|---|
| Kidspoll.zip history | Graphic assets (PSD/.ai) from the original HTML Kids Say Poll on MMM.com |
| Poll_wireframes.ZIP history | Wireframes depicting suggested interface screens and layout for Poll Builder |
| GameLogoCharacter.psd history | NEW .psd file for updated MaMaMedia logo and character (to be included on activity interface in upper left) |
Screenshots
Project Specification
Version 1.0: Kids can build a poll that runs locally on their own XO
Due: May 21, 2007
Description: Kids create a poll question with up to five answer choices and publish it on their own XO; Multiple votes can be cast locally (on the same machine.)
Functionality:
- Ability to create a new poll with a title, 1 question, 5 answer choices
- Unlimited voting in the poll (v1.0 will not enable the requirement that a child may vote only once in the poll. This will allow for multiple votes on one laptop since kids can't vote via the mesh yet)
- Display running total with number of votes (numeric tally) and percentage of total votes cast (bar graph) for each answer
- Ability to “Close” the Poll to new votes
- Ability to “Reset’ the Poll so votes are at zero
Storage of Polls:
- Polls will be stored in the Data Store to be accessible via the Journal. The storage space required for version 1.1 depends on the number of votes, since each vote will be recorded with an anonymous identifier to prevent counting multiple votes from the same XO. It is anticipated that 1000 votes could be stored within 50Kb with 1Kb overhead for the poll details, so while they are not unlimited they will be much smaller than output generated by other activities.
- The data storage will record the votes anonymously so that a given child's vote cannot be extracted - but in such a way that a different set of results from a different laptop could be merged back to give correct totals.
Version 1.1: Mesh-based sharing of (and voting in) polls
Due: July 31, 2007 (assuming mesh functionality is stable for use in development)
Description: Kids can access and vote in one another’s locally saved polls from their own XO. Polls can be shared over the mesh multiple times (e.g. X can share it with Y who can share it with Z). Data from remote votes will be merged back to one location (poll author’s XO or the School Server) for tracking totals accurately. This requires including the author's XO ID in the shared data. Other XOs will update back to this machine where possible.
Functionality:
- Use Telepathy for interacting with other XOs
- Share a poll with a buddy (shares application and current data)
- Update author's XO or server with current data (If the author's XO, then the author will need to run the poll activity as a background activity to receive the updates.)
- When receiving data, author's activity eliminates duplicates and updates votes with the latest vote from a given XO
- This will involve a lot of testing to check that it works on multiple XOs and the server
Development
Current Status
- Tickets for open items to be found here: Trac
Source
Packages
Latest
- Poll-11.xo.zip history - works on Trial 3 build 622 but requires joyride build 138 or newer to show mesh event alerts.
- Allow multiple votes on one XO, to allow for recording of votes of non-XO users.
- Mesh "status bar" alerts when somebody shares a poll with you or votes on a poll.
- New icon
History
- Poll-1.xo.zip history - works on Build 432
- Poll-2.xo.zip history - works on Build 432
- Adds MaMaMedia graphic design, saving/loading polls, closing polls with maximum number of votes
- Poll-2.xo-jun13.zip history - works on Build 432
- Adds most of outstanding items
- Poll-3.xo.zip history - works on Build 432
- Complete v1.0 version
- Poll-3_20070618.xo.zip history - works on Build 432
- Lesson plans added
- Poll-3_20070620.xo.zip history - works on Build 432
- Handle long text
- Poll-3_20070621.xo.zip history - works on Build 432
- Handle long title and question, better line under totals, make lesson plan button say close lessons when open
- Poll-4.xo.zip history - works on Build 542
- Mesh Sharing of Polls
- Poll-5.xo.zip history - works on Build 542
- Mesh Sharing of Polls - fixed missing file
- Poll-6.xo.zip history - works on Build 542
- Mesh Sharing of Polls - re-enabled Lesson Plans which were disabled during mesh debugging
- Poll-7.xo.zip history - should work on Build 600+ (and not on 542).
- Changes in Sugar since Trial 2 which prevented Poll Builder from running on the latest builds.
- Poll-9.xo.zip history - requires a Trial 3 build - anything 600+ should be fine.
- Allow multiple votes on one XO, to allow for recording of votes of non-XO users.
- Poll-10.xo.zip history - works on Trial 3 build 622 but requires joyride build 138 or newer to show mesh event alerts.
- Allow multiple votes on one XO, to allow for recording of votes of non-XO users.
- Mesh "status bar" alerts when somebody shares a poll with you or votes on a poll.
Development Process
Feature Requests
- Capacity for Multiple Polls
- User should be able to save multiple polls locally. Currently you can save one poll. When you create a new one, it overwrites the old one.
- When more than one poll exists, user should be presented with a list of polls to choose from. (See new wireframes for more detail.)
- Results
- Results should include a bar graph with % of total on or next to it.
- As soon as user votes, the results should appear.
- Could you display the results should on the Voting page, rather than a separate Results page? If not, then just autoload the results page after a vote is cast? (Mainly I don’t want the user to have to click a button to find the results.)
- See "Vote" screen in attached wireframes for more specifics
- New Poll screen
- Let's call it Build a Poll (in keeping with the app name)
- Please make Text entry fields longer. Allow space for a full sentence in each field.
- User should be able to turn the poll on/off
- User should be able to reset the poll counter
- See "Build/Edit poll" screen in attached wireframes for more specifics
Implementation Discussion
- Lesson plan to be provided by Shannon
- MMM Activity Menu - find out more about Sugar view on splash screens like Tamtam uses. I think they are discouraged... Shannon checking with SJ.
- TamTam's is gone now. How much of this is 'Activity' and how much is a view that could be, say, a subselection of icons in the bottom bar of the frame? Note that there is a fine lineSj 15:47, 12 September 2007 (EDT)
- Language selection - idea is to allow kids to easily select different languages to see that others round the world are using it.
- Noted in call with Shannon that Poll Builder won't have translations with the stuff the kids entered, only the default activity text.
- Starter Poll: Favorite Color
Version History
Resources
Lesson Plans
Downloadable Poll Builder Lessons Plans (in English)

