Introduction

I was curious how far away I was from Generalist, and there are some data explorer queries that can show you your progress, but I thought it should be possible to make this work with the API. A bit of work and a few feature requests later...

enter image description here

Features

  • Track the number of days you have towards Epic and Legendary
  • Track your tag progress towards Generalist
  • Track questions and answers that are close to the Nice/Good/Great Question/Answer badges

Usage

Click this link. The app uses access tokens to read your user ID, so you'll have to click through an authorization screen.

Notes

For the Epic/Legendary badges, I'm scraping the user reputation graph page. I hope that this doesn't violate any rules, and if it does I will disable it. I'm basing the progress towards that badge from the data on this page, so if that data's not accurate with respect to the calculation, your numbers will probably be off somewhat.

Top tags is currently limit 50, so it's likely if you have many top tags that aren't in the site's top tags, the Generalist progress will be skewed. Thanks to Kevin for relaxing the "max 30" on this endpoint.

I'd love to track more statistics, but this is about all the ones I could work out a route through the API for without hammering it. The individual calls to the API are staggered so that they don't all hit at once, so there will be a slight delay when you load the page while all the data is fetched.

Source

Available in this GitHub repo, although most of this is already available in your browser. This is released under the BSD 2-clause license. I'd appreciate attribution if you reuse significant portions of the code.

link|improve this question
Very fun stuff. I can definitely see now why you were also hitting that throttle issue I put in StackGeography's screenshot. – patridge Jan 24 at 17:13
@patridge, actually, I was hitting that with my first project, LaServ. On this one, I am using an access_token along with my key, so I wouldn't have that issue. – agent86 Jan 24 at 17:14
Perhaps too much traffic at the moment? I am stuck in an endless loop of requesting that I log in. But I am logged in. – DOK Jan 24 at 17:40
@DOK As far as I can tell, the system is running smoothly, however, there might be bugs :) This is a 2-day old app, and both it and the API are "beta" quality! I'm so thrilled it's being noticed, however... – agent86 Jan 24 at 17:53
Would it be possible to link directly to an answer within a question in the "Nice/Good/Great Answer" sections instead of the parent question page? – patridge Jan 24 at 18:31
@agent86 I checked it out from Kevin Montrose's tweet about it. – patridge Jan 24 at 18:34
@patridge, I'll add that to the todo list for the next version. Switching sites also does not empty the request queue (so if you switch mid-refresh, you have to wait for the refresh to finish, bleh!) With all the attention, I'm loathe to roll out a new version right this second, but rest assured any bugs found will be fixed in short order :) – agent86 Jan 24 at 18:41
Well, I'm glad to hear it is running smoothly for you. However, for me, the query runs and the page starts to draw, but them it flips to a short "you have to log in" message. – DOK Jan 24 at 20:46
@DOK, my apologies for the bad experience. What browser and version? I'll try to debug it some this evening. – agent86 Jan 24 at 20:47
Firefox 9.0.1.. – DOK Jan 24 at 20:56
@DOK, and you were logged into a stackexchange site prior to clicking the link? I've been testing in FF but it's possible I missed something. Thanks for the bug report, and I'll look into it. – agent86 Jan 24 at 21:06
Happy to help. This page shows me logged in, and I keep SO open and logged in continuously. And I'm getting notifications of your replies to my comments on the little StackExchange notifier widget in the upper left corner of the SO pages. – DOK Jan 24 at 21:10
@DOK, I tested this on Mac and Windows FF latest, and had success in a variety of scenarios - different authentication states for the app, and different login statuses for my account. What page is looping continuously for you? Can you screenshot it and/or give me the url in your browser? I feel like I've seen this before in the authorization screen, and it might help me (or Kevin) figure out where the issue is. – agent86 Jan 25 at 1:57
Here's the URL in my browser stackexchange.com/oauth/… – DOK Jan 25 at 2:02
@DOK, and it just keeps looping you there? what does the page look like? – agent86 Jan 25 at 2:06
feedback

4 Answers

I updated several aspects of the app in response to user feedback:

  • Error handling is somewhat better (it will now tell you if your token is invalid, instead of a generic "error" alert)
  • Queued API calls are aborted now, which should speed up site changing, among other things.
  • There's now an option to deauthorize the app, should you decide to revoke its access to your account information.
  • Generalist now queries to see if the badge is actually possible on the site you're asking about (as it requires 40 tags above 200 questions)
  • Some general style improvements, to make it look less like the 2-day old weekend project it is ;)
link|improve this answer
Another small update this evening - Kevin added options to the top tag list query, so now more of your top tags should show up for the Generalist badge. Also, the tags look more like tags now than they did before. – agent86 Jan 26 at 2:29
feedback

Here's what I see after the page briefly populates:

Here's what I see after the page briefly populates:

link|improve this answer
Hmm... could you be disabling javascript or blocking some content? If you're logged in, you should see some buttons at the bottom. That's a stackexchange screen, not something from my app. – agent86 Jan 25 at 2:08
I am clicking on the link you provided in the Usage section above, and opening it in a new tab. The intended page appears to begin to render, but then a red message pops up about midway down and it transitions to this. – DOK Jan 25 at 2:15
What happens if you click "Request New Token" on this page? – agent86 Jan 25 at 2:17
ChatterBox is a userscript that adds buttons to the StackExchange Chat interface for checking and reading the contents of your inbox. This app needs these permissions Read access to your global inbox To know what your accounts are on the Stack Exchange network You need to login to authorize this application – DOK Jan 25 at 2:19
This doesn't seem like an issue with my app, (unless I'm doing something silly, which is possible) so I've raised it as a support/bug issue here: stackapps.com/questions/3000/… – agent86 Jan 25 at 3:03
feedback

Running a query on Programmers after running one on Stack Overflow carries over a tag score from SO. I have no points on Programmers for C#

enter image description here

Reauthenticating and running the Programmers query a second time seems to correct this.

link|improve this answer
Hmm, it should clear out. I'll double check the logic, thanks. Also, since the "Generalist" queries come last, it's possible that it just hadn't updated yet, although it should blank prior to changing. – agent86 Jan 26 at 14:53
@agent86 I thought about the updating possibility too, but I have other tags on Programmers that are the same as those on SO, and those didn't show up in that run. – jonsca Jan 26 at 18:48
Okay, I believe I found and fixed the bug. Can you try this again? There are only certain situations where this occurs, and having the same tag in the top 40 on 2 sites is one of them :) – agent86 Jan 26 at 21:33
@agent86 Works fine now, I repeated the exact steps. Great app! – jonsca Jan 26 at 23:58
Thanks for the bug report and the feedback :) – agent86 Jan 27 at 0:34
Another issue with the c# tag is that the link generated in the tag element is broken since the # character is not escaped properly. – teukkam Apr 20 at 12:16
feedback

What about adding progress towards tag badges, like c#?

link|improve this answer
1  
Gah, I've just realized I never responded to this - my apologies. I can't make that a quick query against the API, but having more API functionality around tags is something that I'm interested in requesting when the "v2.1" or "v3.0" call for concepts happens. – agent86 Mar 26 at 19:08
Ok, thanks for the info. – svick Mar 26 at 19:24
feedback

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged