Re: Narrative for Finding and Reminding



Wall of text incoming.

On Fri, May 6, 2011 at 12:15 AM, Federico Mena Quintero <federico gnome org> wrote:
It's Monday, your first school day after a short vacation from the
Easter holiday.  Before vacation, you had been working on writing
several reports about your recent field research on the coiling habits
of the boa constrictor.

After blowing away a thin layer of dust from your computer (what's
with the cleaning staff at this campus, anyway?), you turn it on and
log in.

The first thing that greets you is the journal of the last work you did
before you went on vacation.  Beside it you see an area for reminders
of things that you need to get done soon.

You see familiar items in your journal, in the "Last Week" section:
two or three documents detailing different aspects of the boas,
pictures of boas that you took in their habitat and that you have been
editing for publication, and several IM conversations with your
colleagues.  One of those says "conversation with Paco" - your
Uruguayan colleague, plus a little annotation you added for that
conversation: "retrograde boa".  You are on the trail of a peculiar
specimen that lives in the southern hemisphere, and yet it coils
*anticlockwise* around tree branches.

Thankfully, nothing is in the area for reminders.  You were careful to
deal with soon-to-be-pending things before your vacation.

OK, it seems you have two different concepts lumped under "Reminders". In something like this, it seems like it's an automatic aggregation that gets passively cleared. Unread Emails being one example.

In another case, you drag a PDF file to "Next Week Reminders" a la task pooper. How do I get an endorphin-boosting clean slate there? Can I set a goal like "send it in an email", "read it", and it's automatically cleared after you've seen events that match the goal? Do I get a notification for when it's scheduled and it's instantly cleared after it's fired? Do I have to erase the reminder manually? Drag it to a "Done" pile?

Coming back from vacation means your mailbox will be full, and you
need to go through it.  You exit the journal, and open your mail
program.  Some mails from Paco catch your eye, so you click on them
first.  He has a draft report about the retrograde boa, and some
really good pictures, he says.  You save the attachments to your
Downloads.  Surely enough, the journal notifies you that new items
appeared.  You click on the notification; the journal comes up again,
and you see your items there.

"I don't want to read Paco's stuff just yet", you think.  "First I'll
see if there is anything urgent in my inbox, and goddamn, I need a
coffee."  You drag the files from the journal into the reminders area,
specifically to the "Today" section - you want to keep those items
around for reading later today.

Again, mockup would help. I'm assuming that there's new items just scattered around in the journal, and I drag them into the "Today" pile with the rest of the reminders?
 
You go and get your coffee.

Coffee by the computer effectively makes you one-handed, so you use
the remaining hand to scroll through your mail.  Nothing out of the
usual, fortunately; only mail that you can reply to at leisure.

With coffee and an awakened brain, it's a good time to see what Paco
was up to.  You bring up the journal and click on his draft report in
Today's reminders.  Oowriter opens.  You read while you sip your drink.

A notification tells you - your sister is on IM and wants to talk to
you.  You put your mug down.  "Yo, dawg", she says.  "Yo", you reply.
"Mom's birthday is in two weeks."  "Oh, you are right.  I get a cake,
and you get a present?"  "Sure.  Gotta go; ttyl."

You fire up a browser.  Google-maps for "bakeries in Dough St.", for
that's where you know the good cakes are.  There's the link for
Wallace and Gromit's shop.  You drag the link from the browser, hover
on the journal, and as it appears, you drop the link into the "Next
week" section of the reminders.  An icon appears there, and a text
entry - "Cake for mom", you type.  You close the journal.

Cross-app dragging? It's an excellent pipe dream, but I'm not sure I'd like to dig into Firefox or Qt to make it happen.
 
You read on.  Paco's draft is quite good.  You can certainly reference
it in your own papers.  So, you bring up the journal again and your
documents are right there in the last work you did before vacation.
You open your documents and cut and paste the citation.

Paco is online.  You IM him.  "Mind if I use your retrograde photos in
my report?"  "They are CC-BY-SA, dawg.  Go ahead."  "'k.  Sweet draft,
BTW.".

You bring up the journal again, and you make it cover only half the
screen.  You drag Paco's pictures from the reminders section into your
oowriter document, which of course causes them to be inserted.  "Oh,
damnit", you think, and then you sigh, as you resign yourself to
having to fix the image anchors and wrapping later.

I see that you like dragging a lot... I'm hoping that we can get an alternate UI that doesn't involve dragging.

Should we start another flamewar and replace GtkFileChooser again? This time with a journal view that has *no* text entries?
 
You greedily lick the last drop of coffee from the rim of your mug.

It's nice to be back.

 * * *

It is Monday, a week later.  You come to school, boot up, log in.  The
journal greets you with the results of a busy week:  lots of ephemeral
material around your three reports - images, conversations, web pages.

The reminders for "This week" catch your eye:  you see "Mom's cake"
there.  Click on it - your browser opens.  Scroll down to find the
phone number for the bakery; dial after requesting an out-line from
the university's phone system.  Wallace answers, and you can't
understand what he says at first.  You hear a tea-gulp, "oh, I'm
terribly sorry, I had a cracker in my mouth.  How may we help you?"
You order the chocolate cake with almonds, so you can pick it up
tomorrow.  "Certainly."  As you are hanging up, you hear a faint
scream, "Gromit, get to it".  That dog can bake, you think.  You leave
the reminder there, so you'll remember to pick up the cake tomorrow.
After that you'll remove the reminder so it doesn't roll over into
your journal when the week ends.
 
Paco IMs you.  "I'm screwed.  A fucking boa ate my laptop.  I can see
its shape outlined in its belly."  "Dude!  I told you not to..."
"Tell me you have those drafts and the pictures I sent you."  "Got
them.  Will mail you."  "Thanks.  I have no idea what will happen, but
it's certainly material for a paper on the digestion of plastics and
rare metals."  "Take care, Paquito."

You halfway roll your eyes, but you are thankful that it is the laptop
and not Paco that is inside the retrograde's belly.  You open a mail
composer and select Paco's email address.  Click on the journal.
Scroll back to Last Week.  You drag the pictures and the documents to
the mail composer.

How's the contact support going to work with this? I hope that I can open Paco in the gnome3 Contacts client, hit "Send File", which will open up the journal, GtkFileChooser, whatever.

I also hope that I can go to the Journal, select on a pile I have lumped in the Reminders, and then there's a "Send To" menu, filed with recent contacts, and contacts that Zeitgeist thinks might be associated with the files.
 
Before you hit "Send", you type in the message body, "Do send me
pictures of the belly outlining the laptop."

During the day you look for web pages from other researchers.  The
pages appear on your journal.  But the next time you bring it up, you
find your false-positives there.  Some idiot blogged about "Airborne
ophidians" - you were thinking of snakes on trees - but really it was
a pompous review of "Snakes on a plane".  You don't want that
silliness cluttering your journal.  So you bring up the Eraser tool
and click on the offending links.  Neat and tidy, again.

I'm getting a little nervous at this point. Let me set the stage:

I've been told that Zeitgeist doesn't track the items, it tracks those semantic triplet things. Let's imagine I do some manual grungework to make that blog post more useful for me. The raw triplets:

  * Accessed Airborne Ophidians at 3:11 PM
  * Tagged Airborne Ophidians with "movies" at 3:15 PM
  * Set reminder for Airborne Ophidians for Next Week at 3:20 PM, "good movie for first date?"

Now, let me grab my handy Pink Pearl and rub out that the "Accessed the blog link at 3:11 PM". I smirk. All I need to do is wave a cursor around, and instantly it's forgotten about what I did... if only people worked this way.... *ahem* It disappeared, and an undo button popped up in its place. [0]


Two questions about the meaning of my spring cleaning:

  1) Which of those triplets did it remove? Did it remove all existence of the object from the world? Will my reminder for Next Week still exist? Does it remove the journal tags of it?
  2) Should we garbage collect objects? If I trash the reminder, bringing the poor little post's reference count to zero, should we ditch him in a dumpster? Should we throw his tag buddies in there too, for good measure?

More philosophically: Is an item still itself if we remove its core Id? All of those awesome action verbs like "Accessed", "Opened", "Edited" give that subject its personality. If we have a vestigial "Tagged" event left, it's useless data about how to organize the data; should we scrap it along with my appendix?

If so, why not take our pickup truck around the block and pick up our neighbor's trash too? Do we shoot Firefox with our "erase memory laser", and like magic it doesn't have an alibi for anything I, uh, may have done at 3:11PM? That might be useful for, uh, "planning surprise gifts".

And the biggest question:

If I delete all references to my Amphibian report, will we go down the dark, shady alley and prune the technical detail of the file from the filesystem as a community service? If an item doesn't exist in the journal, does it exist at all?

 * * *

You've been piling up reminders of things-to-read next week.  They are
various PDFs that you found while looking for web pages from other
researchers.  When you dragged those PDFs to the "Next week" area in
the reminders, you put the files into two groups - boas and other
snakes.  The reminders area lets you place items in a free-form
organization, so you can spatially group things together as you need. 
 
Once you finish your reports, you mail them to your advisor - again,
by dragging from the journal into your mail composer.  You also drag
the reports into the "Next week" reminders section, and type "Poke
advisor if he hasn't replied yet" into the space for an annotation.
Next week you'll see that the reports have bubbled up to the reminders
for "This week", and you'll remember to ask that unreliable bastard if
he hasn't read your ouvre yet.


I assume the spatial organization is supposed to be an additional three pieces of permanent metadata: X, Y, and scale?

Do we want to do something like the Firefox Tab Groups for overlapping items? With that, having extremely close, overlapping items works wonderfully: they get turned into a recognizable grid view with ample space, but there's a flipbook-style mode when the grid view is too tight.

Additionally, what happens when I drag an item to "Next Week"? When do I get actively reminded? I'm not sure I get the concept of a reminder.

*thinking out loud*

How about we have infinite granularity by one of those neat ZUIs [1]. Today's Reminder is just another draggable spatial box like the others, only it's a container. You zoom into it, and it has hour-level granularity. Zoom out, and you get week view, which is just each day's view but scaled back.... month-level, year-level, etc. Zoom all the way out and you see something that looks like a wall calendar. You could probably have a date/time spinbox or shortcut list to "Today", "Next Week" that would take hold of the camera and point you to somewhere else in the overall scene to prevent you from playing Where's Waldo... dragging might be a little tough then..

Those "Today", "Tomorrow", "Next Week", "Next Month" links could be drop targets as well, and we could probably add a "Long Term" link and drop target that would open up a dialog with a spinbox to set a more precise time...
 
Two days later, your advisor surprises you:  he *has* read your
reports and likes what he sees.  But he would like to see what Paco
said first, and he asks you for his paper.

You bring up your trusty journal.  In the Search box you type "Paco"
and the view scrolls to the first match; other matches get
highlighted.  "Conversation with Paco" matches but that's not the item
you want; you hit "Next" a few times.  While "draft.odt" doesn't match
directly, it *also* gets highlighted as it was saved from a mail
attachment that came from Paco.  You send the file to your advisor,
and as soon as you hit "Send", you start wondering if you should have
asked for Paco's permission first.

You have been eaten by a ~g~r~u~e~ boa constrictor. You are awarded 10 out of a possible 132 points.

 [ Retry ] [ Restore ] [ Exit ]
 
 * * *

It is in this way that the journal helps you keep your working set of
data for easy referral, and also how it helps you set up ad-hoc
reminders to do stuff.  You can trust that the work you do will appear
in your journal; you can trust it to be the lifeline to your everyday
work.


Mockups will come next.  Meanwhile, notes of plot holes and things I
missed are appreciated :)

Overall, a very excellent, ambitious goal to have, and I applaud you on this. I'm just worried that it's an extraordinary amount of effort.

I apologize profusely in advance for hijacking the post-scriptum of the thread, but this has been something I've been frustrated with lately: I've been seeing some talk about things like nautilus and gnome treating the filesystem just as an underlying implementation detail, with gvfs, Zeitgeist and the Journal coming in and taking its place. While I'm looking forward to the day that we treat all of the gvfs and Zeitgeist URIs as equal, first-class citizens, my want is that we don't do this at the expense of the raw filesystem: it shouldn't have to go outside its comfort zone to try to gain its new gnome3 green card as the rules are changing under it's feet.

The filesystem is raw, dirty, but it will has been and will be around forever, and it's worth it to give it the respect it deserves. I'm hoping that we try and treat all this Journal stuff as a separate job: orthogonal and supplemental to the filesystem, not as a successor or replacement. I'm also hoping that we'll treat the filesystem as a natural metadata source. Files and folders, while not semantic, is a pretty good abstraction, and I try to be heavily organized in terms of it. Don't ditch all the work I've done keeping my system tidy if you want to put in a new system that has the same underlying mechanism: grouping objects as belonging to categories with names.

[0] http://www.alistapart.com/articles/neveruseawarning/
[1] http://en.wikipedia.org/wiki/Zooming_user_interface
 
 Federico

_______________________________________________
gnome-shell-list mailing list
gnome-shell-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-shell-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]