6 ms·
Daring Fireball: Complex
- javanix 18y agoApple is also one of the few companies that comes out with unique hardware. When you can start from your own simple designs it is possible to engineer unique and genuinely more useful hardware (see: the new battery in the 17in Macbook Pro). Unfortunately, the cost of developing from the base case as described in the article is very high - and reflected in Apple's prices.
- jimbokun 18y ago'The “phone” in “iPhone” is much more about ubiquitous always-on wireless TCP/IP networking than it is about the 20th century conception of telephony.' Recently, my 7 year old son asked me "Dad, can you call people with an iPhone?" (We don't have one, but he sees the commercials on TV.)
- jhawk28 18y agoCreating a simple framework to build on is probably the best way to create a compelling complex product. One can see this pattern in other things such as RoR - Basecamp, XUL - Mozilla, etc. Over time they seem to become more complicated and people move on to other things.
- neilc 18y agoYour examples seem about as strangle as Gruber's. The initial releases of RoR, XUL, and Mozilla were not "simple" by any stretch of the imagination (RoR was less complex than XUL/Mozilla, but still much more complex than many other web frameworks).
- unalone 18y agoSimple doesn't mean lacking complexity in terms of code. It means lacking complexity in terms of usage. Say what you will about Rails, but people using it can develop things pretty incredibly quickly, and there's not an enormous learning curve. That's simplicity.
- 10ren 18y agoCreating a platform that can be built on is the way to go - but it seems very difficult to create one that is simple to use, that can generalize in the right ways, and enable people to build what they want. But maybe that's not the trick - it isn't that hard to make an overgeneral, loose platform, that isn't specialized towards any particular usage. Maybe the particular platform isn't that critical. Maybe the trick is just to provide access to something that is really cool and exciting (that simple core idea). Developers are clever, they'll work out how to get on the bus. I'm not sure if this applies to Rails.
- unalone 18y agoWell, Rails is focused on this idea of doing things the Rails way. So you lose a lot of that generalization that you'd get by, say, programming everything in Ruby. But in return, you get the ability to develop and iterate extremely quickly, because a lot of the stuff is set up in advance. I'm not entirely sure what you're saying, though: could you elaborate a little?
- 10ren 18y agoACCESS I was saying two things, one you saw a refined version of elsewhere: "making it exciting is more important than making it easy to develop for". Designing a great platform (in terms of the insides being usable for developers) doesn't matter if the platform does something great. Many sins are forgiven if you have this. I think there are probably many examples of horribly ugly technologies that became wildly successful because they enable access to something exciting (DOS? windows? netscape navigator?) USABILITY To elaborate on the other idea: it's much easier to make something usable if it has a specialized purpose. Fewer features, fewer interactions/interdependencies, fewer controls, fewer things to go wrong - it's gonna be simpler to use. e.g. ipod shuffle. That is, not being able to do things makes it easier to use. The big problem with a platform is that you don't really know what the specific use will be, nor the exact nature and parameters of it. A platform, by definition, is general, and not specialized to one specific purpose. And you won't even know the nature of the general use. Except, perhaps, that it will want to be part of whatever the cool, exciting thing you have going is - that's a predictive organizing principle. Therefore, for a platform, rather than trying to guess at the kinds of uses it will have, maybe just say: (1). what is the cool, exciting thing that we enable? (2). how can we let developers build something that has that cool, exciting thing? That is, an API that gives them access to whatever they need to do that. It doesn't need to be great access, they just need to be able to do it somehow. This is "overgeneral" in the sense that you can not only do the things you want to do, but you can also do things you don't want to do. This looseness makes it harder to use - if it was an exact fit to the problem, it would be a delight to use. This extra power gives you "enough rope to hang yourself". RAILS On reflection, I think Rails is a much later stage in the development cycle: webapps are in a more mature stage, and by that I mean that people now know what kinds of things they want to do, and most importantly, what kind of defaults are useful. At an earlier stage, we didn't have enough collective experience to know those things. This knowledge is to do with how webapps appear to users externally, as well as what architectures and internal approaches have been found to work. Webapps are becoming an understood art, when previously, it was a bit of a black art. Rails represents a systemization of webapps; no longer ad hoc, many design decisions are now captured in a mechanical tool. It is specialized to the task.
- access_denied 18y ago"It’s not enough just to start simple, you have to start simple with a framework designed for future evolution and growth." Vi vs Emacs? The former lacked extensibility, so it kept being a "phone". Until the mighty Vim came along...
- nickb 18y agoInitial iPhone was anything but simple! First gen iPhone was YEARS in the making and rests upon decades of Cocoa engineering. Gruber is completely off the mark in that regard and is overplaying his hand. Every company iterates. Even MS iterates and evolves an initial product and you can see that with Windows 7. There are lots of reasons for success of Apple but the thing he stated isn't one of the major ones. Apple loves to work in vacuum with no user feedback whatsoever since SJ likes to say that 'people don't know what they want until they see it.' To have a truly evolving system, you need to have a user feedback loop and Apple has one of the worst feedback loops in the industry since they almost never act on feedback and when they do, it takes them years.
- ashot 18y agoagreed, this is not a good metaphor
- cubicle67 18y agoPrior to the unveiling of the iPhone there were a large number of people who attempted to guess what an Apple phone would be like. Loads of high quality art was produced by lots of very talented people. And guess what? Nobody foresaw anything like what the iPhone ended up being. Most people couldn't get past trying to fit a phone into a click-wheel iPod. Do you seriously think the iPhone would have been better if Apple had asked people what they wanted?
- nickb 18y ago>Do you seriously think the iPhone would have been better if Apple had asked people what they wanted? That has nothing to do with the article's argument that Apple's secret is evolution of simple systems. As for your point, each approach has its virtues. What works for Apple probably won't work for the rest of us. Apple has hundreds of brilliant designers that create three different pixel perfect designs for each piece of new UI. Three different teams (and all brilliant at what they do) working against each other... how many of us can afford something like that?! I still contend that Gruber's argument about Apple's secret being simplicity and evolution is bullshit. He probably came across Gall's law and decided to spin it into an article about Apple.
- nessence 18y ago"store" simply doesn't exist in this article
- sachinag 18y agoIf Apple has learned anything with the iPhone, they've learned it from Nintendo's Game Boy strategy. When the Lynx and Game Gear came out, it had to have a bigger, color screen. It had to have more buttons. It had to have a bigger storage unit. And yet, Nintendo made calls - we could do these things, but battery life would suffer. And no one can play something that's dead. And then, when Sony decided to go after the Game Boy Advance with the PSP, Nintendo said "let's make a new device, not a better Game Boy." Even now, I submit only two games get everything out of the hardware: Phantom Hourglass and Chinatown Wars. But things like Nintendogs and Brain Age make such good use of the touch screen - the zigging when the obvious zag was to support more colors, more storage, and more functionality (MP3 playing, Skype support, etc) to compete with the PSP - that they've outsold the PSP 2-to-1. (And let it be said, the PSP is a massive, massive success that no one talks about - you try selling 40 million of anything.) I'm really excited about the Pre, but if its battery life isn't better than the iPhone's, it'll die and it'll die quickly. Users can live with well-designed compromises.
- unalone 18y agoNintendo is a terrific company to compare Apple to. They have a similar grasp of the gaming industry that Apple does of the tech world, and it's why they've had such an edge designing. Similar to Apple, they go unexpected directions, and other companies don't seem to get why it is that they surge ahead. They assume it's because of "gimmicks," and add similar gimmicks to their products. Look at how SIXAXIS went compared to the Wiimote and you see something similar to the touch phones that non-Apple companies released to beat the iPhone. It's worth noting that Nintendo is an outright slaughterhouse in terms of sales. In the top 50 weekly VG sales, they have 18 in-house games. 6 of the top 10 (10 of the top 15) are for Nintendo consoles. Only one other company has a game on the list that's sold 5,000,000 copies. Nintendo has 13. Things like that are why I laugh at people who say the 360 isn't that far behind the Wii, because the Wii is in a universe unto itself.
- madh 18y agoI read your post and had to go look up some the numbers. - 28 million 360s sold since 2005 - 50 million Wiis sold since 2006 - Nintendo has sold 2.7 billion games to date
- pg 18y ago"How small? How simple?" We advise startups to launch when they've added a quantum of utility: when there is at least some set of users who would be excited to hear about it, because they can now do something they couldn't do before.
- unalone 18y agoExcitement is a terrific metric. It's possible to get people involved with a product if they're not excited about it. There's still growth involved. But the difference between that and a project people actively fall in love with is extraordinary.
- 10ren 18y agoYes, making it exciting is more important than making it easy to develop for. "Excitement" is a benefit, not a feature. This distinction from advertising is obvious, but hard to drive into engineering (even when it's me).
- unalone 18y agoI was looking up information about the book Punk Marketing a few days ago, and somebody gives an anecdote about a presentation they gave where the first slide was titled "How to Market to Generation Y", and the second slide was titled "You can't.", and that was the entire presentation. And there's some truth to that. The more people advertise, the more people get bored. So excitement becomes the only thing that matters. Until my current project I always thought that excitement was something that you simulated to get users. The guy who built and marketed Zoints, the start-up I did work for in high school, would IM me and talk about these campaigns he wanted to run on forums where Zoints employees would become forum members to talk about how much they loved the network (it was a social network for forums, essentially). And I thought, Oh, this is how you generate excitement. Then I started demoing Cirqueti to people in January, and suddenly I was getting absolutely ridiculous feedback. Things like, I'd talk to somebody about it on IM, and they would go to their college and talk to their professor or their class about it. One guy keeps bringing friends onto his IM account to ask me questions about it. It's insane, and it's a terrific feeling, and more than that it's genuine. I love it, because it means I don't have to lie or oversell what I've got: from the initial reaction it doesn't at all look like that'll be necessary, and I can focus on just making it better. And the best part of that is it's not marketing. Like, this isn't some cynical attempt to gain users. It's much more honest, because they're doing it on their own. I've seen that with a lot of web sites, in particular Facebook, which ran no ads on competing web sites (unlike TagWorld, which people thought was a big potential competitor, and which would advertise everywhere). I love it. It shows that if you've actually made something good, then you don't have to worry about advertising and you can just be yourself and do your own thing.
- Tichy 18y agoDaring Fireball == glaring fanboyism.
- rimantas 18y agoFar from it. Daring Fireball—best writing abbout all things Apple you can find on the net. When I see DF post marked with a star in my RSS reader I know that high quality read waits for me, with some work, thought and insight put into it. Or maybe I am just a DF fanboy…
- unalone 18y agoI'm a DF fanboy and an Apple fanboy. For me fanboyism means realizing that something's good enough to be a fanboy about. Gruber's a Mac fanboy, but he's also one of the most critical Mac users I know, along with John Siracusa. When Apple does something bad, Gruber is vocal about it. He's still critical of a lot of OS X's interface, and writes about it often.
- earthboundkid 18y agoGruber's response to Apple announcing the original iPhone "SDK" ("Just make web apps for it… With AJAX and stuff.")? "Shit sandwich." So, yeah, Gruber knows when to call a spade a spade.
- philwelch 18y ago"The problem with Apple in the 90s was that they stopped doing this. The Mac had a great run from its debut in 1984 through the end of the ’80s, where both the hardware and software improved every year. Then that stopped." Even that is somewhat misleading. The original Macintosh operating system was designed specifically for singletasking on the original Mac 128k hardware--a design choice that hamstrung Apple for years afterwards, and became the root cause of Apple's need to completely replace their operating system. It's not that Apple gave up on incremental development and started on quixotic missions to the next big thing. It's that the system architecture of the Mac OS was years past its prime and Apple couldn't fix it iteratively anymore.
- fleaflicker 18y agoFleaflicker is evolving using the same idea. The other advantage to this approach is mental. If I knew how much effort it took to get to this point I would have never started.