Info

You are currently browsing the archives for the conferences category.

February 2012
M T W T F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
272829  
Links

Archive for the conferences Category

Hive 2011 Conference Notes

On Friday, September 16, 2011 I attended the Hive 2011 conference on the Microsoft campus.  The conference had the tag line “Where Design and Tech Meet”.  The attendees were evenly mixed between designers and developers with a mix of program managers and other business functions thrown in.  In that sense, the conference lived up to its tagline.  However, the presentations were almost entirely from the designer point of view and therefore the conference missed the mark.  Like most conferences the speakers often offered up contradictory advice. All that being said, I think it was time well spent.  Below are some of my notes I jotted down (they don’t make complete sense a week later…) :

Workshop – Designing for the Future

This was a great workshop about identifying market opportunities and how to identify and develop product ideas.

Hillel Cooperman, Jackson Fish Market  - Professional Software Design. Don’t try this at home.
· Creativity is often dismissed
· Design is an opinion.  Demanding proof that it is the “right” opinion is a waste of time
· Popular wisdom is that a designer must be like able to design and to program.  This is a not a good use of talent.
· Designer needs real power over engineering deliverables and dates

Jay Greene, CNET – Design is How It Works

This was a talk using examples of design from his book by the same name.

Kim Obbink, Filter – Tribal Instincts
· We are all tribes
· The creative tribe dresses distinctly; uses symbols; have rituals; rely on instincts; respect their elders
· We are all creative

August de los Reyes, Artefact – The Myth of Design Education

· Teaching is not necessary for learning
· Challenge this assumption.  Different models over time:

o   Master / Apprentice

o   Teacher / Student

o   Environment – constraints and freedom – failure is acceptable

· Personal aspects

o   Lone designer

o   Community Based – vertical, hierarchical, status driven

o   Collective – horizontal, flat, democratic

(It is this collective experience peer to peer learning)

· Technical aspects

o   Handmade to machine made

o   Machine to digital

o   “Handmade Digital” to “Machine made digital”

Andrew Otwell, Amazon – Five Deadly Venoms: Punch! Kick! Hire!

5 styles of designers:
· Lots of ideas for each problem
· Crisp, precise, focused
· Secret weapon outside of their design skills
· Multiple perspectives
· Thick skinned / able to take criticism

Tyesha Snow, Consultant – Contract vs. In House

3 misconceptions:
· Experienced design role not as important as other roles
· Little bit of design experience is sufficient
· You only have two choices: Full time designer or temporary consultant

It is possible to have the benefit of a full time designer in a contractor role. Bring them into the team for the long term but not full time.

Robbie Ingebretsen, PixelLab – Developer/Designer Workflow for Non-Zombies

· Cultivate passion / fight apathy
· Educated respect
· Chemistry not characters

Scott Berkun, Wordpress.com – Feedback Without Frustration: How to Run and Effective Design Critique

Great design requires great feedback.

3 common (tragic) kinds of critiques:
· Bloodlet – lots of conflicting agendas
· Water Torture – Single persons work criticized by a large group
· Dog & Pony Show – All pretense, no conversation in the meeting

5 things to do:
· If it’s your work, own the critique
· Have a designated facilitator
· Have critique goals
· Separate like/hate from good/bad
· Avoid too many cooks

Jon Bell, Windows Phone – Make it Relevant

Art is a thing well done

Quality is relevant

Not a great design until it is relevant to the user

Matt Brown, Facebook – Stop Filling Buckets: Better Design Through Content

Design and content are not on equal footing.

How to fix?
· Start with copy
· Edit that copy

o   Edit that copy

· Mobile view before web
· Design a screenful
· Test with users

Christen Coomer, Valve – How I Learned to Stop Worrying and Love the Engineers

Unique work environment at Valve:
· No titles, no managers
· Work together on a project basis
· Everyone is responsible for the customer experience
· Work with candidates as the interview

Kevin Moore, PixelLab – The Art of Engineering

I had no notes for this lightning talk

Jeff Weir, Microsoft – The Proof is in the Prototype

Designers – learn to code

Developers – Join us

Michelle Goldberg, Ignition Partners – Why VCs Care About Design

Mint – used legacy backend and added a new design.  The design was the product.

Michelle Broderick, Uber – Marketers Love Designers

I had no notes for this lightning talk

Braden Kowitz & Jake Knapp, Google – How CEOs can Lead to Great Design

Make design a recruiting priority and start right away.

4 things that a CEO can do:
· Hire a design lead
· Determine what skills are missing
· Run studies every month
· Prototype then decide

Kelly Smith, Curious Office – Mobile Design: The Next Wave of Opportunity

What they have learned:
· Embrace constraint
· Change how you think
· Designers need to get more technical
· Plan for faults
· Prioritize

Lessons:
· Read the human interface guideline books for each target platform
· Learn about all of the components available on the target platform
· Tap, pinch, flick, slide (no click)
· Consider screen size / density, orientation, resolution
· Appreciate what the vendors are supplied
· Over-design at your own risk
· Pay attention to transitions and other animations

Mistakes:
· Failure to edit down features to the essentials
· Failure to understand the differences between the mobile operating systems
· Think mobile OS components are the same as web page elements
· Lack of attention to details (such as not making buttons for each resolution)
· No graphic production work flow for the myriad of files needed for each target platform, resolution, etc.

Enrique Allen, 500 Startups – The Future of Designer Founders in Tech

I had to leave at the beginning of this (final) talk

Call for Speakers for the 2012 International Conference on Software Quality (ICSQ)

The Call for Speakers for the 2012 International Conference on Software Quality (ICSQ) has just opened. The conference will be held October 29 - 31, 2012 in Indianapolis. The theme is "Preparing for Tomorrow’s Software Challenges". The calendar for the call is:

  • January 31, 2012 - Technical presentation submission form due via email to douglas.b.hamilton@accenture.com
  • April 30, 2012 - Notification of acceptance
  • July 31, 2012 - Draft papers due
  • October 29, 2012 - Full and Half Day Tutorials
  • October 30 - 31, 2012 - Technical Presentations

 

Video Notes - Tools for Continuous Integration at Google Scale (GTAC2010)

Tools for Continuous Integration at Google Scale (GTAC2010)
Nathan York
29 min, 55 sec
http://www.youtube.com/watch?v=b52aXZ2yi08

Slide Notes:

  • Software Engineering Gap - lots of work on platforms and compilers, lots of work on apps. Middle (build systems, etc.) is often ignored (reach good enough and then move on)
  • Common Build System Issues - Incorrect, Slow, Cumbersome, Under-maintained
  • Why Build Systems Matter - Engineer Productivity, All about feedback
  • The Challenge At Google - 6000 engineers and one code base, everything built from source, development on mainline, extensive automated testing
  • Rough Developer Workflow (flow chart)
  • Better Build System Needed - optimized and tuned build languages, dependency analysis and scheduling, leverage infrastructure. Must be correct AND fast.
  • Inputs, Outputs and Actions - Content addressable storage (by digest of content), use relative paths, eliminate global state
  • Scaling Source Code Access - FUSE based file system. Most code needed for read only, on-demand syncing and caching, all source in the cloud, content digests as metadata
  • Making Builds Fast - Distributed builds in the cloud - built in arbitrary location
  • Scalable Distributed Builds - Caching key to scalable build. If inputs (from digest) and actions are same as previous, return prior result.
  • Scaling Build Outputs - FUSE based file systems, all output in the cloud, shared across builds and users
  • System View - builds appear local but are in the cloud
  • Platform for Automated Testing - Executing a test is just another build action.
  • Results - 20+ code changes per minute, 65K builds per day, 10000 CPUs, 50 TB memory, ~1PB output every 7 days, 94% cache hit rate.
  • Estimating build tool savings 2008 to 2009: Saving ~600 person years
  • Conclusion: build system is a core component of software engineering
  • Questions

 

29th Annual PNSQC Registration Now Open

I have written before about one of my favorite conferences - Pacific Nortwest Software Quality Conference. This year’s conference will be held October 10 - 12, 2011. The theme this year is "Delivering Quality" and the keynote speakers are Goranka Bjedov and Rob Sabourin. As usual the conference will be held at the World Trade Center Portland in Portland, OR.

Registration information can be found at http://www.pnsqc.org/2011-conference/registration-information.

 

Velocity 2010: Philip Tellis, “Latency: Why You Should Worry and What Up You Can Do About It”

Latency: Why You Should Worry and What Up You Can Do About It
Philip Tellis, Yahoo! Inc.
2010 Velocity Conference
June 22-24, 2010
(15 min, 40 sec)

Here are my notes from watching the presentation:

  • Bandwidth is easy - It is not the problem…
  • Bandwidth vs. Latency - How bad is it?
  • More resources on a page, latency more of a problem
  • It’s Still the Latency, Stupid http://www.stuartcheshire.org/rants/latency.html
  • Javascript adds latency

What to Do About Latency?

  • How did CPUs solve latency? Cache, Parallelise, Predict
  • These apply to the web as well…
  • Pre-fetch content is a way to predict

How to measure?

  • Announcing Boomerang http://github.com/yahoo/boomerang
  • Measures page load time from the unload of the last page to this page is loaded
  • Measures bandwidth
  • Measures latency
  • Include a script on the page, include a beacon on your server to send the data…
  • BSD license

 

PNSQC Call for Papers Due May 1, 2011

One of my favorite conferences, Pacific NW Software Quality Conference (www.pnsqc.org), will hold its 29th annual conference October 10 - 12, 2011. This years theme is Delivering Quality.

Submissions for technical papers are due on May 1, 2011. Submissions for poster papers are due on May 22, 2011.

 

Velocity 2010: Tom Cook, “A Day in the Life of Facebook Operations”

Here are my notes from the the Velocity 2010 lecture "A Day in the Life of Facebook Operations"

A Day in the Life of Facebook Operations
Tom Cook, Facebook
Velocity 2010
June 22-24, 2010
(40 minutes, 48 seconds)

  • Description of the size of Facebook in terms of minutes on site, pieces of new content, etc.
  • User growth curve
  • Server footprint growth curve
  • Bay area and Virginia (and soon Oregon)

The stack:
Load Balancer -> (assigns a web server)
Web Server -> (assembles data)
Services (fast, complicated), Memcashed(fast, simple), Databases (slow, persistent)

Web server (HipHop for PHP)

  • source code transformer
  • converts PHP to C++, compiled with gcc

Memcached

  • 300+ TB live data in RAM

MySQL

  • persistent store
  • lots of sharding
  • facebook.com/MySQLatFacebook

Services

  • news feed, search, chat, ads, media, etc.

Operations is supplying a platform for the Facebook developers to deploy
So, below the stack, we have:

Deployment, Monitoring
Systems Management
Core Operating System

Operating System

  • Linux
  • CentOS 5 variant with custom kernel

Systems Management

  • Configuration management
    • Facebook uses CFengine
    • Update every 15 minutes, about 30 sec run on each machine
  • On demand tools
    • No open source solution that meets Facebook needs (used to use DHS)
    • Wrote their own internal tool

Deployments

  • Push for frontend code (web push)
    • At least once a day, frequently multiple times a day (bug fixes, etc.)
    • New features at least once a week
    • Built on top of on-demand control tools
    • Code distributed by BitTorrent (1 minute to push code to all servers)
  • Backend deployments
    • Formal QA process removed, QA is responsibility of engineers
    • Engineers deploy their own code
    • No ‘commit and quit’ mentality
    • Ops ‘embedded’ into engineering teams
    • Change logging (every change, who, start time and end time)

Monitoring

  • Ganglia (systems focus, graphing), (http://ganglia.sourceforge.net/)
  • ODS (application focus), written by Facebook
  • Nagios (ping, ssh, server up, etc.), alerting feeds into internal tools
  • Aggregate alarms, drilldown capabilities

What Facebook operations deals with…

  • Constant Growth
  • Constant Failures

Look at network as logical units and dependencies

  • Servers
  • Racks
  • Clusters (some thousand # of hosts)
  • Data centers

Constant Communications

  • IRC
  • Internal news updates
  • Banners on top of lots of tools with alerts as to current status
  • Change logs / feeds
  • Small teams

Recap

  • Version control everything
  • Optimize early
  • Automate
  • Use configuration mangement
  • Plan to fail
  • Instrument everything

 

 

Velocity 2010: Nicole Sullivan, “The Top 5 Mistakes of Massive CSS”

The following are my notes from this presentation at the Velocity 2010 conference:

The Top 5 Mistakes of Massive CSS
Nicole Sullivan, Consultant
Stoyan Stefanov, Google
2010 O’REILLY Velocity - Web Performance and Operations Conference
June 22 - 24, 2010

(Length 37 minutes, 54 seconds)

(Some demo isssues the first couple of minutes of the video…)

Why optimize CSS?

  • It blocks progressive rendering
  • Does not minimize as well as javascript

Top 1000 Alexa Sites Study

  • 42% don’t gzip CSS
  • 44% more than 1 CSS file
  • 56% serve CSS with cookie
  • 62% don’t minify
  • 21% have > 100K of CSS

Object oriented CSS is a way to make CSS smaller.

  • Concentrate on the selector
  • Example: Grids projects, 574 butes, 14 lines

Granularity Fail + Stale Rules + Unpredicatbility + Duplication + Specificity Wars = Massive CSS

#5 Granularity Fail

  • should not match underlying programming object model
  • compare to legos - use CSS similarly
  • How to determine if correct
  • 1) Perform a visual inventory
    • Take a site object
    • Break it down into component CSS objects
    • Look for repeating patterns, for example headings
  • 2) Develop library of component parts

#4 State Fails

2 types of stale:

  • Truly stale - no longer in use
  • Rules used after user action or on subsequent pages

  • Try dust-me selectors
  • Track over time

#3 Unpredictability

  • Elements should be consistent across site (like lego bricks that don’t change behavior depending on where they are used…)
  • How to test? Search for repeating definitions of same item (for example grep h[1-6]

#2 Specificity Wars

  • Programmers making items more specific in order to prevent others from overriding their settings

How to simplify:

  • Use hacks sparingly
  • Avoid styling ids
  • Avoid !important

What to do

  • Style classes rather than elements
  • Give rules the same strength

#1 Duplication

  • Grep is your friend
  • grep for margin set to zero - too many, may need a reset stylesheet
  • grep for float - too many, may need grid system
  • grep for font-size - may be heading disguised as something else
  • Example from Facebook

 

 

Deadline Approaching - Call for Papers for ICSQ 2011 - Due May 30, 2010

The 2011 International Conference on Software Quality (ICSQ 2011) will be held in San Diego, CA between February 7 - 10, 2011. The theme of the conference is "High Reliability and Human Safety Critical Software".

The deadline for the call for papers is rapidly approaching - May 30, 2010. See the pdf for more details.

 

2010 PNSQC Call for Papers

It is that time of year again. My favorite conference, Pacific Northwest Software Quality Conference (PNSQC), has opened their call for papers. This years theme is "Achieving Quality in a Complex Environment". A new twist is that there are two calls - one for traditional papers and one for poster papers. The conference will be held October 18-20, 2010.

Look at the Call for Abstracts page for full details.