[sugar] [pyxpcom] PyXPCOM viability and OLPC

Ian Bicking ianb
Tue May 8 10:35:21 EDT 2007

edward baafi wrote:
> This is interesting.. I use PyXpcom along with Xulrunner and currently
> have a B2 XO for development..

Well then, this may be leading in an obvious direction...

> In terms of a stripped down Firefox vs. PyXPCOM, I don't see why this
> would be an either/or as Firefox can be built with PyXPCOM support..
> Of course you need a stripped down browser in terms of memory
> footprint (the B2 only has 128MB of ram and the production version
> should have 256) and you need to add extra functionality and tie it in
> as a "Sugar Activity" so you should of course use python..
> So you can build a stripped down Firefox with PyXpcom support and add
> features and tie into sugar with python, or you can build a Xulrunner
> based browser from scratch with PyXpcom support.. Actually these
> aren't too different as Firefox 3 was supposed to just be an app
> running on top of Xulrunner although this feature shows up as "At
> Risk" in the Firefox3 features list:
> http://wiki.mozilla.org/Firefox3/Product_Requirements_Document#Gecko.2FPlatform 
> Given that there isn't much to the current "Web Browser Activity" on
> the XO, I would think that you could build a Xulrunner based version
> of that pretty quickly and then add features as needed (using PyXpcom
> if you like) rather than starting with all the features of Firefox and
> figuring out where to nip and tuck..  I like the Xulrunner plus
> PyXpcom approach as it would allow others to write Xul apps rather
> than use py/GTK which is probably too low level for many "Activity"
> developers..

I think my mention of Firefox may have just been a subconscious threat 
;) -- the advantage of it is more in things like a clear extension 
mechanism, and we need to extend the browser in *some* way.

Even if PyXPCOM isn't terribly well documented and hard to build, that 
doesn't seem like a blocker in itself.  At least in theory, we just have 
to get it to build once or twice (or however many build systems there 
are -- I guess there's two).  Actually having extension in Python will 
make it a lot more accessible to many of the people who would actually 
like to work on it now, since they are pretty much all familiar with 

But despite the fact that this seems like a good direction, it hasn't 
happened yet because the setup is rather complex (as mentioned by you 
and several other people).  Probably just reaching the level of Hello 
World with PyXPCOM in the OLPC environment would be the biggest hurdle 
(or at least from there there would be much more satisfying work to be 
done).  Could you help get us to that point?


More information about the Sugar-devel mailing list