221
Getting Your Ideas Into WebGUI WUC 2008 Colin Kuskie

Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Embed Size (px)

Citation preview

Page 1: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Getting Your IdeasInto WebGUI

WUC 2008Colin Kuskie

Page 2: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me

Page 3: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me

Hi! This is Colin. And I'm Yoda, the

cute one.

Page 4: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me● WebGUI developer since 2003

– Testing, documentation, bug fixes, RFEs

2003? That's 35 in cat years!

Page 5: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me● WebGUI Contributor of the Year, 2006 & 2007

He sure thinks he's pretty cool stuff...HA!

Page 6: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me● According to ohloh.net, I've contributed 50k

lines of code

Oh-no. Here he goes bragging again!

Page 7: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me● Forum poster & IRC member

IM IN UR CHANNEL

Page 8: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About Me● Forum poster & IRC member

l8r d00d!

Page 9: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You

Page 10: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.

Page 11: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

Page 12: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

– Make it badder.

Page 13: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

– Make it badder.

– Make it awesome!

Page 14: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

– Make it badder.

– Make it awesome!

– Try hiring your friends.

Page 15: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer
Page 16: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer
Page 17: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

– Make it badder.

– Make it awesome!

– Try hiring your friends.

● You have no idea how to do it.

Page 18: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About You● You have some great idea about how to change

WebGUI.– Make it bigger.

– Make it badder.

– Make it awesome!

– Try hiring your friends.

● You have no idea how to do it.● Your clients will leave if you don't do it.

Page 19: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI

Page 20: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith.

Page 21: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith.● WebGUI is released as Free Software (FS).

– Community supported

Page 22: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith● WebGUI is released as Free Software (FS).

– Community supported

● JT made a company called Plain Black.

Page 23: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith● WebGUI is released as Free Software (FS).

– Community supported

● JT made a company called Plain Black.– Support, hosting, training, customization

Page 24: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith● WebGUI is released as Free Software (FS).

– Community supported

● JT made a company called Plain Black.– Support, hosting, training, customization

– Bring home the bacon.

Page 25: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

About WebGUI● WebGUI was created by JT Smith● WebGUI is released as Free Software (FS).

– Community supported

● JT made a company called Plain Black.– Support, hosting, training, customization

– Bring home the bacon.

z

Page 26: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code

Page 27: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

● Call Jamie Vrbsky and give him a spec.

Pay Someone to Write Your Code

Page 28: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.

Pay Someone to Write Your Code

Page 29: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.– And whether or not it can go into the WebGUI Core.

Pay Someone to Write Your Code

Page 30: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.– And whether or not it can go into the WebGUI Core.

– JT vets all core contributions.

Note to self: look up "vet"(What kind of geek uses words like that, anyway!?!)

Page 31: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.– And whether or not it can go into the WebGUI Core.

– JT vets all core contributions.

vet \ vet\ noun 1. a person who has served in a military force, ˈesp. one who has fought in a war: [a Vietnam veteran].

Nope, that's not it.

Page 32: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.– And whether or not it can go into the WebGUI Core.

– JT vets all core contributions.

vet \ vet\ noun 2. One who practices medicine on animals; a ˈveterinarian.

That's not it, either....

Page 33: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract– And whether or not it can go into the WebGUI Core.

– JT vets all core contributions.

vet \ vet\ verb 3. To subject to thorough examination or ˈevaluation.

JT vets.... Thorough examination. That sounds right.

Page 34: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Pay Someone to Write Your Code● Call Jamie Vrbsky and give him a spec.● He'll give you back a quote, timeline and

contract.– And whether or not it can go into the WebGUI Core.

– JT vets all core contributions.

vet \ vet\ verb 3. To subject to thorough examination or ˈevaluation.

I still think it's a geeky word, though. :)

Page 35: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?

Page 36: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Oqapi

– www.oqapi.nl

Page 37: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Oqapi

– www.oqapi.nl

● United Knowledge– unitedknowledge.nl

Page 38: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Oqapi

– www.oqapi.nl

● United Knowledge– unitedknowledge.nl

● Knowmad Technologies– knowmad.com

Page 39: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Oqapi

– www.oqapi.nl

● United Knowledge– unitedknowledge.nl

● Knowmad Technologies– knowmad.com

● perlDreamer Consulting

Page 40: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Oqapi

– www.oqapi.nl

● United Knowledge– unitedknowledge.nl

● Knowmad Technologies– knowmad.com

● perlDreamer Consulting– uh, that's me...

Page 41: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Who else can do this?● Even if they write the code, JT will probably still

vet any new code into the core.

There's that word again....

Page 42: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Upsides to Paying Someone

Page 43: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Upsides to Paying Someone● You can have code made you can't make

yourself.

Page 44: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Upsides to Paying Someone● You can have code made you can't make

yourself.● You're not responsible for maintaining the code.

Page 45: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Upsides to Paying Someone● You can have code made you can't make

yourself.● You're not responsible for maintaining the code.● Saves effort on your part.

Page 46: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Upsides to Paying Someone● You can have code made you can't make

yourself.● You're not responsible for maintaining the code.● Saves effort on your part.● You can support someone else who contributes

to WebGUI.

Page 47: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Downsides to Paying Someone

Page 48: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Downsides to Paying Someone● It's expensive.

Page 49: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Downsides to Paying Someone● It's expensive.● Schedules don't always work out.

Page 50: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Downsides to Paying Someone● It's expensive.● Schedules don't always work out.● Specifications and contracts can be a headache

– For both parties.

Page 51: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications

Page 52: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!

Page 53: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!● Try to define functionality, not implementations.

– Unless implementation is important to you.

Page 54: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!● Try to define functionality, not implementations.

– Unless implementation is important to you.

● Use lots of pictures and diagrams.

Page 55: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!● Try to define functionality, not implementations.

– Unless implementation is important to you.

● Use lots of pictures and diagrams.● Customers: Answer questions quickly.

Page 56: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!● Try to define functionality, not implementations.

– Unless implementation is important to you.

● Use lots of pictures and diagrams.● Customers: Answer questions quickly.● Contractors: Ask questions quickly.

– Unknowns can derail a schedule.

● Don't mix standard and metric.

Page 57: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Good Specifications● Don't assume anything. Write it all down!● Try to define functionality, not implementations.

– Unless implementation is important to you.

● Use lots of pictures and diagrams.● Customers: Answer questions quickly.● Contractors: Ask questions quickly.

– Unknowns can derail a schedule.

● Don't mix standard and metric.– Just ask NASA...

Page 58: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $my->money() < $contract->value() ) {if ( !$self->isa('hacker') ) {my $hacker = WebGUI::Community->search(requirements => {hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 59: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractif (!$self->isa('hacker') {my $hacker = WebGUI::Community->search(requirements => {hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 60: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmermy $hacker = WebGUI::Community->search(requirements => {hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 61: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityrequirements => {hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 62: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 63: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmercommit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 64: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmerand can make changes to WebGUIcost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 65: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmerand can make changes to WebGUIand is freeavailable => 'soon',

});

}else {$self->hack_it();

}}

Page 66: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmerand can make changes to WebGUIand is freeand is available right now

else {$self->hack_it();

}}

Page 67: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmerand can make changes to WebGUIand is freeand is available right now

otherwise, if I am a programmer$self->hack_it();

}}

Page 68: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

If I don't have enough money for the contractand I am not a programmersearch the communityfor someone who:is a programmerand can make changes to WebGUIand is freeand is available right now

otherwise, if I am a programmerdo the programming myself

Page 69: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $my->money() < $contract->value() ) {if ( !$self->isa('hacker') ) {my $hacker = WebGUI::Community->search(requirements => {hacker => 1,commit_bit => 1,cost => 0,available => 'soon',

});

}else {$self->hack_it();

}}

Page 70: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

Page 71: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

● RFEs are ideas for new code.

Page 72: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

● RFEs are ideas for new code.● http://www.webgui.org/rfe

Page 73: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

● RFEs are ideas for new code.● http://www.webgui.org/rfe● Once you submit an RFE, JT or one of the PB

crew will rank it.

Page 74: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

● RFEs are ideas for new code.● http://www.webgui.org/rfe● Once you submit an RFE, JT or one of the PB

crew will rank it.– Hard or big things get a high rank.

Page 75: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Request for Enhancement (RFE)

● RFEs are ideas for new code.● http://www.webgui.org/rfe● Once you submit an RFE, JT or one of the PB

crew will rank it.– Hard or big things get a high rank.

– Ideas that do not fit will be rejected, usually with an explanation.

Page 76: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

RFEs, Continued

● The WebGUI community votes and comments on RFEs.– The RFE is really just a Collaboration System.

Page 77: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

RFEs, Continued

● The WebGUI community votes and comments on RFEs.– The RFE boad is really just a Collaboration System.

● "Rating" the RFE does not count as a vote.

Page 78: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

RFEs, Continued

● The WebGUI community votes and comments on RFEs.– The RFE is really just a Collaboration System.

● "Rating" the RFE does not count as a vote.● Voting is done with karma.

– Transfer karma box on the RFE.

Page 79: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

Page 80: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.

Page 81: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

Page 82: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

– Logging in.

Page 83: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

– Logging in.

– Answering polls and surveys.

Page 84: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

– Logging in.

– Answering polls and surveys.

– Making posts in the discussion boards and wiki.

Page 85: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

– Logging in.

– Answering polls and surveys.

– Making posts in the discussion boards and wiki.

– Participating in contests.

Page 86: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Karma

● Everyone with a webgui.org account has karma.● You get karma by:

– Logging in.

– Answering polls and surveys.

– Making posts in the discussion boards and wiki.

– Participating in contests.

● The best way to spend karma is voting for RFEs.

Page 87: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Plain Black

Page 88: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Plain Black

● On every point release (one tenth of a version) Plain Black implements the highest ranked RFE, based on Karma.

Page 89: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Plain Black

● On every point release (one tenth of a version) Plain Black implements the highest ranked RFE, based on Karma.– This is slow.

Page 90: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Plain Black

● On every point release (one tenth of a version) Plain Black implements the highest ranked RFE, based on Karma.– This is slow.

– You have to compete against others for the top slot.

Page 91: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Plain Black

● On every point release (one tenth of a version) Plain Black implements the highest ranked RFE, based on Karma.– This is slow.

– You have to compete against others for the top slot.

– But it's cheap.

Page 92: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Others

Page 93: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Others

● Any WebGUI developer can implement a ranked RFE.

Page 94: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Others

● Any WebGUI developer can implement a ranked RFE.– Whether it is the top one, or not.

Page 95: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Others

● Any WebGUI developer can implement a ranked RFE.– Whether it is the top one, or not.

● Lots of little features have been implemented this way.

Page 96: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Free Coding from Others

● Any WebGUI developer can implement a ranked RFE.– Whether it is the top one, or not.

● Lots of little features have been implemented this way.– Just look in the ChangeLog for the word [RFE].

Page 97: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Sample RFEs from 7.4

Page 98: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Sample RFEs from 7.4

● Change URL of "news" layout to be something else.

Page 99: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Sample RFEs from 7.4

● Change URL of "news" layout to be something else.

● Search asset feedback. i.e. 'No results found'

Page 100: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Sample RFEs from 7.4

● Change URL of "news" layout to be something else.

● Search asset feedback. i.e. 'No results found'● Display the productId in the product manager to

make it easier to use with the product macro.

Page 101: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Working the RFE System

● Earn karma and spend it on your RFE.

Page 102: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Working the RFE System

● Earn karma and spend it on your RFE.● Lobby other people to give your RFE karma.

– More on lobbying later.

Page 103: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Working the RFE System

● Earn karma and spend it on your RFE.● Lobby other people to give your RFE karma.

– More on lobbying later.

● Convince a WebGUI Developer to implement your ranked RFE.

Page 104: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

Page 105: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

Page 106: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

● Submit the RFE.

Page 107: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.

Page 108: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.● Implement it yourself.

Page 109: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.● Implement it yourself.

– Diff against SVN and attach a patch to your RFE.

Page 110: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● But you're not a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.● Implement it yourself.

– Diff against SVN and attach a patch to your RFE.

● Then lobby for it with a WebGUI developer.

Page 111: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

Page 112: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') && $bug)

Page 113: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') && $bug)

● By the way, that works for bugs, too.

Page 114: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') && $bug)

● By the way, that works for bugs, too.● It pretty much guarantees that your bug will be

fixed quickly in the core.

Page 115: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') && $bug)

● By the way, that works for bugs, too.● It pretty much guarantees that your bug will be

fixed quickly in the core.● Of course, if you can fix it yourself, then why

share?

Page 116: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') && $bug)

● By the way, that works for bugs, too.● It pretty much guarantees that your bug will be

fixed quickly in the core.● Of course, if you can fix it yourself, then why

share?– We'll come back to that later.

Page 117: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

Page 118: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● And you ARE a WebGUI Developer, what do you do?

Page 119: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● And you ARE a WebGUI Developer, what do you do?

● Submit the RFE.

Page 120: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● And you ARE a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.

Page 121: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● And you ARE a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.● Implement it yourself.

Page 122: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

if ( $self->isa('hacker') )

● And you ARE a WebGUI Developer, what do you do?

● Submit the RFE.● Wait for it to get ranked.● Implement it yourself.● Commit it when JT says it is okay.

Page 123: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Writing Code for WebGUI

● Coding style.● Templates.● Internationalization.● Hoverhelp links.● Testing.● Wiki Link Goes Here.

Page 124: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

Page 125: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it.

Page 126: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it.● "Lobbying for karma"

Page 127: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it.● "Lobbying for karma"● "Lobby a WebGUI Dev"

Page 128: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it.● "Lobbying for karma"● "Lobby a WebGUI Dev"● Why bother sharing?

Page 129: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

What vs. How

Page 130: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

What vs. How

● I've told you what you need to do to get your ideas into WebGUI.

Page 131: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

What vs. How

● I've told you what you need to do to get your ideas into WebGUI.

● How you go about doing it is way more important.

Page 132: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

What vs. How

● I've told you what you need to do to get your ideas into WebGUI.

● How you go about doing it is way more important.

● To build a house, nail a bunch of boards together.

Page 133: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

Page 134: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.

Page 135: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.● It's also about the community.

Page 136: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.● It's also about the community.

– Businesses who make money from the project.

Page 137: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.● It's also about the community.

– Businesses who make money from the project.

– Volunteers who hack on it because they like it.

Page 138: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.● It's also about the community.

– Businesses who make money from the project.

– Volunteers who hack on it because they like it.

– People who use the software because they need it.

Page 139: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Code and Community

● FS projects are more than code.● It's also about the community.

– Businesses who make money from the project.

– Volunteers who hack on it because they like it.

– People who use the software because they need it.

● To change the code, you must work within the community.

Page 140: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Community

Page 141: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Community

● YouYou cannot change the community.

Page 142: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Community

● YouYou cannot change the community.● You don't have to like how it works today.

Page 143: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Community

● YouYou cannot change the community.● You don't have to like how it works today.● But you must understand it to work with it.

Page 144: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Community

● YouYou cannot change the community.● You don't have to like how it works today.● But you must understand it to work with it.● Communities can be affected by members of

the community.

Page 145: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

Page 146: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

● You want something from someone else.

Page 147: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

● You want something from someone else.● Remember that you are not entitled to anything.

Page 148: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

● You want something from someone else.● Remember that you are not entitled to anything.

– Do not demand, ask.

Page 149: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

● You want something from someone else.● Remember that you are not entitled to anything.

– Do not demand, ask.

● Please, always say "please".

Page 150: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Please, Be Polite

● You want something from someone else.● Remember that you are not entitled to anything.

– Do not demand, ask.

● Please, always say "please".● Regardless of the answer, always say "Thank

you".

Page 151: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Be Verbose

Page 152: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

Page 153: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

Page 154: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

Page 155: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

Page 156: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

● In a face to face conversation, 75% of the information is missed by the other person.

Page 157: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

● In a face to face conversation, 75% of the information is missed by the other person.

● Now think about email, IM and IRC.

Page 158: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

● In a face to face conversation, 75% of the information is missed by the other person.

● Now think about email, IM and IRC.– No voice tones.

Page 159: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

● In a face to face conversation, 75% of the information is missed by the other person.

● Now think about email, IM and IRC.– No voice tones.

– No visual cues from hands, face or posture.

Page 160: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Electronic Communications Suck

● In a face to face conversation, 75% of the information is missed by the other person.

● Now think about email, IM and IRC.– No voice tones.

– No visual cues from hands, face or posture.

● Ask lots of questions and be patient.

Page 161: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

IRC != RFE list

Page 162: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

IRC != RFE list

< ornery person> rizen - Simple request for the newWRE... If you have to "set environment" with it, change the user's prompt sothey know what environment the y're in. <@rizen> is IRC an RFE list? < ornery person> Might be. :-) <+MrHairgrease> irc = intrinsic rfe channel right? < SDuensin> hehehe <@rizen> insignificant requests chided

Page 163: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

Page 164: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

Page 165: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

● If WebGUI doesn't do what you want

Page 166: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

● If WebGUI doesn't do what you want– IT IS NOT NECESSARILY A BUG!

Page 167: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

● If WebGUI doesn't do what you want– IT IS NOT NECESSARILY A BUG!

● A bug is when WebGUI doesn't work as the devs want it.

Page 168: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Bug List != RFE List

● If WebGUI doesn't do what you want– IT IS NOT NECESSARILY A BUG!

● A bug is when WebGUI doesn't work as the devs want it.

● An RFE is a new feature or a change to an existing feature.

Page 169: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The Dev List != RFE List

Page 170: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The Dev List != RFE List

● The Dev List is a great place to talk about coding RFEs that have been approved.

Page 171: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The Dev List != RFE List

● The Dev List is a great place to talk about coding RFEs that have been approved.– So is IRC

Page 172: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The Dev List != RFE List

● The Dev List is a great place to talk about coding RFEs that have been approved.– So is IRC

● The Dev List is not a good place to propose RFEs.

Page 173: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Other Things That Aren't the RFE List

Page 174: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Other Things That Aren't the RFE List

● Hallway

Page 175: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Other Things That Aren't the RFE List

● Hallway● Other PB Forums

Page 176: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Other Things That Aren't the RFE List

● Hallway● Other PB Forums● JT's phone /

voice mail– 608.259.1500

Page 177: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

Page 178: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

● Talk is cheap.

Page 179: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

● Talk is cheap.● Code talks.

Page 180: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

● Talk is cheap.● Code talks.● Don't just talk about it, go and do it!

Page 181: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

● Talk is cheap.● Code talks.● Don't just talk about it, go and do it!● Take advantage of the famous quote:

Page 182: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Put Up

● Talk is cheap.● Code talks.● Don't just talk about it, go and do it!● Take advantage of the famous quote:

– "Yes, that's a good idea. Patches welcome."

Page 183: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

Page 184: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

Page 185: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!

Page 186: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!● Write or update a wiki page.

Page 187: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!● Write or update a wiki page.● Submit a bug report.

Page 188: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!● Write or update a wiki page.● Submit a bug report.● Answer easy questions on the forums.

Page 189: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!● Write or update a wiki page.● Submit a bug report.● Answer easy questions on the forums.● Test a beta version of WebGUI/WRE.

Page 190: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Give and Take

● Developers have spent hundreds or thousands of hours working on WebGUI.

● Give something back!● Write or update a wiki page.● Submit a bug report.● Answer easy questions on the forums.● Test a beta version of WebGUI/WRE.● Buy a book or some support.

Page 191: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

Page 192: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

● Give people the benefit of the doubt.

Page 193: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

● Give people the benefit of the doubt.● Take the moral high ground.

Page 194: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

● Give people the benefit of the doubt.● Take the moral high ground.

– Don't lose your cool.

Page 195: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

● Give people the benefit of the doubt.● Take the moral high ground.

– Don't lose your cool.

– Let them demonstrate their true nature.

Page 196: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Troublesome People

● Give people the benefit of the doubt.● Take the moral high ground.

– Don't lose your cool.

– Let them demonstrate their true nature.

● Make them work at it.

Page 197: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

Page 198: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.

Page 199: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.● Ideas, codes and methods are right or wrong, in

some dimension:

Page 200: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.● Ideas, codes and methods are right or wrong, in

some dimension:– Portability, maintainability, testability, functionality,

robustness.

Page 201: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.● Ideas, codes and methods are right or wrong, in

some dimension:– Portability, maintainability, testability, functionality,

robustness

● Separate people from their actions.

Page 202: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.● Ideas, statements, suggestions, programs, and

methods are right or wrong, in some dimension:– Portability, maintainability, testability, functionality,

robustness

● Separate people from their actions.

Page 203: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

People vs Ideas

● People are not right or wrong.● Ideas, statements, suggestions, programs, and

methods are right or wrong, in some dimension:– Portability, maintainability, testability, functionality,

robustness

● Separate people from their actions.

● Don't take things personally.

Page 204: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Getting a Commit Bit

Page 205: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Getting a Commit Bit

● Be really involved.

Page 206: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Getting a Commit Bit

● Be really involved.● Accept responsibility for your mistakes and fix

them.

Page 207: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Getting a Commit Bit

● Be really involved.● Accept responsibility for your mistakes and fix

them.● Submit lots of good patches so that people get

tired of checking in your code for you.

Page 208: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

Page 209: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.

Page 210: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

Page 211: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

● Every decision you make, right or wrong, costs you credibility.

Page 212: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

● Every decision you make, right or wrong, costs you credibility.

● What builds credibility:

Page 213: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

● Every decision you make, right or wrong, costs you credibility.

● What builds credibility:– Success

Page 214: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

● Every decision you make, right or wrong, costs you credibility.

● What builds credibility:– Success

– Dealing well with failure

Page 215: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Credibility Counts

● Credibility must be earned.– It's like a bucket.

● Every decision you make, right or wrong, costs you credibility.

● What builds credibility:– Success

– Dealing well with failure

– Dealing well with people

Page 216: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

Page 217: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it. Really.

Page 218: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it. Really.● Get involved.

Page 219: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it. Really.● Get involved.● "Bribe a WebGUI Dev"

Page 220: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

The End

● That's it. Really.● Get involved.● "Bribe a WebGUI Dev"

– Is JT's favorite food really pizza? Maybe it's Teddywedger's? Rats. I can never remember.

Page 221: Getting Your Ideas Into WebGUI Answer questions quickly. ... and is available right now else {$self->hack_it();}} If I don't have enough money for the contract and I am not a programmer

Thank you