To clarify, the "box" is any UNIX computer (very well suited for Raspberry PI devices, since the wifi can act as a hotspot), and the "internet" consists of all the best FOSS apps and open content that get served from localhost, see full list here: http://wiki.laptop.org/go/IIAB/FAQ#What_services_.28IIAB_app...
The use case is to make apps/content/tools normally requiring internet accessed work offline (either on localhost or local area network). In practice, using IIAB goes a little something like this:
1. find device (the more storage the better)
2. install free software on device using IIAB scripts
3. download free content (various content packs)
4. deploy device anywhere in the world to enjoy
all the FOSS and free content on local network
The IIAB scripts make installation and download setup fully automatable (battle-tested Ansible scripts https://github.com/iiab/iiab/tree/master/roles ), which is exciting because you can provision "learning server" devices very easily.
It could also be made with ultra cheap repurposed routers such as the old TP-Link TL-MR3020 or similar ones, whose hardware is really limited for doing anything serious but still can run older OpenWRT versions. All it needs is to activate a file sharing service and stick an USB drive to be shared with the usual protocols.
I mention it because I've found some at flea markets for 5 to 10 Euros.
Actually a possibly better solution would be to use a ESP32-like board (therefore no Linux or any other OS) to keep power consumption as low as possible, in order to supply it through solar power, de facto turning it into a self sustaining device in which passers by could download files or even upload their ones, including messages, photos etc. that would stay online say for some time before being deleted.
I have no idea though if the ESP32 network stack implementation and resources would allow that.
You want a real CPU and storage to serve media files at a good performance, ESP is far too limited, it couldn't even fit a photograph in RAM and its network stack is very slow. Its probably possible, but not worthwhile
ESP32 (and even ESP8266) can run a webserver and serve files from flash. It’s not obvious to me that they’d be so much better than a Raspberry Pi, which is < 10W and likely averages ~5W, which is on the order of magnitude of a single hard drive, and obviously much easier to port Linux apps to.
Yeah, I don't know how useful it would be for this specific application just due to the architecture differences. Just for a off-the-grid file share, a ESP32 with a SD card wired up to it is still a lot less power hungry than the Raspberry Pi.
Even under full load with the radios powered up, you're looking at like 0.75W, and when you're not actively transferring anything you can go into any of the various sleep modes and hit 0.05W (modem sleep), 0.0025W (light sleep) or 0.00003W (deep sleep). That's an order of magnitude difference versus a Raspberry Pi. You can easily power that esp32 pretty much indefinitely with like... a 4x6in PV panel.
It's a fun thought experiment on where you could toss a little 4x6 inch panel that has wifi and a 32GB microsd card you can access via wifi or something. But yeah, doesn't really make much sense to me in this use case.
I would love to have one myself. I may have to put one together.
Just thinking if I had the device and if even only Wikipedia were on it — would save perhaps a small amount of internet traffic? Maybe negligible, but I think if I knew I had a "local cache" of all of Wikipedia I might rely on it more.
Then I wonder if there was a way to integrate it with my browsing of the actual internet — perhaps keeping a running feed of Wikipedia article links somewhere in my UI as I type words or as some script scans the contents of the pages I am browsing so that detail on any topic is literally a click away. With the local Wikipedia cache of course I have no privacy concerns.
"With the local Wikipedia cache of course I have no privacy concerns."
This is one reason why bulk data downloads are (IMO) extraordinarily useful. Speed and reliability are some others.
There is no reason to limit this approach to Wikipedia. It can be applied to any data that we consume regularly. I use this approach for DNS data and some websites (= frontends to databases) I use frequently, though none of those sources facilitate bulk dowloads the way Wikimedia does.
I think you're misunderstanding the point of this. It's not meant to be a device that people directly interact with. It's meant to be a local server that anyone nearby with a wi-fi connection can tap into regardless of broader internet availability. In that way it's likely to last much longer since it can be placed somewhere safe and not run the risk of being stolen/fought over/dropped/smashed/etc. and the end point used by the local population doesn't matter - a chromebook, second-hand android phone, whatever.
Ignoring the other comments point that this is meant as a server rather than a direct kiosk, lets smash each of these points.
> 1. Has screen - (strong, tested, replaceable).
Broken/scratched/hard to read in sunlight/draining power.
> 2. All the Android apps.
All the android apps for that old version of android, presuming they work without a wifi connection.
> 3. Wifi hotspot functionality + FTP + server hotspot.
Very dependant on the phone make/model, and server/hotspot wouldn't be that performant.
> 4. MicroSD slot for massive and switchable data store.
Again, very dependant on the make/model.
> 5. Solar powerable, with removable and replaceable battery.
Solar power I will give you, but you'll be hard pressed to find a phone suitable as server/hotspot with a removable battery.
> 6. Touch friendly, kid friendly, low IQ requirement UI/UX.
That's very dependant on the app developers if we go with point 2, I know plenty of apps with terrible UI/UX.
> 7. Easy to code to extend functionality any way you like.
Not on phone, you can maybe automate stuff with the likes of Tasker (see counterpoint 6 about UI/UX though)
To really extend it you'd need a PC at which point... just use the PC? Or a pi.
Not sure that a few of your points are relevant for a large part of the intended operation but I do like the idea of using old Android hardware though!
The idea is to have a low power server for anyone to interact with over the wifi.
If you could grab an old android phone, install IIAB app, configure as desired then put where you want - this would allow so many more non-technically savvy people to be able to build/deploy it.
Depending on the phone it also could be easy to ruggedise with a case or maybe the phone itself might have waterproof ratings too.
The use case is to make apps/content/tools normally requiring internet accessed work offline (either on localhost or local area network). In practice, using IIAB goes a little something like this:
The IIAB scripts make installation and download setup fully automatable (battle-tested Ansible scripts https://github.com/iiab/iiab/tree/master/roles ), which is exciting because you can provision "learning server" devices very easily.