# Learning to Share ## by ![](https://i.imgur.com/jXffEuc.png =50x50) [(Open Learning Community)](https://opencollective.com/open-learning-community#section-about) The **Learning to Share** project is an attempt to build valuable infrastructure for a future of life that is more of a shared experience. We intend to build a fully open source and free sharing application. **The first function of sharing that we intend to create is around sharing books with each other.** Books, are not just fun but also a fabulous way to learn, but it's not the only one. With this project we also aim to create a **self-paced online course** around how to develop a Holochain application. --- ## Why sharing? We really want to share right now. The internet is brimming with people that are trying to create solutions to finding things around you and asking for them. We want to share our stuff, we want it to be smooth and accountable, we want it to foster relations and we want it to be fully on our terms. This urge to share is one of the fundemental forces that is shaping a transition towards an abundant future. We do not all need a lawnmower standing around, we don't all have to have identical copies of of odd kitchen utensils and we don't all have to own the same books. We just want access, we can live a much richer life by sharing many more things. In order for sharing to become the norm, we need online facilitation of sharing to be as fluid as in-person sharing. With relationships intact and carried over from the offline world to the online one. We hope this can be accomplished through using agent-centric application frameworks like Holochain. The time has come for this and we want to create this super important piece of social technology for the betterment of all of our lives. --- ## Why sharing of books? ![](https://i.imgur.com/l2QZ9Ut.jpg =x300) Books are long, screen-less, thought collections and streams that help us live in new worlds and better make sense of this one. Books are great basis for conversations, great ways to converse and cohere with each other. They go real well with coffee. Sharing a book is sharing a story, we learn about each other and relate to each other through these stories. They knit us together. They help us commune. Books are also trapped in our homes, some of them we like so much that we don't want to part with them, but we'll lend them out, trusting we can find them again when we are looking for them. Others we can probably let go of and simply gift to the next reader. Peer to peer lending has been happening always I guess. But we are now so many, and we have so much stuff that we can't even keep track of where it is and where it is needed. Books are a wonderful start, many other things like tools or vihicles are also just around the corner, ready for collective action! --- ## Learning together At this point in time there aren't very many programmers that are experienced with building on Holochain, because Holochain itself is still being built. And it is being built on material that is also just coming into fruition like Rust and WebAssembly. We want to make sure that while we are passionate about creating this application, we also make sure to facilitate learning for others that are also now jumping into these unfamiliar waters. Throughout the whole process of designing, constructing and distributing this distributed application we are going to document what we are doing in a way to engage others to swim along side us. We are going to attempt to package our learnings and steps that we take along the way in the formats of annotated and narrated video sessions, text, code repositories and more. An example here: ![coding session](https://i.imgur.com/ODrhv3A.png) We will attempt to make these packages as valuable as possible and release them as soon as we can after a development milestone has been reached in order to facilitate as much learning as possible in the budding Holochain community. After the completion of the project, when the last milestone is reached, we will repackage the whole thing to a full course which is to be made available through online educational platforms. --- ## The Mailboox application <img src="https://i.imgur.com/Gk7KIZz.png" alt="MailBoox logo" width="60"> It has been started. In fact it was started in January 2018 at an early hackathon where we built the first running version on the Holochain Go prototype. Here is a barebone description of the application: > Enter the books that are in your bookshelf in order to make them visible to your community. Users can request to borrow books from each other and if possible the owner can put the book in his/her Mailbox in order to make it easily available for the borrower to pick-up. Recently, a rewrite of the code has started to take shape as a community effort and right now we are looking to take a leap into making this possible by creating this project. ### Milestones The project that we are looking for support to create is made up of three milestones. After that we hope that there will be enough support for this crucial piece of social infrastructure that we will be able to continuously support the maintenance and development of the software though ongoing financial support from users. #### Milestone 1 * Getting tests working in Try-o-Rama * Books zome basic functionality * User can enter books they have on the shelf * Users can find books in their vecinity (based on groups (town, apartment building, area of interest))) * Metadata of a book is visible in the interface * Availability of book is visible (as well as expectation of retun (*1 month, 3 months, never...Tickbox + slider*)) * Borrowing zome basic functionality * Items (not neccessarily just books) can be requested for borrowing * Items can be confirmed as being lent out * Items can be registerd as being returned (by either party, possibly confirmed by other party) * Connect the UI * Get existing UI working with HC datastore * Integratate into Holoscape (Electron UI and debugging) * Integrate Mailboox into the Holoscape interface * DeepKey, Personas and Chat integration * Integrating keymanagement and personas information for users of the application #### Milestone 2 * Meta-data read * Getting meta-data information from online stores of information instead of having to enter manually, simply look-up by ISBN or Name (Look at code from [Calibre](https://sourceforge.net/projects/calibre/)) * User reviews * Users can post reviews of books that they have read (*their own or others, link to ISBN*) * (Tentative) Optical character recognition of book names or ISBN numbers to automatically populate the app by scanning your books with a phone. * Collections pages * Enable people to create collaborative book collections (*Asimov Sci-fi, Gardening, Transpersonal Psychology, whatever..*) * Borrower reputation * Present the owner of the book (or item in general) with information about the borrower on past behaviour in the app (number of completed loans, avg. time before return, books currently borrowed) #### Milestone 3 * (Tentative) Book circle sharing * Integrate the possibility of creating a book circle (a collective reading agreement on a certain book). A space for conversation, date-setting for meetings * Create a tools zome * Crete an interface that hadles tools instead of books but with the same basic functionality * E-book zome * Add the possibility of sharing E-books like normal books, instead of choosing to borrow an actual book, users could choose to "download" e-books and help replicate them in the app ## Interface sketches **Possible initial interfaces:** ![Possible future design considerations](https://i.imgur.com/DKam8eY.jpg) *Possible user interfaces: Library & Lending, Collection Pages and Book Circle Sessions* **Liberary and Lending** would include inputing, listing books and collections *(arranged around locality, interest, project group, community, etc.)*, requesting to borrow and accepting borrow request. A **Collections** page could showcase a book collection, have reviews of the books in there by others and contain a live conversation about the collection. **Book Circle Sessions** could be started to read a book together, offline or online, keeping notes about the process and organizing scheduling and chat. --- ## People and activities We are a small team that will develop the application, we all share the value of transparency and collective learning. We are going to attempt creating the application within a 6 month period. All members of the team will help optimize their workflow for documentability. Funding for this project will be collected through the [OLC Open Collective](https://opencollective.com/open-learning-community#section-about) and distributed to the members of the team from there in an fully transparent way.