All great programmers learn the same way. They poke the box. They code something and see what the computer does. They change it and see what the computer does. They repeat the process again and again until they figure out how the box works.
Godin, Seth (2011-03-01). Poke the Box (p. 10). The Domino Project. Kindle Edition.
Fantastic insights on The Talk Show with Dan Benjamin, John Gruber, and special guests Marco Arment and Craig Hockenberry. Some favorite points I noted down:
I couldn’t disagree more with @dhh on this one
Like 37Signals, Apple is an opinionated company and it reflects in their products. As many readers have remarked, 37S preaches this from their books, classes, conference appearances, and blog and make a pretty penny doing so. Apple takes risks and the public and blogosphere usually show animosity when the company takes sides on an issue.
With regard to Adobe and Flash, Apple made the decision to remove a single Adobe offering from their platform for a couple of likely reasons (1) the existing Flash player likely didn’t work on iOS (it doesn’t fully work on any phones yet), and (2) Flash will eat your battery and cause heat issues (ever hear the fan rev up when you’re watching a video – A mobile phone or tablet doesn’t have space for large fans and heat sinks). Apple is a company that takes a problem and solves it in a different way – whether you like it or not is your personal opinion. Take for example the removable battery problem. The core issue is that a battery doesn’t last long enough. What did Apple do to solve the problem? They made their electronics smaller so that a battery could encompass the majority of the device. The historic answer to the problem is to sell extra batteries to the consumer so they can swap them out. Now consumers have more charging logistics to deal with (can’t we have devices for grown-ups?). It’s an opinionated trade-off, and I feel strongly that people are happy in the long-term with long-lasting batteries. The same concepts apply for Flash – the core issue is to watch videos. How it’s done doesn’t matter to the user at large. Sure, some restaurants love to use Flash to show their delicious food with animations, but again, there is a modern solution for that – CSS3 Animations. Like the statistics show, web technologies are evolving at an incredibly rapid pace because of this singular decision and we all benefiting from it. Now we have highly optimized browsers and Microsoft has been forced to care.
One should be careful interpreting competition as unreasonable fighting. Motorola, HTC , Apple, and many other device manufacturers are simply doing what needs to be done to play defense in a the broken system of U.S. patents and position themselves to succeed.
With regard to Java, it’s on the outs regardless of whether Apple decides to spend a ton of time making platform applications look good on their OS (something Java was never good at). There is a reason many new languages (Scala, Groovy, Clojure, JRuby) are gaining popularity on the JVM – the cross platform nature of the JVM is great, but the Java language itself is dated and mired in its inability to innovate. I think 37S has proven this point in its use of Rails over Java.
I have no fear for the future when a company takes a core issue, is dissatisfied with the available solutions, and designs something that they believe is better. Isn’t this how 37Signals designs? Say “No” to the customer? Break it down to the fundamentals? Remove the cruft that adds no value?