I don’t work for Outernet but from what I’ve seen around the forum and with some ideas of my own I’ve come up with a preliminary idea of how users and the community should interact with files and devices. Feedback is welcome. Below are the file categories I envision. These would be visible from the Library. All data, files, and content would belong to one and only one of these categories at a time.
Core Archive The latest edition of the core archive ships on the Lantern and other Outernet receivers when possible. As additions are made, they are pushed by the satellite and the core updates itself on devices. The core cannot be deleted or is made difficult to delete.
General Interest This is a continual stream of community curated content. Things like stories, programs, and games. These files aren’t fundamental enough to be in the core archive but they offer a variety of interesting topics. They are broadcast and continually download until storage capacity is reached. Once the harddrive is full, the old general interest files are replaced by the new ones unless a user specifies that they would like to save a particular file (see Favorites).
Time Sensative This information is only relevant for a certain timeframe (alerts, news, etc.) and automatically deletes itself when it becomes irrelevant unless the user chooses to save it to the device. For example, a hurricane warning would only need to be broadcast before the hurricane. Once it has happened the alert deletes itself from the device.
Favorites This category is reserved solely for files that the user has favorited. Files from any other category can be favorited. Favorited files are displayed in this category and act as shortcuts to the file in it’s actual category. If a favorited file is going to be deleted (an old news article) then the file is copied to the Favorites category and the shortcuts is replaced with the actual file itself. It should be noted that all other categories get populated automatically by the satellite whereas the Favorites category is special because it is exclusively populated manually by the user by favoriting files from the other categories.
Promotional This category of files is very similar to time sensitive files in that they are temporary and they automatically delete themselves over time. Promotions and advertisements are given lower priority than time sensitive information. This is it’s own category so the user can see all promotions in one place. Additionally, clearly labeled promotions appear in other categories or as separate entities in the sidebar of the Library.
System This category is for system updates and other Outernet software changes. When a user views this category they see a complete history of system updates and can revert to their previous system firmware and vice versa if they choose (in case the latest one breaks some functionality). When the system automatically updates itself it will alert the user with a notification the next time the Library is loaded. A bulleted list of improvements and system changes will be viewable from the System category and clicking the notification takes the user to that list. The System category also acts as a log of system changes over time. Ideally, it would show system update logs and information (battery usage, storage use breakdown, satellite reception, upcoming broadcast schedules, logs of data that has been removed from the device auto-deleted and manually). This also contains settings and preferences. There should be a factory default reset, a data reset, and maybe the ability to revert to the first firmware the device came with.
The files in the Core Archive and Favorites categories are kept unless the user deletes them. Time Sensitive and Promotional files delete themselves when they are no longer useful. General Interest files remain unless device capacity is reached. The System category keeps a lifetime log of the system which cannot be deleted. It also keeps the last version of the firmware at least until it’s clear that the latest firmware didn’t break the device. The user could be prompted as to weather or not the new firmware is working and offered the chance to revert to the last version. All old software should be able to update to the latest software (i.e. a device running the first version should be able to update to the latest version even if there were several updates in between).
Precedence of file importance should be System --> Core Archive --> Favorites --> Time Sensitive --> Promotional --> General Interest (last because it’s the only category that will attempt to fill the storage of the device entierly)
Community curated content goes to General Interest, Promotional content is generated by companies, Time Sensitive information should be as automated as possible, and the core archive should be continually updated with care. I think this would be best if some kind of board (prominent intellectuals or just well respected members of the Outernet community) had to agree to new core additions (think amendments or Rock and Roll Hall of Fame). That way the core updates can be continual but meaningful.
Redundancy & Rebroadcasts
For redundancy, Core Archive updates (as well as the entire content of the core archive) and General Interest files should be rebroadcast from the satellites frequently (although some General Interest content may have to be phased out over time to make rebroadcasts of manageable size). So in case of a power outage or reception loss, those files can still be obtained. If an Outernet receiver already has that file it can ignore it. All other file categories besides Core Archive and General Interest need only be broadcast once (or a few times in a short period) due to their nature. Additionally, before a file starts downloading it should identify itself (human-readable title) and when it’s next broadcast is scheduled or expected. That way if reception is lost, a user will be able to look at System logs to see what they’re missing and make sure they can continue the download it at a later date. The device could also alert users (beeping or an LED) before missing content is expected to be broadcast.
Since there will be dish (Pillar) and non-dish (Lantern) receivers (relatively high and low speed download rates) there will be at least two different transmissions of the Core Archive (a ‘lite’ version for the Lantern), the System files (different firmwares), and the General Interest files (pictures vs. text). The other file categories should be relatively similar.
The user could be able to enter keywords (think Google Alerts) of things that interest them so that if something is downloaded when the user isn’t on the Library a notification tells them that a new item appeared. Similar notifications should occur automatically with news and emergency alerts as well as system updates.
The Outernet device should be able to detect different devices (phones/computers) connected to it and offer device-specific profiles that share the entire content library. User logins may also be helpful. Individual profiles would allow permissions (rootuser and parental controls), allow users to get personal notifications (topic alerts, unseen notifications), and customize the interface and their preferences. Additionally, seperate users could actually CREATE content (stories, essays, code) that could be stored privately on their own partition or shared with the other users of the device. Finally, there is potential for USB drives to store user profiles and user generated content or content that has been favorited by the user for transport, safe storage, or expansion of storage capacity.
The Outernet devices should be capable of shutting down without using the Library interface (press power button), have a hard reset (hold in power for 5 seconds), and a way to physically revert to the previous/factory firmware (hold in power for 10 seconds).
The Library should support touch input and an on-screen keyboard as well as a regular mouse and keyboard. The interface should be usable and beautiful (so far so good) regardless of screen size. Usability is more important that feature richness at first. Accessibility features (text to speech, font size adjustment) should be considered.
I don’t mean to throw so much out there when I wouldn’t be the one coding it but I want to see what people like and don’t like so the final user experiences can be made better. I’ll do mockups eventually once I get some feedback.