Tag: design

Technology

Touch UX Trends Started by Apps

2017-04-17

It’s interesting to watch how the accepted standard for User Experience (UX) evolves over time. It’s like there is a universal “vocabulary” of actions and gestures. We intuitively understand them and also expect them to be implemented in every app we use.

Continue reading
Programming

Goldilocks and the Three Functions

2017-03-05

How much code is enough code? Does the phrase “less is more” apply here? Some people take pride in condensing their code into “one-liners,” but the reality is that makes for obtuse, unmaintainable code where defects love to hide. Sure, there are some cases where gaining performance or some other type of efficiency justifies writing code that’s a little hard to follow, but as a general rule I avoid this kind of code whenever possible.

Continue reading
Software Engineering

Design, Art, and Science In the Context of Software

2013-09-08

I was listening to a recent Hanselminutes podcast where Scott Hanselman speaks with Natasha Irizarry about User Experience (UX) (you can find the podcast episode here), and a very interesting debate got started in my head.

Continue reading
Software Engineering

The Danger of Building a Product on Someone Else's Service

2013-04-10

AppGratis, Recently Pulled from Apple's App Store

Continue reading
Software Engineering

Do Horizontal Lines Make a Good Symbol for a Button?

2013-04-10

Recently, a friend of mine asked me what I thought of the “horizontal lines” symbol that is being used more and more frequently to indicate where to click or tap to get to a navigation menu. I really had to take some time to think about it, because I realized I don’t usually pay very close attention to the symbols used on buttons in the apps that I use.

Continue reading
Technology

Adaptive Gadgetry - Exposing Different Functions as a Function of User Capability

2013-04-01

Adaptive Gadgets

Continue reading
Software Engineering

Valve Got it Right

2010-07-11

On May 12, 2010, Valve made its Steam platform available on the Mac. There are a few key points of the way Valve chose to do this that show design decisions which support the needs and desires of the customer base. All too often, software companies do things the way that is easiest for them, at the expense of end user satisfaction. The Steam platform has grown in a way that exhibits the exact opposite: Valve gave themselves extra work, and sacrificed some potential revenue, to build a platform that caters to the users.

Continue reading
Software Engineering

Making Better Use of Patterns

2009-07-21

Software Patterns are very useful. They provide us with common solutions to related, but distinct, problems.

Continue reading
Software Engineering

Benefits of Analogies in Software Architecture and Design

2009-07-21

Analogies are often used when building or discussing the architecture and design of a system. I think there are two main benefits to this.

Continue reading
Software Engineering

Analogies as Abstractions

2009-07-21

Analogies are an effective way of communicating knowledge of one domain by mapping the domain’s concepts to another similar domain that is known by that person. In this way, a person can gain understanding of domain B through their existing knowledge of domain A.

Continue reading
Software Engineering

Abstraction in Software Architecture

2009-05-30

One of the important parts of the essence of software architecture is that it is an abstraction of the actual code of the software system. What’s interesting about that is that it means software architecture is an abstraction of an abstraction, since the code we write using modern programming languages is just an abstraction on top of machine code. Just how many layers of abstraction have we accrued over the years that Software Engineering has been growing up?

Continue reading
Software Engineering

Recording Real Time to Failure

2008-10-29

If the mean time to failure is an important statistic, why only measure it during development and testing? Building a small, anonymous crash reporting tool into your application can provide you with a wealth of information and can help you to improve your overall quality. Of course it would be wise to make sure the users are aware of this tool, wiser to give them the ability to enable and disable it as they see fit, and wisest to leave it disabled by default.

Continue reading
Programming

Caching Object Data with Time Stamps

2008-09-18

When you build an application backed by a database, one of the things you want to minimize is the amount of data transfer between the application and the database. There are, of course, two types of data transfer: the application retrieving data from the database, and the application sending data to the database. In this post, I want to focus on the former type.

Continue reading