Your SlideShare is downloading. ×
Solving the "Brooklyn Problem"
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Solving the "Brooklyn Problem"

7,055
views

Published on

Better UX through cheap hacks

Better UX through cheap hacks


0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,055
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
32
Comments
0
Likes
6
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. Solving The Brooklyn Problem: Better UX through cheap hacks Kellan Elliott-McCrea, Etsy @kellanThursday, April 21, 2011
  • 2. Thursday, April 21, 2011
  • 3. Thursday, April 21, 2011
  • 4. Thursday, April 21, 2011
  • 5. 1. UI/UX can be improved by applying ambient location informationThursday, April 21, 2011
  • 6. 1. UI/UX can be improved by applying ambient location information 2. It’s easy.Thursday, April 21, 2011
  • 7. The Brooklyn ProblemThursday, April 21, 2011
  • 8. The Brooklyn Problem Brooklyn, New York Brooklyn, AlabamaThursday, April 21, 2011
  • 9. if ($query == ‘Brooklyn’) { return ‘Brooklyn, NY’; }Thursday, April 21, 2011
  • 10. Thursday, April 21, 2011
  • 11. Thursday, April 21, 2011
  • 12. Thursday, April 21, 2011
  • 13. Thursday, April 21, 2011
  • 14. Solr 3.10, Maxmind world populations dataset, bash, and an “algorithm”Thursday, April 21, 2011
  • 15. Solr geo-spatial extension 3.10+ schema.xml: <fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> .... <field name="latlong" type="location" indexed="true" stored="true" required="true" />Thursday, April 21, 2011
  • 16. ALL THE CODE! <?php $fh = fopen(worldcitiespop.txt, r); $row = fgetcsv($fh); // discard headers for($i=0;$i<100;$i++) { $row = fgetcsv($fh); $json = array(add=> array(doc => array( terms => $row[2] . . $row[0], // city country population => $row[4], latlong => $row[5] . , . $row[6], // "latitude,longitude" gets parsed ))); curl_post(json_encode($json)); } } function curl_post($json, $url=http://localhost:8983/solr/update/json) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADERS, array(Content-Type: application/json)); curl_setopt($ch, CURLOPT_URL, $URL); } ?>Thursday, April 21, 2011
  • 17. “a custom Solr scoring function to re-rank results based on social geo-relevance”Thursday, April 21, 2011
  • 18. div(geodist(),sqrt(sum(population,1))Thursday, April 21, 2011
  • 19. http://localhost:8393/solr/ placesuggest/select? q=b*&sfield=latlong&pt=37.7749295 ,-122.4194155&sort=div(geodist (),sqrt(sum(population,1)))%20ascThursday, April 21, 2011
  • 20. OM G CO NT http://localhost:8393/solr/ EX TS placesuggest/select? GE EN q=b*&sfield=latlong&pt=37.7749295 OC SIT O D IV ,-122.4194155&sort=div(geodist IN E PE (),sqrt(sum(population,1)))%20asc G! RS !!!! ON AL IZ EDThursday, April 21, 2011
  • 21. Done!Thursday, April 21, 2011
  • 22. the tear down * Solr 3.10+ working geo-spatial extensions * 2.6 million points == 380Mb index * the data sucks, and it doesn’t matter (much) * a few days of work, 85% increase in data quality.Thursday, April 21, 2011
  • 23. .Wanjialing, ChinaThursday, April 21, 2011
  • 24. Brooklyn NY, population: 0Thursday, April 21, 2011
  • 25. So why aren’t people doing this?Thursday, April 21, 2011
  • 26. Thursday, April 21, 2011
  • 27. Thursday, April 21, 2011
  • 28. Thursday, April 21, 2011
  • 29. Solr 3.10, Maxmind world populations dataset, bash, and an “algorithm”Thursday, April 21, 2011
  • 30. Thank you! http://www.etsy.com/listing/59401151/vintage-coffee-bean-bag-chairs http://www.flickr.com/photos/darn/141009324/ http://www.flickr.com/photos/21953562@N07/5539813593/ http://www.maxmind.com/app/worldcities http://www.lucidimagination.com/blog/2010/07/20/update-spatial-search-in- apache-lucene-and-solr/ http://www.etsy.com/listing/66013923/triceratops-forged-copper-maskThursday, April 21, 2011