[Sugar-devel] My week on sugar-web

Manuel Quiñones manuq at laptop.org
Fri Jul 19 10:28:24 EDT 2013


Hi,

inspired by Suraj report, here is the progress I did this week on
sugar-web.


Bug fixing

- Fixed a bad positioning of toolbar buttons.  It was a case I haven't
  tried before, and Walter ran into it while doing his first webact.
  Thanks Walter for the report.  This is why we need more web
  activities to test the toolkit!

- I was following a bug report from Suraj.  Waiting feedback from
  Daniel, who did the datastore part.  Otherwise I'll jump into it.
  <https://github.com/sugarlabs/sugar-web/pull/66>


Toolkit (aka sugar-web)

- Did palette menus with clickable items.  See example in Memorize
  webact below.  I needed the palette menu for selecting the levels of
  difficulty of the game.

- Proper OOP (object oriented programming).  While doing the palette
  menus, I needed a way to properly inherit Palette, and pass
  parameters to the parent constructor.  So I researched a bit and
  found a solution that covers my needs.
  <https://github.com/manuq/sugar-web/commit/508ed9b85c7e931ef7fd90eddd3b605b9734de30>

- Mustache template system.  Also pop up while doing the palette menu.
  A template system is something all JS frameworks have, and it was
  already time to add it to ours, to improve the code that handles
  HTML.  I have choosen Mustache for its simplicity.
  <http://mustache.github.io/>

- Investigating multitouch.  I think we need to abstract the touch and
  mouse input events in sugar-web, as other web frameworks do.  Here
  is a nice library I'm looking at:
  <https://github.com/borismus/pointer.js> .  We could either use
  that, or do our own.  I started a sample activity to test
  multitouch, see Paint web below.


Web activities

- I started Stopwatch web activity.  To improve sugar-web, we need to
  exercise it.  As a little improvement over the GTK activity, the web
  clone allows you to add and remove stopwatches.
  * online: <http://manuq.github.io/stopwatch-web>
  * code: <https://github.com/manuq/stopwatch-web>

- Started Paint web to exercise multitouch, as described above.
  Currently uses EaselJS but is slow in my Android device, so I'll
  give a try with straight canvas drawing and pointer.js.
  * point your multitouch device to: <http://manuq.github.io/paint-web/>
  * code: <https://github.com/manuq/paint-web>

- Started Memorize web
  * online: <http://manuq.github.io/memorize-web/>
  * code: <https://github.com/manuq/memorize-web>
  * basic example: addition game
  * added levels of difficulty
  * added a few small CSS animations to give them a try.  Found that
    one is falling on Sugar emulator but not in Chrome (the end game
    animation).

- Improved Clock web.
  * online: <http://manuq.github.io/clock-web/>
  * code: <https://github.com/manuq/clock-web>
  * added verbose text using http://momentjs.com/
  * clock web: text toggles
  * fixed initial delay
  * use mustache as template system
  * better structured code
  * scale the numbers inside the clock


Sugar web documentation

- documented activity first steps, based on feedback from Walter

- while doing Paint multitouch, I was missing the inspector in Android
  Chrome.  Found it preety easy to use it remotely:
  <https://developers.google.com/chrome-developer-tools/docs/remote-debugging>

--
.. manuq ..


More information about the Sugar-devel mailing list