Re: [sugar] move Sugar-dev-meeting to Thursdays 17.00 (UTC)

2008-04-11 Thread Simon Schampijer
Looks like everybody is fine so this is fixed. Next meeting is Thursday 
17.04.08 at 17.00 UTC.

Best,
Simon


Simon Schampijer wrote:
> Hi,
> 
> to get the second-half-of-the-week developers in I would like to move 
> the meeting to Thursdays. I hope this works out for everybody - 
> otherwise please speak up. The time would still be 17.00 UTC.
> 
> This would mean that next meeting is the 17.04.08 at 17.00 UTC in 
> #olpc-meeting.
> 
> Best,
> Simon
> ___
> Sugar mailing list
> Sugar@lists.laptop.org
> http://lists.laptop.org/listinfo/sugar

___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] [PATCH] (partial) AP palette patch

2008-04-11 Thread Tomeu Vizoso
On Fri, Apr 11, 2008 at 12:12 PM, Simon Schampijer <[EMAIL PROTECTED]> wrote:
> Thanks Tomeu for reviewing.
>
>  I few things I found out when looking into that - I don't think
>  introduced by the patch but maybe worth to look at.
>
>  - I had the 'connecting...' label in the palette on the mesh view even
>  though I was already connected. Later it went away.
>  - The palette of the AP in the frame should probably get rid of the
>  'Disconnecting...' label as well and make it 'Disconnecting' - well
>  introduce the new layout here as well
>  - Sometimes the AP icon in the frame is black and white - even though I
>  am connected fine

Most of those issues seem to me to be related to the code between the
NetworkManager and the UI. Some logging output would confirm that.

Tomeu
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] [PATCH] (partial) AP palette patch

2008-04-11 Thread Simon Schampijer
Thanks Tomeu for reviewing.

I few things I found out when looking into that - I don't think 
introduced by the patch but maybe worth to look at.

- I had the 'connecting...' label in the palette on the mesh view even 
though I was already connected. Later it went away.
- The palette of the AP in the frame should probably get rid of the 
'Disconnecting...' label as well and make it 'Disconnecting' - well 
introduce the new layout here as well
- Sometimes the AP icon in the frame is black and white - even though I 
am connected fine

Simon

Tomeu Vizoso wrote:
> r+
> 
> On Thu, Apr 10, 2008 at 3:02 PM, Simon Schampijer <[EMAIL PROTECTED]> wrote:
>> Eben Eliason wrote:
>>
  I made the following changes to the patch:
  - display the AP icon in the palette in color
  - display the badge as well
  - removed the channel info in the secondary-text (for now)

>>> Sounds good.
>>>
>>>
  What do you mean here?
  +self.props.icon_name = icon_name
  +# This breaks style guidelines; we should store a
>> reference
  +self._palette._icon.props.icon_name = icon_name

>>> I'm accessing the private _icon member of the palette class, rather
>>> than keeping a reference to it to use for this purpose.  It was a
>>> quick hack.
>>>
>>  I changed this now to be:
>>
>>
>>  +self.props.icon_name = icon_name
>>  +icon = self._palette.props.icon
>>  +icon.props.icon_name = icon_name
>>
>>  Full patch is attached.
>>
>>
>>
  The Connect icon is 'dialog-ok' the disconnect 'media-eject', should we
 make this 'dialog-cancel' to be consistent?

>>> Well, it's consistent in naming, but not necessarily in experience.
>>> Where possible, I'd like to find ways to avoid the overloaded 'x'
>>> icon.  It seems that using the eject icon for various types of
>>> external media makes sense, and I thought it might also apply to
>>> access points, which we treat as wireless devices.  Alternately, I'd
>>> be open to a better suggestion for a "connect" icon.
>>>
>>  Yeah that sounds maybe like the best approach - to have a specific icon for
>> connect/disconnect. Using a plug (connected/unconnected) icon might suggest
>> a physical connection - not sure if we would want that association. Let's
>> see if I can come up with something better.
>>
>>
>>
  Another thought that come to my mind - the AP icon in the frame should
 maybe come with a badge as well.

>>> Hmm, perhaps.  Although I'm not sure that the info provided by the
>>> badge is needed once it is shown in the Frame anyway. Also, we need to
>>> leave room for an alert badge if the wireless device in the Frame has
>>> trouble. I'd leave it as is, for now.
>>>
>>  I thought of it more like instantly knowing which AP you are connecting to.
>> The badge is a visual hint as well. But the alert badge might be a reason
>> not to have it.
>>
>>  Simon
>>
>> ___
>>  Sugar mailing list
>>  Sugar@lists.laptop.org
>>  http://lists.laptop.org/listinfo/sugar
>>
>>

___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Tomeu Vizoso
On Thu, Apr 10, 2008 at 4:37 PM, Bryan Berry <[EMAIL PROTECTED]> wrote:
> I have looked at all 3 docs and they look good
>
>  have some comments
>
>  1. Who is in charge of Sugar? the team lead. I remember that Blizzard
>  used to be the team lead. Is it JG now?

Well, I'm afraid I don't have a name to give to you, so I'll instead
write a bit about how things work from my point of view.

Currently three people are payed for working on Sugar: Marco
(half-time, payed by Red Hat), Simon and me. We are in the process of
hiring one more full-time developer, ideally based in Cambridge.

Marco maintains sugar-base, sugar-toolkit, sugar, artwork, hulahop,
and maybe something else. Simon maintains Browse. I maintain the
Journal and, as OLPC hasn't hired nobody for this, the datastore.

Technical decisions are taken in committee, with the participation of
members from the community and other OLPC people.

The roadmap and strategy is given by Kim, who normally asks for the
participation of several members of OLPC.

Last time I was told, Walter and Kim would work together and decide
how the tech team could better answer the needs from pilots and
deployments at every release.

>  2. Need a really easy way to play music and video files including ones
>  w/ proprietary codecs. Kid finds mp3 file on the internet using browse,
>  kid double-clicks file. It should open with the activity that supports
>  that file type.
>
>  Use Case:
>  The kid should be able to access the same file again later from the
>  Journal and open up in the appropriate activity/player (should one be
>  loaded)
>
>  OLPC won't have to pre-load the proprietary codecs for this to work.
>  Leave that to deployment people like myself. just make it easy for us to
>  load them using mechanisms like the customization key.
>
>  Yes proprietary is bad but allowing kids to explore on their own -- an
>  essential aspect of constructionism -- is more important. We cut off
>  many avenues of exploration when we make it hard for them to access
>  content that happens to use proprietary codecs -- which is the majority
>  of interesting content on the Internet.
>
>  2.1 The XO needs a rock-solid media player. To me this is as essential
>  as the Journal.

Agreed, unless someone convinces OLPC to devote resources to this,
someone from the community will have to jump and work on this. Here is
a good start using gstreamer:

http://dev.laptop.org/git?p=projects/jukebox-activity;a=summary

>  3. Need easy way to group links to activities, such as in a lesson
>  plan.
>
>  Use Case:
>  Kid reads through geometry tutorial and clicks on first activity which
>  opens up Dr. Geo. After finishing w/ Dr. Geo he does some more reading
>  in the tutorial and then clicks on a second link which opens up a
>  related GCompris activity.
>
>  We need a way to launch different activities from within a graphical
>  context, e.g. a tutorial. HTML is the most practical way to do this. I
>  know there are issues w/ Rainbow and activities calling other activities
>  but this is very important to the learning process.

Interesting, would like to know what Eben thinks about it.

>  4. Don't see olpcfs in the roadmap, is that just a proposal?

I think so.

>  5. Get long-term funding for Sugar Development. OLPC needs to set aside
>  funding to support Sugar long term (5+ years) as an open-source project.

Thanks for your support, I hope that in a couple of years we'll see
Sugar being used outside OLPC and capable of self-sustaining. When a
few countries deploy Sugar like it is planned, it will make a lot of
sense for them to devote development resources to improve Sugar in the
way they see fit.

>  6. Graphical control-panel needs way to increase default font-size of
>  the sugar UI

Marco has been doing recently some work related to dynamically
changing the font size , I think.

>  7. Need graphical activity manager for removing and adding activities

Could you detail the requirements for this? Perhaps in the wiki?

>  Keep up the great work and make your way to Kathmandu some time.

Will love to!

Thanks,

Tomeu
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Eben Eliason
>  >  3. Need easy way to group links to activities, such as in a lesson
>  >  plan.
>  >
>  >  Use Case:
>  >  Kid reads through geometry tutorial and clicks on first activity which
>  >  opens up Dr. Geo. After finishing w/ Dr. Geo he does some more reading
>  >  in the tutorial and then clicks on a second link which opens up a
>  >  related GCompris activity.
>  >
>  >  We need a way to launch different activities from within a graphical
>  >  context, e.g. a tutorial. HTML is the most practical way to do this. I
>  >  know there are issues w/ Rainbow and activities calling other activities
>  >  but this is very important to the learning process.
>
>  Interesting, would like to know what Eben thinks about it.

This is an interesting idea, and one I don't really have a direct
solution for, at present.  One potential option, and perhaps the most
interesting, is also a fair bit of work.  It entails adding a bitfrost
permission (does it already have one?) akin to P_EXEC or something
similar, which allows an activity to make a request to the shell to
launch another activity, passing it a URI (could be a file, could be a
URL, etc) and having it ask the user to confirm the action.  With such
an approach, any activity that wanted could embed links to other
activities, or to web sites.  If we build this into the shell, and
offer it as a permission, I don't believe that it will pose any
security problems*.

* I could be very wrong, though.

>  >  7. Need graphical activity manager for removing and adding activities
>
>  Could you detail the requirements for this? Perhaps in the wiki?

This is a good point.  The activity list in Home is intended to take
care of this.  Tomeu, we should probably add little delete buttons at
the right of each entry in the list to make this a simple process.  A
non-modal alert should appear to confirm the deletion, of course.
This should be relatively easy to add.

- Eben
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Benjamin M. Schwartz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Eben Eliason wrote:
|>  >  3. Need easy way to group links to activities, such as in a lesson
|>  >  plan.
|>  >
|>  >  Use Case:
|>  >  Kid reads through geometry tutorial and clicks on first activity which
|>  >  opens up Dr. Geo. After finishing w/ Dr. Geo he does some more reading
|>  >  in the tutorial and then clicks on a second link which opens up a
|>  >  related GCompris activity.
|>  >
|>  >  We need a way to launch different activities from within a graphical
|>  >  context, e.g. a tutorial. HTML is the most practical way to do this. I
|>  >  know there are issues w/ Rainbow and activities calling other
activities
|>  >  but this is very important to the learning process.
|>
|>  Interesting, would like to know what Eben thinks about it.
|
| This is an interesting idea, and one I don't really have a direct
| solution for, at present.  One potential option, and perhaps the most
| interesting, is also a fair bit of work.  It entails adding a bitfrost
| permission (does it already have one?) akin to P_EXEC or something
| similar, which allows an activity to make a request to the shell to
| launch another activity, passing it a URI (could be a file, could be a
| URL, etc) and having it ask the user to confirm the action.  With such
| an approach, any activity that wanted could embed links to other
| activities, or to web sites.  If we build this into the shell, and
| offer it as a permission, I don't believe that it will pose any
| security problems*.
|
| * I could be very wrong, though.

IMHO, the best solution is the one already used by Browse in the case of
PDF downloads.  The files are downloaded, and then the Journal is asked to
present the user with information about the item and the option to launch
it.  This is akin to how most modern browsers handle media files that will
launch outside the browser.  They present a window saying "You are
downloading a file of type "PDF".  Would you like to open it using
"Document Viewer"?"  They also offer a drop-down list of alternative
applications.

Letting the Journal handle all open requests improves usability, in my
view, by ensuring that the user can always postpone an opening action, or
choose an alternative handler.  I also think it improves security, by
avoiding a number of potential DoS, privilege escalation, and information
disclosure (e.g. #6837, #6838) problems.

- --Ben
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH/2uEUJT6e6HFtqQRArQ7AKCKZcPpfy+WSwVXh4gEXa7kUZ9VzgCfVm/8
xQbxF13HGL9ibnY4hCETGvM=
=BKz7
-END PGP SIGNATURE-
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Eben Eliason
On Fri, Apr 11, 2008 at 9:45 AM, Benjamin M. Schwartz
<[EMAIL PROTECTED]> wrote:
> -BEGIN PGP SIGNED MESSAGE-
>  Hash: SHA1
>
>
>
>  Eben Eliason wrote:
>  |>  >  3. Need easy way to group links to activities, such as in a lesson
>  |>  >  plan.
>  |>  >
>  |>  >  Use Case:
>  |>  >  Kid reads through geometry tutorial and clicks on first activity
> which
>  |>  >  opens up Dr. Geo. After finishing w/ Dr. Geo he does some more
> reading
>  |>  >  in the tutorial and then clicks on a second link which opens up a
>  |>  >  related GCompris activity.
>  |>  >
>  |>  >  We need a way to launch different activities from within a graphical
>  |>  >  context, e.g. a tutorial. HTML is the most practical way to do this.
> I
>  |>  >  know there are issues w/ Rainbow and activities calling other
>  activities
>  |>  >  but this is very important to the learning process.
>  |>
>  |>  Interesting, would like to know what Eben thinks about it.
>  |
>  | This is an interesting idea, and one I don't really have a direct
>  | solution for, at present.  One potential option, and perhaps the most
>  | interesting, is also a fair bit of work.  It entails adding a bitfrost
>  | permission (does it already have one?) akin to P_EXEC or something
>  | similar, which allows an activity to make a request to the shell to
>  | launch another activity, passing it a URI (could be a file, could be a
>  | URL, etc) and having it ask the user to confirm the action.  With such
>  | an approach, any activity that wanted could embed links to other
>  | activities, or to web sites.  If we build this into the shell, and
>  | offer it as a permission, I don't believe that it will pose any
>  | security problems*.
>  |
>  | * I could be very wrong, though.
>
>  IMHO, the best solution is the one already used by Browse in the case of
>  PDF downloads.  The files are downloaded, and then the Journal is asked to
>  present the user with information about the item and the option to launch
>  it.  This is akin to how most modern browsers handle media files that will
>  launch outside the browser.  They present a window saying "You are
>  downloading a file of type "PDF".  Would you like to open it using
>  "Document Viewer"?"  They also offer a drop-down list of alternative
>  applications.
>
>  Letting the Journal handle all open requests improves usability, in my
>  view, by ensuring that the user can always postpone an opening action, or
>  choose an alternative handler.  I also think it improves security, by
>  avoiding a number of potential DoS, privilege escalation, and information
>  disclosure (e.g. #6837, #6838) problems.

In case I was unclear, that is just the kind of thing I was
suggesting.  I think that the shell should expose a "launcher"
service, which will do just the kinds of things you mention here.  The
UI would all be handled by the shell, not the activity making the
request. Perhaps if it's always done this way through the shell
service, we don't even need a permission.

- Eben
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Jameson "Chema" Quinn
I'm assuming that the data would only go one way. In that case, the
permission would be, an app without P_NETWORK would not be able to request
opening of apps with P_NETWORK. No new permissions needed, just careful
attention to the ones we have.

On Fri, Apr 11, 2008 at 7:53 AM, Eben Eliason <[EMAIL PROTECTED]>
wrote:

> On Fri, Apr 11, 2008 at 9:45 AM, Benjamin M. Schwartz
> <[EMAIL PROTECTED]> wrote:
> > -BEGIN PGP SIGNED MESSAGE-
> >  Hash: SHA1
> >
> >
> >
> >  Eben Eliason wrote:
> >  |>  >  3. Need easy way to group links to activities, such as in a
> lesson
> >  |>  >  plan.
> >  |>  >
> >  |>  >  Use Case:
> >  |>  >  Kid reads through geometry tutorial and clicks on first activity
> > which
> >  |>  >  opens up Dr. Geo. After finishing w/ Dr. Geo he does some more
> > reading
> >  |>  >  in the tutorial and then clicks on a second link which opens up
> a
> >  |>  >  related GCompris activity.
> >  |>  >
> >  |>  >  We need a way to launch different activities from within a
> graphical
> >  |>  >  context, e.g. a tutorial. HTML is the most practical way to do
> this.
> > I
> >  |>  >  know there are issues w/ Rainbow and activities calling other
> >  activities
> >  |>  >  but this is very important to the learning process.
> >  |>
> >  |>  Interesting, would like to know what Eben thinks about it.
> >  |
> >  | This is an interesting idea, and one I don't really have a direct
> >  | solution for, at present.  One potential option, and perhaps the most
> >  | interesting, is also a fair bit of work.  It entails adding a
> bitfrost
> >  | permission (does it already have one?) akin to P_EXEC or something
> >  | similar, which allows an activity to make a request to the shell to
> >  | launch another activity, passing it a URI (could be a file, could be
> a
> >  | URL, etc) and having it ask the user to confirm the action.  With
> such
> >  | an approach, any activity that wanted could embed links to other
> >  | activities, or to web sites.  If we build this into the shell, and
> >  | offer it as a permission, I don't believe that it will pose any
> >  | security problems*.
> >  |
> >  | * I could be very wrong, though.
> >
> >  IMHO, the best solution is the one already used by Browse in the case
> of
> >  PDF downloads.  The files are downloaded, and then the Journal is asked
> to
> >  present the user with information about the item and the option to
> launch
> >  it.  This is akin to how most modern browsers handle media files that
> will
> >  launch outside the browser.  They present a window saying "You are
> >  downloading a file of type "PDF".  Would you like to open it using
> >  "Document Viewer"?"  They also offer a drop-down list of alternative
> >  applications.
> >
> >  Letting the Journal handle all open requests improves usability, in my
> >  view, by ensuring that the user can always postpone an opening action,
> or
> >  choose an alternative handler.  I also think it improves security, by
> >  avoiding a number of potential DoS, privilege escalation, and
> information
> >  disclosure (e.g. #6837, #6838) problems.
>
> In case I was unclear, that is just the kind of thing I was
> suggesting.  I think that the shell should expose a "launcher"
> service, which will do just the kinds of things you mention here.  The
> UI would all be handled by the shell, not the activity making the
> request. Perhaps if it's always done this way through the shell
> service, we don't even need a permission.
>
> - Eben
> ___
> Sugar mailing list
> Sugar@lists.laptop.org
> http://lists.laptop.org/listinfo/sugar
>
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] sugar roadmap

2008-04-11 Thread Eben Eliason
On Fri, Apr 11, 2008 at 10:03 AM, Jameson Chema Quinn
<[EMAIL PROTECTED]> wrote:
> I'm assuming that the data would only go one way. In that case, the
> permission would be, an app without P_NETWORK would not be able to request
> opening of apps with P_NETWORK. No new permissions needed, just careful
> attention to the ones we have.

Sorry, I'm not sure I understand this particular requirement.  The
activity launched will be completely isolated from that which
requested it.  Why would we need to make this statement hold?  If I
have, for instance, chosen to trust my web browser to use P_NETWORK,
then why should it matter that it was asked to launch by something
that didn't?

- Eben
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


[sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Bert Freudenberg

On 11.04.2008, at 07:12, Eben Eliason wrote:
> On Fri, Apr 11, 2008 at 10:03 AM, Jameson Chema Quinn
> <[EMAIL PROTECTED]> wrote:
>> I'm assuming that the data would only go one way. In that case, the
>> permission would be, an app without P_NETWORK would not be able to  
>> request
>> opening of apps with P_NETWORK. No new permissions needed, just  
>> careful
>> attention to the ones we have.
>
> Sorry, I'm not sure I understand this particular requirement.  The
> activity launched will be completely isolated from that which
> requested it.  Why would we need to make this statement hold?  If I
> have, for instance, chosen to trust my web browser to use P_NETWORK,
> then why should it matter that it was asked to launch by something
> that didn't?


Because a malicious activity could encode a private document as URL  
and have the browser go to that URL, which would send it to any server  
on the internet.

I personally find addressing this scenario not worth the awkwardness  
we currently have, clicking a URL in any activity should open a  
browser on that URL, no questions asked, IMHO. If necessary, invent a  
new permission for this.

- Bert -


___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


[sugar] Wordsmith ( Scrabble ) :GSoC application

2008-04-11 Thread Aditya Vishwakarma
Hi,

I am Aditya Vishwakarma. An Information Technology student at NSIT, Delhi.

I am working on making a Scrabble game as a GSoC project called Wordsmith.
The wiki page is located here -
http://wiki.laptop.org/go/Wordsmith(scrabble)

Scrabble is an highly enjoyable and social. And it puts real motivation to
extend the vocabulary. After an online game of scrabble, the players would
not only be refreshed, but have a much stronger vocabulary than before. I
believe with the right implementation, this game can easily turn out to be
one of the best games on XO laptops.

I would love to hear your feedback and comments.


Thanking you
Aditya Vishwakarma
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Wordsmith ( Scrabble ) :GSoC application

2008-04-11 Thread Charles Cossé
You might be interested to  look at TuxWordSmith.  It's a python code which
plays scrabble in over 40 languages and was recently mentioned on this
list.

On Fri, Apr 11, 2008 at 11:26 AM, Aditya Vishwakarma <
[EMAIL PROTECTED]> wrote:

> Hi,
>
> I am Aditya Vishwakarma. An Information Technology student at NSIT, Delhi.
>
> I am working on making a Scrabble game as a GSoC project called Wordsmith.
> The wiki page is located here -
> http://wiki.laptop.org/go/Wordsmith(scrabble)
>
> Scrabble is an highly enjoyable and social. And it puts real motivation to
> extend the vocabulary. After an online game of scrabble, the players would
> not only be refreshed, but have a much stronger vocabulary than before. I
> believe with the right implementation, this game can easily turn out to be
> one of the best games on XO laptops.
>
> I would love to hear your feedback and comments.
>
>
> Thanking you
> Aditya Vishwakarma
>
> ___
> Sugar mailing list
> Sugar@lists.laptop.org
> http://lists.laptop.org/listinfo/sugar
>
>


-- 
AsymptopiaSoftware | [EMAIL PROTECTED]
www.asymptopia.org
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


[sugar] [PATCH] Add support for adding/removing activities to/from ring in palettes

2008-04-11 Thread Eben Eliason

From adae38bb487acf98c78fbf98b468ae261b4cbf93 Mon Sep 17 00:00:00 2001
From: Eben Eliason <[EMAIL PROTECTED]>
Date: Tue, 8 Apr 2008 19:58:56 -0400
Subject: [PATCH] Add support for adding/removing activities to/from ring in palettes

---
 src/view/home/activitieslist.py |   36 +
 src/view/palettes.py|   47 --
 2 files changed, 70 insertions(+), 13 deletions(-)

diff --git a/src/view/home/activitieslist.py b/src/view/home/activitieslist.py
index 3b4c9d2..9baaa6c 100644
--- a/src/view/home/activitieslist.py
+++ b/src/view/home/activitieslist.py
@@ -52,7 +52,8 @@ class ActivitiesList(hippo.CanvasScrollbars):
 
 def __activity_removed_cb(self, activity_registry, activity_info):
 for entry in self.get_children():
-if entry.get_bundle_id() == activity_info.bundle_id:
+if entry.get_bundle_id() == activity_info.bundle_id and \
+entry.get_version() == activity_info.version:
 self.remove(entry)
 return
 
@@ -75,17 +76,23 @@ class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
  box_height=style.GRID_CELL_SIZE,
  orientation=hippo.ORIENTATION_HORIZONTAL)
 
-self._activity_info = activity_info
+registry = activity.get_registry()
+registry.connect('activity-changed', self.__activity_changed_cb)
+
+self._bundle_id = activity_info.bundle_id
+self._version = activity_info.version
+self._favorite = activity_info.favorite
 
-favorite_icon = FavoriteIcon(self._activity_info.favorite)
-favorite_icon.connect('notify::favorite', self.__favorite_changed_cb)
-self.append(favorite_icon)
+self._favorite_icon = FavoriteIcon(self._favorite)
+self._favorite_icon.connect('notify::favorite', 
+self.__favorite_changed_cb)
+self.append(self._favorite_icon)
 
 self.icon = CanvasIcon(size=style.STANDARD_ICON_SIZE, cache=True,
 file_name=activity_info.icon,
 stroke_color=style.COLOR_BUTTON_GREY.get_svg(),
 fill_color=style.COLOR_TRANSPARENT.get_svg())
-self.icon.set_palette(ActivityPalette(self._activity_info))
+self.icon.set_palette(ActivityPalette(activity_info))
 self.icon.connect('hovering-changed',
   self.__icon_hovering_changed_event_cb)
 self.icon.connect('button-release-event',
@@ -116,8 +123,14 @@ class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
 
 def __favorite_changed_cb(self, favorite_icon, pspec):
 registry = activity.get_registry()
-registry.set_activity_favorite(self._activity_info.bundle_id,
-self._activity_info.version, favorite_icon.props.favorite)
+registry.set_activity_favorite(self._bundle_id, self._version,
+   favorite_icon.props.favorite)
+
+def __activity_changed_cb(self, activity_registry, activity_info):
+if self._bundle_id == activity_info.bundle_id and \
+self._version == activity_info.version:
+self._favorite = activity_info.favorite
+self._favorite_icon.props.favorite = self._favorite
 
 def __icon_hovering_changed_event_cb(self, icon, event):
 if event:
@@ -127,10 +140,13 @@ class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
 self.icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
 
 def __icon_button_release_event_cb(self, icon, event):
-view.Shell.get_instance().start_activity(self._activity_info.bundle_id)
+view.Shell.get_instance().start_activity(self._bundle_id)
 
 def get_bundle_id(self):
-return self._activity_info.bundle_id
+return self._bundle_id
+
+def get_version(self):
+return self._version
 
 class FavoriteIcon(CanvasIcon):
 __gproperties__ = {
diff --git a/src/view/palettes.py b/src/view/palettes.py
index 467eda0..d1c943a 100644
--- a/src/view/palettes.py
+++ b/src/view/palettes.py
@@ -23,9 +23,12 @@ import gtk
 
 from sugar import env
 from sugar import profile
+from sugar import activity
 from sugar.graphics.palette import Palette
 from sugar.graphics.menuitem import MenuItem
 from sugar.graphics.icon import Icon
+from sugar.graphics import style
+from sugar.graphics.xocolor import XoColor
 
 import view.Shell
 
@@ -100,7 +103,9 @@ class ActivityPalette(Palette):
 Palette.__init__(self, primary_text=activity_info.name,
  icon=activity_icon)
 
-self._activity_info = activity_info
+self._bundle_id = activity_info.bundle_id
+self._version = activity_info.version
+self._favorite = activity_info.favorite
 
 menu_item = MenuItem(_('Start'), 'activity-start')
 menu_item.connect('activate', self.__start_activate_cb)
@@ -115,9 +12

Re: [sugar] Wordsmith ( Scrabble ) :GSoC application

2008-04-11 Thread Aditya Vishwakarma
"Charles Cossé" <[EMAIL PROTECTED]> wrote:

> You might be interested to  look at TuxWordSmith.  It's a python code
> which plays scrabble in over 40 languages and was recently mentioned on this
> list.
>

TuxWordSmith would be awesome. I have downloaded the source code and would
review it out. I hope it is easily extendable to the project goals i have in
my mind.
I hope you would allow me to use your code as a base for the project.

btw: It's intresting to note , we both came up with the same name:
Wordsmith. :)

Frank Ch. Eigler <[EMAIL PROTECTED]> wrote:

> Beware recent trademark/copyright enforcement efforts by the owners of
> the game name/concept.  (google hasbro scrabble facebook).
>

I totally understand that issue and have written about it in the gsoc
application page too. I would build upon the differentiations that have been
used by TuxWordSmith in order to differentiate the game from the original.

RABINOVITCH Peter <[EMAIL PROTECTED]> wrote:

> I think this'd be great!
> I have an 11 yr old autistic daughter, and we did a give-1-get-1 for her
> and now we're always on the lookout for games on the XO that will help her
> communication skills - and I think she'd enjoy your game.
>
> As I read it, I thought about all the features I'd like, in order to make
> it of most use to her, and after looking at your wiki page, I see that you
> have them all and more.
>
> Good work, & good luck!
>

Thank you so much for the warm feedback! Its nice to know you like my idea.
:)


Aditya
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Wordsmith ( Scrabble ) :GSoC application

2008-04-11 Thread Charles Cossé
On Fri, Apr 11, 2008 at 12:54 PM, Aditya Vishwakarma <
[EMAIL PROTECTED]> wrote:

> "Charles Cossé" <[EMAIL PROTECTED]> wrote:
>
> > You might be interested to  look at TuxWordSmith.  It's a python code
> > which plays scrabble in over 40 languages and was recently mentioned on this
> > list.
> >
>
> TuxWordSmith would be awesome. I have downloaded the source code and would
> review it out. I hope it is easily extendable to the project goals i have in
> my mind.
> I hope you would allow me to use your code as a base for the project.


Yes, would be willing to assist anyone attempting to get Asymptopia Software
products running/included for the XO.  There is also TuxMathScrabble, which
would be a slightly easier port.  Both use PyGame, and it would be a simple
matter to remove the wxWidgets dependency.

TuxWordSmith is also mentioned on the page:
http://wiki.laptop.org/go/Educational_content_ideas/language_learning

Let me know how I can help,
Charles Cosse


>
>
> btw: It's intresting to note , we both came up with the same name:
> Wordsmith. :)
>
> Frank Ch. Eigler <[EMAIL PROTECTED]> wrote:
>
> > Beware recent trademark/copyright enforcement efforts by the owners of
> >  the game name/concept.  (google hasbro scrabble facebook).
> >
>
> I totally understand that issue and have written about it in the gsoc
> application page too. I would build upon the differentiations that have been
> used by TuxWordSmith in order to differentiate the game from the original.
>
> RABINOVITCH Peter <[EMAIL PROTECTED]> wrote:
>
> > I think this'd be great!
> > I have an 11 yr old autistic daughter, and we did a give-1-get-1 for her
> > and now we're always on the lookout for games on the XO that will help her
> > communication skills - and I think she'd enjoy your game.
> >
> > As I read it, I thought about all the features I'd like, in order to
> > make it of most use to her, and after looking at your wiki page, I see that
> > you have them all and more.
> >
> > Good work, & good luck!
> >
>
> Thank you so much for the warm feedback! Its nice to know you like my
> idea. :)
>
>
> Aditya
>



-- 
AsymptopiaSoftware | [EMAIL PROTECTED]
www.asymptopia.org
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] [OLPC-Games] Wordsmith ( Scrabble ) :GSoC application

2008-04-11 Thread Edward Cherlin
On Fri, Apr 11, 2008 at 10:26 AM, Aditya Vishwakarma
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am Aditya Vishwakarma. An Information Technology student at NSIT, Delhi.
>
> I am working on making a Scrabble game as a GSoC project called Wordsmith.
> The wiki page is located here -
> http://wiki.laptop.org/go/Wordsmith(scrabble)

Does Scrabble exist in Hindi or any other language of India? I know
how we could support Scrabble in any linear alphabetic writing such as
Cyrillic alphabet, but I have trouble imagining it in Arabic, Chinese,
Amharic, or Japanese kana.

> Scrabble is an highly enjoyable and social. And it puts real motivation to
> extend the vocabulary. After an online game of scrabble, the players would
> not only be refreshed, but have a much stronger vocabulary than before. I
> believe with the right implementation, this game can easily turn out to be
> one of the best games on XO laptops.

I have not found it to increase vocabulary significantly. Does anybody
know of any studies on this?

> I would love to hear your feedback and comments.
>
>
> Thanking you
> Aditya Vishwakarma
>
> ___
>  Games mailing list
>  [EMAIL PROTECTED]
>  http://lists.laptop.org/listinfo/games

-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
"The best way to predict the future is to invent it."--Alan Kay
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Eben Eliason
On Fri, Apr 11, 2008 at 11:15 AM, Bert Freudenberg <[EMAIL PROTECTED]> wrote:
>
>  On 11.04.2008, at 07:12, Eben Eliason wrote:
>  > On Fri, Apr 11, 2008 at 10:03 AM, Jameson Chema Quinn
>  > <[EMAIL PROTECTED]> wrote:
>  >> I'm assuming that the data would only go one way. In that case, the
>  >> permission would be, an app without P_NETWORK would not be able to
>  >> request
>  >> opening of apps with P_NETWORK. No new permissions needed, just
>  >> careful
>  >> attention to the ones we have.
>  >
>  > Sorry, I'm not sure I understand this particular requirement.  The
>  > activity launched will be completely isolated from that which
>  > requested it.  Why would we need to make this statement hold?  If I
>  > have, for instance, chosen to trust my web browser to use P_NETWORK,
>  > then why should it matter that it was asked to launch by something
>  > that didn't?
>
>
>  Because a malicious activity could encode a private document as URL
>  and have the browser go to that URL, which would send it to any server
>  on the internet.

Well, isn't that interesting.  You have a point, there, and I don't
see any good way around it.

>  I personally find addressing this scenario not worth the awkwardness
>  we currently have, clicking a URL in any activity should open a
>  browser on that URL, no questions asked, IMHO. If necessary, invent a
>  new permission for this.

Well, perhaps a permission is in fact needed then.  Of course, I still
see that there could be worth in a service which allows activities to
launch others.  Perhaps the Develop activity eventually wants to
launch an SVG editor for its icon.  Perhaps Write wants to be able to
embed links to other projects (as was initially mentioned as the use
case) for writing tutorials.  I'm not sure how to accomplish this.

- Eben
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Jameson "Chema" Quinn
On Fri, Apr 11, 2008 at 1:37 PM, Eben Eliason <[EMAIL PROTECTED]>
wrote:

> On Fri, Apr 11, 2008 at 11:15 AM, Bert Freudenberg <[EMAIL PROTECTED]>
> wrote:
> >
> >  On 11.04.2008, at 07:12, Eben Eliason wrote:
> >  > On Fri, Apr 11, 2008 at 10:03 AM, Jameson Chema Quinn
> >  > <[EMAIL PROTECTED]> wrote:
> >  >> I'm assuming that the data would only go one way. In that case, the
> >  >> permission would be, an app without P_NETWORK would not be able to
> >  >> request
> >  >> opening of apps with P_NETWORK. No new permissions needed, just
> >  >> careful
> >  >> attention to the ones we have.
> >  >
> >  > Sorry, I'm not sure I understand this particular requirement.  The
> >  > activity launched will be completely isolated from that which
> >  > requested it.  Why would we need to make this statement hold?  If I
> >  > have, for instance, chosen to trust my web browser to use P_NETWORK,
> >  > then why should it matter that it was asked to launch by something
> >  > that didn't?
> >
> >
> >  Because a malicious activity could encode a private document as URL
> >  and have the browser go to that URL, which would send it to any server
> >  on the internet.
>
> Well, isn't that interesting.  You have a point, there, and I don't
> see any good way around it.
>

One way would be to launch an instance of Browse without P_NETWORK (and, of
course, with a virgin configuration, which was deleted after running). You
could view your document locally, and P_NETWORK would not be violated.

If, in fact, this use case is considered important enough to be worth the
effort. I'd say that watching P_NETWORK as I suggested originally would be a
good enough first-pass solution that probably we'd never get a second pass.


> Well, perhaps a permission is in fact needed then.  Of course, I still
> see that there could be worth in a service which allows activities to
> launch others.  Perhaps the Develop activity eventually wants to
> launch an SVG editor for its icon.  Perhaps Write wants to be able to
> embed links to other projects (as was initially mentioned as the use
> case) for writing tutorials.  I'm not sure how to accomplish this.
>
> - Eben


Note that these use-cases can be done with the P_NETWORK scheme - assuming
that, instead of writing your tutorials in Write, you do it in Blog (which
may indeed by a special case of Browse), which makes more sense anyway.
(Yes, I am proposing a url format for activity launching - this is safe,
since the originating app would have P_NETWORK.)

Jameson
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Benjamin M. Schwartz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Eben Eliason wrote:
| On Fri, Apr 11, 2008 at 11:15 AM, Bert Freudenberg
<[EMAIL PROTECTED]> wrote:
|>  I personally find addressing this scenario not worth the awkwardness
|>  we currently have, clicking a URL in any activity should open a
|>  browser on that URL, no questions asked, IMHO. If necessary, invent a
|>  new permission for this.
|
| Well, perhaps a permission is in fact needed then.  Of course, I still
| see that there could be worth in a service which allows activities to
| launch others.  Perhaps the Develop activity eventually wants to
| launch an SVG editor for its icon.  Perhaps Write wants to be able to
| embed links to other projects (as was initially mentioned as the use
| case) for writing tutorials.  I'm not sure how to accomplish this.

I'm pretty sure how to accomplish this.  If an Activity wants to open the
browser, perhaps in response to clicking a link, it should
1. Save the link as an object in the datastore.  It should have a mime
type indicating that it is a URL, like "text/uri-list".
2. Ask the Journal to display the detailed view for this new object.

That's it for the activity.
3.  The user opens the object like any other Journal object.  This
requires one click.  Alternatively, the user decides not to open the
object, or decides to do something more complicated with the object.

- --Ben
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH/8H1UJT6e6HFtqQRArdrAKCg6xsqwmJiiN/SAAbNeGAeJ4dBpACffS9E
XSS5VcjthaGAtpXC9zQ7ZJw=
=2asn
-END PGP SIGNATURE-
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Eben Eliason
On Fri, Apr 11, 2008 at 3:52 PM, Jameson Chema Quinn
<[EMAIL PROTECTED]> wrote:
>
>
>
> On Fri, Apr 11, 2008 at 1:37 PM, Eben Eliason <[EMAIL PROTECTED]>
> wrote:
> >
> > On Fri, Apr 11, 2008 at 11:15 AM, Bert Freudenberg <[EMAIL PROTECTED]>
> wrote:
> > >
> > >  On 11.04.2008, at 07:12, Eben Eliason wrote:
> > >  > On Fri, Apr 11, 2008 at 10:03 AM, Jameson Chema Quinn
> > >  > <[EMAIL PROTECTED]> wrote:
> > >  >> I'm assuming that the data would only go one way. In that case, the
> > >  >> permission would be, an app without P_NETWORK would not be able to
> > >  >> request
> > >  >> opening of apps with P_NETWORK. No new permissions needed, just
> > >  >> careful
> > >  >> attention to the ones we have.
> > >  >
> > >  > Sorry, I'm not sure I understand this particular requirement.  The
> > >  > activity launched will be completely isolated from that which
> > >  > requested it.  Why would we need to make this statement hold?  If I
> > >  > have, for instance, chosen to trust my web browser to use P_NETWORK,
> > >  > then why should it matter that it was asked to launch by something
> > >  > that didn't?
> > >
> > >
> > >  Because a malicious activity could encode a private document as URL
> > >  and have the browser go to that URL, which would send it to any server
> > >  on the internet.
> >
> > Well, isn't that interesting.  You have a point, there, and I don't
> > see any good way around it.
> >
> >
>
> One way would be to launch an instance of Browse without P_NETWORK (and, of
> course, with a virgin configuration, which was deleted after running). You
> could view your document locally, and P_NETWORK would not be violated.
>
> If, in fact, this use case is considered important enough to be worth the
> effort. I'd say that watching P_NETWORK as I suggested originally would be a
> good enough first-pass solution that probably we'd never get a second pass.

I think that opening a non-local URL is an equally desired use case.
Passing links to friends via chat, or wanting to click them from
within documents such as Write or downloaded pdfs is going to happen a
lot.

Ben's suggestion, in my mind doesn't really solve the exploit brought
up earlier in my mind, but merely passes it off.  The Journal is in no
better position to convey whether or not the link that the object
represents is malicious or not.  In fact, I don't see a way around
this at all, except perhaps to show some kind of "caution" message
when an activity which does *not* have P_NETWORK privileges attempts
to launch one that does, but I doubt that would really be of benefit
to the kids.

In fact, this exploit could happen even without a launcher service.
Any activity that wants to could write the users private data to the
disk in a URL format, as an object, and give it a fun preview image.
When the later discovers and becomes curious about it, she'll open it
and send out her private data to whatever site the other activity
wanted.  Is there something in place to prevent this that I'm unaware
of?

- Eben


>
> >
> >
> > Well, perhaps a permission is in fact needed then.  Of course, I still
> > see that there could be worth in a service which allows activities to
> > launch others.  Perhaps the Develop activity eventually wants to
> > launch an SVG editor for its icon.  Perhaps Write wants to be able to
> > embed links to other projects (as was initially mentioned as the use
> > case) for writing tutorials.  I'm not sure how to accomplish this.
> >
> > - Eben
>
> Note that these use-cases can be done with the P_NETWORK scheme - assuming
> that, instead of writing your tutorials in Write, you do it in Blog (which
> may indeed by a special case of Browse), which makes more sense anyway.
> (Yes, I am proposing a url format for activity launching - this is safe,
> since the originating app would have P_NETWORK.)
>
> Jameson
>
>
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Benjamin M. Schwartz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Eben Eliason wrote:
| In fact, this exploit could happen even without a launcher service.
| Any activity that wants to could write the users private data to the
| disk in a URL format, as an object, and give it a fun preview image.
| When the later discovers and becomes curious about it, she'll open it
| and send out her private data to whatever site the other activity
| wanted.  Is there something in place to prevent this that I'm unaware
| of?

I would argue that there is no way around this, and that it should not be
seen as an exploit.  Users must understand that any object produced by an
activity instance can potentially contain any information available to
that instance at that time.

The best we can do is to show the user which instances have written data
in each object, and which objects those instances had access to.  That
list is the list of all private data that could potentially be enclosed in
each object.  This is relevant not only to HTTP access but also to Sharing.

- --Ben
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH/8cNUJT6e6HFtqQRAj8FAJ0bHSY+MZRUTIsWDikpqZ6BOVDq+gCeIX1Q
QLCFODVjOiq2ZbRXGJvulPA=
=id1g
-END PGP SIGNATURE-
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Clicking links (was Re: sugar roadmap)

2008-04-11 Thread Jameson "Chema" Quinn
On Fri, Apr 11, 2008 at 2:16 PM, Benjamin M. Schwartz <
[EMAIL PROTECTED]> wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Eben Eliason wrote:
> | In fact, this exploit could happen even without a launcher service.
> | Any activity that wants to could write the users private data to the
> | disk in a URL format, as an object, and give it a fun preview image.
> | When the later discovers and becomes curious about it, she'll open it
> | and send out her private data to whatever site the other activity
> | wanted.  Is there something in place to prevent this that I'm unaware
> | of?
>
> I would argue that there is no way around this, and that it should not be
> seen as an exploit.  Users must understand that any object produced by an
> activity instance can potentially contain any information available to
> that instance at that time.
>
> The best we can do is to show the user which instances have written data
> in each object, and which objects those instances had access to.  That
> list is the list of all private data that could potentially be enclosed in
> each object.  This is relevant not only to HTTP access but also to
> Sharing.
>

What you are describing is a clear position, but it does not sound like
bitfrost to me. The bitfrost paradigm is that security is maintained without
any "users must understand" requirements. This could be maintained if:

1. There is a "private" attribute of journal objects.

2. Journal objects which are "private" are encrypted at some time before
being backed up (possibly before being written to fs).

3. Journal objects which are "private" will not open with any P_NETWORK
activity  except the same one which created them (or will open with a
special P_NETWORK-crippled, zero-configuration instance of that activity).
(Yes, "the same activity which created them" needs better definition, I
would accept "bundles signed by the same key" personally but that is another
discussion)

4. All objects created by non-P_NETWORK activities are "private" by default.

5. There is of course some way in the journal for a user to remove the
"private" flag from an object.

At that point, "the way to open another activity is to send the user to an
instance in the journal to click it open" is perfectly compatible with
security.

Jameson
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


[sugar] Sugar restart lost Journal, and some customization

2008-04-11 Thread Mikus Grinbergs
G1G1.  Joyride 1848.  Made the mistake of pressing ctl-alt-erase.

When the new Sugar came up, it asked me for the Name and the Colors. 
I found that I had lost the previous Journal contents, and the Main 
screen's activity ring.

I don't depend upon the Journal.  What got me upset was that from 
then on, if I did a manual edit of /home/olpc/.sugar/default/config 
and then rebooted the XO -- this file's content was RESET to however 
that earlier Sugar "restart" had set up this file.  [I had hoped 
that this file's contents would *persist* between reboots.]

Reinstalled Joyride, to try to ward off this behavior.  But will NOT 
again attempt to "restart" Sugar (as it advises) after changing 
sugar-control-panel -- will instead be rebooting from scratch.

mikus

___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


[sugar] Wine Activity and DOS Console

2008-04-11 Thread Benjamin M. Schwartz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Short:
I have made a DOS Console activity based on Wine.  You can download it from
http://dev.laptop.org/~bemasc/DOSConsole-1.xo

In order for it to run, you must first add 'org.winehq.WineConsole' to the
list of RAINBOW_CONSTANT_UID activities in
/usr/lib/python2.5/site-packages/sugar/activity/activityfactory.py

It doesn't play well with others, and is generally not useful at this
time.  The goal is to provide a simple system for turning any Windows
program into a Sugar activity.

Long:
This activity includes a complete copy of Wine 0.9.59 (latest version),
with a goodly amount of shell-script magic to make the installation work
without root privileges.  My intent is to provide a framework with which
anyone can transform a Windows application into an activity with Wine.
Each such activity will run in its own private virtual windows machine,
with sandboxing provided by Bitfrost.  Wine is much better than you
probably remember, and can now run IE 6, MS Office 2003, MS Visual Studio,
and a host of other windows-centric software.  My hope is that OLPC will
soon be able to say that we can run most Windows software, but with better
security, better power management, and better mesh networking.  That is
not to say that I encourage writing Windows-based software to run on the
XO; indeed, I am among the most anti-legacy developers around here.

There is currently no integration with the Journal or Datastore.  The
activity instead maintains its own disk state using the
$SUGAR_ACTIVITY_ROOT/data/ directory.  From a UI standpoint, I do not
think this is unreasonable.  There are many simple windows-based
educational activities that are essentially stateless, and therefore will
work especially well in this model.  Windows-based applications also tend
to store state in a variety of places, such as the registry, which makes
encapsulating state quite difficult.  However, olpcfs may eventually
provide some datastore integration, by regarding the entire virtual disk
as a datastore entry.

This system requires that every wine-based activity must carry around a
complete copy of Wine, about 12 MB.  I hope that users will not have many
such activities installed anyway, since their user experience will
inevitably be subpar.

Bugs:
Due to the way Wine interacts with the UNIX uid system, Wine must be
launched as the same uid every time.  It may be possible to fix Wine to
remove this dependency.  Until that is fixed, DOSConsole (and any other
activity derived from it) must run with RAINBOW_CONSTANT_UID.

Due to a poor interaction with the window manager, Wine's window has
unnecessary decorations, and appears in front of the frame rather than
behind it.  This makes it impossible to use any other activity until after
the wine-based activity is closed.  Changes to the next version of Wine
may improve this situation, as may the next round of changes to Sugar's
window management.

Because DOSConsole is not python-based, it does not connect properly with
the current activity launcher mechanism.  Thus, its entry in the activity
list will blink for several minutes, then disappear, regardless of whether
DOSConsole is running.  The same would be true of any activity derived
from DOSConsole.

I have not attempted any localization, but it should be possible.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH/9t8UJT6e6HFtqQRAu2XAKCIWfhJbW/CpFr4RvyBJxrK+kHbKQCeMMXe
Frim/G8jp7OkUNC0aNjYWxQ=
=bi/1
-END PGP SIGNATURE-
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar


Re: [sugar] Wine Activity and DOS Console

2008-04-11 Thread Chris Ball
Hi Ben,

   > Short: I have made a DOS Console activity based on Wine.  You can
   > download it from http://dev.laptop.org/~bemasc/DOSConsole-1.xo

Neat.  I installed the free-download Excel viewer and took a photo:

   http://dev.laptop.org/~cjb/xo-excel.jpg

(The power light is off because the laptop auto-suspended while waiting
for me to take the photo.)

- Chris.
-- 
Chris Ball   <[EMAIL PROTECTED]>
___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar