[sugar] [pyxpcom] PyXPCOM viability and OLPC

Marco Pesenti Gritti mpg
Tue May 8 10:43:03 EDT 2007


On Tue, 2007-05-08 at 10:35 -0400, Ian Bicking wrote:
> 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 
> Python.
> 
> 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?

Getting an hello world to work is probably not very complicated, there
are even tutorials online.

What we need to do for pyxpcom to be actually useful is to bridge it to
gtkmozembed. In particular we need to be able to access nsIWebBrowser,
which gtkmozembed exposes, as a python object. Someone in the epiphany
team might be able to give some guidance on this too.

Marco




More information about the Sugar-devel mailing list