I am a programmer who has spent the last three years prototyping, studying, and thinking about what software we need.
There is a lot of software that is just now becoming possible to build and I have been extremely excited to be exploring just some of those possibilities. One thing that has challenged me has been trying to determine which projects are the most important, so that I could focus my effort on them. Additionally, running at the scale required (~350 million people in the US and ~8 billion people worldwide [though only about half currently have Internet access]) presents many challenges that do not have many well-known solutions. Much of my last year-and-a-half has been spent searching, finding, researching, and creating tools that might allow the software I have been envisioning to be created and distributed.
At the top of my list of must have software is a publicly-owned, -built, -supported, and -maintained database of everything our leaders have ever said or done that has been recorded. The database will be web-accessible, so that anyone can quickly and easily access and search the entire known-history of a politician. Using technologies that have just become available to the web, anyone will be able to contribute live audio and/or video streams to the database as well.
There is a lot to think about with this project and I look forward to having many discussions about it. Ask me anything!
~~Edit: my comment votes and replies have been rate limited since starting this AMA. My apologies if I don't get a timely response to you, it is only because I can't :/~~
Edit2: I've been able to make some more responses ~~(though I cannot vote on comments for ~23 more hours apparently)~~. If I'm not responding to you, there is a good chance it is because I am rate limited and waiting to be able to submit my response.
~~Edit3: I'm going to try to get some sleep. I'll be back when I'm up!~~
Edit4: I'm back and responding~~, but rate-limited again~~. I will get to your question soon!
view the rest of the comments →
[–] voice_of_reason 0 points 1 point 1 point (+1|-0) ago (edited ago)
WOWOWOWOW this is complete and utter overkill, overengineering and/or overthinking.
You don't need 99% of what is in your comment if you host on literally any static content host (think CDN). Manage your content as literally any data structure that is human readable on disk. Maybe a directory per person and within that a text file providing the video's description and embed URLs. Write some simple javascript to navigate this. Store all this in a git repo. When code is pushed to the repo use a webhook to trigger the code's deployment on the CDN. Look, your followers can even submit videos using pull requests too.
Pay me a couple thousand and I'll build you this in a weekend.
[–] jsprogrammer [S] 0 points 1 point 1 point (+1|-0) ago
I was thinking more about this last night and I think you are right.
I'm aiming to get a function demo site live by this evening, running just on CloudFlare and Github pages :)
[–] voice_of_reason 0 points 1 point 1 point (+1|-0) ago
Cool. For creating an MVP I think this approach has plenty of flexibility. Let me know how it goes.
[–] jsprogrammer [S] 0 points 1 point 1 point (+1|-0) ago
I could build this solution too. I think it could work for a very minimal version (I already run some projects in a similar manner), however, if you want to do anything with WebRTC, there are additional services that must be ran. Also, if you want multiple people to be able to edit the database (which I think is necessary), the approach won't scale that well.
[–] voice_of_reason ago (edited ago)
Why would it not scale? Github was created by very intelligent people and I would think no matter how many people push or accept a pull request at once, their system will queue and handle it. Many very large software projects with hundreds of authors use github.
Since you are typically only adding NEW files, the git merges would be done automatically by github, on their end. No need for manually using git to approve each addition. The only time when human intervention is needed would be if two users edit the same file at once in a way that git cannot automatically resolve. But this would be a problem in an editing system of any scale.