Steem Devs: What do we need to add to the "Steem Developer Portal" in order to make it more useful for community developers?

in steemdev •  7 years ago 

A few days ago I was exploring on the Steem Developer Portal to try and find out how to implement a few light-weight applications. I found a lot of useful info there, but it seemed like a lot of things were missing.

For example:

  • What exactly do the functions do?
  • What format/type are the input parameters?
  • (Lots more)

It got me thinking..

I see a lot of people asking questions in the steemit.chat #dev channel. Shouldn't we be able to just direct them to the Steem Developer Portal? It would be great if any developer who is interested in creating applications for the Steem blockchain had a place to turn to get all their basic questions answered.

I'd like to start a discussion with the community developers:

What do we need to add to the Steem Developer Portal in order to make it more useful for community developers?

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
Loading...

My personal list:

  • What exactly do the functions do?
  • Example usage of every function with use case.
  • What format/type are the input parameters?
  • Is it cached by jussi?
  • Rough time complexity for the rpc node to process it?
  • What do we get back?
  • What errors to expect and how to handle them?
  • When to retry and when to fail?
  • How do prices works? STEEM ⇔ SBD ⇔ USD what is what in the market objects?
  • How to get accurate voting power?
  • How to calculate how much an upvote is worth?
  • What are transactions, what are blocks, what are operations, what are virtual ops?
  • What extra data is in every block and how to use it?
  • How to ensure you do not double send a transaction?
  • How to ensure you really send a transaction?
  • Probably a lot more, but these are a good start in my opinion.

I think it would be easier to list, what the api documentation contains:)

Documentation is sure lacking !

Imo we need to have something like my collection of snippets : steemsnippets but expanded to basically everything so there are lots of examples that people can use.

For instance it's not really intuitive that "comment" can be used to post AND comment.

Next is obviously a complete documentation :

  • Function use
  • Input parameters
  • Output
    It's insane that you still have to rely on trial and error for most of the things out here.

Then I think we need a long documentation that explains how steem actually work, so people can freely experiment with it and try to create new libraries for their favorite language which will expand greatly steem's portability.

I'd love to see @almost-digital 's testnet on it as well : https://testnet.steem.vc/ When you start to code things and need to break stuff it's so important to have a nice testnet.

I talked in more details about some of the problems and what I'd like to see solved for the dev community here

Thanks..
A working test net.. That would have saved me from a lot of public mistakes,now forever encoded in the blockchain:)

Hey Tim, good question :). IMO what we need is to document Steemd API in detail. For every single method and operation we are missing:

  • A description of what the op/method is doing.
  • The list of available parameters and sub parameters with expected format. Now most of the documentations don’t talk about the expect format for the parameters and the available sub-parameters, this is something devs need to figure out.
  • An example of the method / operation with default arguments, ideally with a pastebin link to be able to test the code with one click.

I know most of these operations and methods i could help if you want to start this process.
Some ressource that may help:
List of operations and methods https://v2.steemconnect.com/docs/steemjs
Some operations description taken from steem codebase https://v2.steemconnect.com/sign

Awesome, thanks for the input! I’ll make this one of my top priorities. I’ll let you know if I have any questions - appreciate the help!

Thank you for the initiative timcliff. I isited that site but it just didn't give me the answer immediately .

The question I wanfed answered was - how do I get my list of posts in descending order (from latest to oldest). The closest I got near was the API getDiscussionsByBlog() however I think there was something I wasn't able to get (filter by tags? I can't remember now) which made me resort to a other API.

So, for me, yes I agree it wpuld be very helpful if there was documentation on what parameters did an API accept particularly the query parameter.

And another are examples - code snippets I can use in my codes. I think it was 2 months ago I last checked and I haven't returned to the site after.

A complete series of video tutorials explaining how to use the functions in order to make a simple steem application.

This! Even if it would be something incredibly simple, would be a big help.

very good idea, I hope you achieve it, I support you.

I would love to see more documentation on steem-python. I am still struggling on how to import the last transactions in my wallet e.g. and have not been able to figure out how it works. Its probably easy - if you know which command to use. Also, more examples would be great because I tend to learn the most by examples somebody explains to me. Thank you in any case for your work!

steem-python has an .. OK.. documentation here:
http://steem.readthedocs.io/en/latest/index.html
I guess, youdid read it already.
And most of it is hidden in the source itself.
Follow the functions there, play with them.
Not sure, if there exists a discord help group for it;)

Thank you for your answer. I have worked myself though this as good as I can, but I am still lacking some stuff. To read the code itself is too difficult for me I must admit ,-)

There is a lack of concrete examples in the documentation. Fortunately, developers like @fabien for example have provided excellent support on github by answering a lot of questions like here for example --> https://github.com/steemit/steem-js/issues/151.

Bringing all this information together in one place would be a great thing :-) .

I would like to see some programming examples in the dev portal using javascript, python and other supporting languages.

If would be nice to see sample apps for iOS and Android to expedite the mobile development.

Provide a how to step-by-step procedures.

I feel like just atleast seeing more code examples will help clarify a lot of things

I’d love to see some more sample projects. The one built at the top of the dev portal is great, but it would be cool to see a sample node project, etc. Also, I definitely agree about more info on all of the functions!

Adding more code examples and samples is definitely the way to go i think. the more ways people are able to see code used in different ways the quicker and easier it is to learn and find uses for in my opinion

My first suggestion would be not list steemit public API nodes that no longer work such as steemd.steemit.com

Yep. Ridiculous, isn't it?

I think the developer portal should contain a link or a copy of the authoritative API documentation. Perhaps docs published with an OpenAPI spec and generated to some human readable.
I've taken it upon myself to propose some improvements to the steem-js documentation, but it would be nicer to have a good, up to date, set of central docs and have each language binding draw from them instead.
At this point, I think that any improvement to the docs of Steem Developer Portal is good - I'd rather not head of anybody's willingness to try by listing the perfect criteria.

If you are interested in collaborating with me to update some of the documentation there, let me know. (Here or on steemit chat.)

Myself and another steemian have made some updates to the Steem-js documentation. Over forty methods documented - concentrating on the methods that we are most familiar with and have war stories. Our push request is here: https://github.com/steemit/steem-js/pull/347
It's a start.

Awesome!

I think this is a fantastic idea that will help streamline the development process. The Steem Developer Portal should have a detailed question and answer platform (like slack or telegram) built into the portal. Communication between developers would simply the trial and error protocol. Thank You for opening this dialing. Have a great weekend!

  ·  7 years ago (edited)

This, in a BIG way! This "random chat channels with random people logged on at random times" has to stop. It's the most inefficient and broken way to communicate with other developers.

I had an argument with Ned 4 or 5 months ago trying to impress upon him how essential it is to have a centralised forum for developers to work together and communicate. No surprises, he didn't understand it, as don't a heap of other steem(it) big players. At least @jesta has attempted it with his f/steemdev forum at chainbb. If only the other big developers would actually use it.

I completely agree! Hopefully they will understand the need for developers to connect and be able to work together. Have a great day and thank you for the excellent comments.

Most programmers learn to document in self defence, and by that I mean you have more time to program if you're not distracted answering questions.

There is good documentation in the steem-python project

@timcliff in working on our data analysis projects we found the following things that could help:

1. Who is maintaining/managing each API/Project?

For example, it doesn't take a lot of digging to find out that @furion is behind SteemData, but it would be helpful if the right contact for each tool was publicized.

2. What is the status of each project?

For example, if SteemSql or SteemData is down for maintenance, you really only find out when you run your script.

3. Node statuses

I know there are other resources that track node status, but it would be nice if the Steem Development Portal had that information.

4. Greater explanation on using and creating private resources for the STEEM blockchain.

The blockchain is getting bigger and bigger, and more resource-intensive. It would reduce the load on the public nodes if devs had a better idea of how to create their own databases, nodes, etc.


Thanks for your work on this! It's good to see witnesses keeping up with these things.

I looked into steem developer portal the other day to find information that allows me to built a mosaic app which pulls images from the steem blockchain and shows it randomly. Unfortunately I didn't get far because the description is not detailed enough for a non-developer like me. If more examples could be added and more detailed descriptions, that would be awesome!

More examples with list of all functions. Also it will be helpful if people can comment there and ask questions directly on portal.

most likely have to be developed in group to be able to commit in steem, some people do not understand about steem .. if there is a group maybe people more easily understand because there is already info from each group and from group founder.

It's in Steem's best interest to get their act together on product management and community outreach (which includes pretty much everything in @timcliff 's post and all our comments.) I know many of the posters here want developer names but we shouldn't be talking to the developers. I know, I know, but that takes them away from what they are supposed to be doing. Someone internally needs to recognize what's required to attract community developers and make it happen. Better documentation, for example, is good for both the Steem development team AND us, and productive developers make Steem worth more.

Just look at this Steem valuation from coingecko. Look at what it includes, things like development and community -- us! We're part of the valuation. Judging only by it, the developers are busy (86%) and the larger community is suffering (17%). Look at the overview, community, developer, and tools tabs. Is it completely accurate? No.

I don't ask for the developer names. I would like to know who, if anyone, is dedicated to community outreach and making promises to us. (Then I hope someone is dedicated to product marketing -- Coingecko and others have to get their info from somewhere or it's made up.)

btw I'm new here and trying hard not to judge so soon but I'm used to the mobile phone companies fighting like crazy to attract developers. Steem has a good blockchain technology and a bunch of tools and that's an excellent start but they need more.

I plan to work on improving the documentation :)

LOL Well, I think that's great as I'm stuck on the installation! I don't know about you but I can bond with other developers over a glass of wine, I don't need a struggle.

What are you trying to install?

Python and Steem on a Mac and I've never used Python. I'm getting what appears to be a pretty generic "python setup.py egg_info" failed with error code 1 when installing Steem. Python 3.6.4 appears okay... I'm sure I'll figure it out. :-)

I would like to see more community options like reddit , bitcoin talk where firms and or individuals can create discussion forums. Upped, also see my posts for discussions about steem. I wish you more success.

hello, how are you ?, this topic seems interesting to me, what I suggest is a series of tutorial videos for the novices who venture into this community, so that they do not get lost along the way, and the activation of a chat even faster where they solve all the doubts to the users at the moment could be in several languages, greetings ...

it takes a lot of time for formatting post.it should be improve

you should be asked questions and obstacles should be asked directly. this will make it easier to answer it and can be a science for others as well. this is very useful friend, so that our future can be better again. thank you friends input. glad to be friends with you.

Is this dev room private to dev only? I would be interested in reading what projects they are working on or brainstorming about.

I think you may have been asking about the steemit.chat dev channel he mentioned. It's not private, but it's also not very active either, easy to find tho if you go to steemit chat and type #dev in the search bar.... you might try https://discord.gg/73KQBgb for a little bit more active devstuff lurking.. although most of it isn't talking about projects, it tends to be question and answer more or less.

It is a public website with documentation. you can check it out here: https://developers.steem.io/. It is probably not super interesting for non-devs though :)

Well I'm not a developer, but curiosity can lead me to understand what great knowledge you have,

Thank you let me wander over there

Honestly, the state of steemdev is a fucking shambles. It took me a long time to find out all the little bits of specialist and undocumented info to be able to use steemjs in a competent fashion. And just when I finally get on top of it, they fucking change the behaviour of the API, without telling anyone or documenting it. The methods not longer return promises (or at least getAccounts() doesn't, as that's the only one I've tried since the update). And the only thing they documented was insufficient. They kept telling people to change their nodes from the steemd websocket to the https api.steemit.com. Yet it's not documented anywhere how to do that. I happened to know it from a conversation with someone in some random chat channel ages ago.

Basically there's no or useless documentation, no one to officially contact for authoritative info, and whoever maintains it acts as though they don't need to inform the community when they make changes that will break people's apps. I spent the last three weeks or so asking questions on the steemjs steemit.chat channel, but the people responsible for steemjs (i.e. steemit and others) have abandoned the actual steemit chat mechanism. It's infuriating. To all intents and purposes they don't give a flying fuck about steemjs past what they personally need to do with it. They demonstrably aren't interested in expanding it's usage past their own projects.

[/rant]

And the devs are not even active here on steem. Where can one ask simple questions?
Github is for sure the wrong place.
A tag at least would be nice to post the questions.
Does utopian-io include something like this?
Some kind of stackoverflow

It seems that most of the active ones are on Discord. But for steemjs, for example, you have to actually subscribe to the Busy channel.

The other good potential is @jesta's chainbb.com/f/steemdev forum. But I'm not sure how many of the big developers use it. Some certainly do, and hopefully more will in the future.

  ·  3 years ago Reveal Comment

thanks for posting

@timcliff honestly I can't stop admiring your personality...Always researching, posting and resteeming quality educative posts that enhance and ensure the security and smooth running of Steem and Steemit. Sincerely I'm proud to have voted you my very first day on this platform. Keep the good work going.
Pls could you give me little of your busy time to see what I said about you on my post today...
https://steemit.com/steem/@solynise/success-or-successful-which-are-you
If possible your comment about the write-up in general would be highly appreciated..thanks Boss

Replied there

Yeah, I'm grateful Boss

Actually Steem is a big and a future bright community, here's something good to add here, in which we'll be more elaborate @timcliff

Its good idea for the steemians because mostly people did not know about steem. If it will easily understandable then they will invest and earn more. Thanks for the post.

Nice Very Beautiful

If you find an actual developer please let us now.
I wish you luck.

GOOD POST -I am glad to meet you and i now Upvote n follow u too -D

Forgot 0.010 more.
Please return 0.010

I hope you find ideas, that make us feel more comfortable the way, in steemit, @timcliff thanks for that initiative.

Great Read. I really look forward to seeing more from you in the future!

Anda sangat jenius .. postingan anda menarik sekali . Saya suka pada post anda.

plc vot and following

@timcliff what is your upvote worth?

I would like to write a Blog about the most valuable Steemians !

You can calculate how much anyone's upvote is worth here:
https://steemnow.com/upvotecalc.html

your thinking really helfull @timcliff thanks for shareing Amazing think

                                      RESTEEM DONE  !!
  ·  7 years ago Reveal Comment
  ·  7 years ago Reveal Comment
  ·  7 years ago Reveal Comment