[sugar] Re: RFC: activity bundles

Mike Hearn mike
Sun Sep 3 10:50:05 EDT 2006


On Thu, 31 Aug 2006 20:36:27 -0400, Dan Williams wrote:
> http://wiki.laptop.org/go/Activity_Bundles
> 
> Comments welcome.  Especially from you, Blizzard, since easily
> installable and transferable activities is your baby :)

Hey,

A few assorted thoughts:


* Host Versioning: I think it may be better to let activities
  handle this themselves. Consider an activity that can run on
  Sugar v1 but will use some new APIs added in Sugar v2 if
  they are available. If this (critical) information is 
  expressed via bundle metadata then Sugar itself will end up
  displaying a generic message like:

    "This activity is designed for a newer laptop. It will run on
     yours but with reduced functionality"

  But that might not be right! If the activity code itself takes
  care of this (maybe helped by some convenience apis) then it can
  take a more appropriate action. Maybe the new APIs it needs 
  improve performance or looks but nothing else. It would be dumb 
  to scare the user by mentioning this. On the other hand maybe
  some critical feature won't work unless Sugar v2 is present.
  It would be worth notifying the user exactly what won't work,
  in that case.

  None of this is possible if Sugar itself checks activity host
  versioning.


* There is no convenient API to refer to binary-relative files 
  on Linux. For autopackage we now have a simpler approach to
  making relocatable software - a file descriptor with a pre-determined
  number is opened before main() runs pointing to the right
  prefix. Software can then simply open("/proc/self/fd/200/myfile.png")
  I think this is better than relying on the current working dir
  being set ... the program may want to change it during operation.

  This also solves problems with the ton of legacy code that does
  not ever expect to be outside of /usr


* SVG icons take a lot of CPU time to render, relative to uncompressed
  bitmaps. Maybe there should be some support for noticing if they
  change and caching them?


* XML is fully specified and the edge cases are handled whereas an 
  INF/.desktop style derivative isn't really. I know XML is ugly
  but still ....


Hope that helps!

thanks -mike
  



More information about the Sugar-devel mailing list