Proposal: Dev Portal Documentation (Q1 2020)
I will continue to provide documentation intended for application and tool developers who work on the Steem blockchain.
First Quarter, 2020. Total pay requested for timeframe:
Unlike my previous proposals, I am now assuming that the work is 100% full time. I have other sources of income that take priority if this proposal is not approved. I think it's just easier for me to keep them equal in priority.
As I have stated previously, I intend to work on the devportal as a hobby if my proposal is not funded, but this would mean applying a far lower priority.
Also in my previous proposals, I intentionally under-bided in order to seek approval. I'm not doing that this time either. This proposal is at my full rate. I believe a side-effect of this is to set the price of this kind of work for people who have a lower costs. If you can do as good a job as me for less pay, you should totally do it, with my blessing (just fork the repo and get cracking).
If I am funded, but unable to allocate full time away from my main sources of income, I will return the proposal pay. I'll evaluate this throughout the proposal timeframe, probably weekly.
For the amount I'm asking for, I also intend to sub-contract certain aspects of devportal work, when appropriate, i.e.: no sub-contracting that has to do with the reverse-engineering or investigation on Steem technology itself. I am not sub-contracting the documentation.
Instead, sub-contracts may include UI/UX design, QA, and usability testing. UI/UX work will likely be minimal. I think it's pretty usable already. QA is for obvious navigation and multi-browser verification. The "testing" sub-contracting will be the most useful because I want to make sure the tutorials and definitions I provide can be understood by developers who are not already familiar with Steem.
I am also assuming 1 SBD is approximately $1. This is because if I have faith in my work (and the rest of the platform), it should be reflected in my proposal. If I think I can bring value to the platform, it should indirectly contribute to improving the price of STEEM, which should indirectly strengthen the peg. Therefore, I have an incentive to do good work in order to strengthen the peg.
The devportal site was originally set up by Steemit, Inc. two years ago and announced here. It is backed by jekyll, which is a perfect fit for me because the framework is written in ruby. However, the documentation itself does not require an understanding of ruby, as it is expressed in a combination of Markdown and Yaml.
This means it's relatively easy to contribute new documentation, whichever programming language you're familiar with. But for me, it allows me to expand the framework. For example, I have expanded the devportal so that it can fetch blockchain posts and host them just like any other content. I have also expanded the documentation build tools in other ways to verify content and make it easier to research new blockchain features.
While it's relatively easy to contribute new documentation, the research itself is a bit more involved (see: Qualifications section).
Current plan summary:
- Top priority is updating and clarifying the API Definitions (example). This will help developers who want to query/broadcast objects. It has all of the structure and examples needed to interact with the blockchain.
- Requires me to interpret the source code, tests, and whitepapers then translate them to uniform definitions.
- Which in turn allows tool developers to create new tools/features as they appear.
- Maintaining an index of up-to-date tools (example).
- Structural changes to improve navigation, including search improvements.
- Updated glossary of terms pertinent to developer understanding of the technology (example).
- Also add a reverse lookup to the glossary.
- Allows a developer to dig into a particular topic from the top down.
- Additional tutorials on new features and concepts.
- Additional tutorials on deploying different kinds of nodes.
- For example, a "signing server" node.
- Ongoing fixes and updates to various details.
- Testnet specifics.
- Public node directory (although @timcliff keeps an eye on this as well).
I was on the Steemit, Inc. payroll for 10 months. During that time, I learned the development philosophy and culture and I was part of a developer group called SteemWorks.
I am also accomplished at reverse-engineering, which is a requirement for doing heavy documentation on the Steem blockchain.
I have also had two previous proposals approved for this kind of work.
Here are all of the changes during my previous two proposals:
- Added SPS to API Definitions (PR#420).
- Added details to the glossary (PR#421).
- Various API Definitions fixes (PR#422).
- Various Plug-in and API fixes (PR#423).
- Setting Up a Testnet (PR#424).
- Paginated API methods (PR#425).
- Added basic Steem Keychain information (PR#426).
- Added Steem.DAO to Services section (PR#427).
- Created steemd
- Created steemd command-line options recipe (PR#429).
- Fix to
- Linking back to Pagination recipe from API Definitions (PR#431).
- https://developers.steem.io/apidefinitions/#database_api.list_accounts (just one of many examples)
- SMT API Definitions (PR#432).
- Include pre-existing content about mira performance tuning (PR#433).
- Search fix (PR#434).
- Merge broadcast ops into one page (PR#435).
- Node setup that supports
- Updated tutorial/quickstart (PR#437).
- Added method/op names to the top of each section (PR#438).
- https://developers.steem.io/apidefinitions/ (all sections)
- Improved Search Hits (PR#439).
- Exchange Node Setup (PR#440).
- Abstracted DGPO/config (also improves search) (PR#441).
clear_null_account_balanceas deprecated (PR#442).
- New testnet chain-id (PR#443).
- Added steem-tx-js client library (PR#444).
- Improved glossary search (PR#446).
- Added Communities API Definitions (PR#447).
Proposal Approval/Rejection Criteria
You should approve this proposal if you would like me to be compensated through SPS Inflation.
You should reject this proposal if you would prefer that I apply a lower priority on these tasks.
To approve, please find the link below. If you have already approved, but have subsequently changed your mind, there is also an option to remove your approval.
To reject, just ignore this proposal.