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
Really looking forward to this, especially scheduling, multiple drafts, extra details etc etc. I love the mobile app and Iam really looking forward to using this.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
thanks for the ideas!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This is a very cool project, I'm sure that new and veteran developers will have fun extrapolating on this. The readout reminds me of the Fallout.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
it's highly likely that I'll keep working on it too :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks for sharing. I've never worked with piston - this might be a interesting project to start with... Just add a few ideas, some CSS and some spare time!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
It's a very good start, I'm looking forward to seeing the rest. Good job.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nice work.Looking forward for the rest :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
thanks!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Did you use Tkinter or PyQT for the GUI?
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
wow, that's awesome @cristi, STEEMIT is attracting so many CREATIVE SOULS! TOP MAN!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Keep going1 u will ALWAYS get paid on steemit for develiping new upgrades and new programs relatedto steemit!!!!! see how greatly u are rewarded for this one?!?!? everyone who programs for steemit gets steem! ur gonna be living off ur programming sills and hard work soon!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
thanks for the encouragement!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Good job ! Keep going !
p.s. we are from same country :) I follow you and you have my vote
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
thank you.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Looking forward to this, it will definitely be useful :) Thanks for taking the time, I wish I could code.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
there's nothing stopping you from learning.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Awesome work @cristi, keep it up! I would also love a windows .exe version, not that much of a programmer myself even if I would like that!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
be on the lookout for that in the following days.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@cristi
Nice writeup
Good job
Keep it up.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Verry good job! For my please only exe. Sourcecode I not understand.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I'll work on that :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
nice
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Good post,how are you
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
great job!!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nice work! Keep going.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks for making this desktop app! I will use it when you make it available!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @cristi I really like the app Idea. Also on last post I would like to see after Voter and Percentage how much steem represent 100% vote from @ionescur.
I'm looking forward for new features.
Also I started to develop a Chrome extension in order to improve experience with feed and user blog part. :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great Great JOB!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Cool stuff!
I tried it on my Linux (Manjaro) and Python 3.6 and it worked after I comment out these two lines:
line 13: root.iconbitmap('stm.ico')
line 22: style.theme_use('winnative')
I'm Python beginner so i have no clue what is going on, just though to give you feedback. "winnative" may be something that is only on MS Windows?
I downloaded from your git-hub everything, I have stm.ico in the same folder as your code, I opened it and it shows correctly, so it is not corrupted...
Also another interesting thing, it works well on my account, but if I try my wife's (@anica) it returns exception. She never post any "main" post on her blog, but she did comment few times since she is playing papa peper's game. Maybe lack of blog post is causing a problem?
Here is traceback:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/al/py_36/7_steem/steem_desktop1/steem_desktop.pyw", line 60, in callback
post = piston.post.Post(acnt.steem.get_blog(entry1.get())[0])
IndexError: list index out of range
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great idea and concept.
looking forward to the upgraded version. What ever you are drinking or smoking, do not stop it's good stuff.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
it's kool-aid :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit