User:Mchua/Braindumps/Development: Difference between revisions
mNo edit summary |
|
(No difference)
|
Revision as of 15:21, 19 December 2009
Individual slides
- Obligatory Intro Slide
- What we're going to talk about
- Why develop on the XO?
- Emulation: Git yerself a system
- Existing activities
- The XO is weird: things to get used to
- Begin the wonderful whirlwind tour of Activity platforms!
- Python
- Pippy
- Pygame and pyGTK
- Etoys and Squeak
- Web-based
- i386 executables
- Core components
- Development tools we use
- How to get started
- Q&A
Introduction
XO Software Development 101
Your software + millions of kids = awesome.
Mel Chua, 4/26/08
What we're going to talk about
- Why develop on the XO?
- Emulation: Git yerself a system
- Existing activities
- The XO is weird: things to get used to
- Begin the wonderful whirlwind tour of Activity platforms! (Python, Pippy, Pygame/PyGTK, Etoys, Squeak, The Interwebs, i386 executables)
- Developing on the core components
- Tools we use
- How to get started
- Q&A
Why develop on the XO?
- Learn something. Maybe a different way of thinking, even.
- Awesome people.
- A chance to change the world.
- It's open-source. Heck, you may have done it already.
- Because of these folks.
Porto Alegre OLPC Brazil |
Galadima OLPC Nigeria |
Ban Samkha OLPC Thailand |
---|---|---|
Cardal OLPC Uruguay |
Arahuay OLPC Peru |
Khairat school OLPC India |
Emulation
Linux
Ubuntu
Rating: Incredibly easy.
- Open Synaptic (System > Administration > Synaptic package manager)
- Search for "sugar"
- Install sugar, sugar-emulator, sugar-activities, and anything else you want
Thanks to Jani Monoses, who made the .deb packages and got them included in the Ubuntu sources!
Debian-based
Rating: Pretty darn easy.
Open up a terminal and add to your sources list...
$ sudo -s # echo "deb http://ppa.launchpad.net/jani/ubuntu gutsy main" > /etc/apt/sources.list.d/sugar.list # apt-get update
Then apt-get as root.
# apt-get install sugar sugar-emulator sugar-activities
RPM-based
Rating: Mildly painful, but probably getting better soon.
You can either use an emulator (moderately easy) or run sugar-jhbuild itself (hard).
Windows
Rating: Painless, but less flexible and sometimes slow.
Use the QEMU all-in-one zip-file installer - this easy install package was created by Mitra, a high school student from Illinois.
OS X
Rating: Tricky.
Emulation is currently the only sane way to go.
Existing activities
There are a lot - see Activities for a full list.
Some notables I'd like to point out:
Things to get (re)used to
- Memory counts when you have 256MB. Memory leaks hurt.
- Dual mode display - make things pretty in black and white.
- Don't assume you have internet...
- ...but we do have mesh!
- Design for collaboration.
- Security is a big deal, so file access is hard.
- Design for internationalization.
- Analog input
- Camera
- Tablet mode with game pads
Activity platforms
User:Mchua/Braindumps/Development/8 User:Mchua/Braindumps/Development/9 User:Mchua/Braindumps/Development/10 User:Mchua/Braindumps/Development/11 User:Mchua/Braindumps/Development/12 User:Mchua/Braindumps/Development/13 User:Mchua/Braindumps/Development/14
Development tools we use
- http://dev.laptop.org - Trac
- git for Project hosting
- this wiki - http://wiki.laptop.org
- Make a wiki account
- Join the freenode channel #olpc
- Pick a project...
It deviates from there, but most people will make activities with Pygame for starters, so that's...
- Get Python
- Learn Python
- Get Pygame
- Learn Pygame
- Make a game in Pygame
- Make it an activity