The problems with the steem development ecosystem that are slowing us down.
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.
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.
This post has been upvoted for free by @nanobot with 5%!
Get better upvotes by bidding on me.