1/ The biggest discovery in Dec I had when working on a Dapp was how much opportunity there is in building the early development tools for crypto apps: debugging is hard, authentication isn't cross platform, documentation is old/lacking, security is weak. Lots of work to do!
2/ Second major discovery was how basic the VMs are for writing complex apps. We have a long way to go. For example, EVM can't manipulate strings easily. There's so much promise though--it feels like early computing. There will be a lot more focus on the VMs once tx fees lower.
3/ 3rd major discovery was how important it's going to be the fix auth and make it easier. People can't be expected carry their keys or 12 word phrases across devices. Metamask isn't sufficient. It's going to be hard to make mainstream apps without a better solution.
4/ My fourth discovery was how tough security is going to be. I think there will be huge hacks on major Dapps one day. Cross-site-scripting vulnerabilities will be much more devastating than they ever have been. Avoiding re-entrancy attacks on contracts is not n00b-proof. Yikes!
5/ ENS is genius: https://ens.domains/ - I don't think most people appreciate how fundamental this idea will be to the Internet! Game changing.
6/ Contract immutability is impractical. It goes against so many important lessons of software development: iterate, ship quickly, non-monolithic deploys, easy to rollback, etc. We need governance badly! Migrating an entire userbase to another contract is painful.
7/ Let's be real: Today's Dapps are basically centralized until things evolve more and improve. If you own the domain and wrote a contact to point to another any time, you're very centralized. (see: cyptokitties!)
8/ "Blockchain for X" is probably not the best way to think about your next Dapp idea. That narrows the set of ideas considerably. I like to think about ideas that wouldn't have been possible previously. Like Filecoin: https://filecoin.io/
9/ An odd side effect I predict if Dapps take off is that consumers will demand world-class design. Clients people use will begin to become commoditized because switching costs will be low as critical data will be stored on chain. The war for design talent will re-emerge.
10/ Dapps will be hybrid (some features will only be possible centralized) until the EVM becomes more powerful (long road ahead). It's what you do with my data & the UX. You don't get to be successful because of your network effect lock-in. Bye Craigslist! Finally.
11/ Lastly, the hacker in me is really excited to see how all of this turns the world upside down. Corp gov will change. Creators will get more power. Network effects will not be as powerful for a single entity. Users will get better ux, sooner. The internet feels new again!
