glasquare
glasquare copied to clipboard
Allow User To Check-In With Friend(s)
The native Foursquare apps now let users check-in with a friend. This might be a little cumbersome to handle via Glass, but would be really cool! This is the last missing feature keeping me from using this as my primary 4sq client.
By the way, great work so far :)
Good idea, but the friend selection is hard on Glass. It wouldn't work with voice for names. And swiping between all your friends is not an option as well. What UI would you suggest? How about selecting like 5 friends you will most likely want to check-in with and swipe between them? How to select them?
Yes, either allow the user to select 5 friends, or just show the 5 friends that they've checked-in the most with in the last 30 days (or something to that effect).
I think this will be much easier once the following feature has been added to the GDK (contextual voice actions): https://code.google.com/p/google-glass-api/issues/detail?id=273
Ah, more importantly, it doesn't seem like the Foursquare API supports the 'with' field yet https://developer.foursquare.com/docs/checkins/add
I think it's possible using the 4sq API, it's the field 'mentions'. I'm marking this issue as low priority for now.
This support page seems to confirm that mentioning a user will trigger a delegated checkin for the mentioned friend(s), which is exactly what I'm aiming to do: http://support.foursquare.com/entries/23278742-Mentioning-friends
Well, now that I know it's possible, I'll get started on implementing this and hopefully send you a pull request sometime in the next couple of days.
OK, pull request would be great!
Proof-of-concept works!!! https://github.com/chrnola/glasquare/commit/f7205a4a7f7a27777c273670c2ef7b155347396a
I want to clean that up a bit before I submit the pull request, I'm just pretty excited as this is my first venture in Android development (let alone Glass). :)
Also, how do you feel about creating another voice action for "check me in with" (or something similar)? I want to try to keep the the "check me in" flow speedy and uncluttered, but I'm struggling to find a good way to do it. (Proof-of-concept was only for show best venues and search).
Great proof of concept!
I'm planning to implement artificial delay in check-in where user will have a chance to tap and add stuff - change shout, share to social networks, etc. See #24 This would be a place where you will add your command, something like "mention friends". I'm planning to work on it this weekend.
I have looked into your code, it looks great for a first venture in Android! But before you send pull request you need to figure out some clever way how to show 5 friends who you will most-likely want to mention. Nobody wants to scroll between 100 friends like now :)
Hi, I have just pushed revamped check-in experience. Now user can do stuff BEFORE check-in, such as mentioning friends. It would be pretty easy to add friend mentioning. I'm waiting for your pull request. I'm planning to release a new version within next few days.
Oh cool! I'll check that out tonight.
I'm still struggling to find an elegant way to present the user with a curated list of friends though. I would love to periodically scan the users check-ins from the past month and present the 5 friends that they've checked in the most with, but the API doesn't seem to expose 'mentions' for historical check-ins: https://developer.foursquare.com/docs/responses/checkin
Also, as a first iteration, is multi-friend mentions a top priority or should this be done in another version?
I have looked into 4sq API and I don't see a reasonable heuristic how to select 5 friends you are most likely want to check in with.
I would do it with the voice input - let user speak the name (first name is enough), use endpoint users/search and filter out all users who doesn't have "relationship : friend". The endpoint prefers friends in the search results.
It's not a priority, but it would be nice it to have in in the next release :)
Alright, I've implemented this (including multiple friend mentions). Just need to handle the case in which a user search returns no results and get a nice "friend" icon for the menu :)
Ref: https://github.com/chrnola/glasquare/compare/27-Check-In-With-Friends
After testing, it doesn't appear that mentioning a user via the API triggers a check-in on their behalf, they just get a notification that you mentioned them in your check-in. I've reached out to 4sq API support, and I really hope this isn't intentionally restricted from public use :/
Ref: https://twitter.com/chrnola/status/428406080306049024
Regarding the icon you can select some from official ones: https://developers.google.com/glass/tools-downloads/downloads
If check-in friends is not possible through API, only mentioning, does the feature make sense? I don't personally use either so I'm not sure.
And I think you will have more luck asking foursquare API questions on StackOverflow, some devrel from their team monitors it. Just use the proper hashtag.
When you think it's ready and full-featured, send a pull request.
Ah thanks for pointing me towards the official images, found one in there that seems to work well.
If checking in other friends isn't possible with the API, then the use case I originally described when I opened this issue has not been entirely satisfied. Perhaps it should be marked as 'Waiting for API support' until I hear back from foursquare (http://stackoverflow.com/questions/21437115/how-can-i-emulate-the-check-in-with-friend-feature-via-the-foursquare-api).
If you think any of your users would appreciate the ability to simply mention friends without the delegated check-in, we could open another issue and I'd have a branch properly rebased and ready-to-go for a pull request immediately (https://github.com/chrnola/glasquare/compare/27-Check-In-With-Friends). But if you honestly don't think it would be useful I'll just hold onto it and run my own custom version of glasquare for the time being :)
Yeah I intend to keep Glasquare as simple as possible so I won't include mentioning for now. If more users request it I might reconsider. I'm marking this as Waiting for API support.