The last update concerning the development of steemstem.io is quite old (last April). I apologise for that. As already said in my personal blog, my particle physics job drove me crazy in terms of time demand for the last few months, but the completion of 1907.04898 was a kind of new authorisation to breathe. I am hence again available for SteemSTEM and I restarted the development of the SteemSTEM app 10 days ago.
Interacting with the Steem API
In the former version of the app (v0.8.2 and earlier versions), information about the SteemSTEM project activities was gathered in a highly inefficient manner: the last 1500 actions of the @steemstem account were extracted and filtered so that only votes were left. From there, the Steem API was used to get information on all voted posts. In addition, the app was focusing first on the oldest actions and then on the most recent ones.
This was by far not very efficient and was potentially producing a too large number of requests at the API side. I decided to rewrite this part of the code entirely.
From v0.8.5 onwards, the behaviour of the app has hence changed. First of all, only the SteemSTEM activities relevant for the last 3 weeks are extracted (from what does the @steemstem account). Secondly, the more recent posts are those for which the information is gathered from the blockchain first. In this way, one avoids unnecessary requests to the API, and the user can enjoy the newest posts while the older ones are still getting loaded.
The way in which posts are displayed has been drastically modified. Post are now organised according to the week they have been posted on, as depicted on the above image.
When the user changes the displayed week, the app takes care of loading all posts that are 3 weeks older than that week anticipatively, which has the enormous advantage to increases the browsing speed at a cost of a reasonable amount of API requests.
This way of functioning is also applied to the posts of the #steemstem tag not supported by SteemSTEM, although these posts are loaded only once the information on all posts voted by SteemSTEM has been obtained.
SteemSTEM always comes first. :)
A quick look to the future
I will continue improving the app on the next few weeks, and will in particular work on the whitelist part (the right column of the main page) and the promoted part (the top header of the main page). I will also try to communicate more about what is going on with the app, so that one can expect one or two posts per month from this account.
As usual, for the technical part, I refer to the SteemSTEM.io GitHub folder.
Finally, feel free to share your experience with the app in the comments of this post, to report any bug or weird feature or to suggest or complain about anything.
SteemSTEM aims to make Steem a better place for Science, Technology, Engineering and Mathematics (STEM) and to build a science communication platform on Steem.
Make sure to follow SteemSTEM on steemstem.io, Steemit, Facebook, Twitter and Instagram to always be up-to-date on our latest news and ideas. Please also consider to support the project by supporting our witness (@stem.witness) or by delegating to @steemstem for a ROI of 65% of our curation rewards (quick delegation links: 50SP | 100SP | 500SP | 1000SP | 5000SP | 10000SP).