Closed Bug 465659 Opened 16 years ago Closed 15 years ago

Make the topcrasher index page not suck

Categories

(Socorro :: General, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: morgamic, Assigned: wenzel)

References

Details

Attachments

(4 files, 7 obsolete files)

THe topcrasher page lists all products and versions end-to-end.  This isn't very helpful.  We should lay this out better and at least group it by product and then list the most recent versions first.
Assignee: nobody → neilio
Blocks: 411428
A query like:
select * from branches order by product, branch desc, version desc;

Should get things in a more decent ordering. I think we should probably also add an "obsolete boolean" column to the branches table, so we can hide old versions. Then a query like:
select * from branches order by product, obsolete, branch desc, version desc;

would be even better.
Attached file quick mockup (obsolete) —
Something like this would be a marginal improvement. With an obsolete column we could hide old versions behind an ajax reveal, which would be super smooth.
(In reply to comment #2)
> Created an attachment (id=348960) [details]
> quick mockup
> 
> Something like this would be a marginal improvement. With an obsolete column we
> could hide old versions behind an ajax reveal, which would be super smooth.

that new ordering is nice, assuming thunderbird and seamonkey get reverse sort as well :)
Attached file working output (obsolete) —
I wrote a patch. Here's the output. Patch in a sec.
Attached patch unfinished patch (obsolete) — Splinter Review
I implemented a version comparison function, to get real version sorting. It's sort of awful, but them's the breaks. This patch isn't complete because I changed the data structure that getProductVersions() returns, but I didn't track down and fix any other call sites. Regardless, what do you think of this implementation?
Filed bug 465820 on adding an obsolete column to branches.
I'd like to do it without changing getProductVersions() since that's used in quite a few other places.
This was wireframed up as part of the original redesign process but hasn't been implemented yet. Thoughts, suggestions, beefs, bouquets?
This page still sucks.
Assignee: neilio → nobody
Target Milestone: 0.6 → 1.1
Assignee: nobody → fwenzel
Target Milestone: 1.1 → 1.2
This needs to be rolled together with some nav and CSS improvements as well.  Fred - do you have time to work on this over the next week?
Yes!
Neil's original wireframe is (almost) what the front page looks like already. I personally would not let one top crashers box be on the right hand side on the frontpage, and one underneath though.

I agree that we need to change navigation a bit, currently there doesn't seem to be a fitting place for the link to the top crashes page.
Attached patch Patch, rev. 1 (obsolete) — Splinter Review
Here's a first patch that implements most of neilio's wireframe. The four crasher lists shown are "major", "development" and "milestone" of Firefox as well as "major" of Thunderbird.

The "other version" list is currently a list of *all* versions, which we can either leave this way or refine, if someone tells me criteria that I can filter by.

Note: When you test this, you need to go to .../topcrasher by entering it into the URL bar, there's no navigation link for it yet.

Also, ozten, if you think someone else should review this, please pass the r? on. Thanks!
Attachment #348960 - Attachment is obsolete: true
Attachment #349038 - Attachment is obsolete: true
Attachment #349040 - Attachment is obsolete: true
Attachment #414064 - Flags: review?(ozten.bugs)
Attached image Screenshot (obsolete) —
Here's a screenshot of the page right now.

Quick question: Can someone who knows more about crash reports than I do tell me what significance the Firefox crashes without signature have? Is my "(no signature)" correct, or would "not applicable" or something else be more appropriate?
"(no signature)" is more appropriate. There are varying reasons for why these signatures occur, but it's mostly because the dump isn't submitted for some weird reason.
Comment on attachment 414064 [details] [diff] [review]
Patch, rev. 1

Great work! This is going to be very useful.

The patch missing a webapp-php/application/config/topcrashers.php config file. I grabbed the one from your khan instance.

Can we add one tweak? Let's use the API in webapp-php/application/libraries/versioncompare.php to sort the "Other Version" in reverse order, so newest ones will be first.
Attachment #414064 - Flags: review?(ozten.bugs) → review-
Attached patch Incremental Patch (obsolete) — Splinter Review
Thanks for the comments and sorry the file was missing. This is an incremental patch, to be applied on top of the other one. I am sorting the list descendingly now.

Do we want the "featured" versions filtered from this list, by the way? If so, I could probably add that. Though maybe having a complete list at the bottom isn't so bad.
Attachment #414248 - Flags: review?(ozten.bugs)
Thanks wenzel, this looks super awesome.

Here's my suggestions to help clean up the "other versions" area and help expose more top crashers (tweak, ignore, critique at will, please):

- put each of the product version lists into select menus, with the top menu item being a summary of the range of versions
- make each menu (except the top-level summary item, of course) a jump menu that loads the selected versions' top crash page. (I assume we require JS so the "Go" link might not be completely necessary, but for usability's sake it might be nice to keep that there as a manual trigger.)
- centre the "View all top crashers" so it stands out a bit more, and visually reinforces that it's related to the table above
- with the saved vertical space, display the top 10 top crashers in each table.

This mockup shows all of these changes, which I believe are fairly straightforward and not too hard to implement.
I like the new mockup -- and since this page is about crashers, not versions, I agree that showing more items there and fewer at the bottom is the right thing to do.

I'll go ahead and implement that.
Attachment #414248 - Attachment is obsolete: true
Attachment #414248 - Flags: review?(ozten.bugs)
Sorry, one last idea/thought - feel free to push this to another release or discard if it's not necessary.

I made two changes here:

- Moved the Product headings at the top of each top crasher table down a bit, to help visually tie the header and table together
- Added a "Show" tool that would, via ajax, reload the number of visible top crashers in the tables. The default would be 10, but you could show 20 or 50 without having to leave this page.

The thinking here is if you're tracking top crashers between the release and beta versions, being able to see more data on this page might be helpful.
Attached patch Patch, rev. 2Splinter Review
This is a new (not incremental) patch incorporating all of the above. It works both with and without JavaScript.
Attachment #414064 - Attachment is obsolete: true
Attachment #414065 - Attachment is obsolete: true
Attachment #414249 - Attachment is obsolete: true
Attachment #414501 - Flags: review?(ozten.bugs)
Status: NEW → ASSIGNED
Comment on attachment 414501 [details] [diff] [review]
Patch, rev. 2

Great stuff! I like the way you did the values in the select so that once you've clicked, you can use the keyboard to quickly get to the version you want. (Unlike our current query form).
Attachment #414501 - Flags: review?(ozten.bugs) → review+
Committed to revisions 1509--1514. Thanks!
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
When you choose a product/version from the dropdown it doesn't format the url properly
Repro:
1) goto https://crash-stats.stage.mozilla.com/topcrasher/
2) Choose Firefox 3.5.3

Expected Page:
https://crash-stats.stage.mozilla.com/topcrasher/byversion/Firefox/3.5.3

Actual Page:
https://crash-stats.stage.mozilla.com/topcrasher/byversion?product=Firefox&version=3.5.3

Note:
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
How is that bad? The GET variables are there due to the dropdown being part of a form. The only ways I know how to circumvent is:
1) adding a redirect to the "expected page" when the "actual page" URL style was used. That'll be overhead, but it fixes the URL and works even without JS enabled.
2) rewriting the URL in JS on the fly instead of submitting the form. Doesn't work with JS disabled, obviously, and is a little dirtier.
Attachment #415940 - Flags: review? → review?(fwenzel)
Attachment #415940 - Attachment is patch: true
Attachment #415940 - Attachment mime type: application/octet-stream → text/plain
Comment on attachment 415940 [details] [diff] [review]
First attempt to make noscript and REST url fix

Almost great.


>+	  <ol class="no_script_other_ver">
>+              <?php foreach ($versions as $version): ?>
>+	        <li><a href="<?= url::base() . 'topcrasher/byversion/' . $product . '/' . $version . '7' ?>"><?= $version ?></a></li>
>+              <?php endforeach; ?>
>+          </ol>
>+          <form method="get" action="<?php echo url::base().'topcrasher/byversion'?>" style="display: none;">

The ".'7'" needs another slash, or you end up with Firefox/3.5.1pre7 .

Also, in noscript mode, the application names are invisible. Those should stay, whether or not you have JS.
Attachment #415940 - Flags: review?(fwenzel) → review-
Great catches. Fixed.

Sending        webapp-php/application/config/routes.php
Sending        webapp-php/application/views/topcrasher/index.php
Sending        webapp-php/js/socorro/topcrashers.js
Transmitting file data ...
Committed revision 1574.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → FIXED
Component: Socorro → General
Product: Webtools → Socorro
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: