Users make suggestions that you would never have thought of
Users use your code in new and interesting ways
Users test your code for you
Users report problems
Users supply failing tests
Users write patches
Users are good!
Embrace your users
But!
Popularity brings problems
Too many active users
Too many bug reports
(Why are you releasing buggy code?)
Too many bug reports
Too many bug reports
Too many enhancement requests
Use the tools
CPAN has a great infrastructure
Distribution is handled for you
Testing is handled for you
Cross-platform testing is handled for you
Bug tracking is handled for you
Every CPAN module gets its own RT queue
rt.cpan.org
Add that to your documentation
To report bugs in Perlanet, please use the CPAN request tracker. You can either use the web page at http://rt.cpan.org/Public/Bug/Report.html?Queue=Perlanet or send an email to bug-Perlanet@rt.cpan.org.
All bugs get automatically stored in RT
It won't work
AUTHOR Dave Cross, <dave@mag-sol.com>
To report bugs in Perlanet, please use the CPAN request tracker. You can either use the web page at http://rt.cpan.org/Public/Bug/Report.html?Queue=Perlanet or send an email to bug-Perlanet@rt.cpan.org.
TLDR
AUTHOR Dave Cross, <dave@mag-sol.com>
Install the Redirect add-on for Thunderbird
Install the Redirect add-on for Thunderbird * Dave's Top Tip
Or use the bounce key in Mutt
Send your own bugs to RT
Use RT to remember everything you need to do to your modules
Use RT to remember everything you want to do to your modules
Some examples
Example 1: Moose
Moose is good
I started to Moosify my modules
Remember Array::Compare?
The module that no-one used
I got a bug report
Bug #49270 for Array-Compare: Remove the use of Moose
Padre project was unhappy
Moose was slowing their performance
I thought about it
I blogged about it
Other people blogged about it
In the end I did nothing
Source code is on Github
Feel free to fork it
Moral:
The user is not always right
Example 2: Net::Backpack
Backpack from 37 Signals
Personal information manager
With an API
Net::Backpack
It's a big API
I got bored
Release early Release often
Released a partial implementation
Someone found it useful
Sent a patch completing the implementation
Yay neshura!
Example 3: Perlanet
Perlanet is a web feed aggregator
Wrote it because I didn't want to hack Python
And Plagger was too complex for me to understand
So Perlanet is really simple
Too simple
Users have weird use cases
Users have weird use cases
Users have unexpected use cases
Alex Kapranoff (kappa)
perlplanet.ru
Cyrillic
Кириллица
Lots of Unicode bugs
kappa didn't complain
kappa forked Github repo
kappa fixed the bugs
kappa sent a pull request
kappa++
Planet Iron Man
Originally used Plagger
Wanted to switch to Perlanet
YAML configuration
Simple
Doesn't scale
North West England Perl Mongers
Hackfest
Many improvements
More subclassable
Github pull request
Everybody wins
In summary
Writing software just for yourself is fun
Writing software for users is better
Seeing your software being used is great
Getting feedback about your software is great
Users supply bugs
Users supply patches
Users supply new ideas
Users supply insight
Users appreciate your work
But best of all
Some users show their appreciation...
By buying you beer
Let LinkedIn power your SlideShare experience
+
Let LinkedIn power your SlideShare experience
Customize SlideShare content based on your interests
We will import your LinkedIn profile and you will be visible on SlideShare.
Keep up to date when your LinkedIn contacts post on SlideShare