The Secret of Success: Suck Less

August 11, 2009
When I started working on Bugzilla in 2004, it was a difficult time for the whole project. There were tremendous problems with the code, we hadn’t gotten a major release out in two years, and a lot of the main developers had left to go do paid work. But eventually, thanks to a bunch of new members in the Bugzilla…

“Consistency” Does Not Mean “Uniformity”

May 14, 2009
7
In a user interface, similar things should look the same. But different things should look different. Why do over 75% of Facebook’s users think that the new Facebook UI is bad? Because it makes different things look similar to each other. Nobody can tell if they’re updating their status or writing on somebody else’s wall, because even though the text…

Features, Simplicity, and the Purpose of Software

December 12, 2008
5
One of the best ways to keep an app simple is, of course, to limit how many features you implement. Twitter, for example, has very few features, but is enormously successful. The limited number of features of Twitter make it really easy to keep the application simple, which lets the developers focus a lot on the quality of the system,…

(I)SAR Clarified

December 1, 2008
4
In my previous post, I said that there are three major parts to any computer program: Structure, Action, and Results. Also, a program has Input, which could be considered a fourth part of the program, although usually it’s not the programmer who’s creating the input, but the user. So we can either abbreviate this as SAR or ISAR, depending on…

Structure, Action, and Results

November 1, 2008
There’s a very popular model for designing software that we’ve all heard of if we’re web developers, and probably most desktop developers have heard of too: our old friend MVC. This works well because it reflects the basic nature of a computer program: a series of actions taken on a structure of data to produce a result. Programs also take…

Simplicity and Security

October 17, 2008
A big part of writing secure software (probably the biggest part) is simplicity. When we think about software security, the first question that we ask is, “How many different ways could this program possibly be attacked?” That is, how many “ways in” are there? It’s a bit like asking “How many doors and windows are there on this building?” If…

What Is A Computer?

October 10, 2008
What is a computer? You’d think that would be a fairly simple question. After all, I’m using one to type this up, I ought to know what it is, right? I mean obviously, it’s a…computer! I mean, it’s got a keyboard, and a monitor, and there’s that box down there… But what is it that makes all that stuff a…

Top 10 Reasons To Work On Open Source (In a California Accent)

September 12, 2008
So, as a little digression from our normal content, I felt like writing a list of the top 10 reasons to work on open-source software…but being a born Californian, I felt I had to pay a little respect to my roots. So here we have the top 10 reasons to work on open-source…as said by, like, a dude from Cali…

Success Comes From Execution, not Innovation

September 8, 2008
There’s a strange sort of social disease going around in technology circles today, and it all centers around this word “innovation.” Everybody wants to “innovate.” The news talks about “who’s being the most innovative.” Marketing for companies insists that they are “innovating.” Except actually, it’s not innovation that leads to success. It’s execution. It doesn’t matter how good or how…

Designing for Performance, and the Future of Computing

September 4, 2008
So, you might have heard that Google released a web browser. One of the features of this web browser is its JavaScript engine, called v8, which is designed for performance. Designing for performance is something that Google does often. Now, designing for performance usually leads to complexity. So, being a major supporter of software simplicity, I’m opposed, in a theoretical…
1 3 4 5 6 7 9
Go toTop