<div><blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">But if you don&#39;t dislike any of the now 2, but potentially more<br>activities that share images between them, you&#39;ll end up having a lot of
<br>wasted space, but of course the file hashing and linking would take care<br>of that.</blockquote><div><br class="webkit-block-placeholder"></div><div>What space would be wasted? &nbsp;Like I said, I think you only need a few images as a base. &nbsp;For these activities you&#39;re talking about, the content of the image doesn&#39;t seem to be essential to the activity itself. &nbsp;You could ship 3 images or so with each and let the kids provide the rest.&nbsp;
</div><div><br>&nbsp;</div><blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">Think of &#39;My Own Images&#39; like Bookmarks are on a browser. You don&#39;t<br>store the content, you don&#39;t see the whole set of available data, you
<br>just mark them as &#39;cool&#39;. Maybe there is tagging in the datastore<br>objects and I never crossed it? That would work really great and without<br>ever needing to do special kungfu or corner cases.</blockquote><div>
<br class="webkit-block-placeholder"></div><div>But bookmarks are created from the browser because that&#39;s where you go to browse pages. &nbsp;Kids can tag and star their photos when they take them. &nbsp;Adding a complicated file structure for managing photos inside what is otherwise a very lightweight activity shouldn&#39;t be necessary. &nbsp;The Journal does in fact depend heavily on the notion of tagging, and as mentioned there&#39;s even an integrated &quot;starring&quot; feature which let&#39;s the kids identify their favorite things within it.
</div><br><blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">It&#39;s a &#39;personal preference&#39; thing, the bookmarks. You really like that<br>image of an XO completely dismantled, so you use it for everything...
<br>but then again, maybe user tags would work better? If the user feels so<br>inclined, he/she/it can tag images and apply that as a filter when<br>selecting an &#39;external&#39; image.<br><br>There is an extra piece of information I didn&#39;t give you, which is the
<br>fact that images are categorized. I have a folder that holds folders<br>(categories) that holds images. You have a list of categories presented<br>to you and a separate widget that holds one image of the selected<br>category and has left/right arrows to walk through the other. &#39;My Own
<br>Images&#39; is a special category.</blockquote><div><br class="webkit-block-placeholder"></div><div>Again, I still think this is entirely over engineering the problem. &nbsp;There should be a few base images (even just one?) and no need for this complex hierarchy or record of images (or a sidebar at all?). We&#39;ve also been eliminating hierarchy in many cases, and I think that the &quot;My Own Images&quot; category is really what it&#39;s all about. &nbsp;The laptops are going to ship with lots of materials and a virtual library where the kids can find photos (and videos, sounds, texts, etc) of anything they want, so there&#39;s not much need for each activity to bundle their own library of media. &nbsp;When I want to do a different puzzle, I could select a new one from the Journal (via drag&#39;n&#39;drop or a chooser). &nbsp;The chooser itself will only show me images in the first place, likely with thumbnails, and it will have a search and filter field so I can quickly type &quot;cat&quot; (instead of browsing through categories) and select the &quot;starred&quot; filter to find my favorite photo of my cat in a flash.
</div><div><br class="webkit-block-placeholder"></div><div>Since we are changing the filesystem and its access so drastically, we&#39;re also dedicated to making interactions with it meaningful and simple for developers so that they don&#39;t have to jump through hoops to do their own management unless it&#39;s essential to the activity. &nbsp;For the most part, the more we can take advantage of these common choosers and the idea of tagging/filtering the stronger the whole system will be on the whole.
</div><div><br class="webkit-block-placeholder"></div><div><br class="webkit-block-placeholder"></div><div>As another small tangent, the laptops depend on the notion of sessions, especially in the face of potential collaboration. &nbsp;As such, any management except that around a particular session is unwanted. &nbsp;Consider this use case: &nbsp;I open a jigsaw puzzle. &nbsp;I start playing the default image of a fish by myself, and then I share it and work on it with my friend for a while. &nbsp;We make some good progress. &nbsp;Later I want to do my own, so I start a *new* instance of the jigsaw puzzle (read this as I make a new jigsaw puzzle). &nbsp;On this one I drop a photo of my family, and I don&#39;t share it, because it&#39;s personal. &nbsp;Tomorrow, when I see my friend again, I go back to the Journal and we open the puzzle of the fish we were working on yesterday, continuing right where we left off.
</div><div><br class="webkit-block-placeholder"></div><div>You see, in this way I can have a bunch of different puzzles, each with it&#39;s own image, and with a different set of participants, and being in a different state of completion. &nbsp;Each instance of the activity literally *is a different puzzle* so to speak. &nbsp;Even before collaboration is available, this fits with our multi-instance/saved-session model, and it makes it more clear why the image associated with any given instance of the activity is a more intimate thing, and doesn&#39;t require the overhead of lists or managed sets of files at all. (This is why I suggest only a single default image...there&#39;s just one puzzle in the box, so to speak.)
</div><div><br class="webkit-block-placeholder"></div><div>Hopefully this example will turn your world upside down for a bit. &nbsp;We look at activities in a way that&#39;s quite different from many other platforms. &nbsp;=)</div>
<div><br class="webkit-block-placeholder"></div><div>- Eben</div><div><br class="webkit-block-placeholder"></div></div>