Introducing Steem Desktop - A New App for the Steem Blockchain [Initial Release]

last month
70 in steemit

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:


Showcase1.png


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':

Showcase2.png

And the 'Last Post':

Showcase3.png


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

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  trending
51
  ·  last month

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.

·
70
  ·  last month

thanks for the ideas!

68
  ·  last month

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.

·
70
  ·  last month

it's highly likely that I'll keep working on it too :D

61
  ·  last month

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!

56
  ·  last month

It's a very good start, I'm looking forward to seeing the rest. Good job.

44
  ·  last month

Nice work.Looking forward for the rest :)

·
70
  ·  last month

thanks!

46
  ·  last month

Did you use Tkinter or PyQT for the GUI?

38
  ·  last month

wow, that's awesome @cristi, STEEMIT is attracting so many CREATIVE SOULS! TOP MAN!

62
  ·  last month

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!

·
70
  ·  last month

thanks for the encouragement!

42
  ·  last month

Good job ! Keep going !
p.s. we are from same country :) I follow you and you have my vote

·
70
  ·  last month

thank you.

54
  ·  last month

Looking forward to this, it will definitely be useful :) Thanks for taking the time, I wish I could code.

·
70
  ·  last month

there's nothing stopping you from learning.

53
  ·  last month

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!

·
70
  ·  last month

be on the lookout for that in the following days.

57
  ·  last month

@cristi
Nice writeup
Good job
Keep it up.

54
  ·  last month

Verry good job! For my please only exe. Sourcecode I not understand.

·
70
  ·  last month

I'll work on that :)

26
  ·  last month

nice

48
  ·  last month

Good post,how are you

54
  ·  last month

great job!!

39
  ·  last month

Nice work! Keep going.

49
  ·  last month

Thanks for making this desktop app! I will use it when you make it available!

61
  ·  last month

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. :)

40
  ·  last month

Great Great JOB!

41
  ·  last month

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

41
  ·  last month

Great idea and concept.
looking forward to the upgraded version. What ever you are drinking or smoking, do not stop it's good stuff.

·
70
  ·  last month

it's kool-aid :)