Matt Bush

SF-based software engineer. On this blog, I write about user interfaces, programming, design, and data.


SXSW and the expanding definition of tech

This past weekend I went to my first SXSW Interactive. I enjoyed meeting people from around the digital media and startup communities, attending parties, and getting free food and t-shirts. I was inspired by all the different angles speakers had on the future of tech, often focusing on emerging areas like health-tech, the smart home, and smart transportation, and even discussing the role of science fiction. Sometimes the startup hype and guerilla marketing there was so bizarre, I ...(Read More)

Thoughts on the new MacBook

On removing ports The removal of all ports is bold – just like the removal of optical drives and ethernet ports in the original MacBook Air, and the removal of floppy drives and serial ports in previous desktops. This change seems even more extreme. I’m personally not ready for the removal of all these ports. I need wired audio for my best headphones, USB or an SD card reader for my digital camera (whose wireless ...(Read More)

Meals cooked in 2014

My New Year’s resolution for 2014 was to take a photo of every meal that I cooked, and record each ingredient that was used in that meal. Over the past few weeks I built a React-based webpage to browse the photos and filter them by ingredients – all meals with granola, all meals with tomato and avocado, and so forth. Enjoy! Some quick facts: 200 dishes total. Number of ingredients per dish: min 2, median ...(Read More)

How to build great collaboration software

Productivity software has changed a lot over the past decade. With the rise of cloud computing, software to handle documents and calendars has shifted from desktop-based, single-user to cloud-based and designed for sharing. At the same time, the Internet has ushered in the rise of social media. As a result, productivity software has converged with communications software to give us the collaboration software we know today. At best, collaboration tools make it simple and delightful ...(Read More)

Thoughts on the Secret app

The anonymous sharing app on iOS called Secret has been making the rounds for the past few weeks. Secret has been compared to everything from PostSecret and WikiLeaks to the “burn book” from the movie Mean Girls. The app has circulated some very shady and inappropriate content, but I’ve also seen some really touching and poignant stories shared on it. I think the idea has potential to serve a niche of mobile social media if ...(Read More)

Design quality applied to apps, dating, and clothing

What do designers at software companies do? They don’t just make the product look good. They do the broad task of planning out how to make the product work for its users, both in its appearance and interactions. In the book Emotional Design, design expert Donald Norman breaks down design thinking into 3 areas: visceral, behavioral, and reflective. A well-designed product will be high-quality in all these different areas. To illustrate these three separate concepts ...(Read More)

Why are there so many programming languages?

A few friends who aren’t in software have recently asked me why there are so many different programming languages out there, and what makes them distinct from one another. They’ve accompanied these queries with rather delightful misconceptions such as “XML sounds like the adult version of HTML”, and “Ruby on Rails, is that like for women?” By the way, the latter is totally understandable, given that there’s a character named Ruby Rails, after the programming ...(Read More)

Remembering Clifford Nass

Yesterday morning, I was shocked to hear about the passing of Clifford Nass over the weekend. He was a professor in Stanford’s Communication department and a brilliant researcher in computer interfaces. I’m humbled to have had the opportunity to take his courses and benefit from his mentorship, and it saddens me that he passed away in the middle of his career, with so many potential years of cutting-edge technology research still ahead of him. I ...(Read More)

Best Practices for Dialog Box Interactions

The interactions between a user and a computer interface ideally should feel natural and delightful. The theory of The Media Equation states that people subconsciously tend to treat computer interfaces as if they were real people—thus, comparing personal interactions with user interface interactions is a useful sanity check when designing user interfaces. In this post I’ll apply these comparisons to dialog boxes. Dialog boxes are a crucial component of complex user interfaces—they help you through ...(Read More)

User interface interactions I like

I’ve found that it’s much easier to criticize bad user interfaces than it is to celebrate good ones: when a UI has usability issues you get frustrated; when a UI works well, you carry on with what you were doing. So I’d like to take the time to recognize a few interfaces with interactions that I find delightful. Cameras with helpful error messages I have an Olympus Pen E-P3 camera that I use a couple ...(Read More)