The problems with the steem development ecosystem that are slowing us down.

in #steem7 years ago (edited)

The problems with the steem development ecosystem that are slowing us down.

Recently I've spent a lot of time hacking together various stuff with python, nodejs etc. I touched a bit of everything and sometimes had to dig deeper into transaction signing and other stuff. In this post I'm gonna post about the issues that really slowed my progress and that definitely slows adoption for developers and so directly adoption for the masses. Please note that all of these are my own humble opinion and I don't want to spit on the work that's already done. It's already fantastic and you guys have come a long way but there is still so much to do.

source

Documentation

The first obvious issue when you want to start coding things is the lack of official documentation. Of course there is https://developers.steem.io It looks nice on the surface and it's a good starter but as soon as you want to build stuff it's very quickly limited.

You get all the functions from the code, very few examples, and you have to guess how to use it, what to put as the parameters etc. This results in a lot of trial and error to get things working, or sometimes having to dig through the source code directly. Which can be a painfull experience.

Same thing goes for steemconnect where you have to dig through the sourcecode and some archive steem posts to understand how it works.

The lack of documentation is really a core issue. I believe it's one of the thing that holds steem back from really breaching.

Lack of an official testnet

Having a testnet is like the basis of every blockchain when it comes to easing the pain of programmers so they can try lots of stuff. The fact that most of the interactions on steem (posting, voting, transfers etc) are free doesn't make it less needed. Right now we only have is an unofficial one (which I did not manage to get working but I did not try for a long time so it may as well be related to me). We should have an officially supported testnet that can easily be used. To help us hack around and break things without consequences.

Edit : I managed to get it working thanks to @almost-digital. Basically the api for steemjs was not up to date anymore and so the code on the website was not good, so this joins my documentation issue.

Steemconnect

Steemconnect is a great initiative, I love it very much and I think a commonly trusted login gateway like this one is vital for a successfull steem ecosystem. But once again and this time it's even more true than the last time there is No documentation basically knowledge is either acquired by trying stuff and reading the source code/a few demo apps or by talking to the people who went through the same process before and that know holds the knowledge.

There is also the fact that to register an app with steemconnect you have to create an account (6 steem at the moment) which will be locked away in an account. So you have to pay for the security of your users. Of course you could say that it's the same with ssl certificates and such but it will make people think twice about it. Which will inevitably result in an application that doesn't use steemconnect which will get hacked and cause a scandal and a loss of trust in third party apps.

Supported languages

I find it amazing that some of the most widespread languages are not supported. I mean php and asp.net powers about 80% of the popular web //TODO : citation Which means that when you want to use steem on a website you have 80% chance that the developer will go like "well...If you really want to use it we to make significant changes to the website" which will cost money so people won't want to move over.

A technical whitepaper

Why is there not a technical whitepaper on how steem actually works and how to use it ? I started working towards a library and I found almost nothing on how to perform transaction signing and the internals of steem itself. And I had to resort to this article and read the official source.

This means that if you want to implement a steem library in a new language you need to do some significan research to get your information and we really don't need that.

Conclusion :

So yeah when you come down to it documentation is really the biggest issue. It's not that hard to fix but it's very time consuming and it's an ongoing cost to make sure that it's always updated. So I understand why it's not done. But it's definitely doable and recently with utopian.io you can get some good upvotes from utopian for writing documentation.

So please if you spent some time figuring things out, write it down for the newbie steem coders out here. At least that's what I'm going to do ;)

Feel free to contact me with your utopian contribution to get some help getting it approved.

Thanks for reading and enjoy your day.

Sort:  

Thanks ! flagging time :D

Just got started on developing something on the Steem ecosystem and basically found what you have stated here 10 months ago are all still valid, unfortunately. The information just scattered everywhere and newbies like us will have to collect them pieces by pieces, damn.

I would actually tend to disagree ! Things have improved a lot since then !

check out those few links (disclamer, I made steemsnippets) :

https://github.com/drov0/steemsnippets
https://developers.steem.io/

Yeah I should have cheered for what we have now compared to the days when the Dev Portal was not even available yet. I noticed the steemsnippets days ago as well and even encourage my developer friends to contribute to it with new finding in the process of our project development.

One question tho, any contribution related to Steem blockchain is acceptable for steemsnippet, yes?

absolutely agree! onboarding of developers and users must be simpyfied. especially running a local testnet and understanding wallets and the api is currently pure pain.

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.029
BTC 62915.59
ETH 2542.92
USDT 1.00
SBD 2.63