[Sugar-devel] [Zero-install-devel] Zero-calorie bundles?

Neil Graham Lerc at screamingduck.com
Tue Oct 13 19:04:41 EDT 2009


On Tue, 13 Oct 2009 15:51:00 -0400, Bernie Innocenti wrote:

> El Tue, 13-10-2009 a las 10:26 +0000, Neil Graham escribió:
>> On Tue, 13 Oct 2009 07:45:20 +0000, Aleksey Lim wrote:
>> > I'm personally +1024 for 0install integration(and even in 0.88
>> > cycle),
>> I'll add my two bits and make that +7168,  I'm working on a non-sugar
>> XO environment and I'd much rather it be complimentary to Sugar rather
>> than an either or. My system is ZeroInstall up to its eyeballs, so it's
>> nice to have company there.
> 
> Very interesting. Could you describe your environment in more detail? In
> particular, are there be any common components that we could share?

It's a "desktop environment" in the sense it has windows and stuff, but 
not based upon the so called "desktop metaphor" which I have always 
considered more of a hindrance than anything.  It uses OpenBox and ROX as 
a base.  It is totally Home directory based and can be installed by
 tar -xjf everything.tar.bz2
which gets you a ~/usr with ZeroInstall and a cache preloaded with some 
software.

On my XO-1 booting and opening up a ROXterm and typing free -m says that 
82Meg is used. (73Meg without panel applets, so I'm working on a more 
lightweight solution for those). 

Being absolutely brutal and kill -9 ing The Rainbow Daemon and olpc-
update-query brings it down to 64Meg in use (which is about as slim as 
something is going to get when python,X and gtk are in the house).  While 
Rainbow is the heavier of those two, when it comes to functionality per 
byte it's doing better by a long shot. 

(Actually switching ROX-Term to something not vte based could probably 
save another 5 meg)

So it's windows and icons and taskbars, fairly lightweight, so far so 
unimpressive.   It is however trying to take a bit of a new view towards 
doing the desktop.  F1-F4 are bound to workspace switching (something 
that should be natural to sugar users)  Each workspace is targeted at a 
different conceptual use (but guided rather than enforced).  Interactive 
activity is based in one workspace (work)  Another space {browse) is more 
for one way information from the computer to the user.  Web Browseing, 
Watching video, Reading ebooks, Online Documentation are all based on the 
(browse) workspace.  If a user is working on something and needs to 
consult the documentation they can easily flip between documentation and 
project via the workspace hotkeys.

One Workspace is more analogous to a standard Desktop, but is meant to 
perform a function to the user similar to the journal.  This is where 
they manage what they have.  The things they do on this workspace are 
more of a means towards ends that occur on other workspaces,  Archiving 
files, moving things about, deleting things.  If the user opens up a 
terminal to do things it would be on this space. This space is called 
(Base) for want of a much better name.  

The Fourth Workspace is aimed at persistent yet, transient use programs.  
This is bound to F1 and one of those persistant-transient-use programs 
would perform the same function as the network view in sugar.
Other things here could be a calculator so a user can quickly switch from 
their work to do a quick calculation and back.  battery and system 
monitors could be placed here by the user so they can pop over and 
quickly obtain the information they wanted (Is the battery running 
flat?), then switch back to their work.

Although it is a windowed environment,  Screen real estate is a premium 
on the XO (and indeed other netbooks).  The Sugar 'Frame' Key under this 
environment toggles the active window to be fullscreen and undecorated, 
some programs launch in fullscreen mode automatically and should you want 
to become windowed you  just press the frame key. 

The key beside the frame key performs a similar task to alt-tab on other 
platforms.

In addition to the desktop environment I have built a Library to develop 
programs in Pascal,  The library uses rgb565 video overlays on the XO and 
SDL on other platforms.  As such it can request resolutions that the XO 
cannot natively do and it will scale to fullscreen or any window size. 
 
To test this Library out I have made a physics doodle program which a lot 
of people really enjoy.  Runs really well on the XO.

Part of the environment goal is to enable people to get into things 
really easily. As part of this I have made a ultra simple way to make new 
projects using drag and drop.  

A video showing me creating a simple gui application then a simple Whio 
(pronounced fee-oh) grahics application. is on youtube.

http://www.youtube.com/watch?v=AMtleAzJ3AE&fmt=22

A rather poor quality (no decent camera available) video of a Whio 
program running on an XO moving plenty of sprites around at 640x480 and 
50fps.  http://www.youtube.com/watch?v=KD95e9G1SiQ 

I'm trying to do the release early, release often thing,  So first 
release will be out quite soon, I'm making a website today and a decent 
amount of this post is destined to be cut and pasted into that page.

First release will, of course, be broken and incomplete. It does however 
work to a degree and will be a good starting point for feedback and 
assistance.

For those of you who think that this is a project contrary to the goals 
of Sugar, I would respectfully disagree.  Sugar is not for everyone, 
Neither will my environment be for everyone.  If one system dominates 
another based upon merit then that is good for the user.  I would suggest 
looking towards Gnome and KDE.  I doubt either environment would be as 
good today if it did not have the other providing a challenge. 

I would like to have an easy manner to have apps made with Whio work 
fully with Sugar, and conversely I would also like to be able to run 
single sugar Apps under my environment.  Hopefully things will be good 
for all.

> Rainbow has been genericized and is already a stand-alone package in
> Fedora and Ubuntu; I think it would be great if multiple projects
> adopted it as part of their security model.
Since my thing is using Zeroinstall, the ideal solution for me would to 
have everybody else do the work and to put rainbow support into 
zeroInstall and just make everything magically work. So, um,  get to it 
everyone! :-)




More information about the Sugar-devel mailing list