#6551 NORM Never A: Activities can't tell how they're being launched until too late

Zarro Boogs per Child bugtracker at laptop.org
Fri Feb 22 12:55:57 EST 2008


#6551: Activities can't tell how they're being launched until too late
--------------------+-------------------------------------------------------
 Reporter:  bemasc  |       Owner:  marco         
     Type:  defect  |      Status:  new           
 Priority:  normal  |   Milestone:  Never Assigned
Component:  sugar   |     Version:                
 Keywords:          |    Verified:  0             
 Blocking:          |   Blockedby:                
--------------------+-------------------------------------------------------
 This applies to all Activities, but consider the case of Write:

 If I start Write from the activity launchbar, Sugar will invoke
 Write.__init__, which displays a blank canvas for me to write in.

 If I resume a Write instance from the Journal, Sugar will invoke
 Write.__init__, which displays a blank canvas.  _Then_, it will call
 Write.read_file to add in the current document.  However, I may already
 have started typing in the blank canvas, in which case something screwy
 will happen.  If this has not been a huge problem, it is because the
 read_file() call usually happens fairly quickly for small documents.

 If I join a shared Write instance, Sugar will invoke Write.__init__.
 After several seconds, it will declare that Activity "shared", and then,
 after several more seconds, including network delays, the shared content
 will appear.  This is _extremely_ disconcerting for users, who may have
 already started interacting with the blank session, causing weird things
 to happen once sharing _actually_ starts.

 Activities need to know _how_ they were launched during __init__().  It
 may be that Sugar already provides mechanisms for this, but I am not aware
 of them.  Alternatively, an Activity that has been launched from the
 Journal should not be displayed to the user until after read_file(), and
 an Activity that has been launched by joining should not be displayed to
 the user until Sugar's part of the sharing has completed successfully.

-- 
Ticket URL: <http://dev.laptop.org/ticket/6551>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list