Doing The Work, or, Applying Leverage for Great Products
-
Upload
amy-hoy -
Category
Technology
-
view
2.223 -
download
0
description
Transcript of Doing The Work, or, Applying Leverage for Great Products
Doing the WorkOr, Amy Pretends You Care About Interface
Deisgn (But Not Really)
AmyRuby & JavaScript Developer
AmyTeacher of Programming
Amy
AmyCrusader for Cheerful Software
"Cheerful Software?"Wait—
"Cheerful Software?"Are we hot-shot software developers or are we
kindergarten teachers?
Wait—
Software should be like a great concierge.
Software should be like a great concierge.
Always there when you need it, doing things for you before you knew you needed them done, hovering in the background, ready to
spring into action. Deferent, but not a brown-noser. And looking great in a 3-piece suit.
If software development was
Magnum PI...
Magnumthe car
the smirk
the chest hair
the girls
the TV show
the goofy charm
Higginsthe resources
the control / power
the connections
the snarky jokes
the (awesome) accent
the style
If software development was
Magnum PI...
End User
Developer
End User
Magnumthe car
the smirk
the chest hair
the girls
the TV show
the goofy charm
knows kung-fu
knows kung-fu
saves Magnum's ass
knows kung-fu
makes Magnum possible
saves Magnum's ass
If software development were a
seesaw...
Developer End User
Developer End User
Seesawshave a fulcrum (point of leverage)
go up
go down
require teamwork
and equal effort
fun?
Effort
Effort
Effort
Effort
Weeee!
Weeee!
Weeee!
And nothing says "good karma, happy users, and profit" like end
users saying...
Weeee!
Weeee!Weeee!
Weeee!Weeee!
Developer End User
So, what's this here point of leverage?
Developer End User
Code!
Developer End User
Code!
(Specifically: commitment & effort)
Code!
Going the extra mile so the user doesn't have to...
Going the extra mile...accepting many types of input
formatting data & error recovery
pre-finding what's useful
avoiding configuration
integrating with other services
syncing
elimination of repetition
Going the extra mile...accepting many types of input
formatting data & error recovery
pre-finding what's useful
selection work
integration
syncing
reduction of repetitionBO-RIN
G! And annoying!
If software development were a
mathematical problem...
Developer End Users1x 16x
1 hour 15 minutes16 end users1 developer x x
-
1 hour in 4 hours outend usersdeveloper
Going the extra mile so the user doesn't have to...
Spotting potential points of powerful leverage
Spotting potential points of powerful leverage
... and pushing
Developer End User
Developer End User
effort required
Developer End User
Balanced
effort required
High Effortfor developer
High Effortfor end user
Developer End User
Balanced
effort required
Developer End User
Developer End User
lazy developers are lazyend users tear their hair out & die
Developer End User
Developer End User
dedicated developers spend effortand their end users win big
"good karma, happy users, and profit"
Weeee!
Weeee!Weeee!
Weeee!Weeee!
Interface != GraphicalDevelopers are "end users" too
True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want.
—Larry Wall(thanks Tim)
Where to push?
Going the extra mile...accepting many types of input
formatting data & error recovery
pre-finding what's useful
avoiding configuration
integrating with other services
syncing
elimination of repetition
Finding points of leverageaccepting many types of input
formatting data & error recovery
pre-finding what's useful
avoiding configuration
integrating with other services
syncing
elimination of repetition
& anywhere there's repetition repetition repetition repetition repetition repetition
1 Open email client
2 Search for emails by "Bob"
3 Look for ones with paperclips
4 Open first email, look at filename
Is it the one I want?
No
5 Open next email, look at filename
Is it the one I want?
No6 Open next email, look at filename
If people are doing things over and over again, the computer should be doing it.
Machines are good at repetitive tasks.
—Yehuda Katz, leader of Ruby on Rails
& anywhere there's repetition repetition repetition repetition
repetition repetietion
Positive Examples
Scripting LanguagesGood Frameworks
banana:~ amy$ git statsu
git: 'statsu' is not a git‐command. See 'git ‐‐help'.
Did you mean this? status
1 Open the container.Does it have what I want?
No
2 Open next next container.
Does it have what I want?
No
3 Open next container.
Does it have what I want?
No4 Open next container.
1 Open the App.
2 Go to the File menu.
Does it have what I want?
No
4a Go look for it
5 Open folders...
3 Go to Recent Files submenu.
Yes!
4b Open it
6 Open more folders...
7 Open more folders...
Recipe for Success
1 Find a point of leverage
Finding points of leverageaccepting many types of input
formatting data & error recovery
pre-finding what's useful
avoiding configuration
integrating with other services
syncing
elimination of repetition
Recipe for Success
1 Find a point of leverage
2 Push hard on it
Developer
End User
Developer
End User
Effort
Developer
End User
Effort Weeee!
Recipe for Success
1 Find a point of leverage
2 Push hard on it
3 ... which bends time
1 hour in 4 hours outend usersdeveloper
Recipe for Success
1 Find a point of leverage
2 Push hard on it
3 ... which bends time
4 ... which helps everyone win
good karma, happy users, profit
Weeee!
Weeee!Weeee!
Weeee!Weeee!
good karma, happy users, profit
Weeee!
Weeee!Weeee!
Weeee!Weeee!
and a better world.
Thanks.Now go out and leverage!
http://slash7.com
@amyhoy