Archive for category presentation

Online vs. Offline Social Networks

The Real Life Social Network is a great presentation by Paul Adams, UX Reseacher at Google, on the differences between online and offline social networks, and how those differences cause user confusion and even pain.  One of the main reasons for this disconnect, he claims, is that online social networking sites tend to put all your connections in one big bucket (Friends on Facebook, Connections on linkedIn, etc), where in real life, across cultures, people tend to have 4-6 relatively independent groups of connections, with 2-10 people in each group.

This sounds about right to me, but I wanted to see if I could see this in my own social network.  I used the excellent gephi network visualization and analysis tool, along with these instructions to generate a network graph of my facebook friends.

Graphed and clustered visualization of my Facebook friends. Just as Google predicts, I've got about 6 real world groups that I interact with separately, not one big bucket of 'Friends.' Click the image to see more details about these groups.

It looks like I’ve got about 7 discrete social networks (click the image to see more details, labels, etc):

  • College friends (mostly from the Hawkeye Marching Band)
  • Graduate School colleagues (fellow grad students and professors)
  • Current Work Colleagues
  • Church friends
  • High School classmates
  • Family
  • Former Job Colleagues (mostly from when I worked and lived in England)

I learned a few things in doing this exercise:

  • Facebook turns out to be a pretty decent proxy for my offline social network.  If someone were to ask me, as Google did in their social network user research, to identify my people, place them in groups, and name the groups, this is pretty much the list I would’ve come up with.
  • I’ve got more than 10 people in most of my groups.  However, this graph doesn’t really take into account the strength of the connections.  If I were to apply a filter to this graph that only showed people who posted on my wall, or who’s wall I posted on recently, I bet the number would be much closer to 10 per group.  And some of those groups would disappear.  Which leads to…
  • These groups and connections are dynamic.  My groups, and my attention to them, wax and wane over time.
  • I didn’t need Betweenness Centrality to know that my wife is the center of my world.  =)

Adams goes on to describe that the web is fundamentally changing because it is becoming a web not just of documents and data, but also of people and relationships.  He argues that designers must learn to build systems with these new constructs.  The desktop model of one person, dealing with one system, in a cozy office environment is broken.  Relationships, influence, identify, and privacy must be built into next-generation systems. from the ground up.

That’s a huge mandate for designers and engineers.  It means that your system model has to be extended beyond the HTML, Javascript, and SQL statements; beyond the server configuration and network bandwidth.  Beyond a single user.  When you think about your system, you have to  include and account for the collection of users — their goals, needs, desires.  You have to understand how they influence one another.  You have to understand how they want to segment bits of information into different social circles.

, , ,

1 Comment

django_slideshare: add presentations to your django site

I’ve released the code for django_slideshare, a Django app that makes it easy to embed Slideshare presentations into your Django project.

Enter a Slideshare URL, and customize the embed template on your site.

In the Admin panel you create an instance of the Slideshare model…the only required attribute is the URL of a Slideshare presentation.  You may also set the presentation width and height, title, abstract, and posting date.

This is my first Django app.  It is functional, but I hope that people take a look at it, find it useful, and even suggest ways to improve it.  Here’s how it works:

  • Uses the pre_save signal to pull meta information about the presentation from the Slideshare URL you entered.  It’ll grab the presentation title,  default width and height.  You can, of course, override those by entering them in the Admin panel.  The presentation embed url and  thumbnail url are stored in the Advanced Settings.
  • Embed the presentation into your site with a custom tag, {% slideshare_embed %}, which is implemented via an inclusion tag.  This means that you can either use the supplied embed template, or modify it to suit your needs.

I’m not sure how useful this is to anyone but me.  I was building a site where I wanted to embed a few Slideshare presentations into my template, and I wanted to customize the Slideshare embed code.  Also, I wanted an excuse to do more Django development.  I’ve been playing with various web frameworks.  Django is emerging as my favorite, but I have a lot of python experience so I might be biased.

One challenge I’m having with Django is the naming conventions.  What most frameworks call controllers, Django calls views.  What most frameworks call views, Django calls templates.  What most frameworks call hooks, Django calls signals.  It’s caused me a few stumbling blocks here and there…I occasionally see the file views.py and look for the HTML/template code; it took me awhile to find the signals because I was looking for the wrong word.  I’m not sure what the departure from convention buys you here.  But like they say in the FAQ, it’s their framework, it’s what make sense to them, and it helps you get your sites done faster.  So it doesn’t really matter.

, , , ,

1 Comment

How Not to Sell Your Work…Talk Technology Not Pain Relief

We recently had a contractor come to our house to give us an estimate on replacing an old, metal, drafty patio door.  My impression was that he was extremely knowledgeable and capable contractor.  But after an hour, I didn’t feel like I had enough information to confidently make a good decision about which option to take, and we’ll probably not buy from him in the near term.

As I thought about the episode, I realized the contractor failed to sell me on his services in the same way that technology developers/designers fail to sell their clients on their work:

He did not ask us what problems we wanted to solve, or what goals we wanted to address.  Instead, he came in spouting off meaningless specifications about specific products.  I didn’t know anything about R factors or UV specs or double vs triple pane glass, so the fact that this product has a .2 or a .07 means nothing to me.  Is that good?  What’s the typical range?  How does that compare to what I have now?  And most importantly, how much might we expect to save on our energy bills going with the super-awesome door vs the middle-of-the-road door?

This is similar to software developers…I know we tend to get caught up in, “we should use this tool because it supports this new web standard” or “we should buy this because it has 1.21 gigawatts of power.”  Clients don’t care about any of these things.  They have a problem they want to fix, or an opportunity they want to attack.  All they care about is can you help them solve their problems.

Sell your work by focusing on the clients’ problems

  • Understand your clients, their pain and their goals. What’s hurting them or prompting them to make the change. What do they want to achieve as the result of the change (these two aren’t always the same).  The core of the discussion should be that you can alleviate some of their pain.  Once a client is on board with that, you can get into the details.
  • You may want to avoid, or at least postpone, discussing the quantitative specs of the tools or systems you’re proposing.  At best, your customer will gloss over this ‘irrelevant’ information and you will have wasted their time, and your opportunity to speak to them meaningfully.  At worst, you’ll have a customer like me that wants to make sense of the numbers, and you get stuck discussing minuscule details?  You want a 8 core processor?  What do people normally use?  Is that high end or low end?  Why can’t we make it work with 2 processors?  I read that Google uses lots of really cheap single processors in Wired…can we do that instead?  This leads to…
  • If you do need to get into the details, provide a frame of reference for your discussions. Instead of providing raw numbers like “the error rate on this page is 29%” give it a frame of reference, eg “On pages like this, we see error rates from 25-30%. The current page has an error rate of 33%; the suggested changes should reduce it to 27%”.

Leave a Comment

Pragmatic Personas

by Jeff Patton

Pragmatic personas can be fast, based on user research, but can also draw on your own experiences (according to Don Norman)

Identify User Types or Roles

  • Different kinds of people are user types (student, professional)
  • User Role describes the relationship a person has with your product (thing-doer, eg late night pizza buyer, daytime lunch seeker)

Profile User Types

Personify User Types to Create an Example User

Consider Product Design Impact

, ,

Leave a Comment

User Stories

Mike Cohn – (slides)

Software requirements are a communication problem; balance is critical.  If business side dominates, functionality and dates mandated with little regard for constraints.  If tech dominates, we make them speak technical jargon and we lose the business need, drivers.

We cannot perfectly predict a software schedule.

So…we make decisions based on the information we have, but do it often

We spread decision-making across the project, rather than making one set of decisions…

Stories

Stories are (Three C’s, Ron Jeffries)

  • Card (Note card) – Most visible part
  • Conversation – Promise from dev team to product owner: “We will come talk to you before we start”
  • Confirmation – Acceptance criteria

Short story about a system feature told from the perspective of a user.

As a …<user> I want to…<goal> so that…<reason>

Sometimes, you need more detail about a story.  You can:

  • Create new, smaller, more specific stories.
  • Define ‘conditions of satisfaction,’ which are really acceptance tests.  “What does the product owner need to see so that we can know this story is done?”  This basically becomes the ‘script’ for the Sprint review.

User Roles

Broaden scope from looking at one user

  • Allow users to vary by:
  • What they use the software for
  • Hwy they use software

This is different than a persona, where personas are about a specific user (based on research), designed to induce empathy in the design team.  User roles are more broad, describe types of users.

Can do user role brainstorming to identify different roles:

Thinking about your product, everyone writes a role on an index card.

  • Brainstorming, no judgement on what the roles are
  • Put related roles near each other
  • Combine, consolidate, remove

Advantages of using roles

Avoid saying “The user”.

Can also have system and programmer users.  “As a payment verification system, I want all transactions to be well-formed XML…”

Stories, Themes, Epics

User Story – Description of desired functionality told from user perspective
Theme – Collection of related user stories
Epic – Large User Story

Themes, Epics don’t really imply size…Themes aren’t necessarily bigger or small than Epics.  They’re just labels.

, ,

Leave a Comment

Mission Possible

This is the followon session to the previous Guerilla User Research session.  The theme here is taking the insights learned from User Research and turning them into actionable design.  The goal of this series of talks is to demo an application on Thursday this week.

Communicate Design

  • Personas
  • Workflow Stories / Scenarios
  • Task Analysis Grids

Personas

  • Quote
  • Day-in-the-life story.  Contextual/specific to what the person is doing right now.
  • Goals
  • Pain Points/Frustration
  • Opportunities
  • Activities

Design tool

Storytelling

Way to build empathy on users

Based on user research

Todd talked about the DNA chart…

Workflow Stories

Scenarios are stories that happen in the day of a life of a key user.  A narriative form that tell a story of people using the system.  Tasks are the granular items, connected to how important it is to different users.  This can be used to prioritize possible features.

Empathy is one of the key points of why we do user research.  This is a bit of contention with the Agile methodology and ‘user stories.’  User stories may refer to ‘average user,’ which often means ‘me.’

Good to use multiple points in order to generate personas:

  • Project Stakeholders
  • Customer Representatives (Customer Service Reps)
  • Actual Customers
  • Someone you know

Task Analysis Grids

Work back and forth between personas and Task Analysis Grids.  The idea is to get a holistic view of what the system is supposed to do overall.  Then go back to figure out the order/priority in which features are built/released.

  • Scenario Based
  • Incorporate personas
  • Prioritized

Persona Creation and Critique

We broke into several groups.  Each group created a persona based on the user research generated in the previous session.

, ,

Leave a Comment

Guerilla Research Methods

Russ Unger, Todd Zaki Warfel

Traditional barriers to UX research: Time and Money; customer/stakeholder perceived value, and the attidude that “We don’t have time and money to do this.”

Argue, “We don’t have time and money to NOT do this…”  Spend a few hours doing some research, in order to allow you to make data driven design decisions

Each methods have strengths and weaknesses.  It’s good to combine multiple methods

The Burrito Lunch

  • Send out an email, if you fit a profile, come do this, and we’ll give you lunch
  • Chocolate snacks are a helpful way to get people to fill out surveys

Crowd Sourcing

  • Using social media, other tools to get people to give feedback.  E.G.  Twitter, Facebook
  • Coupled with web analytic data

Man on the Street

  • Simply just going out and asking people, note trends.

User Research: “You never ask the question you really want answered.  If you ask the question you want answered, you’ll miss all kinds of rich information.”

User Research…one of the benefits of the agile UX methods is that you can bring prototypes to user research sessions: gives you access to users, do validation of current design, and research for future sessions.

Designing the Box

  • Get people together, some Sharpies, paper, ask people to design the box the product, tool, service would come in.

If this was a COTS product, what are the key features that need to be front and center.  As a UX designer, gives you insight into the thought processes involved in prioritizing features, etc.

Guidelines for asking better research questions

  • Provide context: “Did you have coffee yesterday?  How much coffee did you have yesterday?  Was that a normal day?  How about the day before that?”  It’s our job as researchers to ask questions and identify trends, amounts, etc, rather than asking them directly?
  • Helpful to start with a most recent or most memorable experience.
  • Start broad and open ended
  • Funnel and narrow questions

People want to tell you about their lives.  If you can facilitate in a way that allows them to tell their own stories, people are willing to talk.  Another way to help people talk: “I’ll share a story about me, then you share a story about you.”

, , ,

1 Comment

ICWSM Paper Titles – Wordle

This tag cloud was generated from all the paper titles that were presented at the ICWSM ’09 conference (http://www.icwsm.org). I don’t think anyone is surprised that ‘social’ is the major term.

, ,

Leave a Comment

ICWSM Liveblog – Wordle

This tag cloud was generated from my liveblog of the ICWSM conference (http://fitzgeraldsteele.wordpress.com/tag/icwsm). I think it is interesting that people shows up as the biggest term here, where it hardly registers in the paper titles.

Tagcloud generated by http://www.wordle.net

, ,

Leave a Comment

ICWSM Keynote: Jon Kleinberg – Meme-tracking, Diffusion, and the Flow of Online Information

Intersection of news media, technology, and the political process.  Modern SM technology is a disruptive technology, similar to radio/TV in the 20th century.  How does information transmitted broadly by the media interact with the personal influence arising from social networks?

SM erases difference between global and local influence, making more of a continuum.  Speed of media reporting increasing, contributing to a 24 hour news cycle.  “A Challenge to healthy discourse.”  Online media also adds complexity to how political info flows through social networks.

The dynamics of the global news cycle

Examined if the ‘news cycle’ is a metaphorical construct, or is it visible in data.  If it’s visible, can we measure it, describe it?  Used data from Spinn3r, looked at 1M news articles and blog posts per day, 20K sources.

What basic “units” make up the news cycle?  Need some aggregate of articles, vary over the order of days, and handles half-terabyte of data.  Look for “memes”, identify text fragments, phrases, quotes that travel through many articles.  They create a weighted, directed, acyclic graph of mutational variants, that delentes min total edge weight such that each component has a single “sink” node.  This problem is NP-hard, but can apply heuristics based on selecting a single edge out of each quote.  Produces a neat stacked histogram graph that shows the relative frequencies of stories related to a particular quote over time.

Use some analogies to describe temporal variations: eg species competing for a resources in an eco system, or biological systems that synchronize to favor a small number of individuals at any point in time.  A model to describe this might include: imitation term, recency term.

Found a 2.5 hour gap between peak intensity of the story in mainstream media, vs when it peaked in the blogs.

Can also use the data to find stories where blogs lead the media.

The spread of political messages through social networks

Might look at Chain-letter petitions as ‘tracers’ through global social network.  These are good because 1) they are viral – only get via email, 2) comes with its own tracer (signatures on it).  Can’t see the full tree, but copies get posted to mailing lists, which can be found by search engine.  So they can build a partial tree, compensating for the mutations in the signature tree.

It turns out genetic mutation analogies are good…all kinds of mutations happen (people erase names, put funny names in the middle, etc).

Built the tree from two chain letters, and it looked funny.  If we’re in a small world network (six degrees of separation), why is the tree very deep and narrow, like a depth-first search tree.  Why?  Possible timing effects, assuming that nodes act on messages according to some delay.

So we can make some initial analogies like mutation, biology.  But these are really complex, global phenomena, that require richer models and knowledge of human behavior.  Ideas from computing and online media will be crucial to the next steps.

, , , , ,

Leave a Comment

Follow

Get every new post delivered to your Inbox.

Join 532 other followers