The steemstem.io app gets faster (and a better organisation of the main page)

in #steemstem2 years ago

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.

I am happy today to publicly announce the first outcome of what I did. Please remember that I am by no mean a JavaScript developer, so that I am slow ;) This update concerns the speed of the app and the way in which the posts are presented on the main page (and therefore the user experience).


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.


Post presentation

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


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

Sort:  

I can't log into steemstem.io. Everytime I log-in with steemconnect I got error below:
2019-07-22 (2).png

This is interesting. It is the first time I see such an error message.

The problem is on our side. You have given authority to already 40 apps, and steemconnect does not allow for a 41st one. I am afraid that you need to revoke authority to one of your apps to make some room for steemstem.io.

Thank you because I didn't know that. Now I'm going to revoke xs to some apps.

You are welcome!

Hi @lemouth-dev!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV