User:Mchua/Braindumps/Development: Difference between revisions
m (Walter's rectum 21/Braindumps/Development moved to User:Mchua/Braindumps/Development over redirect: revert) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} |
|||
[[/1]] |
|||
[[/2]] |
|||
[[/3]] |
|||
== Individual slides == |
|||
⚫ | |||
⚫ | |||
# [[/1|Obligatory Intro Slide]] |
|||
# [[/2|What we're going to talk about]] |
|||
# [[/3|Why develop on the XO?]] |
|||
# [[/4|Emulation: Git yerself a system]] |
|||
# [[/5|Existing activities]] |
|||
# [[/6|The XO is weird: things to get used to]] |
|||
# [[/7|Begin the wonderful whirlwind tour of Activity platforms!]] |
|||
# [[/8|Python]] |
|||
# [[/9|Pippy]] |
|||
# [[/10|Pygame and pyGTK]] |
|||
# [[/11|Etoys and Squeak]] |
|||
# [[/12|Web-based]] |
|||
# [[/13|i386 executables]] |
|||
# [[/14|Core components]] |
|||
# [[/15|Development tools we use]] |
|||
# [[/16|How to get started]] |
|||
# [[/17|Q&A]] |
|||
⚫ | |||
⚫ | |||
{{/3}} |
|||
{{/4}} |
|||
{{/5}} |
|||
{{/6}} |
|||
{{/7}} |
|||
{{/8}} |
|||
{{/9}} |
|||
{{/10}} |
|||
{{/11}} |
|||
{{/12}} |
|||
{{/13}} |
|||
{{/14}} |
|||
{{/15}} |
|||
{{/16}} |
|||
{{/17}} |
Latest revision as of 16:02, 20 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