User:Prakhar/Weekly Updates: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 52: Line 52:
* Struggled a lot with multiple-screen interface implementation. To explain a little:
* Struggled a lot with multiple-screen interface implementation. To explain a little:
Screen 1->Click button->goto Screen 2->Click button->goto back to Screen 1.
Screen 1->Click button->goto Screen 2->Click button->goto back to Screen 1.
** I was unsuccessful to implement this, despite consulting with many people including tomeu, eben, cjl and many more in #pygtk channel. The whole week went searching for a possible way to do it but could not find it.(I'm sure there is a way that I'm missing)
* I was unsuccessful to implement this, despite consulting with many people including tomeu, eben, cjl and many more in #pygtk channel. The whole week went searching for a possible way to do it but could not find it.(I'm sure there is a way that I'm missing)
* During my quest to satiate my hunger for above implementation, I stumbled upon an interesting finding: most of the activities in XO are single-screen based; everything happens within a single canvas, there's no shifting of canvas etc..
* During my quest to satiate my hunger for above implementation, I stumbled upon an interesting finding: most of the activities in XO are single-screen based; everything happens within a single canvas, there's no shifting of canvas etc..



Revision as of 22:59, 13 August 2008

TYPING TURTLE

This page summarizes various activities that have been a part of the development process of game based typing turtle activity.

May 1-May 7, 2008

  • Introduction period with my mentor Mr. Wade Brainerd and co-developer Ms. Kate Scheppke
  • Laid out plans with my mentor. Kate will work on basic typing activity and I'll work on game-based typing activity.
  • Studied various current typing games like TuxType.
  • Wade conducted a survey to examine our present technical background.
  • Wade prepared a short tutorial for us to refer to equip ourselves with required technical skills.

May 8-May 19, 2008

  • Went into university exams. No progress.

May 20-May 27, 2008

  • Started reading about Sugar HIG and Sugar Activity Tutorial
  • Switched from Ubuntu to Fedora.
  • Emulated the Sugar environment on my PCs.

May 28-June 4, 2008

  • Started working on the game designs.
  • First mock-ups released.
  • Received my XO-1 on June 3
  • Dedicated 2 days to explore the XO environment.

June 5-June 11, 2008

  • Attended a Python workshop which really set the tone for the project.
  • Almost final mock-ups released. Still scope for improvement.
  • Converting the mock-ups into Python classes and methods.
  • Documented all the work on wiki.

June 12-June 19, 2008

  • Started working on Python and PyGTK by referring to respective tutorials.
  • Working on art work required in the activity interface.(like turtle, bubbles etc.) mock-ups will be uploaded soon.
  • Browsed the source code of existing activities in XO. I was unable to comprehend the code due to lack of python experience

June 20-July 2, 2008

  • Learnt Python from byteofpython.org and the official tutorial from python.org
  • Studied PyGTK tutorial from pygtk.org and completed all the related exercises
  • Studied JSON from json.org
  • This period involved learning all the technologies related to the project so that I can start coding.

July 3-July 10, 2008

  • Again browsed the source code of existing activities in XO. I could easily understand each and everything.
  • Studied the Activity Tutorial again and also the latest Sugar Handbook from OLPC Austria.
  • Successfully completed my first activity- "HelloWorld" as per the guidelines in above mentioned two tutorials :)
  • Finally started my project- TypingTurtle.activity. A great relief for me :) But it was just the beginning of a roller coaster ride ahead

July 11-July 18, 2008

  • First "Welcome" screen developed:
    • gtk.VBox() and gtk.HBox() as containers
    • gtk.Button(), gtk.Image(), gtk.Label() as main child widgets
  • Struggled a lot with multiple-screen interface implementation. To explain a little:
 Screen 1->Click button->goto Screen 2->Click button->goto back to Screen 1.
  • I was unsuccessful to implement this, despite consulting with many people including tomeu, eben, cjl and many more in #pygtk channel. The whole week went searching for a possible way to do it but could not find it.(I'm sure there is a way that I'm missing)
  • During my quest to satiate my hunger for above implementation, I stumbled upon an interesting finding: most of the activities in XO are single-screen based; everything happens within a single canvas, there's no shifting of canvas etc..

July 19-July 27, 2008

  • After a hard week, I pondered over the weekend and finally dumped my idea of multi-screen UI to settle for gtk.Notebook() as my main canvas with following functionality:
 Screen-1(tab1)->Click button->goto Screen 2(tab2) and vice versa.
    • This provided an instant acceleration to my project, although on the expense of my earlier UI.
  • Started designing the exercises now: Alphabets, Words and so on.
  • Welcome screen was looking to plain and simple from kid's perspective. Did a major overhaul of the whole GUI so that it looks more kiddish.
  • Added a tutorial(HowTo) tab for the activity.
  • Completed inter-navigation between all the screens.
  • XO's resolution is 1200*800, I got to know this now!!

July 28-August 5, 2008

  • Created .exer files(Exercise files like alphabets.exer)
  • Working on randomly reading content from exercises' file
  • Figured a way out of how to unset focus flags from score, timer(gtk.Entry). A little code snippet:
   score = gtk.Entry()
   score.unset_flags(gtk.CAN_FOCUS)

August 6-7-8-9, 2008

  • Presented my research paper in an international conference[1]
  • No development progress
  • Sample Tutorial added

August 10-August 14, 2008

  • Mapping of exercises with the GUI.
  • Applied for OLPC Git Project Hosting. Set-up local git repository on my PC.
  • Started Working on documentation

Major Highlights

  • I can't forget my search for multi-screen GUI.period.
  • Past couple of weeks(July 15 onwards) saw most of the development progress
  • Python is the coolest thing in programming!
  • Learnt to use PyGTK references at every second :)