Investigative / Citizen Journalist app - evaluating integration with Steemit...
G'Morning, Steemit...
Just wanted to create my first post to introduce myself and hopefully gain some knowledge from the community here. Full disclosure…I am new to Steemit & blockchain technology / crypto-currency in general. But I began teaching myself to code a year or so ago and lately have been building a platform for investigative/citizen journalists during my down time from the ol’ 9 to 5. I started building in the Ruby/Rails programming language & framework, but had I discovered blockchain technologies like Steemit a little earlier, I probably would’ve focused my efforts more on learning more about them.
I am basically trying to understand more about the benefits of building on a platform like Steemit or other potential blockchain technologies (I have also been looking into Ethereum) as it relates to my particular side project/app here. This seems like a knowledgable & pretty charitable community, so I figured I’d give it a shot. If anyone could address any of the following questions / topics…I'd be greatly appreciative.
App Background/Concept:
Important note up front. While I pushed this app live to a heroku server already, I’m sure it is ridden with bugs/errors, etc, so while I’d certainly appreciate anyone who had the time to check it out and let me know any feedback on my questions below…Don’t expect a great user experience (I am in the very early stages of development without many features built and I’m not the strongest dev around to say the least).
But I was interested in building a simple app where users can organize pieces of evidence around certain investigations they might be interested in. The inspiration comes from reddit style investigations that spring up from time to time, but I felt the reddit user interface wasn’t particularly geared for effective organization of evidence or collaboration tools for investigators. I also was hoping to experiment around w/ some different methods for source authentication and fact-checking (all works in progress not in the current site). Some screenshots are included & the link's at the bottom of the post...
My Primary Questions regarding Steemit:
First and Foremost…I understand well how blockchain technology shines as a currency. The benefits of that level of decentralization are easy to see when you have two parties transacting in such a way. I don’t necessarily understand yet the benefit of the programming languages built on top of or in conjunction to a crypto-currency…the way Steemit works or Ethereum and their “DAPPS”. On the surface (to a total novice like myself), it seems like there is no way to decentralize an app like this.
The example that keeps coming to mind…a regulator would have a tough(er) time shutting down a blockchain-based currency like bitcoin, but wouldn’t shutting down the blogging piece of Steemit or a third party Ethereum DAPP be no different than shutting down a Twitter or other centralized tech platform? This is what confuses me. Does Steemit as a blogging platform share the same benefits of decentralization as the ‘Steem’ blockchain-based currency does?
The Images posted to reddit or even Steemit are just links out to different urls where the images are stored from my understanding. Is there no way to store data like this via blockchain technology and completely decentralize it? (so a piece of evidence posted - whether .png/PDF/video, etc could rest in the blockchain & never be removed)? This I could certainly see the benefit of, but not sure if thats even possible at this point.
In what ways can developers integrate Steemit/Steem with existing apps built in other more traditional programming languages to benefit those apps? I am for instance wondering about ways i could somehow build steem into my platform, but I just have no idea what is possible or where to start. I have a voting system built into the current app that allows users to vote up the importance of evidence to an investigation & the credibility of sources, etc…& I am working on a reputation system based on votes…but would something like this even benefit from using Steemit instead & is that possible?
I guess I'm too new to even know what I’m looking for in this post necessarily... I’ve just become fascinated w/ blockchain technology as of late and was wanting to try out a post and share my idea/app. I hope to post again if i make any significant progress.
Final note... If any citizen journalists/investigators out there (or tech folks) would be interested in working with me to try and build some cool shit into this, I'll be hacking away on it for the coming months. feel free to reach out - thx,
-Ben
OpenForensic.com
twitter.com/openforensic
Hi there, thanks for presenting the idea. Before the Steem experts come in, I'll just add what I know.
First of all Steemit (operated by Steemit Inc) is a website/user interface that reads off the Steem blockchain. Not to be confused being the same thing. It may be easy to shutdown a website (just the access point), but it would be quite impossible to censor or bring down the whole blockchain. With regards to the Steemit blog and Ethereum DAPPs, just think of them as a distributing computing/database platform, supported by any computers around the world. To bring this beast down, authorities would need to identify enough nodes to overpower the consensus of the network.
AFAIK, yes, Ethereum is working on this. Maidsafe as well. It's quite like the torrent concept. Definitely doable. Not sure about the Steem blockchain though, not an expert - hope someone can shed some light on this.
I hope the experts of Steem will soon drop by and give you a better idea on this. AFAIK, you can checkout Piston by @xeroc , and there are plenty of developments going on around here. You may want to check out http://steemtools.com/
Awesome that you've built a prototype, getting constant feedback and iteration would be the best way forward. We also have a chat channel over in https://steemit.chat . I go by the same handle there. Just reach out if you have any questions or just want to chat around :) ! Enjoy your stay.
thanks for the quick feedback, Kevin. So you mentioned being able to shut down the website or access point that is steemit.com. So if that happened though and steemit.com was shut down, would folks still be able to create new posts & earn steem on them? If not, it kind of ruins the currency aspect of it doesn't it? Steemtools is very helpful to take a look at (definitely gives me a better idea of the types of things that can be built). I will reach out sometime on chat.
Welcome to Steemit! Hope you will enjoy your time here. I think you'll find lots of techies in the community who share your interests (I'm one of them, a long-time C++ programmer and cryptocurrency enthusiast myself). I can't answer all your questions, but I'll take a shot at a couple of them:
You are right in that the UI for decentralized apps is one point of centralization that could be a weak point for them. But the back-end of such apps (the blockchain itself) can't be shutdown. If the Steemit web site were shutdown, somebody could simply copy the web site's code and put it up on another server. Or another service could be created by another group of developers, call it Steemit Reborn, re-inventing the project but using the already existing data on the Steem blockchain. Trying to shutdown a dapp is like playing whack-a-mole - another version of it will simply pop back up in another place, utilizing the same back-end as before. In the case of Ethereum dapps especially, most of the code for the app itself is stored on the blockchain, and you just need a thin layer of JavaScript & HTML to provide an interface to it.
Yes, technologies are being developed to do this. I suggest researching the IPFS (Inter Planetary File System) for starters.
I don't have any direct experience with blockchain programming, but my understanding is you typically have to run a node or connect to one in some way to be part of the network, then you interface with the blockchain by means of some API. There is a JavaScript API for Ethereum. I believe Steemit's API is written in Python. Search for articles on Piston and read all the blog posts by @xeroc
Hope that helps a bit, and good luck with your project!
Got it, cryptomancer...that definitely makes better sense to me now. Yea I guess if the code is fully open source, then folks can just deploy a thousand versions of the website or app itself. thx!
This is a nice idea. Thanks for sharing it with the community and I wish you great success.