This is a guest blog post by Monica Wilkinson. Monica is Director of Platform & Engineering at Crushpath. In this article she writes about the services and tools her team used to build a Crushpath Google Glass integration in under 2 weeks (find the original source here).
How we built our Google Glass integration in less than 2 weeks
I am happy to announce that we have officially launched our Google Glass integration for Crushpath along with an updated version of our Promotion and Social Monitoring features. In this post, I am excited to discuss why we picked Glass and how we achieved the integration in under 2 weeks.
At Crushpath our mission is to help people, in particular, small business owners and entrepreneurs, quickly pitch their business to potential customers. Pitching is not a one time thing, it’s about establishing a dialogue and giving people solid reasons to do business with you as well as listening to their feedback. For this reason, earlier this year we released a powerful new feature in our product called Crushpath Pitches. Pitches are very popular with our users for creating beautiful showcases of their business. To get a better idea of how they work, here is a sample of three Pitches:
One of the biggest opportunities we saw was to provide users the ability to create multiple pitches on the go. Crushpath users are busy entrepreneurs and always on the move so we wanted to help them pitch and promote from wherever they are. Whether it’s receiving a new shipment of merchandise for their store, finishing a hand-crafted piece of jewelry or having a great meeting with a customer. All these examples are great opportunities to pitch your valuable business moments on a daily basis.
Google Glass Hackathon Project
While building out this platform, I was fortunate to become one of the first Google Glass Explorers. In using Glass and realizing the in-the-moment use cases supported, we had the idea to add a Glass app to our platform. So ten days ago we presented an initial version of this idea at a Google Glass event called Breaking Glass.
Why we built a Google Glass integration
You may be new to Google Glass and wonder why we chose to integrate with it.
Google Glass (in developer-only version for now) gave us an excellent canvas on which to redesign the experience of pitching. Most users of Glass wear them all day long at work and outside of work. You can take pictures, videos and recordings completely hands free.
Sharing is a breeze and happens in seconds over the air. You can also use Glass to make and receive calls.
We wanted to get as close as possible to allowing users to go from idea inception to promotion in seconds, so we decided to build the Crushpath/Glass integration at the hackathon. For this project we decided that it would be neat if any picture taken on Glass could be shared with a caption and immediately transformed into a Pitch.
The Pitch can then be shared with Contacts directly from Google Glass and also via Crushpath standard promotion channels like Facebook, Twitter, and Pinterest. Once the pitch is shared to other Glass users they can view the entire website from glass, get directions, email and call to speak to the owner.
The Welcome Screen
First things first: We decided to make the Crushpath Glass app highly intuitive by welcoming the user with all of the information and resources needed to get started using the app right away. So on startup we insert a Crushpath welcome card Timeline Item and offer the following actions: Read Aloud, View Website, Call, and Delete. Note that View Website is a new Timeline Action released recently by Google.
All of this was super easy using the (RESTful) Mirror API and the ruby gem I wrote a while back definitely helped (https://github.com/ciberch/mirror-api). Also it is pretty awesome that you can test the HTML for the Timeline Cards in the Google Glass Playground or this great tool http://glasssim.com that Matt found.
The Google Glass Crushpath Pitch
Now, to allow Crushpath users to share a picture for a Pitch, we had to insert Crushpath as a Contact and handle the Timeline update notification. So the two additional steps done when a user connects are:
- Insert the contact card for the Crushpath app
- Subscribe to updates from the user
Here is the flow the user would follow to share their Crushpath Pitch created on Glass:
Testing http notifications from external services is always a pain when you are working on your local development machine. However, services like forward.io provide an external URL that the external service can hit. Once we had that external URL, we could see the notifications come in on our local machines and it was much easier to debug. One minor annoyance of the Mirror API platform was that if you create a subscription incorrectly (I was missing the verifyToken) you don’t get an error but you just never receive any notifications.
Using audio captions was fun but, as with any audio interpretation device, there are moments when you have to repeat yourself to get the proper sentence. Finally a small UX hassle was styling the contact card. The only aspects you can provide to style are a background image and a display name. So you have to test until you have the proper alignment of text and background image.
We decided to use the user’s first Pitch as a template so they could customize future Pitches simply.
This is what a final pitch looks like on Crushpath’s Pitch Manager and on Google Glass
Once a user has built a Crushpath Pitch, we automatically create a Timeline Card of that pitch which the user can share to other Glass users and G+ users in general. Sharing to G+ is limited to text and links.
How we delivered this project in two days
The key to building a feature fast is to understand and limit the scope as well as to have the right tools and people for the job.
Here is the list of ingredients for a successful Crushpath Glass app:
- 1 pair of Google Glasses
- Google Glass Docs & Playground
- Ruby wrapper library for the Mirror API
- Test-Driven Development
- Quality monitoring via Code Climate
- Continuous Integration via Codeship
- Heroku for hosting the Ruby App
- HipChat, even with 2 people very helpful for sharing links
- Android screencast emulator to show off our work showing in Glass to the audience
Releasing the final version
We spent some more time checking corner cases as well as integrating with other projects from teammates which were getting ready to ship. Once again key ingredients for the final stretch have been the following:
Want to try the Crushpath Google Glass integration?
To try the integration simply create an account at crushpath.com and connect your Google Glass account. We would love to hear the feedback.
We want to thank Monica for this article about Crushpath’s integration with Google Glass. She would love to hear from everyone that is developing on Glass. Crushpath will be happy to help you with any questions and chat about Ruby or Glass development. You can contact Monica on her personal Pitch page.
We would love to get your thoughts about Development for Google Glass. What are your experiences and learnings? Let us know in the comments!
Want to build tools for other developers and join a well funded startup? Join us and bring Continuous Deployment to every software team. We are hiring!