Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Need help creating a "Check-In" feature

 
jp carey
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Does anyone know of any good links or tutorials that can show me how to create a "Check-In" feature? I would like for users to be able to check in to places but also see who else is checked in at those same locations at that given time. I have been searching online and youtube but have not really found any good tutorials. Thanks in advance for any help.
 
Peter Johnson
author
Bartender
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Seems fairly simple to me. You need a centralized server that maintains the location of everyone. Your app should allow the user to enter his/her current location, the app sends that to the server and the server responds with a list of people also at that location. The app should query the server every few minutes to see if the list of people at the location changed. The app should also enable the person to check out of the location.

The biggest issue will be identifying the location. You could use a name but then you will have to differentiate between, say, the Starbucks on 5th and Elm ,and the Starbucks on 6th and Elm.
You could use GPS for the location, but then there might be false readings for establishments next to each other. For example, is the person at the Chinese restaurant or in the shoe store right next door?
Using a combination of GPS and establishment name might solve this.
And your database maintained by the server could accumulate GPS data to associate with establishments, those making location tracking easier the more the app is used. Your app could then, for example, offer a list of establishments to check into based on establishments near the current GPS coordinate. (There are algorithms to calculate distance between 2 GPS coordinates, search this forum because it was covered a while ago.)

Of course, you might also want to provide some kind of private grouping mechanism so that people can limit who knows that they are at a specific location. I can see where public broadcasting of locations might be desirable for singles looking for dates, but it will most likely be used by stalkers and other human vermin to prey on the helpless.
 
jp carey
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the reply, great points and guidelines to help me get started with a plan. But do you know of any tutorials that walk through this process? I am fairly new to programming so even a simple example of geolocation "check in" would be greatly helpful. Again thanks for the help
 
Paul Clapham
Sheriff
Posts: 21576
33
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You seem to be confusing "programming" with "design". Those are two completely different processes, and it's important to do them in the right order. Design first, program later.

And everything Peter said was about designing your application, not about programming it. Design is the process where you decide what you want your application to do (the first phase) and then where you decide how your application is going to do that (the second phase). Typically there aren't tutorials about how to do design because it's rather a generalized process. You certainly aren't going to find a tutorial about how to design the particular application you have in mind. Have a look at the Wikipedia article Systems design to see just how far from programming it is.

For a more specific example: when an engineer decides to build a road, the first step is not to fill a concrete mixer with concrete powder and water. The first step is to decide where the road is going to go; pouring concrete comes much, much later.

If you're new to programming you are probably unfamiliar with the design process. If you re-read Peter's reply you'll see that there a lot of things you have to consider. It seems to me that quite a few of those might be beyond the scope of beginning programming. That means you're going to be handicapped in designing your application because you don't really have any idea of what's possible and what's not, or what's hard and what's easy. But anyway... you could certainly start on a design. Maybe what you come up with won't actually be feasible, but you could say that's part of the learning process. So get out your paper and pencil and start drawing pictures of where the data goes, where it's stored, and things like that.
 
Peter Johnson
author
Bartender
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And don't think that you have to do everything at once. Instead, do it in pieces. For example, code up the UI that accepts the location and stores it into a database. And that's it. Later, add some code that searches the database so other people at the same location and displays that info. And then add the next capability. Pretty soon you will have something working that is useful.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic