Hi all,
I created a prototype to illustrate some of the concepts for searching a
flow board:
http://pauginer.github.io/prototypes/flow/search/index.html
The basic ideas are:
- Show first result as soon as you type and avoid context changes (i.e.,
highlighting the matches on top of the current conversation instead of
going through a specific "results page")
- Integrate search with table of contents. The table of contents can act
as a de-facto search results summary you can open after searching to have
an overview of the topics where your query was found (and information on
whether some of these topics were in your watchlist or you participated in
them).
Note that the prototype is intended to reflect the basic interaction
elements so several aspects are missing or broken. It also simulates a
limited workflow, so you may want to follow these instructions:
1. This is a flow board about the Rapa Nui article. Please, access the
list of all topics and go back to the flow board (the prototype won't let
you jump to a specific topic).
2. Search for "moai" to find out which conversations are related to
those nice statues.
1. You can go through the results by the next/previous controls or by
scrolling.
3. While you are searching, get an overview on which topics are related
to your search.
Feel free to provide any feedback. At this moment we are specially
interested in usecases for search where this model may not work, so
examples to illustrate those would be really useful.
Thanks
Pau
--
Pau Giner
Interaction Designer
Wikimedia Foundation
LQT pages have been converted to Flow on OfficeWiki! We had to stop and
then restart the conversion process, which caused some unexpected bugs --
but we figured it out, and the LQT threads are Flowified now. The next step
is moving wiki talk pages to archives, which we'll start next week with the
project talk namespace.
*Erik*:
Working on LQT conversion -- individual imports worked for headers and
topics.
The issue was: we moved the LQT pages out of the way, but we had to stop
the process partway through. Rolling the changes back didn't move those
pages back, so things got confusing when we tried to run the script again.
The templates in the headers need to be updated.
One good thing -- Nick is still subscribed to the LQT threads he was
subscribed to!
Also working on L2: Analytics queries from existing data. Wrote most of the
queries, they're probably correct. Needs to be tested. Planning to put that
into Limn today, see what comes out.
*Matthias*:
Today - worked out more pieces of CirrusSearch maintenance script, 3 new
patches up for Nik to look at. (We may not be able to reach him until after
Thanksgiving.)
Tomorrow -- continue that, and do some code review -- take care of Erik's
backlog.
Matt is off today for Thanksgiving weekend, and all the Americans will be
out Thursday and Friday. Team members in Canada, Belgium and Spain will
have to fend for themselves.
It's great Shahyar has got the TOC in a state where we can see jumping down
working. Try it at http://flow-tests.wmflabs.org/wiki/Talk:Sandbox (please
don't add or hide/delete topics to this, it's crafted specially to test
TOC. You can experiment on Talk:Flow_QA or your own user_talk page.)
If you click on e.g. topic 73 it works strangely (try it and see). We think
Flow is trying to load topic 73 but it's at the bottom of the page which
triggers loading topics 11-20, and then the view jumps around as topics
show up.
We knew this would be hard to get right. Danny and I explored some use
cases.
1. You click on topic 73 and there's a gap above it.
* TOC requests that topic and some topics around it (e.g. N-3 through N+7)
* TOC disappears
* Flow shows a Loading more animation at the bottom of the page and
positions the view at it.
* When the topics show up, Flow positions topic 73 just below the fixed
header as usual.
While this is in progress, we need to disable the usual bottom of page Load
more behavior -- don't try to load 11-20. There should only be one load
going on at the very bottom of the page.
(Note ErikB doesn't think there's a performance win in asking for only
topic 73 then making separate API requests for topics 69-72, etc. Nor is it
easy to provide a variable response "Give me enough topics to fill four
[PageUp] operations from topic 73")
When Flow adds topics 70-77 to the page I think we need a "gap indicator"
at the top of them to indicate there is a gap but Flow isn't yet trying to
load stuff to fill it. On a fast computer and connection the user might
never see this.
2. You scroll up from topic 73
Because Flow has loaded some topics above 73, you can scroll up into
content above, preserving the illusion of perfect scroll. As you get closer
to the gap (topics 11-69), Flow tries to fill in the gap to preserve the
illusion of a complete page. When scrolling up into a gap Flow should
always load bottom-up, i.e. it requests topics 60-69. The dormant "gap
indicator" turns into the active Loading more animation
The problem is, while this is going on the user can scroll around past the
gap indicator/Loading more animation. Quiddity and I think that's fine and
Flow should let the user freely move around in the browser window; Danny
would like to stop the user scrolling past the gap -- "You wanted to scroll
up to some topics above, Flow is loading them, sit tight."
3. You scroll away from a loading more gap.
In either 1 or 2, you can scroll away from the gap in at least one
direction, or you can open the TOC and jump somewhere else altogether. When
the API request returns the topics intended for the gap, Flow inserts them.
Question: do we reposition the view? Yes for the click in the TOC, but
unclear for scrolling around. I'm not sure what the default browser
behavior is if you insert a bunch of content in the DOM above what the user
is viewing.
4. You scroll back into the gap
After loading topic 73 and scrolling up a bit, say you jump to top of page,
then scroll back down towards topic 10. Flow is still filling the 11-69
gap with topics 60-69. Now you're scrolling down into the gap, you probably
want the usual Load more behavior, so Flow should request topics 11-20.
* Should there be two loading indicators in the gap? I think so, a gap may
be being filled from the bottom and from the top at once.
Furthermore, you aren't near the bottom of the view because topics 70-77
are there, so if you're holding down the space bar or scrolling in order to
force loading more topics, it won't work. You'll scroll right past the gap
and into the topics lower down. I think this is OK, you're probably back on
a quest to get to the "end" of the board.
5. Now you bring up the TOC and click topic 49
Like step 1 above so
* TOC requests that topic and some topics around it (e.g. 46 through 56)
* TOC disappears
* Flow shows a Loading more animation ...
where? The one gap is loading topics 60-69 from step 2 and 11-20 from step
4, now it's loading a third group!
I'm sure there are further use cases and challenges. Next step is probably
for Matt, Shahyar, Pau, Danny, to explore this with other interested
parties.
Some design approaches we aren't pursuing:
* Detailed "68 missing topics", "load/loading 10 above" messages or
controls -- Flow only shows the Loading more animation in the gap.
* Flow knows the topic titles in the gaps from the TOC, but it doesn't
show them -- Flow only shows the Loading more animation.
* Flow doesn't communicate the size of the gap. unlike e.g. a PDF viewer it
doesn't know how tall topics are. It just places a Loading more animation
in the gap.
--
=S Page Features engineer
Running LQT conversion on OfficeWiki this afternoon!
*Erik*:
Figured out how to get LQT namespaces still available on Office when we
turn LQT off, so the thread summary still works & has translations.
More LQT import testing. Lego merged most of the patches. (Thanks!)
We're close to shipping this. Discussion of how to merge.
Today: all about getting LQT conversion done.
*Andrew*:
A lot of code review on Erik's LQT patches.
Putting a finishing touch on wiki conversion script, to make sure it
handles redirects correctly.
Sticking around for the conversion tonight.
*Matt*:
Finished reviewing collapse patch, Erik reviewed changes.
Reviewed JS sanity patch.
Made a couple changes to fix the board navigation to the top of the page,
rebased it.
Found a problem with J2d, clicking on a topic title.
There are now four more patches in the ToC chain to review -- a couple are
pretty big, but it's on track.
He'll upload the latest version on flow-tests.
The priority for the "gap" problem is to get the initial "jumping down"
behavior working correctly, then we can look at the scrolling up.
*Matthias*:
Working on L108, Search. Some refactoring in CirrusSearch, splitting out
code from the maintenance script. Will get Nik's thoughts about it
tomorrow.
LQT --> Flow conversion on OfficeWiki tomorrow at 2pm SF!
We may follow that with putting Flow on one Office namespace (project
talk).
Danny will send an email to staff about it.
S will be working on Trello --> Phabricator transition.
*Andrew*:
Code review for Erik & Matt
Switching over next week -- just a couple more days to wrap up LQT.
What moving parts are left w LQT?
L7 & L8 are done & in code review. Links to both threads and posts are
redirects to the new Flow topic.
We're declaring victory on creating a log for conversion.
*Matt*:
Finished LQT header patch (L9). Added templates parameters & responded to
Andrew's feedback, merged. In product review.
Worked on ToC patches, mainly the collapse one (J2e). Finished last
checklist item, in code review.
Reviewing everything in ToC to get to mergeable state.
*Matthias*:
Merged search patch to master.
Checked out documentation on CirrusSearch highlighting, looks like it works
the way that we want it. You can customize how many snippets you want, and
how much you want in it. This should give us the number of matches too.
Responded to some feedback on how text areas collapse -- dependency on
event-logging patch.
Tomorrow: code review, then back to search.
*Erik*:
Friday: mostly writing unit tests for LQT conversion, cleaned up a few
bugs. Not running into serious errors anymore.
L109 -- script that adds {{see archive}} template to Flow board headers --
in code review.
Erik will communicate w Nick about archiving templates for Office.
L110 -- Script to move existing wiki talk pages -- question about detection
of existing archive pages. Nick would like us to think about archive boxes.
This is too much feature creep, so we'll punt on that for OfficeWiki and
pick it up later. L110 is now in code review.
*Matt*:
Figured out why manual LQT tests were failing, reviewed a related patch by
Erik
Found an issue importing a really big board from Mwiki -- crashing.
Updated the header patch, probably needs a couple small additional things.
Needs to talk to Erik about something found in the tests.
Started reviewing one of the ToC patches.
Today: Finishing LQT patch, reviewing ToC.
*Matthias*:
Worked on event-logging (L1), in code review.
Now back to search (L108). Looking at CirrusSearch to determine which parts
need to be adapted for Flow data. Part of this work is figuring out the
Analyzers for highlighting -- when that's done, it'll inform the spike
about putting a special class around the highlighted search terms in the
threads.
*Erik*:
Erik reviewed Andrew's patches, made a couple suggestions.
Also reviewed Matt's LQT header patch, made a suggestion.
Nick had noticed the edited timestamps being wrong -- made a patch for
that.
Now working on script to move existing wiki talk pages to Talk:Foo/archive.
(L110)
Today: Finish script for moving wiki talk pages.
*Erik*:
Yesterday - Bug fixing, incl problem with purging cache, the sorting bug
that Matt found.
Worked on shared process between LQT conversion and wikitext conversion --
moving page, copying header. Made that into shared code.
Today: Need to test how we're going to import LQT pages on OfficeWiki.
S will create a card to track the cacheing problem.
*Matt*:
Did release readiness, found a few bugs. Fixed a problem: the sort tooltip
always showing the same thing, no matter which sorting you have.
Merged mw-ui fix and had people test the new focus pattern.
Working on L9, LQT conversion script to create board header.
Today: ToC code review.
*Shahyar*:
Figured out issues with the ToC -- new stuff is up and running on
flow-tests.
Not picking up anything else; this will be his last day.
*Bugzilla*:
73679: Preview message looks like an error, has question mark cursor. Worth
asking Pau to check it out.
73676: Comment edit missing from history -- filed by Matt.
73638: Fixed by Erik.
73597: Newest topics sort menu fails on test2 -- the menu doesn't appear. S
found this. Not high priority, maybe there's a short-term fix.
73583: Don't want post responses to be cacheable. Didn't Benny fix this?
Erik says we disabled it for everything, not just IE. Erik put in a patch
so that it's only disabled on IE.
Hi folks,
I'm going to be out from December 18, returning January 8. During my
absence Matt Flaschen will be handling all technical lead duties for the EE
team.
Erik B.
*Erik*:
Yesterday, finished up test of full wiki conversion from LQT
Andrew is still working on watchlist & redirects (L7), just submitted to
Gerrit
Updated FlowOccupy patch for Co-op - still WIP
Put contribs script in code review
*Matthias*:
Responded to Matt's event-logging feedback, will finish up by tonight
Tomorrow, search (unless we figure out something different in sprint
planning)
*Matt*:
Worked w Shahyar on ToC
Helped Erik solve a problem with the move logs
Updated LQT conversion header patch -- need to get that working today
Did a little work on event-logging FlowMenu
Today - finish LQT header patch back up, get the FlowMenu up & do code
review on ToC
*Shahyar*:
Figured out he's been making too many assumptions about how we store the
data -- probably causing a lot of the bugs with topics appearing in the
wrong location