LibraryBox: Difference between revisions

From Berkman Klein Google Summer of Code Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:
http://librarybox.us
http://librarybox.us


LibraryBox is an international project that provides open source, portable digital file distribution tool based on inexpensive hardware that enables delivery of educational, healthcare, and other vital information to individuals off the grid. Used around the world in education, healthcare, and activism, the LibraryBox project attempts to provide an easy-to-implement tool for anyone that needs to distribute digital information where the infrastructure for such sharing is limited, damaged, controlled, or non-existent.  
LibraryBox is an international project that provides open source, portable digital file distribution tool based on inexpensive hardware that enables delivery of educational, healthcare, and other vital information to individuals off the grid. Used around the world in education, healthcare, and activism, the LibraryBox project attempts to provide an easy-to-implement tool for anyone that needs to distribute digital information where the infrastructure for such sharing is limited, damaged, controlled, or non-existent.


===Ideal candidate:===
===Ideal candidate===
The LibraryBox Project is interested in a variety of possible contributors, from web-front-end, usability, and design work that improve the user experience to Linux devs with networking and LAMP-stack-like experience. Possible interest in Android/iOS app development for Beacon responsiveness.  
The LibraryBox Project is interested in a variety of possible contributors, from web-front-end, usability, and design work that improve the user experience to Linux devs with networking and LAMP-stack-like experience. Possible interest in Android/iOS app development for Beacon responsiveness.


==Project ideas==
==Project ideas==


===LibraryBox on Raspberry Pi 3===
===LibraryBox on Raspberry Pi 3===
The existing hardware that LibraryBox uses is under threat from new FCC regulations (http://yro.slashdot.org/story/16/02/18/1423216/tp-link-begins-lockdown-of-firmware-in-response-to-fcc). We have been planning to port our code to a more robust platform, and it appears that now is the ideal time to do so. We will be looking for coders willing to work with the existing PirateBox Raspberry Pi installation (https://piratebox.cc/raspberry_pi) and work to modify it to work with the LibraryBox customizations (some of which is already in progress https://github.com/LibraryBox-Dev/LibraryBox-core/tree/master/piratebox_origin/BuildScripts/RaspberryPi). In addition, the newest Raspberry Pi hardware includes Bluetooth Low-Energy, which we would like to begin using this new capability as a Beacon (https://en.wikipedia.org/wiki/IBeacon) to do more active “announcing” of a LibraryBox.  
The existing hardware that LibraryBox uses is under threat from new FCC regulations (http://yro.slashdot.org/story/16/02/18/1423216/tp-link-begins-lockdown-of-firmware-in-response-to-fcc). We have been planning to port our code to a more robust platform, and it appears that now is the ideal time to do so. We will be looking for coders willing to work with the existing PirateBox Raspberry Pi installation (https://github.com/PirateBox-Dev/arch_rpi_image_prepare) and work to modify it to work with the LibraryBox customizations (some of which is already in progress https://github.com/LibraryBox-Dev/LibraryBox-core/tree/master/piratebox_origin/BuildScripts/RaspberryPi). In addition, the newest Raspberry Pi hardware includes Bluetooth Low-Energy, which we would like to begin using this new capability as a Beacon (https://en.wikipedia.org/wiki/IBeacon) to do more active “announcing” of a LibraryBox.


===Mobile application for BTLE beacon===
Working with advice from the leads of both the Piratebox and Librarybox projects, the first goal will be to leverage the existing codebase onto the Raspberry Pi 3, complete with build instructions and installer that will enable novice users to build their own. Secondary development goal will be to enable BTLE beacon services on the Box.
A side project for this project may be the development of a very simple iOS/Android app that acts as a simple alert mechanism for the BTLE beacon.  


The outcome of this would be an SD card image or push-button installer that builds the image for users that enables all existing LIbraryBox functionality, as well as any enhancements (such as BTLE beacons) that we can within the development cycle.  
===Mobile App===
If the BTLE functionality above is enabled and the RPi3 is able to be used as a Beacon, the development of a simple Android & iOS app that notifies users when they are within range of a LibraryBox and allows them to connect and download content would be needed.  


===Mesh Networking on LibraryBox===
===Mesh Networking on LibraryBox===
LibraryBox has existing support for client/server synchronization, but enabling more robust network-traversal mesh would be a huge benefit to remote installations. The goal for this project
LibraryBox has existing support for client/server synchronization, but enabling more robust network-traversal mesh would be a huge benefit to remote installations. The goal for this project would be to work with the existing codebase to add the capacity for automated discovery of other LibraryBox nodes within wifi range, network negotiation between said nodes, and the ability for browsing from one node to another via client browser.
 
Skills needed: understanding of linux networking and low-power hardware platforms combined with a desire to make the experience as easy as possible for users.

Revision as of 11:19, 4 March 2016

Project Description

http://librarybox.us

LibraryBox is an international project that provides open source, portable digital file distribution tool based on inexpensive hardware that enables delivery of educational, healthcare, and other vital information to individuals off the grid. Used around the world in education, healthcare, and activism, the LibraryBox project attempts to provide an easy-to-implement tool for anyone that needs to distribute digital information where the infrastructure for such sharing is limited, damaged, controlled, or non-existent.

Ideal candidate

The LibraryBox Project is interested in a variety of possible contributors, from web-front-end, usability, and design work that improve the user experience to Linux devs with networking and LAMP-stack-like experience. Possible interest in Android/iOS app development for Beacon responsiveness.

Project ideas

LibraryBox on Raspberry Pi 3

The existing hardware that LibraryBox uses is under threat from new FCC regulations (http://yro.slashdot.org/story/16/02/18/1423216/tp-link-begins-lockdown-of-firmware-in-response-to-fcc). We have been planning to port our code to a more robust platform, and it appears that now is the ideal time to do so. We will be looking for coders willing to work with the existing PirateBox Raspberry Pi installation (https://github.com/PirateBox-Dev/arch_rpi_image_prepare) and work to modify it to work with the LibraryBox customizations (some of which is already in progress https://github.com/LibraryBox-Dev/LibraryBox-core/tree/master/piratebox_origin/BuildScripts/RaspberryPi). In addition, the newest Raspberry Pi hardware includes Bluetooth Low-Energy, which we would like to begin using this new capability as a Beacon (https://en.wikipedia.org/wiki/IBeacon) to do more active “announcing” of a LibraryBox.

Working with advice from the leads of both the Piratebox and Librarybox projects, the first goal will be to leverage the existing codebase onto the Raspberry Pi 3, complete with build instructions and installer that will enable novice users to build their own. Secondary development goal will be to enable BTLE beacon services on the Box.

Mobile App

If the BTLE functionality above is enabled and the RPi3 is able to be used as a Beacon, the development of a simple Android & iOS app that notifies users when they are within range of a LibraryBox and allows them to connect and download content would be needed.

Mesh Networking on LibraryBox

LibraryBox has existing support for client/server synchronization, but enabling more robust network-traversal mesh would be a huge benefit to remote installations. The goal for this project would be to work with the existing codebase to add the capacity for automated discovery of other LibraryBox nodes within wifi range, network negotiation between said nodes, and the ability for browsing from one node to another via client browser.

Skills needed: understanding of linux networking and low-power hardware platforms combined with a desire to make the experience as easy as possible for users.