Proposal: Dev Portal Documentation (Q1 2020)

in #steemdao4 years ago (edited)
Countdown terminated on Mar 31, 2020, 7:00 PM

Synopsis

I will continue to provide documentation intended for application and tool developers who work on the Steem blockchain.

Timeframe

First Quarter, 2020. Total pay requested for timeframe: 44569 SBD

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.

Background

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).

Deliverables

For the duration of the proposal work Q1 timeframe, my ongoing project plan is here: https://github.com/inertia186/devportal/projects (also see: archives)

Current plan summary:

  1. 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.
    1. Requires me to interpret the source code, tests, and whitepapers then translate them to uniform definitions.
    2. Which in turn allows tool developers to create new tools/features as they appear.
  2. Maintaining an index of up-to-date tools (example).
  3. Structural changes to improve navigation, including search improvements.
  4. Updated glossary of terms pertinent to developer understanding of the technology (example).
    1. Also add a reverse lookup to the glossary.
    2. Allows a developer to dig into a particular topic from the top down.
  5. Additional tutorials on new features and concepts.
  6. Additional tutorials on deploying different kinds of nodes.
    1. For example, a "signing server" node.
  7. Ongoing fixes and updates to various details.
    1. Testnet specifics.
    2. Public node directory (although @timcliff keeps an eye on this as well).

Qualifications

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.

Previous Work

Here are all of the changes during my previous two proposals:

  1. Added SPS to API Definitions (PR#420).
    1. https://developers.steem.io/apidefinitions/#broadcast_ops_proposal_pay
    2. https://developers.steem.io/apidefinitions/#database_api.find_proposals
  2. Added details to the glossary (PR#421).
    1. https://developers.steem.io/glossary/
  3. Various API Definitions fixes (PR#422).
    1. https://developers.steem.io/apidefinitions/#rc_api.get_resource_params
    2. https://developers.steem.io/apidefinitions/#reputation_api.get_account_reputations
  4. Various Plug-in and API fixes (PR#423).
    1. https://developers.steem.io/apidefinitions/#rewards_api.simulate_curve_payouts
    2. https://developers.steem.io/tutorials-recipes/plugin-and-api-list#rewards_api
  5. Setting Up a Testnet (PR#424).
    1. https://developers.steem.io/tutorials-recipes/setting-up-a-testnet
  6. Paginated API methods (PR#425).
    1. https://developers.steem.io/tutorials-recipes/paginated-api-methods
  7. Added basic Steem Keychain information (PR#426).
    1. https://developers.steem.io/resources/#resources-steem-keychain
  8. Added Steem.DAO to Services section (PR#427).
    1. https://developers.steem.io/services/#services-steem-dao
  9. Created steemd config.ini recipe (PR#428).
    1. https://developers.steem.io/tutorials-recipes/node-config
  10. Created steemd command-line options recipe (PR#429).
    1. https://developers.steem.io/tutorials-recipes/node-cli
  11. Fix to canonical_url header (PR#430).
    1. https://developers.steem.io/tutorials-recipes/using-multisignatire-accounts
  12. Linking back to Pagination recipe from API Definitions (PR#431).
    1. https://developers.steem.io/apidefinitions/#database_api.list_accounts (just one of many examples)
  13. SMT API Definitions (PR#432).
    1. https://developers.steem.io/apidefinitions/#database_api.find_smt_contributions
    2. https://developers.steem.io/apidefinitions/#broadcast_ops_claim_reward_balance2
  14. Include pre-existing content about mira performance tuning (PR#433).
    1. https://developers.steem.io/tutorials-recipes/mira-performance-tuning
  15. Search fix (PR#434).
    1. https://developers.steem.io/search/
  16. Merge broadcast ops into one page (PR#435).
    1. https://developers.steem.io/apidefinitions/#apidefinitions-broadcast-ops
  17. Node setup that supports *.get_transaction (PR#436).
  18. Updated tutorial/quickstart (PR#437).
    1. https://developers.steem.io/quickstart/#quickstart-testnet
    2. https://developers.steem.io/tutorials-recipes/setting-up-a-testnet
  19. Added method/op names to the top of each section (PR#438).
    1. https://developers.steem.io/apidefinitions/ (all sections)
  20. Improved Search Hits (PR#439).
    1. https://developers.steem.io/search/
  21. Exchange Node Setup (PR#440).
    1. https://developers.steem.io/tutorials-recipes/exchange_node
  22. Abstracted DGPO/config (also improves search) (PR#441).
    1. https://developers.steem.io/tutorials-recipes/understanding-dynamic-global-properties
    2. https://developers.steem.io/tutorials-recipes/understanding-configuration-values
    3. https://developers.steem.io/search/
  23. Marked clear_null_account_balance as deprecated (PR#442).
    1. https://developers.steem.io/apidefinitions/#broadcast_ops_clear_null_account_balance
  24. New testnet chain-id (PR#443).
    1. https://developers.steem.io/quickstart/#quickstart-testnet
    2. https://developers.steem.io/tutorials-recipes/setting-up-a-testnet
  25. Added steem-tx-js client library (PR#444).
    1. https://developers.steem.io/resources/#resources-steem-connect-libs
  26. Improved glossary search (PR#446).
  27. 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.

Proposal Record

Approve
Unapprove


Also see:

Countdown terminated on Mar 31, 2020, 7:00 PM
Sort:  

Some numbers for reference presented without comment.

SPS funds 365 days per year but 'full time' is actually about 250 days per year. So the 490 SBD/day rate is 715 SBD per work day. SBD is currently worth about 60c USD so this is 429 USD/day, or $54/hour for 8-hour work days (with potential upside if SBD increases in value).

hey, i stepped off the .net idea for a while, will do a javascript as first steem project, better documented :-)

Although... the steemconnect info seems to be a bit outdated, no good links, i was actually hoping there would be some sample code that combined steemconnect and keychain

Posted using Partiko Android

Keychain itself has the ability to interpret steemconnect transfers. It’s not very reliable, though.

Edit: I want to clarify, Keychain is reliable, but that one feature about interpreting steemconnect transfers is hit-and-miss.