Mesh Labs

From OLPC
Jump to navigation Jump to search

SYNOPSIS

Mesh Labs is a mesh visualization XO application to provide alternative XO mesh visualizations. Intended for both developers and regular uses, Mesh Labs will provide 10 different views of the XO mesh network.


IMPLEMENTATION

This XO application will use the following libraries:

1. SDL ( Simple Direct Media Library )
2. sugar.*
3. possibly Cario
4. http://wiki.laptop.org/go/Low-level_Activity_API
  • Need to find out if there already exists a library for animating XO icons. Investigate PyGame, and how it draws svg images.
  • If not create animation library
    • rotate icons
    • resize icons
    • draw vector based lines
    • manipulate vector based lines
  • Verify that all signal strength information is available to the XO application via Sugar or the Low Level Activity

VISUALIZATION IDEAS

Linear Jump Frog

This first visualization is called "Linear Jump Frog". I thought it would be interesting to rank all users according to their signal strength.

http://www.jwtanner.com/images/svg/line1.svg

Then I thought it would be fun, to have the different users hop over each other as their signal strength increases.

http://www.jwtanner.com/images/svg/line1.html

Planet Activity

This next visualization is called "Planet Activity". The goal was to create a mesh visualization similar tot the OLPC neighborhood, but with space-like theme.

http://www.jwtanner.com/images/svg/planet1.svg

In this picture, the planets represent activities, the more popular the activity, the bigger the planet. If a user has not joined a group activity, he/she sits on an asteroid.

Bump Line

This visualization is called "Bump Line". Similar to "Linear Jump", this visualization shows the level of connected-ness by the size of the bump the users icon sits on.

http://www.jwtanner.com/images/svg/bumpline1.svg

As the users more around closer or further away, each users bump, increases or decreases in real-time.

Ski Jump

This next visualization is called "Ski Jump". Pretty simple idea, all users connected on the mesh queue up and take turns going down the ski jump. The users signal strength will determine the jump height.

http://www.jwtanner.com/images/svg/ski1.svg

As you can see on the left the users mark their jump height after every jump.

http://www.jwtanner.com/images/svg/ski1.html

In this animation, a user has increased his signal strength and moved up the height rankings.


PROJECT SCHEDULE

Before the official start ( May 10 - 26th )

  • Dive into the code for Sugar, Presence, Cario get to know the API's up close and personal
  • Do the current API's meets the requirements for this project? If not propose creating new API methods to meet the requirements or revise spec

Week #1 ( May 26th - May 30th )

  • Finalize spec with mentor

Week #2 ( June 2nd - June 6th )

  • Create 13 more visualization prototypes

Week #3 ( June 9th - 13th )

  • Pick the best 10 out of the 15 prototypes
  • Create icon animation library

Week #4 to #5 ( June 16th - July 4th )

  • Start XO Application
    • Implement first visualization

Week #6 to #11 ( July 7th to August 8th )

  • Implement the remaining 9 visualizations

Week #12 - #13 ( August 25th to August 29th )

  • Bug fixing and testing
  • Document any un-documented functionality