assemble many HTML/CSS/JS pieces • difficult to work with for designers & programmers • rapid changing landscape in terms of new approaches and libraries/frameworks
it to packaging company (box, floppies, CD) • ship it to store • provide support for installation problems • ship floppy/CD for upgrade/fixes or repeat for v2
application but web-based • terminal/GUI applications? mobile applications? • web applications - GMail, Google Docs, internal • slow user interfaces • correctness - what happens when there is a bug?
everything • with web application, client handles almost everything but uses server for state via defined API • website synchronous, web application async • apply Uncle Bob’s canon on separating application from database and screaming/clean architecture to separating client implementation from server
for having the user feel that the system is reacting instantaneously…” • “1.0 second is about the limit for the user's flow of thought to stay uninterrupted, even though the user will notice the delay. Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data.” (Source: Jakob Nielsen’s "Response Times: The 3 Important Limits”)
hand, in your living room, fiber • immense potential as replacement for consumer applications, professional applications, and custom internal corporate applications • next gold rush?
practically written to prove the point of TDD • Yes, it is hard. That is the point. That is why it won’t happen without craftsmanship. • Because it is going to be demanded by the market • Because the bar is being raised — the teen in the basement can build a rails app.