Today’s @steemitblog post is brought to you by the Steemit Applications team. In this post, we highlight some of the projects we’ve been working on over the past few weeks.
Hivemind 1.0 and Communities
In @roadscape’s last Communities/Hivemind post, he explained how the first phase of development for hivemind / communities is to complete
Hivemind 1.0 (Core). Hive 1.0 contains a minimum viable product (MVP) API to replicate all the relevant pieces of
get_discussions_* needed to support condenser. While this phase is uneventful with respect to user interfaces, it’s crucial to get steemit.com running on hive so it can be tested for load, reliability, and compatibility.
We are excited to announce that hive 1.0 has been completed and is live in production! Condenser has been updated to start using the hive APIs and is currently undergoing testing against hive’s
condenser_api implementation. The current focus is on compatibility and stability.
As soon as we confirm everything looks good and address any unexpected issues that come up, it will be time to start the fun part -
We know that it has taken much longer than everyone has expected for us to get to this point. Development has taken much longer than originally planned because we made the decision early on that we should build communities for Steem and not exclusively steemit.com. In other words, we wanted to build a Communities layer that every Steem developer could leverage. This would create a unifying layer that would enable the Communities you see on one Steem application to be the very same Communities you see when you visit other DApps powered by Steem. While this decision added a lot of time to the development cycle, we feel that the value that this new software will add for developers will make it well worth the wait!
Even this new application layer (hive 1.0) will benefit developers by allowing them to write applications that use Steem blockchain data without them needing to run a full node. This will greatly expand the ability of third-party developers to (cost-effectively) build exciting new applications on Steem.
Improving the sign-up process continues to be a top priority for the team. We recently added a sign-up tracking system so that we can monitor how many users make it through each phase of the sign-up process. This data will give us much better insight into which parts of the sign-up process are causing the most issues for users.
The tracking system logs all of the steps that each user completes, from the very first step (landing on the sign-up page) to the very last (confirming their password and activating their account):
Better Image Hosting
The imagehoster application is what we use to upload and store images that users share via steemit.com. We recently did a major refactor / rewrite of the imagehoster code, which has allowed us to improve image load speeds. Users outside of America should notice the most significant improvement.
Another big improvement we made with the rewrite was to make it “storage agnostic,” which means we can transition storage providers at will, or put all the images on IPFS. This gives us maximum flexibility to shop around for new providers that meet our needs for image hosting as the platform continues to scale. This also allows third-party developers to use our open-source software without being constrained to use the same provider that we do.
Lastly, the rewrite lays the foundation for some fun new features like GitHub issue 60, which will allow image resizing to be done via condenser / steemit.com.
Improving Developer Tools
Steem-python is a library used by application developers to interface with the Steem blockchain. We made several updates to the library that will improve the experience for developers using the library: GitHub issues 169, 170, and 226.
Jussi is a critical piece of software for the Steem development stack. It is a “reverse proxy” service, which allows us and developers to map various API calls to different Steem blockchain servers to optimally distribute the load. It's a really important component for keeping the quality of Steem-related services high. It's especially useful for developers and node operators.
We have done a lot of work improving this application to be a more effective tool for developers looking to integrate with Steem:
- Improved error handling for when errors are caught (GitHub issue 158).
- Improved logging (GitHub issues 151, 152, and 153).
- Update the caching behavior for irreversible blocks (GitHub issue 159).
- Optimize processing for non-cacheable requests (GitHub issues 167 and 168).
- Provide a default configuration so a developer can run jussi locally (GitHub issue 143).
- Miscellaneous (highly technical) updates (GitHub issues 119 and 164).
Condenser (steemit.com) Updates
- We recently added additional performance monitoring and refactoring to help speed up steemit.com.
- To keep everyone safe, there are new warnings for URLs within people's profiles which alert users to suspected phishing attempts.
- A new tooltip component was created to be used for providing contextual help. With this new component, we will be able to add tooltips to areas of the website that need additional clarification to help improve the user experience.
- We fixed the drop-downs so that they’re colored correctly when switching to night mode.
- We removed the three-day averaging of estimated Steem account value in the wallet view. The estimated USD value in the wallet should now be more accurate, as it reflects the current prices.
- We made minor updates to the FAQ section around Steem Power and Powering Up.
- We updated the witness voting page to distinguish between active and disabled witnesses.
Steemit is Hiring
As many of you have already heard, Steemit is hiring. If you’re a talented software engineer who loves the challenges of building cutting-edge DApps for cryptocurrency (and especially for Steem), then we want to hire you.
Thanks for reading!
Steemit Applications Team