Any organisation that has a significant number of developers is likely to consider creating a development toolkit at some point. Toolkits are intended to make development faster, by allowing development teams to share common elements, rather than building everything from scratch. They aid overall efficiency by avoiding different teams doing the same work; allowing developers … More 10 Characteristics of a good development toolkit
In the article: “To spec or not to spec? That is the question”, I explored the Agile concept that the Product is the Spec. That it doesn’t make sense to attempt to create a complete, fully-detailed specification for a software project, in the way that is common for other industries like architecture and automotive production. … More What a piece of work is code
One of the concepts in the Agile movement is that the product is the spec. In other words, the running code should be considered the master reference, rather than some form of detailed specification that says how the software ought to work. Why is this? In other industries, highly detailed specifications are a crucial part … More To spec, or not to spec? That is the question
As designers, we often make the mistake of thinking that the product we are working on is equivalent to what the user can see and experience: the user interface and the broader user experience. Our focus, naturally enough, is on the interaction and visual design of this interface. We get very frustrated when our designs … More Developers are amazing!
Software development projects are often complex and chaotic, with huge communication challenges. Despite huge investment and focus, delays and failures are still fairly common occurrences. In contrast, many traditional industries seem to have formulated very well understood and reliable processes. However, rather than copying these approaches, the software industry is increasingly turning to a brand-new way of doing things: … More Why Agile Makes Sense: software development compared to other industries
A sculptor might use marble, clay or plaster. An architect might use brick, concrete and glass. As software designers, the material that we ultimately get to build with is code.
This article briefly outlines the key characteristics of HTML as a technology for creating UIs. (See Distinctive Fingerprints of UI Technologies for a background discussion.)
There are many technologies that can be used to build user interfaces: HTML, iOS, Android, WPF, Java, C++, Flex, Flash, VB etc. Each one tends to have a distinct fingerprint – a tendency to produce interfaces with a particular appearance and feel. We can see a metaphor for this in the various forms of architecture … More Distinctive Fingerprints of UI Technologies
There are lots of different kinds of company out there, and many of them have a requirement for some form of custom software. This means that there is a vast array of environments that an Interaction Designer can work in. We frequently talk about the distinction between agency and client side. However, agencies vary widely … More The Business and Software Landscape
There is a saying in development that “anything is possible”. It tends to crop up when designers ask whether something can be implemented. “Anything is possible”, the developers say, the implication perhaps being that they should not be seen as the limiting factor in this decision. The statement is probably true, but, of course, … More The Cost Curve