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

  • 2,074 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,074
On Slideshare
2,074
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
10
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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.