3 ms·
The thesis of the article which I see as "Design for Performance" strikes me as wrong, but I'm interested in hearing why my intuitions are off. 1. Done is bett
by iandanforth 12y ago
The thesis of the article which I see as "Design for Performance" strikes me as wrong, but I'm interested in hearing why my intuitions are off.
1. Done is better than perfect.
In general I agree with this meme. I have started lots of projects that didn't get completed (zero value to anyone else) and seen lots of features never get off the ground because they were stuck in a design phase (with people arguing over design) rather than just picking anything and getting it done.
So perhaps my gut reaction to this article is that it is very very easy to become obsessed with trying to think through performance design decisions up front, and if you're the kind of person who falls into this trap, you need to ignore the article and focus on "Done" before "Fast."
2. Performance is perception
The performance of an application is highly subjective and discontinuous. If it takes 1-150ms to render a page, for most people that is almost exactly the same level of perceived performance. If I take 300 to 1000 ms to render my page, it is now sluggish. If I take 5s or more to render my page, it is either broken or time to get a cup of coffee and "wait for the durn thing to load."
It's this weird stair-step nature to performance that doesn't map nicely to big O notions of complexity, factors like 100x or any other simple continuous, numerical scale.
That's why phrases like "unnecessary work" strike me as unhelpful. The work simply doesn't matter until it has a noticeable impact. If you've got a simple abstraction that re-renders the page every 60th of a second even if nothing has changed, the abstraction has value and the work is neither beneficial nor detrimental, until you cross a perceptual boundary.
3. It's not done until it's fast (enough).
This meme is also something I agree with. Development can be done such that 1. Things work and then 2. They are made fast. Perhaps the wisdom the author is trying to impart is that in his experience 2 never happens and you must realistically reverse the order.
Feedback and warstories welcome!