Skip to content

Amendments to current the two-column package overview solution #721

Open
@lspitzner

Description

@lspitzner

First of, I don't mean to complain about the redesign. I too got used to the old design, but in general I encourage a different layout and other improvements.

For the current design of the two-column idea, I see some good and some bad aspects. First an example where it shines:

base

But then also this somewhat-worst-case:

tagged-current

Frankly, my eyes get completely lost looking at this mess, in good part due to the "Default" and "Type" captions in the middle of it. Of course for most other packages things look better, but I think the least that could be done is to add very clear visual border around the "properties" div. One might also play with background color, but I think a border is better.

Also, I wish to propose some further changes. I'll lead with some ascii mockup (insert invented quote "good design will look good in ascii too")

hackage                                                     package search [ _______ ]

$package - $synopsis

[Skip to Readme] [Home page] [Bug tracker] [Index of Exported Entities]
[.cabal file] [Changelog] [Source repo]

modules                        |        author john doe
                               |    maintainer john doe
Language.English               |         legal copyright blah, license
Language.English.Grammar       |     downloads 310348 total (289 in the last 30 days)
Language.English.Nouns         |        rating 2 (n votes) [+ ++ +++]
Language.English.Verbs         | distributions .. .. ..
Language.English.Tutorial      |      versions 0.0 , .. , 0.6.1 , .. , 0.7.3 , .. ,
                               |               0.8.2 , 0.8.3 , 0.8.4 , 0.8.5
                               |               all versions
                               |   
                               |       version mypackage-0.6.4 revision 99
                               |      uploaded john doe at date
                               |       revised thomas trustie at date
                               |  dependencies base, kmettoverse, my-custom-prelude
--------------------------------------------------------------------------------------

Description
  
  very understandable

Flags

  fire-rockets - dont turn on please

Downloads

  ..

README

  markdown, nicely rendered

This retains the two-column idea, but applies several changes:

  1. From the realisation that base looks so nice because modules come first, and I often come to a package just to scroll to the module section: Put modules first.
  2. Condense several of the properties. E.g. license+copyright -> legal, could also do author+maintainer -> people
  3. Remove the "category" property as it does not add much
  4. Take all the different package-relevant links previous placed in random locations, and put them up top. Together with 1, this means that many important links from this package are reachable from the first visible screenful of the page.
  5. Reorder the properties, and put the per-package-version properties at the bottom, clearly labelled with the version the user is looking at currently. "mypackage-0.6.4 revision 99" should be bold (ah, ascii is failing me).
  6. Remove clutter from the header. Imho, most of the links there I won't ever use when looking at a particular package. And if your argument is consistency, then the module docs are different anyways.

Optional:

  • Remove the version bound information, to be displayed in a separate page or expandable block. I think the displayed data is vague anyways, as it can depend on flags.
  • Hide many of the versions, focus on latest of each major version (or some such scheme). Rest can go on separate page.

Also, relevant for haddock: Following 4., module pages could have the exact same links in their header.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions