I'm James Hague, a recovering programmer who has been designing video games since the 1980s. Programming Without Being Obsessed With Programming and Organizational Skills Beat Algorithmic Wizardry are good starting points. For the older stuff, try the 2012 Retrospective.
Where are the comments?
Boldness and Restraint
Modern mobile devices are hardly the bastions of minimalism once synonymous with embedded systems. They're driven by bold technical decisions. Full multi-core, 32-bit processors. Accelerated 3D graphics all the way down, including shader support. No whooshing fans or hot to the touch parts. Big, UNIX-like operating systems. This is all the realm of fantasy; pocket-sized computers outperforming what were high-end desktop PCs not all that long ago.
What goes hand-in-hand with that boldness is restraint. It's not the cutting edge, highest clocked, monster of a CPU that ends up in an iPhone, but a cooler, slower, relatively simpler chip. A graphics processor doesn't have to be driven as hard to push the number of pixels in a small display. Storage space is a fraction of a desktop PC, allowing flash memory to replace whirring hard drives and keeping power consumption down.
This is a complete turnaround from the bigger is better at any cost philosophy of the early to mid 2000s. That was when the elite PC hobbyists sported thousand watt power supplies and impressive arrays of fans and heatsinks and happily upgraded to new video cards that could render 18% more triangles at the expense of 40% higher power consumption.
An interesting case where I can't decide if it's impressive boldness or unrestrained excess is in the ultra high-resolution displays expected to to be in near future tablets, such as the iPad 3.
If you haven't been following this, here's the rundown. Prior to mid-2010, the iPhone had a resolution of 480x320 pixels. With the iPhone 4, this was doubled in each dimension to 960x480, and Apple dubbed it a retina display. Now there's a push for the iPad to have its resolution similarly boosted.
The math here is interesting.
The original iPhone, with a resolution of 480x320, has 153,600 pixels.
The iPhone 4's retina display has 614,400 pixels.
The iPad 2 has a resolution of 1024x768, for a total of 786,432 pixels.
A double-in-each-dimension display for the iPad--2048x1536 resolution--has 3,145,728 pixels.
That's an amazing number. It's twenty times the pixel count of the original iPhone. It's over five times the pixels of the iPhone 4 display. It's even 1.7 times the number of pixels on my PC monitor at home. And we're talking about a nine inch screen vs. a desktop display.
I have zero doubt that a display of that resolution will find its way into a next generation iPad. Zero. It's bold, it's gutsy, the precedent is there, the displays already exist, and people want them. But such a tremendous increase in raw numbers, all to make an ultrasharp display be even sharper at close viewing distances? Maybe the days of restraint are over.
(If you liked this, you might enjoy How My Brain Kept Me from Co-Founding YouTube.)
permalink September 13, 2011
previouslyBuilding Beautiful Apps from Ugly Code
It's Like That Because It Has Always Been Like That
"Avoid Premature Optimization" Does Not Mean "Write Dumb Code"
8-Bit Scheme: A Revisionist History