Things I Learned From Having Users
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Things I Learned From Having Users

on

  • 2,023 views

 

Statistics

Views

Total Views
2,023
Views on SlideShare
2,023
Embed Views
0

Actions

Likes
1
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Things I Learned From Having Users Presentation Transcript

  • 1. Things I Learned From Having Users
  • 2. Dave Cross [email_address]
  • 3. It's 10 Years Since I Got A CPAN Account
  • 4. April 29 2000
  • 5. Array::Compare 0.01
  • 6. It's a pretty pointless module
  • 7. Comparing arrays using a ridiculous algorithm
  • 8. My second module on CPAN was Symbol::Approx::Sub
  • 9. There may be a theme developing here
  • 10. I now have 24 distributions on CPAN
  • 11. Array::Compare AudioFile::Info AudioFile::Info::MP3::ID3Lib Audiofile::Info::MP3::Info AudioFile::Info::MP3::Tag AudioFile::Info::Ogg::Vorbis::Header AudioFile::Info::Ogg::Vorbis::Header::PurePerl Calendar::Simple Guardian::OpenPlatform::API Net::Backpack Number::Fraction Parse::RPM::Spec Perlanet Symbol::Approx::Sub Template::Plugin::AudioFile::Info Template::Plugin::RPM2 Template::Plugin::XML::Feed Tie::Hash::Cannabinol Tie::Hash::FixedKeys Tie::Hash::Regex WWW::Shorten WWW::Shorten::Qurl WWW::Shorten::Qwer WWW::Shorten::SnipURL
  • 12. Most of them have tiny numbers of users
  • 13. Having few users is good
  • 14. Users are a problem
  • 15. Users report bugs
  • 16. Users suggest enhancements
  • 17. Users expect you to listen to them
  • 18. Writing unpopular modules is good
  • 19. You can release what you want
  • 20. You can release when you want
  • 21. You can completely change the interface
  • 22. (Users don't like that)
  • 23. On the other hand
  • 24. Users make suggestions that you would never have thought of
  • 25. Users use your code in new and interesting ways
  • 26. Users test your code for you
  • 27. Users report problems
  • 28. Users supply failing tests
  • 29. Users write patches
  • 30. Users are good!
  • 31. Embrace your users
  • 32. But!
  • 33. Popularity brings problems
  • 34. Too many active users
  • 35. Too many bug reports
  • 36. (Why are you releasing buggy code?)
  • 37. Too many bug reports
  • 38. Too many bug reports
  • 39. Too many enhancement requests
  • 40. Use the tools
  • 41. CPAN has a great infrastructure
  • 42. Distribution is handled for you
  • 43. Testing is handled for you
  • 44. Cross-platform testing is handled for you
  • 45. Bug tracking is handled for you
  • 46. Every CPAN module gets its own RT queue
  • 47. rt.cpan.org
  • 48. Add that to your documentation
  • 49. 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.
  • 50. All bugs get automatically stored in RT
  • 51. It won't work
  • 52. AUTHOR Dave Cross, <dave@mag-sol.com>
  • 53. 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.
  • 54. TLDR
  • 55. AUTHOR Dave Cross, <dave@mag-sol.com>
  • 56. Install the Redirect add-on for Thunderbird
  • 57. Install the Redirect add-on for Thunderbird * Dave's Top Tip
  • 58. Or use the bounce key in Mutt
  • 59. Send your own bugs to RT
  • 60. Use RT to remember everything you need to do to your modules
  • 61. Use RT to remember everything you want to do to your modules
  • 62. Some examples
  • 63. Example 1: Moose
  • 64. Moose is good
  • 65. I started to Moosify my modules
  • 66. Remember Array::Compare?
  • 67. The module that no-one used
  • 68. I got a bug report
  • 69. Bug #49270 for Array-Compare: Remove the use of Moose
  • 70. Padre project was unhappy
  • 71. Moose was slowing their performance
  • 72. I thought about it
  • 73. I blogged about it
  • 74. Other people blogged about it
  • 75. In the end I did nothing
  • 76. Source code is on Github
  • 77. Feel free to fork it
  • 78. Moral:
  • 79. The user is not always right
  • 80. Example 2: Net::Backpack
  • 81. Backpack from 37 Signals
  • 82. Personal information manager
  • 83. With an API
  • 84. Net::Backpack
  • 85. It's a big API
  • 86. I got bored
  • 87. Release early Release often
  • 88. Released a partial implementation
  • 89. Someone found it useful
  • 90. Sent a patch completing the implementation
  • 91. Yay neshura!
  • 92. Example 3: Perlanet
  • 93. Perlanet is a web feed aggregator
  • 94. Wrote it because I didn't want to hack Python
  • 95. And Plagger was too complex for me to understand
  • 96. So Perlanet is really simple
  • 97. Too simple
  • 98. Users have weird use cases
  • 99. Users have weird use cases
  • 100. Users have unexpected use cases
  • 101. Alex Kapranoff (kappa)
  • 102. perlplanet.ru
  • 103. Cyrillic
  • 104. Кириллица
  • 105. Lots of Unicode bugs
  • 106. kappa didn't complain
  • 107. kappa forked Github repo
  • 108. kappa fixed the bugs
  • 109. kappa sent a pull request
  • 110. kappa++
  • 111. Planet Iron Man
  • 112. Originally used Plagger
  • 113. Wanted to switch to Perlanet
  • 114. YAML configuration
  • 115. Simple
  • 116. Doesn't scale
  • 117. North West England Perl Mongers
  • 118. Hackfest
  • 119. Many improvements
  • 120. More subclassable
  • 121. Github pull request
  • 122. Everybody wins
  • 123. In summary
  • 124. Writing software just for yourself is fun
  • 125. Writing software for users is better
  • 126. Seeing your software being used is great
  • 127. Getting feedback about your software is great
  • 128. Users supply bugs
  • 129. Users supply patches
  • 130. Users supply new ideas
  • 131. Users supply insight
  • 132. Users appreciate your work
  • 133. But best of all
  • 134. Some users show their appreciation...
  • 135. By buying you beer
  • 136.