Code Monkey home page Code Monkey logo

glasquare's Introduction

Glasquare

Unofficial Foursquare glassware

Features

  • 3 voice commands: Check me in, Find nearby places and Search places for ...
  • super-fast check-ins with a possibility to add photos
  • 10 best venues around you/matching your search with details
  • directions towards a selected venue
  • read tips of the selected venue

How to install

  1. Download latest APK
  2. adb install (read this if you don't know what that means)

How does it look

Check the website

Future plans

  • report bugs and feature requests as issues here
  • pull requests are welcomed!

How to build the code

  1. setup your release certificate with these values in ~/.gradle/gradle.properties: RELEASE_STORE_FILE, RELEASE_STORE_PASSWORD, RELEASE_KEY_ALIAS, RELEASE_KEY_PASSWORD
  2. create a class Hidden.java inside package api, add two constants into it: CLIENT_ID and CLIENT_SECRET. Obtain these values from Foursquare developers.
  3. go to code folder in terminal
  4. launch ./gradlew assembleDebug or ./gradlew assembleRelease
  • You can also import the code into Android Studio if you select top-level build.gradle file and Gradle wrapper during import.

API

You can open venue detail from any GDK app like this:

  try {
    Intent i = new Intent("cz.destil.glasquare.VENUE_DETAIL");
    i.putExtra("id", "41059b00f964a520850b1fe3");
    startActivity(i);
  } catch (ActivityNotFoundException e) {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://destil.github.io/glasquare")));
  }

You can also open venue detail from any Mirror API app:

"menuItems" : [
    {
      "action": "OPEN_URI",
      "payload": "glasquare://venue/4b055110f964a520b75722e3"
    }
]

Author

glasquare's People

Contributors

davidvavra avatar pocmo avatar radeksimko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glasquare's Issues

Change Checkmark for Check In

You mentioned in your G+ comment about using a UTF-8 character as the "Checked in" icon. I think it'd be best to unify both checkmarks by using the default Glass checkmark OR (even better) use a custom image with the Foursquare checkmark symbol for any interaction with this app.

I have finals up until this Wednesday but I could get you a custom image for the Foursquare checkmark unless you're able to as well.

Hit me up if you have any questions. I'm here (obviously), but also on Google+ (/+JoshuaTucker5674) and Twitter (@joshmtucker).

Picture of the Venue on the check in confirmation card

Just like how we see the venues'name and picture on Search for Venues, I wonder if the Checked-in confirmation card could have that picture and venue name on the background instead of the black background right now.

Only concern is if it's too cluttered, I'd prefer the black.

As a remedy maybe a half screen showing picture of venue and the other half showing the check in confirmation icon.

Gradle project setup

More of a general request than a specific issue with the project; how can I import this project into Eclipse (using the Android Developer Tools distribution, rather than Android Studio)? I'm not terribly familiar with Gradle, so pointing me to some good documentation would be sufficient (yes, I've made cursory searches at gradle.org).

Thank you.

Change Phrase for Check In

Because the rest of the actions in the "ok glass" menu are action oriented (action verbs), I believe it would be best to start it off with "check in with Foursquare." The phrasing is more conversational and flowing.

Hit me up if you have any questions. I'm here (obviously), but also on Google+ (/+JoshuaTucker5674) and Twitter (@joshmtucker).

Add Support For Venue Specials

When exploring venues, allow a user to see if a venue currently has any specials. Additionally, the user should be able to see details about those specials.

Tips larger than 1 card get cut off

A tip that is to long to fit onto a single card gets cut off.

A bundle of cards like GMail and Field Trips would be the best way to handle this.

Change Phrase to "Best Venues..." Menu

The phrase gets truncated ("Show best ven...") so I'd recommend changing it to "Best Venues." Other actions use shortened versions of their voice commands as well so it isn't an odd change.

Merry Christmas!

Intent API

It would be nice if other apps can open venue detail with Intent.

Sharing checkins

Latching onto the previous request of being able to add pictures and comments using the OK Glass command..

Currently we see a notification that we've checked in. From that window, would be interesting if we could share the check in to other social media like Twitter, FB, G+.

Badges!

Would be nice to see badges after checking in (mayorship, etc).

Unable to instantiate application caused by: java.lang.ClassNotFoundException

12-09 02:42:33.918: D/AndroidRuntime(7676): Shutting down VM
12-09 02:42:33.918: W/dalvikvm(7676): threadid=1: thread exiting with uncaught exception (group=0x40da01f8)
12-09 02:42:33.926: I/Process(7676): Sending signal. PID: 7676 SIG: 9
12-09 02:42:33.926: E/AndroidRuntime(7676): FATAL EXCEPTION: main
12-09 02:42:33.926: E/AndroidRuntime(7676): java.lang.RuntimeException: Unable to instantiate application cz.destil.glasquare.App: java.lang.ClassNotFoundException: cz.destil.glasquare.App
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.ActivityThread.access$1300(ActivityThread.java:123)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.os.Looper.loop(Looper.java:137)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.ActivityThread.main(ActivityThread.java:4424)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at java.lang.reflect.Method.invokeNative(Native Method)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at java.lang.reflect.Method.invoke(Method.java:511)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at dalvik.system.NativeStart.main(Native Method)
12-09 02:42:33.926: E/AndroidRuntime(7676): Caused by: java.lang.ClassNotFoundException: cz.destil.glasquare.App
12-09 02:42:33.926: E/AndroidRuntime(7676):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.Instrumentation.newApplication(Instrumentation.java:942)
12-09 02:42:33.926: E/AndroidRuntime(7676):     at android.app.LoadedApk.makeApplication(LoadedApk.java:477)
12-09 02:42:33.926: E/AndroidRuntime(7676):     ... 11 more
12-09 02:42:49.442: D/AndroidRuntime(7714): Shutting down VM
12-09 02:42:49.442: W/dalvikvm(7714): threadid=1: thread exiting with uncaught exception (group=0x40da01f8)
12-09 02:42:49.457: E/AndroidRuntime(7714): FATAL EXCEPTION: main
12-09 02:42:49.457: E/AndroidRuntime(7714): java.lang.RuntimeException: Unable to instantiate application cz.destil.glasquare.App: java.lang.ClassNotFoundException: cz.destil.glasquare.App
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.ActivityThread.access$1300(ActivityThread.java:123)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.os.Looper.loop(Looper.java:137)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.ActivityThread.main(ActivityThread.java:4424)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at java.lang.reflect.Method.invokeNative(Native Method)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at java.lang.reflect.Method.invoke(Method.java:511)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at dalvik.system.NativeStart.main(Native Method)
12-09 02:42:49.457: E/AndroidRuntime(7714): Caused by: java.lang.ClassNotFoundException: cz.destil.glasquare.App
12-09 02:42:49.457: E/AndroidRuntime(7714):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.Instrumentation.newApplication(Instrumentation.java:942)
12-09 02:42:49.457: E/AndroidRuntime(7714):     at android.app.LoadedApk.makeApplication(LoadedApk.java:477)
12-09 02:42:49.457: E/AndroidRuntime(7714):     ... 11 more
12-09 02:43:24.145: I/Process(7714): Sending signal. PID: 7714 SIG: 9

Add Ability to Post text with Check-In

The add comment feature allows you to add a comment after the check-in has been recorded but this does't allow for forwarding that comment to other social media sites like twitter or Facebook. In order to keep your goal of a quick check-in I suggest implementing your idea of adding a slight delay with progress bar Before the check-in to allow for adding the post text. If no action is taken then proceed with the default text of #throughglass, if text is added append #throughglass to it and send.

Check In With Submenu (Add More Networks)

I apologize if this isn't the best place to put this, but this idea expands on the check in with Foursquare and could include other networks.

Apps like Facebook, Foursquare, Yelp, and a few others utilize check ins. It would be great if over time you integrate other social networks with check in functionality. From there, you could submenu the phrase "ok glass, check in with..." and present a few social network options.

Hit me up if you have any questions. I'm here (obviously), but also on Google+ (/+JoshuaTucker5674) and Twitter (@joshmtucker).

WAKE_LOCK during search

Sometimes search for venues takes a while (slow connection or overloaded 4sq server) and Glass are able to asleep in the middle of search. It should keep on at least until it shows some venues or "no venue found" or any other error message.

The main reason is, I have launch Glasquare again when Glass shuts down during search or keep tapping on them to keep them alive.

Message when there is no venue

Add some "No venue found" message when there is nothing to display. Currently it shows blank (black) screen when I speak something, that doesn't match any venue.

Private venues do not show up in checkin list

If a location is marked as private, such as my home, glasquare does not show it as a location to which I can check into. A user should be able to check into any public or private location his or her account is able to see.

Insert card to timeline

After a check-in is successful, a card should be inserted into the user's timeline. This card could allow them to add a photo/comment, and/or allow them to share the check-in to their social networks.

Export failed

I went to export to an APK and it is showing two errors and failed to export.

Description Resource Path Location Type
error: Found text " /* dimen.xml /VenuesActivity/res/values line 2 Android AAPT Problem

Description Resource Path Location Type
Unparsed aapt error(s)! Check the console for output. VenuesActivity line 1 Android ADT Problem

Hope that helps

Ability to add images from Glass

Adding a picture is possible, but it will snap a new photo. It would be great to be able to add a new image by selecting one from the images already on Glass.

Support for XE16

Obviously you haven't had time to even look at this yet but just confirming that apparently XE16 breaks glasquare.

No Location message

When attempting to search, the app displays a "No Location..." message, instructing me to connect to my phone. This Glass is connected to an iOS device. Is MyGlass (remote GPS/location) a requirement for this app?

Add check-ins

Check-ins is #1 feature request.

I'm planning to do that, the tricky part is authentication website for pairing glassware and 4sq account.

Add Photo or Comment

Would be awesome to be able to add a photo or a comment to the Foursquare check in. Similar to other interactions on Glass, as the check in is being submitted, allow the user to "ok glass" to present a submenu with the options add a photo or add a comment. I actually have in mind (and would love to try it out) another way to display potential secondary options i.e. an "ok glass" on submission. It would work perfect for this too. Let me know if you're interested.

The add a photo should allow the user to either take a photo or choose existing.

Hit me up if you have any questions. I'm here (obviously), but also on Google+ (/+JoshuaTucker5674) and Twitter (@joshmtucker).

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 :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.