With the Steemit Interface DAO Proposal very, very close to being approved (click the big button at the end of this post if you haven't voted already), I wanted to complete a feature that I've been working on before my attention hopefully shifts to steemit.com for a prolonged period. It's a feature that I've been thinking about for a long time and one which I thought would look rather cool... An Historic STEEM Power chart...
💰 What's Included
This chart contains all rewards that a user has earned, all STEEM powered up as well as all Power Downs.
Due to the nature of curation rewards in particular, this means that the tool processes tens of thousands of data points so the graph processes this to produce a data point every 2 weeks.
Because there's a lot of calculating to be done, particularly for older accounts, I didn't want this to hinder the performance of the existing page so I decided to render this chart after the rest of the page has loaded. My initial plan was to do this via AJAX but this caused me all kinds of problems and wouldn't work (Google Charts waits for the page to load before initiating the graph so if the page has already loaded before my graph is ready, it simply doesn't display)... so I ended up implementing a less elegant solution by including an iFrame. Initially, this calls in a "Loading" page and once the rest of the page is loaded, it then calls the charting page to generate this graph.
🐬 Club Dolphin
Part of my motivation for creating this - other than it just being quite a "cool" thing to do 🤓 - is my view on "club dolphin" status. The graph above is mine - showing that at one point, I'd achieved quintuple dolphin status before powering down. To me, this means that I shouldn't be celebrating becoming a dolphin until I've reached at least the same point again.
🐛 Bugs
Unfortunately, this has been quite buggy on the live server. API calls wouldn't get called or would return null (even if they worked perfectly on my localhost) which resulted in me having to include additional code to retry failed API attempts.
The page still crashed occasionally for this reason so if you do encounter an error or some of the charts displaying incomplete data, please refresh the page and try again - it tends to sort itself out.
If the problems persist, I might remove the graph or maybe force the user to "click" in order to load it - I might even implement this solution before you've read this post!
In fact, I've decided to implement this feature whilst I write this post and because of it, I've moved the graph underneath the club status information and above the "Shared Wallets". Yes, that's definitely playing nicer now!
㋏ Limitations
The calculations aren't perfect - some are stored as STEEM, others as VESTS so since these values and multipliers from one to another change over time, they don't always correlate to today's prices. For that reason, the graph displayed is approximate and I've removed all hover states (which show values) for this reason.
💱 Enhancements
At some point, this chart could be enhanced to include things like Delegations or Transfers Out without too much difficulty... which might be quite cool additions. We'll see.
As always, please let me know what you think and for any suggestions for further enhancements.
If you're new to my work or haven't got it bookmarked, you can find it here...
https://raptor.in.ua/clubstatus.php?author=the-gorilla
the-gorilla's Alternative Steemit Interface
In case you didn't know, I've created an interface to help you find content that you're interested in more easily.
Posts by voting bot users, abusers and spam tags are hidden and you can search by multiple tags - allowing you to find the content that you're interested in more easily.
👉 Launch Alternative Steemit Interface 👈
the-gorilla's Club Status Tool
I've also created a tool to help users review their club status - showing them where their power's coming from, how much they're powering up, transferring out, STEEM Power history and who they share a wallet with amongst other things.
Please use it wisely.