SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Nestoria Price Sliders
Savio Dimatteo, Lokku HQ, London, 1 May 2014.
Dynamic Price Sliders
● users filter by price through a range slider
● dynamic price sliders: range changes based on result set
● calculate the potential price range
The min. and max. price calculated on the
listings as if the price filter wasn't set.
Why “Potential”
● users specifies the price multiple times
○ e.g., first handle, second handle, first handle again
● the other handle should stay fixed
● ok to move handles when other elements are used
The Problem
● a lot of listings falls within a certain price range
● a few listings have prices outside that range
● wide wide range!
crazy cheap ultra expensive
Why The Problem
crazy cheap ultra expensive
300px wide !
● we would need more pixels...
Use a non linear scale.
● many listings in price sub-range -> use many pixels
● a few listings that distort the range -> use a few pixels
Squeezing prices
● are most of the listings grouped towards the beginning of the
price range?
● are they grouped around few multiple ranges?
● are they evenly distributed over a certain price range in
certain locations?
Questions
it doesn’t matter
One answer
Solution
any distribution of listing prices pixel to value mapping
value to pixel mapping
400£ 31px
31px 400£
1) compute the price histogram
● Any number of buckets is fine, we use 128.
The Idea
price (buckets)
count
The Idea
2) extract a normalized probability density function (PDF)
from price histogram.
note: sums to sliderWidth
price (buckets)
count
price (buckets)
sliderWidth
0
The Idea
3) transform PDF -> CDF , a cumulative density function.
note: doesn’t decrease
price (buckets)
sliderWidth
0
price (buckets)
sliderWidth
0
The Idea
4) use CDF to obtain the mappings
price (buckets)
sliderWidth
0
The Idea
4) pixel-to-value mapping
sliderWidth
0
price
pixel
The Idea
4) value-to-pixel mapping
sliderWidth
0
price
pixel
Awesome approach
● flat histogram -> linear increments
● two prices -> valid histogram
● one price -> a flat histogram!
● negative prices -> histogram is an ARRAY at the end…
Implementation is funny
● what you think you would have
● what do you actually have
price (buckets)
sliderWidth
0
36 37
340 £ 350 £
56px
76px
56px
76px
Sharp price distributions
0px
270px
Bucket 0 Bucket 1
Sharp price distributions
PriceBucket
Sharp price distributions
0px
270px
0 £ 2000 £
Sharp price distributions
0px
270px
0 £ 2000 £
# of pixels to cover
Solution: Interpolation
● apply a series of (linear) interpolation steps
● one step:
a : previous price (interpolate from)
b : next price (interpolate to)
n : number of intermediate pixels to “cover”
0 £
(a)
270 £
(b)
pixel-to-value
● result of the interpolation
● stored into an array for direct lookup
0 1 2 ….. sliderWidthPx
34£ 56£ 78£ 129£ … … … … … …. … …. … max£
value-to-pixel…
1. binary search in the array of values
○ find closest known prices P1, P2 s.t. P1 <= price <= P2
2. find the index of the closest known price -> place the
handle at that pixel.
0 1 2 ….. sliderWidthPx
34£ 56£ 78£ 129£ … … … … … …. … …. … max£
Releasing jquery.nstSlider.js
Grunt is truly a blessing: grunt-init jquery
● Gruntfile.js with uglify, concat, clean, jshint, watch, qunit
● manifest for jquery plugin registry
● manifest for npm package
● README/LICENCE/CONTRIBUTING.md
● provides a banner task to actually write an header in your
minified javascript
Releasing jquery.nstSlider.js
banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.company %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */n',
Releasing jquery.nstSlider.js
Add an addictive demo page (important!)
● commit index.html and assets in gh-pages branch of your
github repository
● make something that works and looks nice
● be inspired: http://kenwheeler.github.io/slick/
Releasing jquery.nstSlider.js
Test test test!
● I converted all jasmine tests into qUnit tests (crazy)
○ jQuery UI uses qUnit
○ jQuery community traditionally uses qUnit
● qunit felt more mature and simpler than jasmine
○ less behaviour oriented
Releasing jquery.nstSlider.js
Testing across jQuery versions!
● Grunt is truly a blessing
● grunt-connect
○ allows to run a web server that hosts the tests
○ test specific versions of jQuery in one go!
Releasing jquery.nstSlider.js
grunt.registerTask(‘test’, [‘connect’, ‘jshint’, ‘qunit’]);
qunit: {
files: ['test/**/*.html'],
all: {
options: {
urls: ['1.6.4', … , '2.0.0b1', '2.1.1-rc2'].map(function(version) {
return 'http://localhost:<%= connect.server.options.port %>/test/nstSlider.html?
jquery=' + version;
})
}
}
},
Conclusions
● typical example in which simple reasoning ends up in more
complex and detailed implementation
● a really exciting experience with open sourcing the sliders!
● 80% of people like it according to Reddit upvotes
Conclusions
jQuery plugin project:
● releasing the plugin was fast after all! (just one night!)
● visual projects trigger peoples’ imagination when requesting
new features...
● people care about accessibility
● hard to test :-)
● Grunt is truly a blessing!
○ Use Grunt for your JS projects!
the end
Thanks
github: https://github.com/lokku/jquery-nstslider/
reddit: http://www.reddit.com/r/hackernews/duplicates/249rw3/fully_customizable_jquery_sliders_singledouble/
hackernews: https://news.ycombinator.com/item?id=7665894
youtube: https://www.youtube.com/watch?v=xN5AfudLHws
bower registry: jquery-nstSlider

Mais conteúdo relacionado

Mais de lokku

Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1
lokku
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallenge
lokku
 

Mais de lokku (20)

CSS::SpriteMaker in action!
CSS::SpriteMaker in action!CSS::SpriteMaker in action!
CSS::SpriteMaker in action!
 
Reducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage DataReducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage Data
 
Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1
 
Nestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketingNestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketing
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallenge
 
Geo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOGeo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEO
 
Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data
 
What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012
 
How Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapsHow Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap maps
 
Remote Geocoding
Remote GeocodingRemote Geocoding
Remote Geocoding
 
Lessons learned in doing lots with few people
Lessons learned in  doing lots with few peopleLessons learned in  doing lots with few people
Lessons learned in doing lots with few people
 
Mapstraction
MapstractionMapstraction
Mapstraction
 
Bar Camp London 7
Bar Camp London 7Bar Camp London 7
Bar Camp London 7
 
The path ahead for property portals
The path ahead for property portalsThe path ahead for property portals
The path ahead for property portals
 
How People Search For Locations
How People Search For LocationsHow People Search For Locations
How People Search For Locations
 
Arbyte - A modular, flexible, scalable job queing and execution system
Arbyte - A modular, flexible, scalable job queing and execution systemArbyte - A modular, flexible, scalable job queing and execution system
Arbyte - A modular, flexible, scalable job queing and execution system
 
Planning for Debugging
Planning for DebuggingPlanning for Debugging
Planning for Debugging
 
YAPC::Europe 2008 - Mike Astle - Profiling
YAPC::Europe 2008 - Mike Astle - ProfilingYAPC::Europe 2008 - Mike Astle - Profiling
YAPC::Europe 2008 - Mike Astle - Profiling
 
SOTM08
SOTM08SOTM08
SOTM08
 
LPW 2007 - Perl Plumbing
LPW 2007 - Perl PlumbingLPW 2007 - Perl Plumbing
LPW 2007 - Perl Plumbing
 

Último

VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 

jquery.nstSliders.js - Nestoria range slider jQuery plugin

  • 1. Nestoria Price Sliders Savio Dimatteo, Lokku HQ, London, 1 May 2014.
  • 2. Dynamic Price Sliders ● users filter by price through a range slider ● dynamic price sliders: range changes based on result set ● calculate the potential price range The min. and max. price calculated on the listings as if the price filter wasn't set.
  • 3. Why “Potential” ● users specifies the price multiple times ○ e.g., first handle, second handle, first handle again ● the other handle should stay fixed ● ok to move handles when other elements are used
  • 4. The Problem ● a lot of listings falls within a certain price range ● a few listings have prices outside that range ● wide wide range! crazy cheap ultra expensive
  • 5. Why The Problem crazy cheap ultra expensive 300px wide ! ● we would need more pixels...
  • 6. Use a non linear scale. ● many listings in price sub-range -> use many pixels ● a few listings that distort the range -> use a few pixels Squeezing prices
  • 7. ● are most of the listings grouped towards the beginning of the price range? ● are they grouped around few multiple ranges? ● are they evenly distributed over a certain price range in certain locations? Questions
  • 9. Solution any distribution of listing prices pixel to value mapping value to pixel mapping 400£ 31px 31px 400£
  • 10. 1) compute the price histogram ● Any number of buckets is fine, we use 128. The Idea price (buckets) count
  • 11. The Idea 2) extract a normalized probability density function (PDF) from price histogram. note: sums to sliderWidth price (buckets) count price (buckets) sliderWidth 0
  • 12. The Idea 3) transform PDF -> CDF , a cumulative density function. note: doesn’t decrease price (buckets) sliderWidth 0 price (buckets) sliderWidth 0
  • 13. The Idea 4) use CDF to obtain the mappings price (buckets) sliderWidth 0
  • 14. The Idea 4) pixel-to-value mapping sliderWidth 0 price pixel
  • 15. The Idea 4) value-to-pixel mapping sliderWidth 0 price pixel
  • 16. Awesome approach ● flat histogram -> linear increments ● two prices -> valid histogram ● one price -> a flat histogram! ● negative prices -> histogram is an ARRAY at the end…
  • 17. Implementation is funny ● what you think you would have ● what do you actually have price (buckets) sliderWidth 0 36 37 340 £ 350 £ 56px 76px 56px 76px
  • 21. Sharp price distributions 0px 270px 0 £ 2000 £ # of pixels to cover
  • 22. Solution: Interpolation ● apply a series of (linear) interpolation steps ● one step: a : previous price (interpolate from) b : next price (interpolate to) n : number of intermediate pixels to “cover” 0 £ (a) 270 £ (b)
  • 23. pixel-to-value ● result of the interpolation ● stored into an array for direct lookup 0 1 2 ….. sliderWidthPx 34£ 56£ 78£ 129£ … … … … … …. … …. … max£
  • 24. value-to-pixel… 1. binary search in the array of values ○ find closest known prices P1, P2 s.t. P1 <= price <= P2 2. find the index of the closest known price -> place the handle at that pixel. 0 1 2 ….. sliderWidthPx 34£ 56£ 78£ 129£ … … … … … …. … …. … max£
  • 25. Releasing jquery.nstSlider.js Grunt is truly a blessing: grunt-init jquery ● Gruntfile.js with uglify, concat, clean, jshint, watch, qunit ● manifest for jquery plugin registry ● manifest for npm package ● README/LICENCE/CONTRIBUTING.md ● provides a banner task to actually write an header in your minified javascript
  • 26. Releasing jquery.nstSlider.js banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + '<%= grunt.template.today("yyyy-mm-dd") %>n' + '<%= pkg.homepage ? "* " + pkg.homepage + "n" : "" %>' + '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.company %>;' + ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */n',
  • 27. Releasing jquery.nstSlider.js Add an addictive demo page (important!) ● commit index.html and assets in gh-pages branch of your github repository ● make something that works and looks nice ● be inspired: http://kenwheeler.github.io/slick/
  • 28. Releasing jquery.nstSlider.js Test test test! ● I converted all jasmine tests into qUnit tests (crazy) ○ jQuery UI uses qUnit ○ jQuery community traditionally uses qUnit ● qunit felt more mature and simpler than jasmine ○ less behaviour oriented
  • 29. Releasing jquery.nstSlider.js Testing across jQuery versions! ● Grunt is truly a blessing ● grunt-connect ○ allows to run a web server that hosts the tests ○ test specific versions of jQuery in one go!
  • 30. Releasing jquery.nstSlider.js grunt.registerTask(‘test’, [‘connect’, ‘jshint’, ‘qunit’]); qunit: { files: ['test/**/*.html'], all: { options: { urls: ['1.6.4', … , '2.0.0b1', '2.1.1-rc2'].map(function(version) { return 'http://localhost:<%= connect.server.options.port %>/test/nstSlider.html? jquery=' + version; }) } } },
  • 31. Conclusions ● typical example in which simple reasoning ends up in more complex and detailed implementation ● a really exciting experience with open sourcing the sliders! ● 80% of people like it according to Reddit upvotes
  • 32. Conclusions jQuery plugin project: ● releasing the plugin was fast after all! (just one night!) ● visual projects trigger peoples’ imagination when requesting new features... ● people care about accessibility ● hard to test :-) ● Grunt is truly a blessing! ○ Use Grunt for your JS projects!
  • 33. the end Thanks github: https://github.com/lokku/jquery-nstslider/ reddit: http://www.reddit.com/r/hackernews/duplicates/249rw3/fully_customizable_jquery_sliders_singledouble/ hackernews: https://news.ycombinator.com/item?id=7665894 youtube: https://www.youtube.com/watch?v=xN5AfudLHws bower registry: jquery-nstSlider