I've been inspired by @jesta's steemstats to work on a desktop application that would provide (at least in the beginning) similar functionalities. So, in this post, I release the code and provide a short description for the application that I created. Enter Steem Desktop:
I started with the very basics; and it took a while until I figured some things out with respect to parsing different stuff from the Steem blockchain (credits to @furion, @xeroc and the rest of the developers behind the steemtools and the piston libraries).
Tying it all together in a GUI app was somewhat of a nice challenge for me. However, more challenging was the figuring out of the 'votes' list as I've used a dictionary approach in Python and sorted the values/votes by date. I was in a kindof deep concentration when I did this (some like to call it flow, but that's a buzzword right now). I simply enjoyed what I was doing, that much that everything else (the world around me) faded away.
There are some 'technical' details that I should go into (such as the use of threading for example) but I think that's unimportant to the most of you who may be using this. I'll just describe the two main functions of the current version of the app. So:
First, you enter your username, then hit Enter or click the Retrieve button. This will retrieve/populate both tabs (User Account, Last Post) with information from the Steem blockchain. The 'User Account':
And the 'Last Post':
These provide a few stats for the user account and for their most recent blog post.
Now, the important: I created a new repository for this project, so you can go and grab the code yourself. I've also added substantial explanation in the code itself (as comments) so it may be easily understood and further developed.
I've been developing this using Python 3.4 in Windows 10. However, I'm most certain it would run error-less on Linux and Mac due to the compatibility of both tkinter and piston that power the app.
So, the only main requirement would be piston:
pip install piston-lib
pip install piston-cli
I might create a Windows binary (.exe) in the following few days so that it can run standalone. But I guess the value is in the raw code.
Obviously, there are unlimited functionalities and uses that can be added to it, the only limitation being the imagination of the developer.
Anyway, feel free to grab the code and please link back, if possible.
To stay in touch with me, follow @cristi
Cristi Vlad, Self-Experimenter and Author