hi,
i agree that remoteStorage is awesome and we need to do something cool
with it.
i have been thinking about a decentralized open source marketplace:
unbazaar. the general idea is to provide an unhosted webapp people can
use to
- post listings of tools (tools use recipes + materials to produce goods)
- post listings of recipes (an example of a recipe is a 3d printer design)
- trade money for the sharing of tools, materials, recipes, and goods.
in the end it must provide a friendly interface to the various specs of
[PaySwarm](
http://payswarm.com/) and [the Web Payments Community
Group](
http://www.w3.org/community/webpayments/).
unbazaar requires creating, reading, updating, and deleting from many
remoteStorage modules containing a variety of object types. this can be
done with an open source framework that implements
(CRUD)[
https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) on
JSON-LD objects (
http://json-ld.org). i think the easiest way to do this
is to generalize an existing remoteStorage webapp.
[litewrite](
https://github.com/litewrite/litewrite) is a stable editor
that implements CRUD on documents; i think it can be carefully
generalized beyond documents and thus fulfill the role of a webapp i
like to call 'un'. if done properly, i believe un is capable of being a
solid foundation for the unhosted movement by allowing one application
to fulfill many use-cases.
i think this project would be best done by the community for the
community, so i'm offering bitcoin bounties for completing work on the
road to un/bazaar. this summer my roommate and i will have at least 3
months to devote to un/bazaar, but in the meantime we could really use
some help.
un/README.md
# un
un is a platform for unhosted applications, forked from litewrite.
[dinosaur](
https://dinosaur.io) will pay bitcoins to developers who
complete items on the todo list. contact dinosaur with any questions,
comments, critiques, or suggestions. everything is open to
consideration, including bounty amounts.
## todo
### now
litewrite to un/documents:
- 5 btc to fork litewrite into un/documents.
- generalize document storage module to be applied to any number of
independent remoteStorage modules with any number of type definitions.
- generalize read view so something like views/{module}/{type}/read.js
applies to type objects within module.
- generalize write view so something like
views/{module}/{type}/write.js applies to type objects within module.
- make sure un/documents has consistent behavior with litewrite.
- change default ui of un/{module} to something at least:
un/{module}
__________
|_{
obj.id}_| + - r w
|_{
obj.id}_|
|_{
obj.id}_| read / write view
|_{
obj.id}_| of
obj.id
|_{
obj.id}_|
|_{
obj.id}_| => CRUD-ing obj
|_{
obj.id}_|
|_{
obj.id}_|
|_{
obj.id}_|
where
- +,-,r,w are buttons corresponding to add, delete, toggle to read
mode, toggle to write mode
- modules are suffixed after un/ like subreddits are to r/
- objects are listed by id in a column on the left
- current object is in either read or write view
### short-term future
#### related to un/
- 2 btc to add public reads of others
- change default ui of un/{module} to something at least:
un/{module}
__________________________________________________
|__ self___|_other_|_other_|_other_|_other_|_other_|
__________|_other_|_other_|_other_|_other_|_other_|
|_{
obj.id}_|_other_|_other_|
|_{
obj.id}_| + - r w
|_{
obj.id}_|
|_{
obj.id}_| read / write view
|_{
obj.id}_| of obj.d
|_{
obj.id}_|
|_{
obj.id}_| => implements CRUD
|_{
obj.id}_|
|_{
obj.id}_|
- 1 btc each to add 'calendar' and 'todo' modules.
#### related to un/bazaar
- 2 btc each to add 'tool' and 'recipe' modules (to CRUD Web Commerce
assets)
-
http://payswarm.com/specs/source/web-commerce/
-
http://www.heppnetz.de/ontologies/goodrelations/v1.html
- tool types that must be supported:
- 3d printer
- build volume
- resolution
- types of materials supported (white ABS, blue PLA, etc)
- cnc machine
- build volume
- resolution
- types of materials supported (douglas fir, aluminum, steel, etc)
- types of drills/routers supported
- laser cutter
- build area
- power wattage
- recipe types that must be supported:
- 3d design (for 3d printer or cnc machine)
- 2d design (for laser cutter)
- recipe generalized to use tools to transform materials into goods.
- circuit schematic
- 3 btc to add 'keys' module (to CRUD Web Keys)
-
http://payswarm.com/specs/source/web-keys/
- 5 btc for integrating the above and completing an interface to CRUD
PaySwarm listings on un/bazaar
### medium-term future
- ? btc for un/wallet integrating Web Payments
-
http://payswarm.com/specs/source/web-payments/
- ? un/bazaar using un/wallet for payments on listings
### long-term future
- implement a method of monetization roughly such that a minimal
percentage (~1%) of every transaction is sent to a transparent fund
operated by dinosaur to be used for sponsoring un/ development.
- implement Payment Intents (like Kickstarter, IndieGoGo)
-
http://payswarm.com/specs/source/payment-intents/