Hacker News new | past | comments | ask | show | jobs | submit login
Building a location based iPhone App: from idea to my first users (missionlab.posterous.com)
89 points by ish_ish on Jan 11, 2011 | hide | past | favorite | 35 comments



Great article. His observations of location polling strategies and battery life are spot on, so if you are interested in location-based services, read them carefully. When developing Jaiku Mobile (always-on rich presence sharing with location and other data) we learned same things.

There's actually two strategies that you've to manage: polling of the location (GPS usage) and sending it to the server (network usage). In 3G, there is a significant energy consumption cost, when you send small amount of data regularly to server, because the network stack has to be changed to higher-energy mode each time you send something over TCP/IP.

Even if you stay in a same location and the location data doesn't changed, you might need to send the data to server. Why? To indicate freshness of the data, server has to pinged to indicate that location data is still fresh, even if it hasn't changed. Indicating data's freshness can be important in tracking situation (e.g. Geoshare).


Did you ever consider using CellID to detect whether location has changed, before checking more precisely from GPS? Haven't tested it in a real product myself, but found this strategy in an old Symbian app, and it seemed quite clever -- especially in a 3G (or 3.5/4/whatever) mobile network cell size should be small enough that if the user is really moving, the CellID will also change quite quickly. And energy consumption to poll this is almost 0, assuming the device is a phone that is connected to the mobile network anyways.


Yes we used Cell ID and that was our main source of location data (GPS-enabled phones were quite rare back in 2006).

But cell id can change quite a lot even if you stay in the same place, depending on your signal strength.

Btw. did that old Symbian app happened to be called ContextPhone? It was a precursor of Jaiku Mobile.


Thanks for your response. Was this all on Symbian platform? Does that platform give you access just to the active cell, or also the neighboring ones? I wonder if using the full list of neighboring cells could help, that's available at least via Android API.

Nope, it was not ContextPhone. Something for basic phone tracking.


Symbian gave access to the active cell only.

I heard a story that back then this was required by operators, because with good access to neighbouring cells and their signal strengths, people could easily build tools to compare networks in different areas and "prove" that one operator is better than the other. I don't know if the story is true.

You can do very accurate locationing with neighbouring cells and cloud-based database and some simple Bayesian modelling. Google does something similar with their non-GPS locationing.


I think this is a great idea. I would add one feature: send a 2nd text message when you're within 1 mile. (Or whatever distance you choose.) My girlfriend wants me to notify her before I actually get to her apartment. Having my smartphone do this for me automatically would be awesome! (This way I don't need to use my phone while I'm driving.)


A text message can't be sent without confirmation from the user on iOS.


Then a message should be sent to a server that forwards the SMS text.


That's a great app. I have wanted something similar for android. It combines the ease of text messaging without the commitment and participation required for Latitude or the like.


Hi ! Very nice idea, I like the app. A few comments :

- Why the heck is it free ? I would have paid for it !

- Can you make the web page for your follower display nicely on a computer web browser ?

- corollary : could you allow direct sending of emails ? (rather than copy + switch app + paste)

- on the web site, you could show screens of the app, not just the client.

Otherwise congratulations, it's quite nice and that would have been the next app I would have developed if I ever finish my current one;-)


Thanks for the feedback. I debated heavily between paid and free when I released it. I went with free initially because I felt I wanted to get a simple version of the product out there. At some point I might go the freemium root and offer a paid version with some additional features.

- Emails are coming along with better formatting for desktop browsers

- Thanks for feedback on the website!


Awesome, well-thought post by a clear veteran.

"With GeoShare I was consistently fighting against myself not to add more features that I knew would be useful. This was a difficult thing for me to resist since I myself used the product daily and had a sense what I wished it could do. But they say if you're not embarrased by your first product then you waited too long."

'nuf said.


Awesome. You should partner with UberCab: www.uber.com


That's a great idea I'll email them. I've also thought about approaching delivery-type services like Dominos.


I wonder if you couldn't white-label the technology and sell it to those types of businesses. That way they could apply their own branding and incorporate it into their existing sites.


Congratulations on not only 'shipping' but documenting the process. I've been working on something technically similar, but with a very different application. Can't wait to share!


does anyone know why the default location is cupertino in the ios simulator? i want to think it's because of speed (why take time to find your location during each run?), but i'm starting to wonder if it's because the difficulty in getting an accurate location lock on a wifi network for example.

i've found that detecting geolocation on a non-mobile device such as a laptop (even using the latest w3c navigator.geolocation standard) is pretty unreliable. it took me some searching to figure out that the function has an infinite timeout by default, which makes debugging interesting. sometimes just doesn't get the location at all. a professor had expressed the same sentiments in more length here: http://stackoverflow.com/questions/3397585/navigator-geoloca...


I'm sure the reasons are just a) they wanted to hard-code a location for the simulator, since it doesn't have a GPS, and b) Apple is located in Cupertino.

For my GPS-app, we have code to simulate fake GPS readings on the simulator.


I believe the simulator can also do location by wifi if possible.


Another point : it's an interesting developer's perspective, but its lacking in numbers. Maybe too young for that ? There are no ads on the client nor on the app, and the app is free. Do you have a monetization plan ?


The alert has a "Do it!" button.

Reminded me of : http://www.folklore.org/StoryView.py?project=Macintosh&s...


Isn't this basically Glympse minus the timer element?

http://gigaom.com/2010/12/17/8-apps-for-the-new-smartphone-o...


I mentioned that in the blog post under "The competitive scare"


wait a second, so none of the existing apps do this? is it because they have not thought of a simple thing like texting location url to a contact or they tried to lock in new users using twitter, facebook, etc. contact list import thing?


awesome app! very useful for letting someone know where you are if you're running late for a meeting. Also cool to let friends know you are around if you're in their town travelling. Nice job!


Been looking for this. Wonder why that doesn't happen more often.


Great details on how to be a great mobile location app.


Great article.


Let this be a lesson to anyone working on a product. I've been building an app that does exactly the same thing for the last couple of months. You have to be first to market.


Hey -- neither of us is first to market on this one. I found out of others even as I was building it. I almost gave up but then figured I might as well go for it. I address this in the post -- the market it young and is ripe for plenty of products.


glympse? Ish, would like to connect with you. we build geo apps, and work out of the mission (in the us bank building on 22nd and Mission).


Sure we can meetup you can contact me at my twitter @ishish or email: ishish (at) gmail


Did Apple make the first mp3 player? Did Google make the first search engine?

The point is his app is nowhere near critical mass and there is likely a fair amount of room for competition. Think of his success as proof there is a demand for apps like his (and yours).


No you don't. Not even Facebook was first. I like to call it validation.

Ever notice how a lot of web pages used to suck. Nowadays a lot of apps are like that (present app excepted :-). Keep going!


Why do you have to be first to market? I too have started building this very app and still plan to finish it. There are a thousand factors that determine how your app/business progresses. Market timing is just one small one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: