Changes

Jump to navigation Jump to search
no edit summary
Line 4: Line 4:  
:The answer is here [[OLPC Python Environment]]
 
:The answer is here [[OLPC Python Environment]]
 
* Will the laptops and/or an emulator be available to developers interested in direct contibutions to OLPC?
 
* Will the laptops and/or an emulator be available to developers interested in direct contibutions to OLPC?
:'''Yes!!!''' See the [[Developers Program]] for details. Also read the [[Zaurus]] page for ideas of how a Linux PDA could be leveraged by developers.
+
:'''Yes!!!''' See the [[Developers Program]] for details. Also read the [[Development Systems]] page for ideas of using other minimal systems to do your application testing.
 
*What if I don't qualify for one of the development systems?
 
*What if I don't qualify for one of the development systems?
 
:Since [[Python]] is the primary development language for applications, you can still build something as long as you are careful to isolate the GUI portions of your code and not do anything overly complex. Or, if you use [[PyGTK]], then you come very close to the real development environment in [[Sugar|SUGAR]].
 
:Since [[Python]] is the primary development language for applications, you can still build something as long as you are careful to isolate the GUI portions of your code and not do anything overly complex. Or, if you use [[PyGTK]], then you come very close to the real development environment in [[Sugar|SUGAR]].
Line 34: Line 34:  
* looping waiting for events eats power; don't do it.  Poll and select with timeouts are your friends.  Don't gratuitously wake up at frequent intervals just to test if something has happened; design your hardware and software to be completely idle between events they have to respond to.
 
* looping waiting for events eats power; don't do it.  Poll and select with timeouts are your friends.  Don't gratuitously wake up at frequent intervals just to test if something has happened; design your hardware and software to be completely idle between events they have to respond to.
 
:Right now this is a nice summary page. But items like this deserve some more explanation along with some sample [[Python]] code that uses select instead of busy-waiting.
 
:Right now this is a nice summary page. But items like this deserve some more explanation along with some sample [[Python]] code that uses select instead of busy-waiting.
* presuming that you can contact a server for service will often not be possible. Design applications to be peer-to-peer, or to self elect servers in a local cloud of people working together. We can presume at least some technology like mDNS (e.g. Avahi) is available for discovery.
+
* Keep in mind that the OLPC wireless network is peer-to-peer. Design applications accordingly. We can presume at least some technology like mDNS (e.g. Avahi) is available for discovery.
 
* applications should be localizable. Do not embedd any user readable text in your code.
 
* applications should be localizable. Do not embedd any user readable text in your code.
 
: Start by reading these 31 slides about how to use Unicode in Python: http://downloads.egenix.com/python/LSM2005-Developing-Unicode-aware-applications-in-Python.pdf
 
: Start by reading these 31 slides about how to use Unicode in Python: http://downloads.egenix.com/python/LSM2005-Developing-Unicode-aware-applications-in-Python.pdf
 
: Next, read the documentation for the Python gettext module. Become familiar with GTK+ and Pango features for I18N and L10N.
 
: Next, read the documentation for the Python gettext module. Become familiar with GTK+ and Pango features for I18N and L10N.
 
: Try writing a sample application with menus and dialogs following the guidelines. Then find a friend who knows a foreign language. Ask them to translate your strings and then test the application with the translated strings. Sit beside them and watch how your program works. Are any graphical elements too small?
 
: Try writing a sample application with menus and dialogs following the guidelines. Then find a friend who knows a foreign language. Ask them to translate your strings and then test the application with the translated strings. Sit beside them and watch how your program works. Are any graphical elements too small?
 
+
*What kind of applications are needed?
 +
:have a look at [[Sample Applications]] for some ideas. Or, release an early prototype of your own app as a sample application to help others learn the ropes of developping for this innovative, i.e. non-standard laptop.
    
This page is a stub.  Please expand on it.
 
This page is a stub.  Please expand on it.
 
[[Category:Developers]]
 
[[Category:Developers]]
Anonymous user

Navigation menu