Learning from the Best jQuery Plugins
by Marc Grabanski
Created jQuery UI Datepicker and watch it grow like a weed
Made me very interestedin examining plugins projects
TONS of jQuery Plugins
Looked at 500+ pluginsand selected 30+ best
Picked plugins based on what I use or what was recommended
jQuery Plugins Toolboxhttp://marcgrabanski.com/jquery-plugins-toolbox/
My BEST plugins list
What lessons can learn by examining plugin projects?
http://benalman.com/projects/jquery-bbq-plugin/
Everything one click away
Focused on Community
“it started out as a little snippet of code that almost every web developer, at one
point or another, has written..”
Ben Alman
http://benalman.com/news/2010/04/cooking-bbq-the-original-recipe/
Read Ben’s Story
http://colorpowered.com/colorbox/
Themes
very customizable, 36 options
“I would make a selection based on how well it's appearance fit the project at hand.”
Jack Moore
“..added it to the jQuery plugin repository and make a post about it on Reddit.com. Bloggers
picked it up from there”
http://www.eyecon.ro/colorpicker/
Simple API, great functionality, looks good
http://stilbuero.de/jquery/cookie
“jQuery itself lacked such functionality. cookie handling is such a basic requirement”
Klaus Hartl
“at this stage in its lifecycle it's less about adding features and more about adding demos.”
Mike Alsup
tons of demoscommitment to community
http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/
mixes date picker with english
“I built Flip after discovering that you can create triangles/polygons by changing border properties of an element”
Luca Manno
“people started downloading it and ask me for new features/bug fixing”
“early 2008 the form plugin initially evolved as a collaborative effort [through the mailing list].”
Mike Alsup
“The most notable feature addition I made was the ability to support file uploads.”
“I really don't make an effort to spread the word about the Form Plugin, it seems to thrive on its own.”
answers our burning questions of browser support
right away
diverse demos shows versatility
“the existing open source Javascript chart solutions were somewhat limited. We specifically missed some interactive features for a client”
Ole
“It is complicated. Really, you need to weigh the usefulness of new features against the complexity they add.”
http://code.google.com/p/js-hotkeys/
http://digitalbush.com/projects/masked-input-plugin/
“I built this plugin just to scratch an itch. I needed a masked input for a project I was working on and I wasn't happy with the current offerings” Josh
“The only place I've ever really talked about it was on the jQuery mailing list”
“Several people have submitted patches and bug reports. When I see something that I feel like I
might use, then I'll implement it or roll a patch in.”
DEMOS!
http://deepliquid.com/content/Jcrop.html
DEMOS!
“I originally built Jcrop because I had searched for competing image cropping plugins for jQuery and the offerings were marginal.” Kelly Hallman
“I sent out a message to the jQuery mailing list and sent messages inviting several high-profile web
development blogs.”
http://www.appelsiini.net/projects/jeditable
http://stanlemon.net/projects/jgrowl.html
DEMOS!
“as a Mac user I was familiar with Growl and decided that would serve as a good basis for what
we were trying to do.”
Stan Lemon
http://www.trirand.com/blog/jqgrid/jqgrid.html
Deep API and supporting documentation
DEMOS!
“I started the idea when I needed an easy way to represent database information in my project.” Tony
“I really try to extract the essence from the user requests.”
http://code.google.com/p/jquery-json/
deep documentation and demos
“I decided to create a tree view after spending countless hours in searching for a tree that met all the requirements for a web-based CMS I was creating” Ivan
http://markitup.jaysalvat.com/home/
“I build it for my personal need. I needed an simple editor which was not a bloated WYSIWYG editor.” Jay Salvat
http://plugins.jquery.com/project/metadata
http://code.google.com/p/noswfupload/
http://dev.herr-schuessler.de/jquery/popeye/
“I was really tired of seeing the same lightbox modal windows”
Christoph Schüßler
“I wanted a gallery that could exist inline with the content”
“I posted a link on dzone and on on digg.”
“I added a dedicated site and an account at uservoice ... there are also many requests which I'm not going to follow, as they deviated too much from
the original purpose of the plugin.”
Partnered with a designer to“create stunning demo & documentation website”
“I loved this effect on Mac apps”
Jack
“I don't like Flash”
“[I wanted to] do something cool and share it with people.. give back”
“submitted the plugin to the jQuery website plugin repository, and drop a message on the jQuery group.”
http://flesler.blogspot.com/2007/10/jqueryscrollto.html
“After reading Karl's article I realized that was a pretty useful thing that I needed myself”
Ariel Flesler
“I didn't do much really, I posted on jquery-en about it, and kept doing that for major releases.”
“I tried filtering through the requests and rejecting those features that seemed out of scope.”
http://www.fyneworks.com/jquery/star-rating/
http://haineault.com/media/jquery/ui-timepickr/page/
“[there is a] universally accepted form and behavior [of calendars] while there is no such thing for a time picker.”
“Principally for fun and exploration purpose.”
Maxime Haineault
“I posted a link on reddit and woke up the next morning to see that my submission had taken off quite well, enough to crash my VPS and down my
site overnight.”
“.. when other programmers send me patches, I always commit them as soon as I can.”
“The most enriching part was probably learning how to deal with many ‘willing’ contributors. I
learned that often hell is paved with good intentions, but I also learned how to manage hell.”
http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
ThemeRoller
http://pixelmatrixdesign.com/uniform/
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
Demos
“The validation plugin is the only one I've wrote from scratch, the others, like Tooltip, Accordion and Autocomplete, started with some code from someone else, usually where someone abandoned his plugin.”
Jörn
http://jquery.thewikies.com/swfobject/
plugin theme SONG
In Summary
Authors Build Plugins to..
• Make Something Better• Fun / Exploration• Client Needs it
It is tough to decide on features and manage users’ feedback and patches.
The Best Plugins Have
• Great demos• Documentation• Browser Support / Testing• Fun!
Questions?
Marc Grabanski: http://marcgrabanski.com
Twitter: http://twitter.com/1MarcEmail: [email protected]
User interface and web application development. Examples: http://mjgin.com/work.html
Top Related