mysociety / sayit

SayIt - a component for recording and storing public statements.
http://sayit.mysociety.org/
Other
105 stars 38 forks source link

Design better page for /speeches #135

Open TomSteinberg opened 10 years ago

TomSteinberg commented 10 years ago

[Zarino says:] The section titles are just plonked in there:

screen shot 2014-05-16 at 16 27 38

And when you're inside a section, it's slightly different, but not much clearer:

screen shot 2014-05-16 at 16 27 57

TomSteinberg commented 10 years ago

Looks especially incomplete/temporary on pages like http://philadelphia.sayit.mysociety.org/speeches

zarino commented 10 years ago

Things to consider:

dracos commented 10 years ago

So /speeches shows all parent-less sections, and speeches without a section. A root dumping ground, really, currently. Displaying all children I imagine might have been a performance issue, though can't find any reference off-hand I'm afraid - but it could involve fetching a /lot/ of data. This could apply to a section page that covers a lot of data, too, though...

Those example SayIt sites are time-bounded fixed amounts of data; I think ongoing transcripts are less likely to want/need that, I guess.

www.pa.org.za has year/month/day subsections, as a different way of doing it, out of interest.

jpmckinney commented 10 years ago

Yes, I think /speeches will need to look different for different use cases; there is no good solution that works in all cases. I think openparliament.ca has a very good design for parliamentary debates, for example. http://openparliament.ca/debates/

In non-legislative contexts, this presentation may not make sense.

Right now, I think I have to create my own app to achieve this more sensible presentation. As @dracos says, the current /speeches is a "root dumping ground" that only happens to have a sensible order because top-level sections tend to be imported chronologically.

zarino commented 10 years ago

Here's a sketch I did a while back, when I was trying to work out a suitably generic way of handling potentially large numbers of speeches and sections.

countryside-letter

dracos commented 10 years ago

Would a potential way forward be to have a number of default views for /speeches (or indeed sections) that can then be chosen by a mechanism such as a one-line override in urls.py, a configuration variable, or perhaps a Section database column? (The last would link with #14 I imagine, to allow a 'type' to have a particular template/view.) Then SayIt could come with some example templates/views for displaying this and you could pick which to use, or write your own if you need something more complex.

With your particular example, that's, if I've understood how it would/could map across correctly, subsections of the most recent top-level Section, a number of recent top-level Sections, and then the years that have speeches (or sections depending on where the date ends up). That would seem a sensible default to me for a number of cases, certainly!

(And if your SayIt had say, a number of committees, you'd want the same to apply to the top-level Section in each case, but not the Sections for each day.)

jpmckinney commented 10 years ago

I was thinking when writing these views in my own app that it may be simplest to have a few views to choose from in SayIt, and to just modify the urls.py line to point to one view or another (your first option).