I agree that version control is a fundamental part of software and if you ever have to read code I hope you have access to the versioning and issue discussions. Some people are ok without it for personal projects, but one day someone is going to read your code. Please be nice to them and give them the history behind your decisions.
> Most of the downsides (need for oracles for instance) apply to all blockchains.
This is the part that kills all good uses for Etherium (and other blockchain apps) as far as I can tell. If you are relying on oracles then you are not 'running on the blockchain' any more so why even bother at all? What are you gaining with Ethereum that you can't already do without it?
I just don't see a use case that 'regular' people would be interested in. All the apps currently on Ethereum are only used by other Ethereum fans. For someone outside of the bubble there's no compelling reason to become users.
An iPhone still needs communication hardware and a screen to function as a phone, you can't just make an iPhone entirely out of software.
So why bother supporting software on an iPhone at all? We should just keep using phones like the ones made in the 1950s that relied entirely on electrical components and no microchip. What does a person placing a phone call on an iPhone gain by running "software" that they couldn't already do without it?
Those who believe a phone should run software are on a fool's errand. All the software will do in the end is just activate the physical communications hardware anyway- there is just no point in it.
Even if they can fix all of that, I still don't see the application here. It's tantalising but ... there's nothing new or interesting you can really do with Etherium.
The bit that I don't get is how Ethereum will communicate with the outside world.
Example: I bet a friend that Hillary will be the next president. We create an Ethereum app/contract/whatever and fund it with $50 (worth of 'ether') each. When the election rolls around, we want to pay the winner automatically, but how can you do that?
You could have a rule to check some 'official' source on the internet but that data could easily be faked or unavailable. Then what?
If this kind of app is not suited to Etherium, then what are some good examples of Etherium's capabilities?
Gnosis is a prediction market platform that is live on Ethereum right now. http://groupgnosis.com/
There are a few ways to act as the oracle who indicates what the outcome of an event was. You can tell users to just trust you, which is what every centralized prediction market does with few problems. You can pick a few trusted oracles and require a majority vote. Or you can use any data that is served over a TLS connection so the outcome can be cryptographically verified, which is what Oraclize.it does. All of these approaches work for Gnosis markets.
All of this was already possible without Ethereum. I don't see what Etherium adds to the equation here? For example with Bitcoin you can already create escrow accounts with trusted third parties (aka oracles) being the decider.
Prediction markets are bets among arbitrary, dynamic sets of stakeholders. The price of a bet depends on the bets that have already been made. Both of these characteristics require state to be maintained across transactions in ways that Bitcoin does not allow.
Gnosis runs on the Ethereum blockchain directly. The Gnosis team can't change the number of shares you own, for instance. Decentralized applications are safer for users. It was founded by the team that built Fairlay, a prediction market site that uses Bitcoin, because they believe that prediction markets should run directly on blockchains.