Expanding Capabilities

Posted by cheapietheatre 
This forum is currently read only. You can not log in or make any changes. This is a temporary situation.
Now, this forum is in read-only mode. You find details Details hereContinue on /r/PirateBox
Expanding Capabilities
September 25, 2016 12:57PM
I preface this by apologizing if what i'm about to post seems either incredibly ridiculous, unworkable, or even something Piratebox already can (sorta) do. I haven't followed this project in ages and, well,both having a raspberry pi (3) and recently having an extended period offline related to moving had me brainstorming and poking at old ideas.

Concept

A machine that is portable, can talk to other machines like itself to gether files, news, and other things users can access through their web browser be it through desktop, laptop, phone, whatever has a browser. Ideally at no point would the internet be needed for this, including software updates.

More or less expand what the Piratebox does if at all possible. Something between the idea of Reddit, file server, and mail server (nearest comparison i can immediately think of, hardly a perfect analogy.) I'd tried breaking my thoughts into fairly simple language both to try breaking it all down into simplist concepts, and to avoid hiding what i don't know behind big words.

When Users connect to a machine

There should be a nice friendly welcome page that is minimally customize-able (because Myspace proved the kind of cancer totally user customization of the welcome page is.) This page has as defaults the following links: About the Thing, What this thing offers, The News this Thing serves as selected by the user, and how to make your own Thing both in terms of parts, and downloadable files along with instructions on how to turn it all into a working Thing.

It would be nice if there was a Wiki like set of pages the Thing's owner can arrange the News/Media/what-have-you for public consumption in an easy to look at manner.

Optionally this would include a Discorse type forum, a discord-like chat thing, and a way for you the user to upload stuff into the Thing.

When Owner Connects to Thing

When the Thing's owner connects to it and identifies 'yes i am the owner of this Thing, let me in so i can do Owner Things' the following should happen.

The Owner will see what random users have uploaded to the Thing and decide what is worth sharing, what should be deleted, what to leave where it is.

Similarly if the owner pokes at their own Machine they should see what the machine has gotten from other machines to see what is worth sharing, what is bad/wrong drop it, what is flagged as a Bad Thing (more later in document on Bad Things.)

Optionally but strongly desired there should be ongoing Discussions that only the box's owner sees or the owner can flag as publicly viewable. These messages can get shared from box to box to box (think Usenet or mailing lists if you know what those are. If you don't, think facebook posts that get responded to months later or reddit posts that never get locked.)

The ability to easily edit the 'wiki' or other page layout to showcase what Users see and how. IE do Users see the news' first? How-to's? music/movies/media?

Adjust the tags the Thing is supposed to look out for to automatically grab when connected to other Things so there's new stuff both for personal and public consumption.

When Machines connect to other Machine

For the sake of simplicity let's consider this as Machine A connects to Machine B. YHowever Machine A could be talking to B, C, D-Q through all this.

Machine A goes Are you a Machine or a User? If you are a Machine respond like This, otherwise I am going to assume you are a User.'

Machine B goes 'I am a Machine.'

Machine A has a list that reads along the lines of: 'My owner wants anything you have that is tagged as News, Home Improvements, How-To's, Movies, Music, Genre, Item, Item, Item.'

Machine B goes 'I have Item, How To's, Item, Item.' Machine B then lists off these items.

Machine A looks at this list. If Items are New 'Hey great I would like These Things.' Otherwise it will look and go 'Oh I already have those,' or possibly 'Mine are Newer. Would you like those?'

Machine B similarly gives Machine A a List of Things its owner has that it wants and the same happens.
There is a Bad Things List. Bad Things are Viruses, Bad Updates, Illigal Things. If Machine A gets a List of Things from Machine B and sees anything that is a Bad Thing it will go 'I do not want anything from you right now.' And then adds Machine B's ID (Mac Address or some other identifier?) to a Bad List. Anything on the Bad List does not get talked to. Things are not shared with anyone on the Bad List. Bad Lists can be shared between Machines.

Bad Things

This could be anything a user has tagged as 'I Do Not Want This. EVER.' It could be illegal things or just 'I don't like that music.'

Because Machines on the Bad List do not get talked to it takes effort on the Owner's part for things to end up on a Bad List because mistakes happen, what You have labeled as How To might pull up a 'how to do incredibly Stupid and Dangerous Thing' when what you want is 'how to turn Broke Things into Useful Things.

It should be clear that my intent is a Bad List is the last resort, the box owner did VERY bad things to get on that list (distribting BadWrong Illegal Things, or distributed updates that do Bad Things.) Normally Machine looks at what another machine has and only asks for specific Things, unless the owner has decided to have their Machine go 'show me everything.' That way if someone is sharing things you do not like, but it isn't on your Interest List you never see it.

When Machines connect to the Internet

This one is tricky. What should happen is if a Machine connects to the Internet it will get news articles, wikipedia pages, how to guides, and other stuff that the owner has told it to grab if it detects an internet connection. (I do not know how to do this I simply describe the ideal.)

Owners need to tell it what information they trust. There needs to be a wide range of default choices so that during setup a Machine will ask it's owner 'Which of these places do you want me to go to for Information about Things you want me to grab?'

While connected to the internet it will connct to mail servers that are able to allow people to not use Their client (Google being one such service.) Mail is gotten and sent.

Why?

Because I can? Because the Internet, contrary to popular belief, is not always on or otherwise always There.

People can take these boxes to Events like concerts, conventions, gatherings, parades, and the like. Their box sees a friend's box and goes 'oh hey our owners are friends. You are Awesome! here are Things.'

Or it could be an emergency situation and people use these boxes to connect to for information on how to make the best of the situation. Most times however I see these being used as 'oh no the home internet is down. let's see what the Box hoovered up.'

***


Over the years the internet has gradually gotten more locked down and censored, watched, and in short it's grown a lot less nice. This is a thought experiment I had based off of different concepts I've seen here and about online so that if the web ever becomes so locked down it's unusable, or becomes Comcast's dream of 'channels' and unless you like something that was able to pay Comcast's tax/toll/whatever the extortion fee is called, you still have an option. the BBS is dead because there is no reliance on land lines, and nobody likes the idea of having to grab a special client since that's scary and weird and they might end up on a list.

So if all the end user has to do is point their phone at this 'SHAREBOX-USER' wifi network they can instantly get pointed to a list of stuff you feel the world would like to know. The big problem here is this relies on a lot of Boxes/Machines/Whatever close enough to talk to eachother. A Machine by itself is boring in this setup other than as a thing on a person's home network that filters things out that the person that made the box wants to look at, or respond to all in one place that is accessible if the internet is there or if the internet isn't there.
Re: Expanding Capabilities
October 10, 2016 04:44AM
Well I didn't read all that but I can tell you piratebox has a chat, a python forum can be installed, password protected folders can be set. A image board is installed by default, the welcome page is included by default now, can be edited easily to say whatever you want with very basic knowledge. I believe there is already a wiki mod that can be done. Matthias and myself have been discussing about providing offline docs and files so a connected user can build their own that can be uploaded to the PB, Matthias has been putting in loads of work in order to release more features with the newest update, php by default and also a "alpha/beta" version of mesh networking. Now what use ability between 2 different pirateboxs will that include we don't yet, the docs for enabling it are still a work in progress and the feature is still really young. I would suggest installing the newest 1.1.2 update see what features it has and then taking a look at the mods section. It will save you aloooot of time and will probably give you and us a more clear direction on features could be useful for adding next. I know you have a Raspberry Pi the mesh feature has not been created for the pi yet. The TP-LINK routers is the most common platform for the PB. But don't worry from what I have read before the dev, Matthias strongly believes that all versions of the PB rather it be router or pi should include the same features and he is working on getting mesh going on the RPi. There is some discussion and reasoning why it's not available yet in the news section.
Hope this helps. Also I'm sure Matthias and the community would enjoy any feature you might be able to add to the PB. It's an excellent project to get involved and learn with.