

Ask HN: Please help and review my weekend project. Geosay.com - stewsnooze
http://geosay.com/

======
javery
I clicked on it, after approving the use of my location, I see a totally empty
map of the approximate area that I live in... am I missing something? I tried
search and it said it couldn't find the location, not sure what I was supposed
to put in the search bar (an address? search term?)

~~~
stewsnooze
One thing we weren't sure of was whether to automatically populate the map
when you arrive. So by default it will just try to locate you (on the desktop
edition) then you need to actually search. Do you think it would be better to
auto load your local data?

~~~
shaddi
Yes. Or say (on the main page) that you should search for (whatever it is you
call search results). If you autopopulate the map, I'd consider renaming that
field "filter".

I also don't know what to search for. I typed "test" and it moved me to some
result in New Mexico (several states west of where I am right now). I'd
strongly recommend including some example searches that will consistently
bring up good results.

------
vinhboy
Pretty nice app. Reminds me of Buzz

1) When I drag the map, it didn't follow me with chatter 2) You should link
your logo (what's with the "done" button?) 3) On google maps, when you click
on a marker, it highlights the sidebar, maybe you should do that? 4) Might as
well add a get directions button? 5) How about the little yellow guy?

Cool stuff.

~~~
dansingerman
Thanks for the suggestions.

1) Agreed - we should make it do that (there are reasons that it is a little
tricky - but not insurmountable)

2) Agreed

3) Agreed

4) The mobile version has that. As desktop locations seem a lot less accurate,
I wonder what the true utility of that in the desktop versi0n would be.

5) "Little yellow guy" - erm - what little yellow guy (am I missing
something?)

~~~
srveit
I think the "Little yellow guy" is the Street View icon.

~~~
stewsnooze
That would be cool. It would rock to have geosay stuff on the street view map

------
c1sc0
What this mostly did for me was drive home the point that non-geeks don't
really use Foursquare all that much. Kinda embarassing to notice that I know
almost half of the people behind checkins in my little 80000 ppl town. Thanks
for putting the foursquare hype in perspective for me.

~~~
dansingerman
I think that is true to a large extent. I think it also shows that many people
don't turn on location in twitter (as it is off by default this is no
surprise)

We do think there is room for a location based service for sharing information
that isn't about check-ins, and gaming mechanisms. That's what we're trying to
do anyway...

------
DEADBEEF
How is the geo-IP lookup performed?

It put's my location in rural Algeria (I'm in Nottingham, UK). It does this
even if I check the 'share my location with geosay.com' type warning that
Firefox provides.

With Chrome & Opera it again puts my location in rural Algeria, however
clicking on 'Share location' narrows it down to a map of the whole of the UK
(better, but still not too useful).

Saying that, I don't think it's a problem with your site, as clicking on the
'show my location' button (above the streetview guy) in Google maps can't find
me either and I'm guessing you're using the same google maps API to do your
lookups.

~~~
srjk
On that note, would you mind talking about what you use to store the data,
efficiently query it etc?

I am in the nascent phases of developing a location based app, but have gotten
stuck in trying to figure out a good way to store the data. Currently
cassandra is the top contender.

~~~
stewsnooze
Check out this code for searching locally with mongo. It doesn't get simpler.
Straight from geosay.com

class GeosayController < ApplicationController

    
    
      def api
    
        expires_in 1.minutes, :public => true
    
        results = Tweet.near(params[:lat].to_f,params[:lon].to_f)
    
        render :json => results
      end

end

....

class Tweet

    
    
      include MongoMapper::Document
    
      def self.near(lat, lon)
    
        self.all( :latlong  => {'$near'  => [lat, lon]}, :limit => 30) 
    
      end
    

end

~~~
stewsnooze
We chose mongodb after reading this page
<http://www.mongodb.org/display/DOCS/Geospatial+Indexing>

Before then we were looking at Postgres for its geo stuff and things like
cassandra also.

~~~
djb_hackernews
as someone building a location based service, why not just store the lat/long
in a table column and query for < >? Is it that much more efficient to use a
specialized product?

~~~
dansingerman
Our understanding is mongodb should scale to tens of millions of rows better
than a SQL database (which would be a nice problem to have)

Once we made the decision to use mongodb, it made sense to use the built in
near functionality, rather than roll it ourselves.

~~~
djb_hackernews
Indeed. I am using Django to build my app and a mysql db with 2 float fields
for lat/long. GeoDjango and GIS extensions for mysql seemed like over kill,
plus I don't really know what I am doing but it seems to work. Django doesn't
have very good support for mongo. Well, the django orm.

~~~
dansingerman
To be honest I can see absolutely no reason why you can't use floats as you
describe and < , >. Depending on what you are doing it may be a little tricky
due to lat/longs being angular values, but over small distances I think this
can be largely ignored. (In geosay we have some front end code that sorts out
the niceties of the angular stuff)

------
nudge
I discovered a café near me that apparently does really good "smoked salmon
and cream chess bagels". I would love that to be true.

~~~
stewsnooze
Fish takes Bishop?

------
imsky
I really like it, but there are a couple of things:

Populate the map when you get my location, otherwise I think the app is
broken.

A search for Bloomington, IN (verbatim) got me a tweet for Bloomington, IL.
You don't want the same problem for cities like Brown or Jackson.

Maybe get rid of the left sidebar altogether? It's just redundant.

------
jimbobimbo
I clicked the link and got a prompt to install Chrome. I understand that you
might be using some Chrome-specific (HTML5-specific, whatever) features, but
throwing out potential user without even showing what he's missing is not
cool. Why not to show some demo/screenshots page in case of not supported
browser and only then prompt to upgrade?

~~~
dansingerman
Actually it's a prompt to install Google Chrome Frame
(<http://code.google.com/chrome/chromeframe/>) in Internet Explorer. I agree
that the experience for IE users could be better. (We support Firefox, Safari
and Chrome on the desktop right now)

------
RossM
Initially it didn't bring anything up for my hometown (quite small but there
are some foursquare users) but after going to my uni city and back again it
actually brought up a surprising amount of stuff. There's a business
networking group and a hidden cafe nearby!

------
nandemo
I've just found out that there's a supposedly very good bakery nearby. But I
don't know how geosay works, and if I should thank geosay or foursquare.

~~~
dansingerman
Thank us both. If the comment originated at Foursquare, of course that is down
to them, but there is much less friction to finding the data on geosay (IMO)

------
joubert
It is pretty interesting to read what people have to say about their apartment
buildings (mine, and those around me) - I live in Manhattan.

~~~
stewsnooze
I think it is super interesting because I doubt those buildings would end up
on foursquare. We want this to become a place for local information that
doesn't have to be bar or restaurant focussed.

------
dansingerman
Oh btw, please try in in your phone (if you are an iphone or android user) as
well as your desktop browser.

------
och
I just found out about a new cafe near me. Funny!

~~~
stewsnooze
Yes. You should be able to find all sorts of stuff. Whilst right now it mainly
collects from foursquare tips and geolocated tweets it can also permanently
store tweets marked #geosay on geosay.com There is also an iphone/android
mobile version that kicks in if you browse using one of those devices.

~~~
stewsnooze
I should have also said that you need to tweet from a client that posts your
geo lat/lon

~~~
dansingerman
And have your twitter account settings set to "Add location to my tweets". See
<http://twitter.com/settings/account>

~~~
stewsnooze
It looks like we built something that needs people to click everywhere else
apart from our app!!

