321 points | by WiggleGuy1 month ago
Seems like I have to pick criteria that have exact venues.. I want to pick abstract things like "walking distance from grocery", "biking distance from climbing gym" "1 hour drive to national park"
To echo what loxias said, it is possible to make queries like this on the heatmap. You can use the "Search Nearby places" button - this takes in more general queries (like cafe, gym, walmart, etc) and gives you back a bunch of venues that fit that search.
I'll make this an impossible state, thanks for bringing this up.
> Central Park OR Prospect Park OR Brooklyn Bridge Park OR Fort Greene Park
You can do this, actually. I kinda explain that here: https://news.ycombinator.com/item?id=42976053
The heatmap supports both AND and OR clauses
The second one (acrage, stars, etc) is harder, you're right.
The "Search nearby places" is really meant to be a convenience feature to fill your OR clauses. It works better for certain types of things. Like, sure, all parks is too broad because not all parks are equal. But use it for something like all Targets (the shopping chain) or something, and its more useful, since those are, more or less, all equal.
I'm still thinking of other convenience features for places that have more nuance, like parks.
My desired heatmap is for 5+ beds/3+ baths at [price range]. It's okay this isn't that - but the Housing Preferences descriptor indicates it might be.
I didnt expect there to only be 1 type of constraint (travel time to a given location).
I think emphasizing its purely based on distance would be clearer.
This seems to be a common problem with navigation systems in general. It's easy to get walking+transit directions, but nigh impossible to get bike+transit, even though all the buses and trains near me let me bring a bike onboard.
- it never suggests bike+bus, only bike+train
- it will only ever try to put the biking on one end of the train ride, never both. I guess it assumes I'd be parking the bike at the station, not bringing it on board
- you can't actually "start" the navigation for some reason. It will just show the route overview
The "only show best matches" criterion is a little bit too aggressive in this case, though - it basically says "have you tried living in the middle of the highway"?
One feature request: when you do "Search Nearby" (e.g. I did "elementary school") it found a _lot_ of schools, like 50 or more, well out side the city I was interested in. But short of adding them all and going through one by one and deleting them, is there a way to add just the matches in the city I put in the top-right corner? Maybe adjust the search radius or something? Or in the search results preview it gives you, a button to just select the few you want to add.
edit: oh, and another feature request. I'd love to accordion/collapse my criteria. Scrolling past my 40 parks to edit the bottom criterion is tedious.
Setting a criteria of 15 mins by car, I'm far out in the gray. I'd have to drive a couple miles to even get in the red. It's only 6 miles away!
Six miles is like a 30 minute drive when I am
I was hoping 'little city' would have indicated, but I should have specified, there is never enough traffic here to move the estimates much. Speed limit is 35ish the whole way.
This doesn't cover any of that.
OP explained up front what the tool does
Its like walking by a poster advertising guitar lessons and exclaiming out loud "I don't want guitar lessons!"
"Show HN: A website that heatmaps your city based on your housing preferences"
I'm providing feedback that what is promised is not delivered. Maybe it's the op's preferences, but it's not my preferences.
It's more like a poster offering guitar lessons, and the person will only tell you that a guitar has five strings.
My idea, at least from living in New York, is that if there are a medium amount of people walking around, and not that many people just sitting there or leaning against a building, and there isn't a ton of trash visible, then it is probably a pretty good neighborhood.
If there is nobody, or a ton of people, or if the people aren't mobile, or if there's a lot of trash, then it is probably not a neighborhood that I would like.
You could probably also use business types for that. Like, I would not want to live in a neighborhood that has a ton of pawn shops or churches in it.
I do like that you used OSM rather than Google maps.
I should probably make the UX better. When you're on the heatmap page (or the distance matrix page), look at the top right of the screen. It shows you where it's basing its searches on, and you can override that bias with any location you like.
You only need to update it once per session - all pages and components will be updated
It added 50 grocery stores with a "nearby places" search and inhad to refresh the page to start a new search instead of spending time clicking those X's.
I personally found the additional criteria being added to the top to be counter intuitive and I inadvertently deleted locations thinking it was the newest criterion, but it was actually my earlier ones. I think I've been trained to look/scroll to the bottom for the added element (e.g. like when adding additional Google Maps locations)
I would also love an option to mix transportation modes. For example, public transportation and biking.
Anyway, thank you for building this!
https://www.tom-carden.co.uk/2008/01/24/mysociety-maps
>O'Reilly Radar has the scoop on the most recent thing I've finished working on at Stamen. Interactive travel time and house price maps for London. Go play, and read what mySociety have to say, including the ones for BBC TV Centre and the Olympic Stadium site. Then come back and read this full post if you want the background info...
O'Reilly Radar Article:
https://web.archive.org/web/20080208084133/http://radar.orei...
mySocieties: More travel-time maps and their uses
https://www.mysociety.org/2007/03/05/more-travel-time-maps-a...
This project became Mapumental (Mapumental was a mySociety project to plot journeys by time, not distance.):
Unfortunately the live site was closed down, but the pages describe a lot of great inspirational ideas!
It did seem to think that the closest "Bar" to me was a 19 minute drive, when in reality there are several within a 2 minute walk, however.
I recall that Walkscore used to have something like this, and then it went away, and then it showed up on some other housing site... I was always surprised the type of feature didn't get more popular.
In terms of new features, there is a tricky problem of how to define things like "near a grocery store, the large kind, not that one tiny mini-mart". This brings in several overlapping challenges: How to get business locations and categorize them, how to allow the user to tweak that categorization or result, and how to efficiently turn a union of those the set of valid destinations into a combined region.
- There are tons of grocery stores (efficiency of processing all of those)
- Not all grocery stores are the same (supermarkets vs pricey luxury stores vs bodegas)
I've been thinking of mass processing one-time then allowing the user to super-impose pre-made heatmaps onto thier existing heatmap.
Ideally something like 5min bike ride to the grocery store, 15min walk from a train station, and 30min drive to my in-law’s house.
It would be really interesting to do something like “10 minute bike ride to 3 or more grocery stores”. That would help reduce instances of niche specific stores, but also provides a much more useful variety.
I’d love to be able to find places that have 2+ or 3+ grocery stores within somewhat reasonable distance, and same thing goes for restaurants. Really any restaurant.
1. User defines a "multi-location" spec, like "MyFastFood" as "Having [2] or more of [Fast Food] excluding [Taco Bell,]"
2. User defines a requirement for their heat map which references the multi-location, ex: "Within [30 minutes] to [walk] to [MyFastFood]"
3. Within the context of a particular [user's requirement] and broad [city/town/region], a 2D area/gradient can be generated, and cached for a rather considerable period given how slowly businesses open/close.
Granted, that's the ambitious version. A simpler one would be to not support "at least X", and to combine the multi-location and the distance-rules all together into a single condition.
I also have another issue: If I put the same thing in two different criteria (with different settings), it says the heatmap parameters are invalid.
My use case is this: I want to have a big station reachable within 30 minutes by public transit and any light rail station within 10 walking minutes. But this big station could fall into both of them, which, to me should then be handled according to the set criteria (maybe just treat it as two different entities entirely, just with the same coordinates?)
> If I put the same thing in two different criteria (with different settings), it says the heatmap parameters are invalid.
That's odd, since the website does not differentiate places by coordinates. I think you might have been missing something else (like you clicked a "new place" button and didn't fill out that place, maybe)
I previously used Mapnificent to choose a house location, and found that many geographically closer properties were often much further in terms of time. Very useful. I like that it starts off with the map view, maybe do that in terms of “shortest time to a-ha” and to get the user into putting in the work to refine the output?
https://www.mapnificent.net/sydney/
I also used this to look at property/area info. Maybe lift some ideas off that. It used to have school ratings, crime etc.
Something that’s a combo of both would be amazing. Good luck!
- option to select individual results of "Search nearby places" or select top N closest result to your location
- collapsible criteria on the edit/view pages
- automatically name name untitled heatmaps. I have a ton of "Untitled Heatmaps" in my history which I forgot to name
- combine the edit/view pages - just have an edit page with a big "Generate" button so you can still edit criteria after heatmap generation
I don't want to live near sketchy storefronts, and neither do other people less honest than myself.
https://news.ycombinator.com/item?id=42978733
https://youtu.be/_fVl4dGwUrA?t=3m35s
A useful feature (not implemented in that video of X11 SimCity from 1992, but it would be easy to implement now with better graphics and faster computers) is to display a histogram in each of the sliders, where the x-axis is the parameter value, and the y-axis is the number of items of that slider's value (given that all other sliders are at their current value), so you can easily spot clusters and peaks and sparse areas, and you can include or exclude them from the filter by sliding the Min and Max edges across the histogram. So as you adjust one slider, the histograms in the other sliders change to reflect the current "slice" of multi dimensional space with respect to the filter you're adjusting.
Showing a histogram for every filter parameter on each slider gives you a multi-dimensional view of the distribution density of the data, that you can tweak and explore in real time, which helps you figure out how to adjust the filters to find interesting and ignore uninteresting items, and focus in on just the items you want.
Once, in a similar situation, I had the thought that "somebody should build that" and never imagined that somebody actually would.
With your tool, I learned that our home is better located than I thought and that there are many places more downtown that would be worse for me and my wife (bc of highways and good public transport connections).
I will show this some friends! Thanks!
- population density
- average cost per square foot
- distance from river or lake (I live in Chicago)
It seems nobody has asked/suggested this so I'll do it - I would love to specify time of day/traffic conditions during which to determine time taken to travel.
In the next year or two we'll be looking to move and since we work on the southern side of the city, living out to the north wouldn't work due to traffic through the city.
15 minutes from: Library A OR Library B OR Library C
Heatmaps are split into criteria, and each of those criteria can contain multiple places.
The criteria are OR clauses between any of the places, and the heatmap is an AND clause over all the criteria
So to do what you'd like, you'd place the libraries in the same criteria
I know a homeless guy in Texas whom I talk to on IRC daily. Even he has preferences. He lives under a bridge near a library that gives him Internet access.
1. At least 2 blocks from a police station
2. At least 2 blocks from a fire station
3. At least 1 block from a bar
https://news.ycombinator.com/item?id=39808215
not sure how these apply to variants like 10mins by feet vs by 10mins bike vs by bus vs by metro vs by car vs by airplane :)
I would like to have more criterias
We must think at least somewhat similarly, last few times I was apartment hunting I did the same, though I never polished it up like this (more plugging numbers into a spreadsheet).
Honestly the biggest thing this does for me is validate that the data APIs must exist for what I'd really want, which is write something to make much larger and more complex "programmatic" maps -- the list of places being generated by a more complex sequence of steps for instance, and the combining function for different criteria including nonlinearities.
Curious how you're computing the walking distances, I'm guessing this is combining some off the shelf API for it with another for the points of interest? Though it would be badass if you did it from scratch starting from just OSM. ;)
So my question to you. What's your server and data setup? Do you even have your own data? I'm very curious on what is actually needed to make it work anywhere.
How do you compute the heat map? Thousands of API requests from various points?
https://web.archive.org/web/20161119140228/http://hcil2.cs.u...
>Abstract: We designed, implemented, and evaluated a new concept for visualizing and searching databases utilizing direct manipulation called dynamic queries. Dynamic queries allow users to formulate queries by adjusting graphical widgets, such as sliders, and see the results immediately. By providing a graphical visualization of the database and search results, users can find trends and exceptions easily. User testing was done with eighteen undergraduate students who performed significantly faster using a dynamic queries interface compared to both a natural language system and paper printouts. The interfaces were used to explore a real-estate database and find homes meeting specific search criteria.
Here is a great talk by Ben where he states the goals of the visual information seeking process, and shows the Dynamic HomeFinder "thousand points of light" demo:
User Interface Strategies 1990 (University of Maryland Television Broadcast) Part 1-5:
https://www.youtube.com/watch?v=Yz_7nJN8jk0
In 1992 I was inspired to implement a version of it for SimCity I called the "SimCity Frob-O-Matic Dynamic Zone Filter", and I wrote about it a few years ago on Hacker News, and linked to a video demo:
https://news.ycombinator.com/item?id=11370099
DonHopkins on March 27, 2016 | parent | context | favorite | on: Direct Manipulation: A Step Beyond Programming Lan...
Ben Shneiderman has made a career of performing controlled experiments, measuring the efficacy of different techniques, comparing them to each other in different contexts, and teaching his students the importance of empirical testing, balanced with human centered design. [1]
He and Ike Nassi developed a goto-less visual programming technique called the Nassi-Shneiderman diagram [2]. He not only studied and summarized the status quo of flowcharting, but also conducted experiments that suggested flowcharts were not helpful for writing, understanding, or modifying computer programs.
He's also done a lot of work with information visualization [3], including tree maps and dynamic query sliders, and developed systems and published papers that have inspired many other people.
He and Christopher Williamson developed and empirically evaluated dynamic query sliders in the ingenious Dynamic Home Finder [4], which applies direct manipulation and infovis techniques to dynamic real time visual real-estate database queries. That inspired me to implement a similar real time information visualization technique in SimCity [5].
By studying, measuring, comparing, and generalizing on what was really going on, he came up with these eight golden rules for interface design:
1) Strive for consistency. Consistent sequences of actions should be required in similar situations...
2) Enable frequent users to use shortcuts. As the frequency of use increases, so do the user's desires to reduce the number of interactions...
3) Offer informative feedback. For every operator action, there should be some system feedback...
4) Design dialog to yield closure. Sequences of actions should be organized into groups with a beginning, middle, and end...
5) Offer simple error handling. As much as possible, design the system so the user cannot make a serious error...
6) Permit easy reversal of actions. This feature relieves anxiety, since the user knows that errors can be undone...
7) Support internal locus of control. Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
8) Reduce short-term memory load. The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.
----
[1] An Empirical Comparison of Pie vs. Linear Menus: http://www.donhopkins.com/drupal/node/100
[2] Nassi-Shneiderman diagram: https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diag...
[3] InfoVis: https://en.wikipedia.org/wiki/Information_visualization
[4] Dynamic Home Finder: http://hcil2.cs.umd.edu/trs/92-01/92-01.html
[5] SimCity Frob-O-Matic Dynamic Zone Filter: https://youtu.be/_fVl4dGwUrA?t=3m35s
Our current house is great, but there aren't many kids in the neighborhood.
I understand this is sensitive information, so it probably doesn't exist.
But choosing a neighborhood with other families that are in a similar life experience is kind of hard..
Especially considering it seems that kids play outside much less, so that's less of a signal.
My first house was built in the 40's. A few original owners existed, along with second owners. I noticed I guess people don't tend to move often. There were hardly any kids in the neighborhood.
Next house was built in 2009(this would have been 2018ish), and the neighborhood was packed full of kids.
Next house was built in the 80s. A lot of original owners, again, few kids.
Next house was built in 2012, this would have been 2021 - tons of kids
Next house built in mid 90s. This was 2022. Almost everyone in the neighborhood was the original owner, very few kids.
So, if my theory holds, if you want to find a neighborhood with a lot of kids, buy a midrange house in a ~5 year old neighborhood.
(and yes, I realize I've moved a lot).
Maybe your local city/state/county/country government has a "Open Data" portal where they publish stuff like that? Barcelona for example has a pretty extensive Open Data collection (https://opendata-ajuntament.barcelona.cat/en) where you'd be able to find data like that (probably not ready made graphs/maps though), and probably also averaged data about how many people live in the households of a neighborhood, so you could extrapolate for families, etc.
Thanks for building it and thanks for sharing.
The main page has references to all data sources.
What I like about this one is that it can show travel times from a specific address. What would be even more useful is if it could show mixed-mode transportation times.
[1]: https://close.city/?x=-73.92368&y=40.74092&z=11.62779&r=0&l=...
[2]: https://close.city/?x=-122.32293&y=47.63375&z=12.62654&r=0&l...