Re: [PROJECT] "#Fazon" for development boost

This idea was developed in chat box some 30min ago. However it evolved in my mind in mean time and it is quite different in this moment while I write this. I polished it quite a lot. Stay with me!

This is analog to Marketing fund, but it takes care of development/technical side of this coin.

Goal is to map the all the steps needed to get us all the sweet technicalities and present them in clean and cool way.
With this, it could be very clear for one developer to see how he/she/it can help development of Peercoin and what are end goals.
This can also be used to draw new investors, or to milk out whales among us.

Since all goals will be clearly presented, including all the tiny steps to reach them, investor can “adopt” development of some tiny program/library which is dependency of something bigger. This can be done with integration with Peer4commit.

I think this is how we draw developers too, since this could become bottomless hole in which we (the community) can dump our wishes and ideas. Then they become part of the tree and with it new challenge and job opportunity.

This is getting confusing so I made this sketch to show you:

This is inspired by 4X strategy games like Civilization/Freeciv, where player has “tech tree” where he decides where to invest according to his goals (http://en.wikipedia.org/wiki/Technology_tree).

Here you can see, to reach “Awesome web wallet” we need to “research” libraries for programming languages used for web development.
It is not important which one of those libraries is developed since each and every one increases a chance of “Awesome webwallet” to be developed.
This is pure logic, more libraries (tools) you provide there is more chance that someone who knows that tool to came along and make us web wallet.

There is added benefit with each and every library we invest in total infrastructure of the coin. Thus, helping future development and providing more options for possibly interested developers.

Other benefits are that we can have centralized mind map for all project we plan to do. Like OT, right now we know we need websockets interface with ppcoind. Now, this can be mapped and seen by everyone.

Use cases:

(this is generalizing, for example)

[Standard PPC fanboy] - Reads about OpenTransactions, wants this to be implemented with Peercoin.

He now submits this feature request to this system, with as much info he can gather. Request is passed to more tech savvy Fazon admin who researches it into more detail then maps to Fazon.

[Developer] - Looking for work

He/she drinks coffee on rainy Sunday morning. Check’s out Fazon for latest challenges.
Sees there is this thing called OT, and since it is interesting she/he looks into it and notices that Fazon admin missed dependency on “websockets”. So, developer notifies admin to map it.

Since developer sees this and interesting project, he proposes price of 500 PPC to develop wrapper for websockets.

This automatically creates new Peer4commit project and notifies admin that someone took the job.

[Investor] - PPC is dropping like a rock and he/she knows that a little push into infrastructure could be move in right direction

Investor comes to Fazon site and sees that there is a quest to reach integration with OT. Reads about OT and sees that first step is to develop this thing called “websockets”. And that someone offered to do this job for 500 PPC.
Investor concludes this is good deal and pays for it.
Funds are transferred to dedicated Peer4commit repository but still locked to admin of Fazon, not available to developer unless he is trusted person with reputation in community. In essence, developer is now employed by PPC community.

In the end everyone is happy, fanboy got his feature, developer got some extra money and investor helped to create new hype around PPC increasing price of his stake on PPC network. What is best of all, community prospers since this is usable for all of us.

[center]##################################################[/center]

I expect comments and suggestions since this is good idea and something can be done with this.
Also, project can be name “PeerTree” but is not cool as “Fazon”.

This is awesome!

How do we make the map interactive, so that anyone can browse, add, delete and update it?

Perhaps some kind of WIKI and then a script that goes through the pages and map it, renders the it to an image?

EDIT: Something like this? http://www.wikimindmap.org/about.html

[quote=“pillow, post:2, topic:2726”]This is awesome!

How do we make the map interactive, so that anyone can browse, add, delete and update it?

Perhaps some kind of WIKI and then a script that goes through the pages and map it, renders the it to an image?

EDIT: Something like this? http://www.wikimindmap.org/about.html[/quote]

I did not think of how to implement this yet but I’m sure this can be done. I’m open to suggestions.

Why not just make a picture edited and maintained by an admin. If anyone can just change the proposed upgrade pathes, it might end up in chaos and lead nowhere. If you have a suggestion you should post it in the forums or on reddit, where it can be discussed publicly to work out the plan that gets committed by the admin to the overview.

It would be nice!

[quote=“pillow, post:2, topic:2726”][s]This is awesome!

How do we make the map interactive, so that anyone can browse, add, delete and update it?

Perhaps some kind of WIKI and then a script that goes through the pages and map it, renders the it to an image?

EDIT: Something like this? http://www.wikimindmap.org/about.html[/s][/quote]

I talked to Peerchemist in the chat about how to realize a technical solution for this, that is cost efficient and which we could get going with at once. During our conversation we came up with this proposal:

Let’s use threads on this forum, to post “feature requests” (in lack of better word for it). These requests would have to conform to a format specified at the start and implemented as a template-post, which users can then simply quote. When a new post is created, the user submits the post to the OP of the “Main Fazon Index List” thread. The OP verifies that the submission is following the format properly and then add it to the list index. The list index, is a list with links to these submissions. This way we get a Main Fazon Index List that is being moderated by someone who has the “birds eye overview”.

The inspiration we are drawing from here is how the Myth thread (http://www.peercointalk.org/index.php?topic=2976.0) has been structured with an index as first post. And the template thing has been inspired by how the market team did it.

This is of course only a temporary solution. As soon as we have grown out of this, and it becomes un-maintainable, we could look into a proper tool for it (at this point we will probably also have a better understanding of what we want).

What do you think? Should we get cracking with the template?

[quote=“czarly, post:4, topic:2726”]Why not just make a picture edited and maintained by an admin. If anyone can just change the proposed upgrade pathes, it might end up in chaos and lead nowhere. If you have a suggestion you should post it in the forums or on reddit, where it can be discussed publicly to work out the plan that gets committed by the admin to the overview.

It would be nice![/quote]
Freemind (tool used for wikimindmap.org) is still usable for that, just host master on google docs and restrict access to a small number of people. Let me know if you like something like that as I have an Google account (used for the football pool). Just create a google account and I can add a few of you to provide edit rights whilst the rest of us can just comment in a thread. But it is just a tool and maybe the selection needs more time as you said.

I think it is a great idea to have a thread about development and required libraries to make things happen and map the ideal paths. If we can split it in readily ‘edible’ blobs we can invite donators to donate and developers to go with it and bring them together on peer4commit.com. Defining a clear scope is the hardest work usually.

The next challenge is in the priorities as we won’t be able to run with multiple development streams.
Not sure about how you would go with the bird’s eye view though, it should be available to all, we just need people who can make sense of it. The consensus on the priorities will be difficult. I would struggle to make up my mind whether we should invest in OT libraries or sidechain technology for starters. I bet there are a few more options floating around.

BTW What is Fazon?

next to some network health statistics, this could be the development health statistics? Maybe we should visualize different aspects and update the colors based on activity , real-time? i would watch it all day long :smiley:

My first take on template for submissions:
This is for new branches of the tree, so like feature requests.

  1. [Type] - Goal / step

Goal is something that is final, like integration with OT.
Step is small piece of software that will make it possible, like wrapper for ppcoind.

  1. Describe why is this important, short description 4-5 sentences max.

  2. Is there something like already? [True/False].

I imagine in the start most of projects will be porting something from other *coin ecosystem, so instead of inventing hot water we can use a lot of it.

3.1) If True; why cant we use that? Describe in 2 sentences

  1. [Added benefit for community], Short description 2 sentences.

If there is something extra if this is completed, beside being direct step toward the goal.
Can this piece of software be used for other future projects…?

That is all I can think of for now. Any thoughts?

[quote=“peerchemist, post:8, topic:2726”]My first take on template for submissions:
This is for new branches of the tree, so like feature requests.

  1. [Type] - Goal / step

Goal is something that is final, like integration with OT.
Step is small piece of software that will make it possible, like wrapper for ppcoind.

  1. Describe why is this important, short description 4-5 sentences max.

  2. Is there something like already? [True/False].

I imagine in the start most of projects will be porting something from other *coin ecosystem, so instead of inventing hot water we can use a lot of it.

3.1) If True; why cant we use that? Describe in 2 sentences

  1. [Added benefit for community], Short description 2 sentences.

If there is something extra if this is completed, beside being direct step toward the goal.
Can this piece of software be used for other future projects…?

That is all I can think of for now. Any thoughts?[/quote]

Known dependencies?

http://imgur.com/lxTL3K6
This is how I imagine the tree to look like.

In centre, there is peercoinJS. Node.js implementation of Peercoin. It can be used in various web development.
Greyed out are possible outcomes if this peercoinJS is implemented.

I imagine more descriptive version of this, with detailed info on every piece.
Goal of this is visualization so people who are not into this can be clearly presented where is development needed and what projects are actual.

x) Name
peercoinjs

1) [Type] - Goal / step
1) Brief summary, defined as a Step or a Goal, 1 sentence.
Goal is something that is final, like integration with OT.
Step is small piece of software that will make it possible, like wrapper for ppcoind.

STEP: Add support for Peercoin to bitcoinjs (http://bitcoinjs.org/).

2) Describe why is this important, short description 4-5 sentences max.
[b]2) Describe why is this important, short description 2 sentences max.

By adding Peercoin support to bitcoinjs, all current and future projects that uses this library, will get Peercoin support out of the box and lower the barrier of enabling Peercoin considerably. [/b]

  1. Is there something like already? [True/False].

I imagine in the start most of projects will be porting something from other *coin ecosystem, so instead of inventing hot water we can use a lot of it.

Not to my knowledge.

3.1) If True; why cant we use that? Describe in 2 sentences

-

4) [Added benefit for community], Short description 2 sentences.
4) [Added benefit for community], Long description X sentences.

If there is something extra if this is completed, beside being direct step toward the goal.
Can this piece of software be used for other future projects…?

[b]bitcoinjs is an utility lib, with the purpose of simplifying crypto currency adoption. By adding Peercoin support to an already existing and wildly used utility lib, Peercoin would further strengthen its position as backbone crypto currency.

Since the utility can be used in both backend (example: nodejs) and frontend (example: browsers with js support) applications, the cost of starting new Peercoin multi-platform targeting projects is reduced considerably.

Somes examples of existing projects using bitcoinjs (from their own site): Hive Wallet, Blockchain.info, Brainwallet[/b]

[b]x) Known dependencies

bitcoinjs
ppcoind[/b]

x) Additional comment
If it is possible, make support also for Peershares.

Above:
Bold = Added
Strike-through = Changed

A new name proposal:
Peercoin Ecosystem Roadmap aka PER

Comment:
There were to types of descriptions, 2 and 4. Filling in the template, it felt more natural to me that the first description was short (like a brief summary) and the second was longer. I changed the template accordingly. What do you think of the changes and additions I made to the template? When I filled in the template, do you feel that I did a good job at doing it, or did I misunderstand the instructions?

Ok, take three. My edits are italic.
I’ve added more descriptive info on the library and avoided confusion with “Add support” and “port”. With using standard word for this - port.

[Name] peercoinjs

[Summary] Brief summary, defined as a Step or a Goal, 1 sentence.

STEP: Add support for Peercoin to bitcoinjs (http://bitcoinjs.org/)

Maybe better: Port bitcoinjs to Peercoin

[Descr] Describe why is this important, short description 2 sentences max.

By adding Peercoin support to bitcoinjs, all current and future projects that uses this library, will get Peercoin support out of the box and lower the barrier of enabling Peercoin considerably.

###################

  1. Is there something like already? [True/False].

Yes, bitcoinjs + link to project page

3.1) If True; why cant we use that? Describe in 2 sentences

It does not support peercoin.

####################

[Benefit for community], Long description X sentences.

bitcoinjs is an utility lib, a bitcoin implementation on node.js with the purpose of simplifying crypto currency adoption. By adding Peercoin support to an already existing and wildly used utility lib, Peercoin would further strengthen its position as backbone crypto currency.

Since the utility can be used in both backend (example: nodejs) and frontend (example: browsers with js support) applications, the cost of starting new Peercoin multi-platform targeting projects is reduced considerably.

Node.js and javascript are very trendy in among developers and this would enable wider masses of developers to start with Peercoin based projects.

[Known dependencies]

bitcoinjs
ppcoind

[Additional comment]

If it is possible, make support also for Peershares.

Somes examples of existing projects using bitcoinjs (from their own site): Hive Wallet, Blockchain.info, Brainwallet

My take, this time with classic library. Example goal included.
Comments are italic.

[Name] Pycoin

[Summary] Decided to remove step/goal here

Port pycoin library to peercoin.
Pycoin library is python library that deals with bunch of routines when working with bitcoin.

[Descr] In some cases url with documentation will be enough

Does something like this exist, if yes what does it lack? If this is something totally new please invest time to describe it in details.

Does something like this exist?
Yes, https://github.com/richardkiss/pycoin is wide know and used for many projects.

[Benefit for community]

Provide python API for peercoin protocol, enable rapid development for python programmers, expand the ecosystem.
Python is amongst 10 most used programming languages.

[Potential use, example] This replaces “goal”

Potential uses range from new wallet implementations to specialized web services.
https://greenaddress.it/en/, https://coinkite.com/

Python is also highly portable, library can be used on any platform.

[Known dependencies, needed skills]

Depends: python

Skills: Python, bitcoin/peercoin protocol

Additional comment

If possible, include support of Peershares.

[Projected cost of development] If unknown leave empty for admin to decide.

Subject: documentation

I once read http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html and it gave me a good idea about how the ‘bitcoin’ protocol works.

I like the Fazon idea, but could you a project to document what the ‘peercoin protocol’ is?

Once you understand what the difference is between the two, it shouldn’t be that hard to port say bitcoinjs to peercoinjs.

TL;DR: If more devs come to understand what the differences are without actually reading bitcoins C code, it would help attract more devs to peercoin.

Definitely a good start, +1.

[quote=“thehuntergames, post:15, topic:2726”]Subject: documentation

I once read http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html and it gave me a good idea about how the ‘bitcoin’ protocol works.

I like the Fazon idea, but could you a project to document what the ‘peercoin protocol’ is?

Once you understand what the difference is between the two, it shouldn’t be that hard to port say bitcoinjs to peercoinjs.

TL;DR: If more devs come to understand what the differences are without actually reading bitcoins C code, it would help attract more devs to peercoin.[/quote]

Excellent! I like this idea, I did not think of documentation.

Can you try to write [Subject] Documentation, following my latest template. Just to see how will it go.

[Name] Documentation / Protocol specification

[Summary] Decided to remove step/goal here

STEP: Add documentation wrt Peercoin protocol

[Descr] In some cases url with documentation will be enough

A wiki would be awesome, but an article like http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html would give devs a good head start.

By having Peercoin documentation in place that points out the differences between bitcoin and peercoin protocol, more devs could be attacted to start porting bitcoin libraries to peercoin versions without the need to read c++ code.

Does something like this exist?

Yes, bitcoin wiki(https://en.bitcoin.it/wiki/Protocol_specification) + source code peercoin

[Benefit for community]

Documentation or specs are more easier read than c++ code for most devs.

[Potential use, example] This replaces “goal”

Developers need proper documentation too to get to the nitty gritty when porting bitcoin libs to a peercoin variant.

[Known dependencies, needed skills]

Depends:

Skills: bitcoin/peercoin protocol, eng tutorials

Additional comment

If possible, include docs wrt Peershares.

[Projected cost of development] If unknown leave empty for admin to decide.

Name
Descriptive and unique.
Lightweight Multi-platform Peercoin Wallet

Summary
Max 3 sentences.
Develop and deploy a secure Peercoin wallet that can be used on multiple platforms. The purpose is to provide the means to safely spend and receive peercoins with focus on ease of use.

Links
peer4commit or similar.

Full description
Concise explanation or url with documentation.
Develop and make available, a wallet that programmed in HTML5. Keys should be generated (from seed) and stored locally. The application should be lightweight and not communicate directly with the network. Instead the application should use trusted nodes to do the heavy lifting. The idea is to create a wallet that is very easy to start using even for the novice user, unfamiliar to crypto currencies.

Benefit for community
Max one paragraph.
By making it easier and more available for new and existing users to transact in peercoins, we think this could help drive adoption.

Usage example
If not applicable leave empty.
User hears about Peercoin for the first time, is provided a link and a few seconds later has a wallet ready to be used.

Known blockers
If unknown leave empty.

Requirements and dependencies
Provide links when appropriate.
Requires access to a trusted Peercoin node API. Depends on Pycoin (http://www.peercointalk.org/index.php?topic=3201.msg30379#msg30379).

Prior work
What differentiates this from similar things? Provide links when appropriate.
To our knowledge, there are no other multi-platform wallets for Peercoin. There are many such wallets for Bitcoin, which could be used for inspiration. Electrum and Hive in particular, because they provide solutions for light-weight wallets and locally secured data.

Estimated cost or man hours
If unknown leave empty.

Additional comment
Please make sure it doesn’t fit under the headers above first.
If possible, add support for Peershares.

[quote=“pillow, post:19, topic:2726”]Name
Descriptive and unique.
Lightweight Multi-platform Peercoin Wallet

Summary
Max 3 sentences.
Develop and deploy a secure Peercoin wallet that can be used on multiple platforms. The purpose is to provide the means to safely spend and receive peercoins with focus on ease of use.

Links
peer4commit or similar.

Description
Concise explanation or url with documentation.
Develop and make available, a wallet that programmed in HTML5. Keys should be generated (from seed) and stored locally. The application should be lightweight and not communicate directly with the network. Instead the application should use trusted nodes to do the heavy lifting. The idea is to create a wallet that is very easy to start using even for the novice user, unfamiliar to crypto currencies.

Benefit for community
Max one paragraph.
By making it easier and more available for new and existing users to transact in peercoins, we think this could help drive adoption.

Usage example
If not applicable leave empty.
User hears about Peercoin for the first time, is provided a link and a few seconds later has a wallet ready to be used.

Known blockers
If unknown leave empty.

Requirements and dependencies
Provide links when appropriate.
Requires access to a trusted Peercoin node API. Depends on Pycoin (http://www.peercointalk.org/index.php?topic=3201.msg30379#msg30379).

Prior work
What differentiates this from similar things? Provide links when appropriate.
To our knowledge, there are no other multi-platform wallets for Peercoin. There are many such wallets for Bitcoin, which could be used for inspiration. Electrum and Hive in particular, because they provide solutions for light-weight wallets and locally secured data.

Estimated cost or man hours
If unknown leave empty.

Additional comment
Please make sure it doesn’t fit under the headers above first.
If possible, add support for Peershares.[/quote]

I nominate this as final. This is how template for submission should look like.

Thanks pillow.