28 karma · joined May 11, 2015
Why?
The best solution is simply to not use google products (which aren't that good anyway).
- duckduckgo for search - dropbox, box, etc. for files - openstreetmap for maps - firefox for web browsing (except firefox is about to introduce advertising, too, so I'm not sure about this one.)
This way, your data is decentralized, making it harder to track you. Also, these companies each focus on just one product, meaning their products are better anyway.
One thing I'd really like to see is cheat sheets. For example, "regex cheatsheet".
- Many of these (uber, amazon, Wikipedia, PayPal) have nothing in common. Yes, you can mix a bunch of different apps together into one. But how is one complex app better than many simple ones? - While social networks are basically the same in terms of functionality, the communities are different. If you mix together every social network, the community will suffer.
Also, I think people like having different apps for a couple reasons:
- Apps are modular, so you get to choose what you want. With one huge system, you get everything, whether you want it or not. - Apps are easy to conceptualize - "In x app, I do y." It's much harder to understand a giant system (for example, why so many people confuse gmail and google itself).
Also, popular culture is very focused on the idea of having lots of "stuff", which leads to people spending more than they should.
I'm not sure you can extrapolate from one person to hundreds of millions. Also, how much does the writer use twitter? If you never communicate with others on twitter, they'll never communicate with you.
Web design:
- There are a few different parts to this. You can specialize in front-end or back-end (although you should have at least some knowledge of both). - This isn't really much easier than iOS development over the long term, but the barrier to entry is much lower. - Things in this field change really, really fast. Expect to re-learn basically everything you know every 3-4 years. - The core languages (javascript, html, css) are versatile and can be used in many places: the web browser, the server (nosema or similar), or a native app (node-webkit).
iOS development: - You're tied down to a specific platform, which can be a problem if apple changes it's rules or releases an update with bugs. - The barrier to entry is higher, but over the long run it isn't much harder.
(Not that I'm a front-end developer, so this is completely biased)
Really, you should do what you enjoy most. Start learning the basics of each, and see how much you enjoy it. Also, study the codebases of some existing well-documented projects - it's a good way to learn more about the language.