Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate

#sugar-meeting meeting, 2012-07-31 16:30:26

Minutes | Index | Today     Channels | Search | Join

All times shown according to UTC.

Time Nick Message
16:30 meeting Meeting started Tue Jul 31 16:30:26 2012 UTC. The chair is garycmartin. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:30 Useful Commands: #action #agreed #help #info #idea #link #topic #endmeeting
16:30 dirakx Hello.
16:30 garycmartin Hi folks, who do we have today?
16:30 ajay raises his hand.
16:31 walterbender is here
16:31 silbe waves
16:31 garycmartin Hi guys, perhaps we should give other another few minutes?
16:32 just pings the sugar channel
16:34 Hmmm, OK, I guess some others are tied up at GUADEC still.
16:35 #link http://wiki.sugarlabs.org/go/Design_Team/Meetings
16:35 #topic Example support for activities
16:35 #link http://lists.sugarlabs.org/arc[…]-July/038588.html
16:36 walterbender: this is one you've raised in a couple of Sugar cycles at least now ;)
16:37 walterbender garycmartin: I think we are finally on to a simple solution
16:38 I am convinced the solution is not to add journal spam, even though it is the right way in theory :)
16:39 garycmartin If I remember there were two possible use cases I've seen go by. 1) Accessing example objects from inside an Activity bundle; 2) modifying/adding objects to existing Activity bundles. I guess (1) is what we're focusing on now (simpler solution)
16:39 walterbender yes...
16:40 to manage that from the journal makes life too difficult for an activity developer.
16:40 I'd need to find what was already in the journal, what had changed, etc.
16:41 managing it from within the bundle is trivial
16:41 and tincho is working on a simple chooser-like inteface
16:41 garycmartin walterbender: So we would not need to expose anything in the Journal volumes toolbar. Just modify the Object chooser to access and display a hardcoded folder inside the bundle structure.
16:42 walterbender: So there are implementation issues with re-using the ObjectChooser code?
16:42 walterbender I think that is the current plan
16:42 I don't think it will be difficult
16:43 silbe walterbender: we should probably distinguish between Journal (the GUI) and the data store (where the users Journal entries get stored) here. Both the Object Chooser (which is GUI, too) and the Journal could show entries that are stored in Activity bundles, instead of putting them into the data store.
16:43 walterbender silbe: agreed. that is the design issue
16:43 silbe: some indication of the read-only/copy-on-write nature of these objects
16:44 garycmartin: in Turtle Art, I use a box instead of the Journal icon to indicate things coming from the file system... maybe a metaphor we can expand upon?
16:45 open to suggestions
16:45 garycmartin walterbender: And the use case is to allow an  activity to select a new example/template from within it's interface?
16:45 walterbender garycmartin: yes
16:45 garycmartin walterbender: Yes the box == collections
16:45 walterbender with the intention that once modified, these selections would be in the Journal
16:46 silbe garycmartin: there is some technical issue with showing several "storage devices" that are not actually mountpoints. However, that's something we need to fix anyway. So don't let that influence the design decision.
16:46 garycmartin walterbender: Well yes, if you select an example object in Activity, and then Stop, you will have it in your Journal.
16:47 silbe walterbender: I would be thinking more in the direction of "stock items" / "off-the-shelf items" rather than "file system". No idea how to represent that graphically, though.
16:47 walterbender garycmartin: that is how TA works at least
16:48 silbe: not sure where the stock items would be except in the file system (in practice)
16:48 silbe: I do make some stock artwork in some of my apps in Python (Python generated SVG, for example)
16:48 silbe: so yes, maybe it is not always in a file system
16:49 garycmartin So the ObjectChooser happily displays multiple volumes these days, can we add the Activity icon in as another icon, and and modify the ObjectChooser API to allow authors to have this selected by default?
16:49 walterbender silbe: can you speak to gary's point?
16:50 silbe walterbender: the distinction is between where the items are physically located and what they represent to the user. The file system is a low-level detail, like it is with the data store.
16:51 walterbender silbe: yes... we should have an abstraction layer, but from the activity developer point of view, the distinction is rarely relevant
16:52 silbe: but I do admit it is a pain to have to manage both file system and datastore access in parallel
16:52 garycmartin The ObjectChooser could just test for a default named folder in the bundle, and display an extra icon (the Activity icon I'd suggest). It would function just like when you point ObjectChooser to a USB stick volume.
16:52 silbe walterbender, garycmartin: for the purpose of this discussion, you can assume that's possible. It's an implementation problem that we can solve.
16:52 walterbender silbe: and if I want to introduce additional, computed objects, my code ends up a mess
16:53 silbe: that'd be great
16:54 garycmartin So in the mail list Martin raised the issue of backwards compatibility as well, "One important thing that is missing from the design thread is to consider the backward compatibility with existing version of sugar."
16:54 silbe walterbender: It's fine to tell the Activity developer about the file system. I'm talking about how to present it to the user.
16:55 garycmartin walterbender: If you make your 'collections' icon call up this new ObjectChooser, it'll be a red flag day for support unless you add in fallback code.
16:56 walterbender garycmartin: I assume I'll have to maintain the code in Turtle Art itself for a while...
16:56 silbe garycmartin: for an intermediate period Activity developers could provide Journal Entry Bundles with all the example entries for users on older Sugar versions to use
16:58 walterbender silbe: unless I am misunderstanding, I think that puts an unwieldy burden on the activity developer... when I upgrade to a new version, I need to find all the Journal Entry Bundles to see if they need replacing... ugh
16:58 silbe garycmartin: API can and should be versioned. If the new Object Chooser API isn't available, the old one (or possibly even a private copy, for this particular case) can be used.
16:59 garycmartin So one issue I see with the ObjectChooser route. It will be very tempting to treat this like an Open File dialogue in other platforms. Users would likely get used to calling up this dialogue and switching it to the Journal and then "Loading" some past journal entry into the activity (often wiping their existing work).
16:59 dirakx has quit IRC
17:00 silbe walterbender: the Activity developer only needs to export the example entries once (per Activity version) and offer the whole bundle for download.
17:01 garycmartin silbe: walterbender releases new versions like no one else on this planet ;) The journal would be flooded! ;)
17:02 silbe: (and walterbender includes many examples)
17:03 back to my above ObjectChooser issue. We could have ObjectChooser _only_ show the Activity example content when activated in that mode.
17:03 dirakx <dirakx!~rafael@190.159.157.143> has joined #sugar-meeting
17:04 silbe garycmartin: If you fear confusion, that's a valid concern. As for possible data destruction: The Activity should save the session before loading the example entry (it's definitely a major change). With gdatastore, the old version will be retained. We could even add API to sugar-toolkit(-gtk3) that Activity authors can call to take care of "major changes" saves, possibly saving a copy for the case of old data stores.
17:06 garycmartin: well, only Restore can extract multi-entry JEBs (the Journal only supports single-entry JEBs) and it takes a lot of care when extracting entries that already exist in the data store.
17:07 walterbender silbe: is it really detecting when duplicate entries are created?
17:09 garycmartin silbe: So yes, versioning before loading an example entry could help, someone looking through the examples would end up with them all in their Journal. Hmmmm...
17:09 silbe walterbender: I wouldn't call them duplicates. Every entry is identified by its object_id (uid in the case of the old data store). The bundle may have an older, the same or a newer version than the one that's in the data store. Restore acts accordingly, by only overwriting the entry if its newer.
17:10 walterbender has been operating on the assumption that we don't have versioning yet :P
17:10 satellit_RPi has quit IRC
17:10 silbe garycmartin: they'd only see all of the copies if they run an old data store ;)
17:10 gonzalo_ the plan is copy the examples in the journal?
17:10 silbe has :-P
17:10 gonzalo_ walterbender, silbe, the plan is copy the examples in the journal?
17:11 walterbender gonzalo_: only when we have real versioning, I'd argue... or else we have a journal spam problem
17:11 garycmartin I guess even without a versioned Journal, we could have this new ObjectChooser behaviour save out the existing activity before loading the new object.
17:12 silbe gonzalo_: not exactly. a copy would only be created if the user loaded the example.
17:12 gonzalo_ garycmartin, saving before loading the example should be responsability of the activity
17:13 silbe, why is needed copy the example in the journal?
17:14 silbe gonzalo_: it is part of the current activity session and saved as that
17:14 walterbender gonzalo_: I suppose it really depends on the activity... but in most of the ones I write, once an example is opened, I expect/hope the user makes some changes
17:15 silbe gonzalo_: the copy would be to prevent loosing previous content by loading an example. With a version support enabled data store, it would just be a version, not a copy.
17:15 gonzalo_ silbe, probably should be saved only if modified
17:15 silbe gonzalo_: yes, that's the general idea.
17:16 if you don't make any chances to an example before loading another example, I wouldn't consider that a major change
17:16 gonzalo_ ok
17:16 garycmartin gonzalo_: silbe: though that would not be obvious to a user...
17:17 gonzalo_: silbe they would end up with a Journal that has some things an not others.
17:18 gonzalo_ garycmartin, the point should be: don't loose changes done by the user. if the user has not modified the example can take it again from the examples box
17:18 garycmartin The in Activity opening of objects really does break up the Journal metaphor even more (Walter already does this in TA, but not many other Activities do this yet).
17:18 walterbender garycmartin: I draw the line on adding things to the Journal without the user taking any action... If I load an example and it ends up in the Journal, I can understand that. If I launch an activity and end up with lots of extra Journal entries, that is spam.
17:19 garycmartin walterbender: +1
17:20 silbe garycmartin: I think part of the problem is that we still have a mix between Object View and Action View (though more like an Object View than an Action View) instead of having them separate.
17:20 garycmartin walterbender: So we just need you to start versioning your examples ;P
17:20 walterbender well, tincho is doing the coding :P
17:23 garycmartin So….. if a duplicate/version is made as you choose a new example, I guess the ObjectChooser could still show other volumes and the Journal. Users could launch an activity, and use this new feature like a conventional File Open...
17:23 (without ever going back to the Journal to resume!)
17:24 That would pretty much trample over the entire Activity vs. activity metaphor.
17:26 OK we've been at this one point 55min
17:26 Can we pick this up on the mail-list?
17:27 silbe garycmartin: +1
17:27 garycmartin I'll add it back to the end of the agenda for the next meeting.
17:28 Do folks have time for another item, or should we call it quits for today?
17:28 walterbender I need to get going...
17:28 m_anish garycmartin, can we quickly discuss the lease one
17:28 it should be quick
17:28 i think there already is some consensus on the m-l
17:28 garycmartin (would be "Lease expiry information display in My Settings", then "Journal multi-select")
17:29 m_anish: James and Daniel both had some unresolved issues with it.
17:30 (James: Didn't think it should be in the 'Identity' section; Daniel: didn't understand the use case or problem that needs to be solved)
17:31 m_anish: Can we pick this up on the mail thread, this way it's first on the agenda next week! ;)
17:31 m_anish garycmartin, okay
17:31 garycmartin #topic Meeting wrap up
17:31 m_anish missed Daniel's reply somehow, will reply
17:32 garycmartin OK, sorry we were tied up on one topic, I should try to move on sooner if there seems lot's of discussion still to be had (which should mainly happen on mail-list/wiki).
17:34 ajay garycmartin: did u happen to try the patched sugar rpm that m_anish uploaded, containing the fixes for 2/3 action items for multi-select?
17:34 garycmartin ajay: I have feedback and completed action items from last meeting (and I have tested with 100's of journal entries, and have been testing with new rpm from m_anish on the DX image).
17:34 ajay: Typing at the same time :)
17:34 ajay garycmartin: ahh.. ok . .would love to hear :)
17:34 garycmartin: :P
17:34 garycmartin I'll take my notes over to the mail-list, was intending to bring them up here, but shouldn't hold off another week!
17:35 ajay garycmartin: ok.. that would be fine.. m-l would be fine
17:35 garycmartin OK thanks all, time for the count down, we're only 5min over time!! :)
17:35 5
17:35 ajay 4
17:36 m_anish 3
17:36 gonzalo_ 2
17:36 garycmartin walterbender: ^ 1?
17:36 walterbender 1
17:36 garycmartin :)
17:36 #endmeeting
17:36 meeting Meeting ended Tue Jul 31 17:36:52 2012 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot. (v 0.1.4)
17:36 Minutes: http://meeting.sugarlabs.org/s[…]-31T16:30:26.html
17:36 Log:     http://meeting.sugarlabs.org/s[…]12-07-31T16:30:26

Minutes | Index | Today     Channels | Search | Join

Powered by ilbot/Modified.
Webmaster