create account

Updating the Steem documentation by vgichar

View this thread on: hive.blogpeakd.comecency.com
· @vgichar · (edited)
$9.98
Updating the Steem documentation
### The problem
I've had an encounter with the steem blockchain [API](https://developers.steem.io/) a while ago and it was not so pleasant. There are several problems with the documentation:
- **No request and response examples for JavaScript documentation**
- **No description for RPC calls for JavaScript documentation**
- **The menu should have subsections**
- The community part should be enriched
- The python documentation is on a totally different site
- It's not intuitive to read

### Proposal
One of the best documentations out there is the one of [stripe](https://stripe.com/docs/api). 
Here we can clearly see an API call (in Java) description on the left and example request and response on the right. The request part contains both the argument object and the actual SDK invocation.
![Screenshot_1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1515692836/tbc4wojl6veqiupi2s5z.png)

The left side clearly describes what the API call does and also provides description for each argument (or property of an argument).

#### Concrete parts that need to change
**JavaScript RPC description (first 2 points)**
Before
![Screenshot_3.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1515694246/slogsycgaw2o1qysqkhz.png)
After
![Screenshot_4.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1515695021/fkmt5dptee5iorgoj8mi.png)
<sub>\* This is an example, I have no idea if the information about *setPendingTransactionCallback*  in the picture is correct</sub>
<sub>\* The design and layout might change</sub>

<sub>\* At this point of writing this post the image upload gave up... If the images bellow do not load I'm sorry...</sub>
##### The menu should have subsections
Stripe:
![stripe-example.png](https://image.ibb.co/jHHT1m/Screenshot_5.png)

Steem:
![steem-example.png](https://image.ibb.co/dSzxu6/Screenshot_6.png)

##### The community part should be enriched
Add more links to other useful projects:
- TypeScript SDK [dsteem](https://github.com/jnordberg/dsteem)
- [Steem.NET](https://github.com/VIM-Arcange/Steem.NET)
...

##### The python documentation is on a totally different site
If the python SDK is the same as the one for JavaScript then they should be merged with either 2 separate sections (as it is now, but with full documentation) or as  [stripe](https://stripe.com/docs/api) has it with tabs for each SDK.
![python.png](https://image.ibb.co/c6yqE6/Screenshot_51.png)

##### It's not intuitive to read
There are examples all over the documentation just for few calls. These parts should be removed and instead there should be an example for every call as stated before.

### Side effects, benefits and personal notes

Bad documentation can make the development much slower and frustrating. As I said at the beginning of this post I've used the API and out of frustration I wrote a [half-story](https://steemit.com/steem/@vgichar/complaint-my-personal-experience-with-steem-api-it-s-a-mess) about concrete problems that I encountered. (don't upvote, resteem... just read) 

The benefits are obvious, happier developers make better products. In this case Steem products.

I've forked the documentation and I'm willing to do the work myself, but will start at the beginning of February (not a promise). If there is anyone willing to do it sooner, then best regards :)
 
> "Documentation. This is incredibly important. An API without documentation is useless. Totally useless. Because no one will know how to use it. Documentation should cover why the dataset is important, what the data fields mean, how to use the API, and examples examples examples." - [Joshua Tauberer](https://joshdata.wordpress.com/2014/02/10/what-makes-a-good-api/)
    

<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@vgichar/updating-the-steem-documentation">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>
👍  , , , , , ,
properties (23)
authorvgichar
permlinkupdating-the-steem-documentation
categoryutopian-io
json_metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":78556222,"name":"devportal","full_name":"steemit/devportal","html_url":"https://github.com/steemit/devportal","fork":false,"owner":{"login":"steemit"}},"pullRequests":[],"platform":"github","type":"ideas","tags":["utopian-io","steem","steemit","documentation","api"],"users":["vgichar"],"links":["https://developers.steem.io/","https://stripe.com/docs/api","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515692836/tbc4wojl6veqiupi2s5z.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515694246/slogsycgaw2o1qysqkhz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515695021/fkmt5dptee5iorgoj8mi.png","https://image.ibb.co/jHHT1m/Screenshot_5.png","https://image.ibb.co/dSzxu6/Screenshot_6.png","https://github.com/jnordberg/dsteem","https://github.com/VIM-Arcange/Steem.NET","https://image.ibb.co/c6yqE6/Screenshot_51.png","https://steemit.com/steem/@vgichar/complaint-my-personal-experience-with-steem-api-it-s-a-mess","https://joshdata.wordpress.com/2014/02/10/what-makes-a-good-api/"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1515692836/tbc4wojl6veqiupi2s5z.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515694246/slogsycgaw2o1qysqkhz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515695021/fkmt5dptee5iorgoj8mi.png","https://image.ibb.co/jHHT1m/Screenshot_5.png","https://image.ibb.co/dSzxu6/Screenshot_6.png","https://image.ibb.co/c6yqE6/Screenshot_51.png"],"moderator":{"account":"shreyasgune","reviewed":true,"pending":false,"flagged":false}}
created2018-01-11 18:56:15
last_update2018-01-12 06:44:48
depth0
children3
last_payout2018-01-18 18:56:15
cashout_time1969-12-31 23:59:59
total_payout_value7.024 HBD
curator_payout_value2.956 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,864
author_reputation966,099,555,664
root_title"Updating the Steem documentation"
beneficiaries
0.
accountutopian.pay
weight2,500
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id28,822,942
net_rshares1,557,036,498,392
author_curate_reward""
vote details (7)
@shreyasgune ·
$0.88
Thank you for the contribution. It has been approved.

* However, next time, please use the exact template provided while submitting the contribution.

You can contact us on [Discord](https://discord.gg/UCvqCsx).
**[[utopian-moderator]](https://utopian.io/moderators)**
👍  
properties (23)
authorshreyasgune
permlinkre-vgichar-updating-the-steem-documentation-20180112t064517401z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2018-01-12 06:45:30
last_update2018-01-12 06:45:30
depth1
children1
last_payout2018-01-19 06:45:30
cashout_time1969-12-31 23:59:59
total_payout_value0.664 HBD
curator_payout_value0.220 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length269
author_reputation4,924,803,411,962
root_title"Updating the Steem documentation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id28,935,706
net_rshares112,365,875,279
author_curate_reward""
vote details (1)
@vgichar ·
Sorry, it's my first time contributing, so I didn't know how strict the rules are about the templates... will do better next time
properties (22)
authorvgichar
permlinkre-shreyasgune-re-vgichar-updating-the-steem-documentation-20180112t074249028z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2018-01-12 07:42:36
last_update2018-01-12 07:42:36
depth2
children0
last_payout2018-01-19 07:42:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length129
author_reputation966,099,555,664
root_title"Updating the Steem documentation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id28,944,676
net_rshares0
@utopian-io ·
### Hey @vgichar I am @utopian-io. I have just upvoted you!
#### Achievements
- You have less than 500 followers. Just gave you a gift to help you succeed!
- This is your first accepted contribution here in Utopian. Welcome!
#### Suggestions
- Contribute more often to get higher and higher rewards. I wish to see you often!
- Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!
#### Get Noticed!
- Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!
#### Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER!
- <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a>
- <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a>
- Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a>

[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)

**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
properties (22)
authorutopian-io
permlinkre-vgichar-updating-the-steem-documentation-20180112t132206312z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2018-01-12 13:22:06
last_update2018-01-12 13:22:06
depth1
children0
last_payout2018-01-19 13:22:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,524
author_reputation152,955,367,999,756
root_title"Updating the Steem documentation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id29,002,536
net_rshares0