eriksmartt.com/blog

  • arduino (3)
  • art (2)
  • austin (39)
  • automotive (15)
  • blogging (25)
  • books (10)
  • business (3)
  • code (15)
  • design (10)
  • diy (3)
  • django (8)
  • experience (17)
  • family (2)
  • film (4)
  • food (1)
  • for:optaros (2)
  • gadgets (11)
  • games (11)
  • garden (3)
  • green (5)
  • hack (13)
  • hardware (11)
  • hci (9)
  • life (13)
  • lifehack (11)
  • links (70)
  • linux (8)
  • living (3)
  • make (3)
  • media (7)
  • mobile (98)
  • music (2)
  • news (17)
  • osx (29)
  • outdoors (4)
  • privacy (2)
  • product-management (1)
  • python (74)
  • quote (3)
  • security (10)
  • society (20)
  • software (38)
  • spam (2)
  • syndication (5)
  • technical (30)
  • technolust (5)
  • transportation (12)
  • travel (25)
  • ubuntu (7)
  • web (66)

  • Search:
     

     

    Formality and Audience

    Hard vs. soft edges differentiating the intended audience and meaning of the message:

    street markings

    Non-standard shapes and markings and the ability for drivers to ignore them based on unfamiliarity:

    street markings


    Post Comment »


    User error vs. machine error vs. interaction design

    Why the high volume of discarded stickers? What does this tell you about the users? What about the machine?

    The full context:

    The design of this self-service, produce-pricing machine includes an area for discarded “mistakes”; but at what point is it an indication that it’s no longer user-error?


    Post Comment »


    Interface design on Sparkfun’s new GeoChron

    Interface design on Sparkfun’s new GeoChron

    Sparkfun just released a new, stand-alone GPS logging device, which looks to be a slick alternative to all the “mobile-device + Python + bluetooth GPS” hacking I’ve resorted to for similar tasks. It’s a pretty tempting package if you need dirt-simple GPS logging. However, I’m a bit confused by the switches. Take a look at the picture of the device below:

    There are two toggle switches: one for on/off, and one for standby/run. Take a minute to look at the switch diagrams and labels, and think about how to use this device. How do you turn it on? How do you make it start logging?

    Now that you’ve thought about it, was it clear? What does the ‘1′ on each switch mean to you? What does the graphic under each switches label mean? Ignore the ‘1′ and ‘0′ and look just at the diagram. Based on the graphic alone, which switch position should “on” be?

    I used to get the ‘1′ vs. ‘0′ on switches backwards when my mental model was of the ‘0′ indicating a completed circuit. Now I use a binary metaphor, where a ‘1′ bit is on, and a ‘0′ bit is off. That seems to be what the switch means. But if I take that approach on the GeoChron, then the standby/run switch is installed backwards. Personally, I think I’d drop the graphic under the switch labels (I think it’s more confusing then helpful), and flip the standby/run swtich so that ‘1′ means ‘run’, and so that the switches are both pressed in the same direction when the device is on and logging. With a device this simple, you really shouldn’t have to think about how to turn it on. (I still want one though ;-)


    Post Comment »


    Dashboard Widget to mash iTunes library with OnTour.net

    Just the other day I had a friend mention a desire to scrape tour schedules in MySpace so that he can find out when artists he’s interested in are in town. (He eventually decided it was too much hassle and would like someone else to do it, which is why I’m able to mention it here.) It’s a cool idea, though the OnTour Dashboard Widget takes it to perhaps another level.

    The Widget monitors tour information in OnTour.net and compares it to the music you have in your iTunes library. The downside being, of course, that you have to hit F12 to get a notification. But otherwise, the interaction model is perfect — meaning that you don’t need to change your behavior at all, yet you gain new value and information. Brilliant.

    (Via Lifehacker)


    Post Comment »


    Feature-bloat and customer satisfaction

    In my day job as a Product Manager of mobile development tools, there’s a frequent struggle between feature-bloat and a desire to simplify the development process. Even when you know that it will improve the user experience, it can be difficult to build a business case for removing features or re-factoring a user interface. Because of this, I’m always excited to find any tangible data on the ROI of simplifying complex technology. (ie., It’s not enough to say “customers will like it better”, and it’s not easy to find compelling data to clearly demonstrate a tie between improved usability and improved consumer uptake.)

    Even still, war stories and the occasional bits of research do help the cause. For example, the post “Capability, usability and feature fatigue” offers a short summary of a Harvard Business Review article titled, “Defeating Feature Fatigue“, which features the following quotes:

    “Before use, capability mattered more to the participants than usability, but after use, usability drove satisfaction rates. As a result, satisfaction was higher with the simpler version of the product.”

    “If companies conduct market research by asking consumers to evaluate products without using them, too much weight will be given to capability, and the result will likely be products with too many features.”

    This idea ties nicely to another Harvard article, titled, “Feature Bloat: The Product Manager’s Dilemma“, which also caught my eye.

    (Via In-store good or at-home good?)


    Post Comment »


    Followup: “Agile Software Development Techniques and its Impact on Product Management”

    I posted last week about going to a talk on “Agile Software Development Techniques and its Impact on Product Management.” Since I mentioned I was going, I thought it might be useful to post some followup comments, so here goes…

    I went into the session hoping to hear some strategies and practical advise on applying Agile (and XP) to large-scale software projects that have key requirements and a timeline which is dictated by an outside driver. For example, let’s say you need to deliver a podcasting application for a piece of commercial hardware that has a fixed shipping date. Well, the answer from the session was simply that Agile isn’t always a good fit. Fair enough. And, to be honest, I was glad to hear advocates of Agile/XP being blunt about when the technique does or doesn’t fit well to a project’s needs. (Note: absent of the fixed shipping date and requirement to be installed on hardware that might not be easily upgraded, a podcasting client would normally be an excellent fit for XP.)

    I was also hoping to here more opinions on mapping Agile/XP techniques to the Pragmatic Marketing process (that it seems all Product Managers have studied, including me.) I was a little disappointed here as well, since although the Pragmatic process was mentioned, there wasn’t a discussion on how the two approaches can harmonize.

    Since the session, I’ve been looking for more overlap between XP and Product Management and ways to adapt some of philosophies to my current projects. One area where I believe the Pragmatic approach can adopt XP techniques in User Stories vs. Use Cases. (extremeprogramming.org has more on User Stories if you’re interested.) User Stories offer a simplified approach to documenting and explaining customer requirements, with a focus on involving the customer in the process. This is actually a much better fit for Product Management then Use Cases, since they are quicker to write, less technical, and completely focused on customer-driven requirements.

    I was also glad to find that XP projects do have a role that somewhat maps to Product Management. They call it a Customer Representative. This role focuses on real customer requirements, much as Product Managers do already, but drops tasks like Market Research, Win/Loss analysis, etc. (which you might not want to do for a commercial product.)

    Overall, I didn’t get what I wanted out of the session, but it has prompted me to look for more ways to influence product creation process using philosophies from XP. XP itself isn’t new to me, nor are Agile and Iterative development processes, but I rarely get to use them outside of personal projects. Applying XP in an environment that favors more traditional approaches will be an interesting challenge, but they pay-off for the team and the customers could be worth it.


    Post Comment »


    “Extreme Programming vs. Interaction Design”

    Here’s a topic that hits rather close to home: In the interview, “Extreme Programming vs. Interaction Design“, Kent Beck and Alan Cooper discuss opposing views on producing better software, and unfortunately, I can’t say that either one really “wins” the argument.

    The piece hits close to home because I used to work in Interaction and Information design, so I fully grok the value proposition Cooper presents. The argument is the typical Human-Computer Interaction (HCI) / User-Centered Design (UCD) pitch — that up-front interaction design will (1) produce a higher-quality product, and (2) will reduce development costs by solidifying technical requirements. However, what surprised me in the interview is that Cooper seems inflexible on how to best apply this UCD process, insisting that it is a design “phase” that starts and finishes before any development begins.

    The central assumption in Cooper’s argument is that programming is expensive and programmers are unwilling to throw out prototype code. Because of this, Cooper believes that you should not allow programmers to begin working on a project until 100% of the requirements are set. I used to believe that too, but I have since seen the light.

    The trouble is, rigid processes with pre-defined phases and deliverables are best used when managing a large group of low-to-moderately skilled developers. However, small teams of smart people change the rules and the outcome. Development teams that recognize the value in Agile Development and XP also understand that the assumptions driving waterfall-style development phases are based on faulty assumptions, which easily fall apart given the following findings: (1) It *is* possible to reduce the cost of developing code (see Python and Ruby on Rails); (2) Better products are often the result of iterative design (compare a forth-gen iPod to a first-gen); and (3) If your programmers aren’t capable of “sketching in code”, you need to hire better programmers (see all of Paul Graham’s and Joel Spolsky’s articles ;-)

    This isn’t to say that interaction design isn’t helpful, because it most certainly is, and any company serious about serving it’s customers should at least consult a user experience and interaction designer about their products, if not have such a designer on the team; However, there is even greater value in rapid iterative development — both in interaction and implementation, and companies that understand how to utilize this advantage will produce higher-quality user experiences in a shorter time-to-market.

    (via Signal vs. Noise.)


    Post Comment »


    “The Best Product Designs of 2005″

    It seems a little short-sighted to release a “Best Product Designs of 2005” article only halfway through the year; However, it does contain quite a few examples of excellent product design. The article itself is light on content, so you might as well skip straight to the Slide Show to enjoy all 158 examples of eye-candy goodness.

    One of my favorites: the Self-watering flowerpot.


    Post Comment »


     

    A few books I'm reading now:

    A few books I'd recommend: