Designing and Developing for Google Glass (2015)
Part III. Develop
Chapter 14. Getting on MyGlass: Glassware Submission, Review, and Distribution
Welcome to the end of the line! (Well, almost.) Now that you know everything about the Glass ecosystem and Google’s vision for wearable computing, it’s time to get you ready to play the main room. You’ve committed to memory the proper steps needed to design highly effective wearable applications and have thoroughly mastered the techniques to build rich functionality for the Glass experience, tying it all together with the Think for Glass philosophy. You’ve reached a critical point following design and development: getting your Glassware submitted for review. This is the all-important final step so your project can be listed in the MyGlass directory so that users can easily discover it and start using your Glassware.
And getting on MyGlass should be the destination you aim for after building an amazing product, as it yields the greatest rewards. So in this chapter we’re going to complete the cycle and show you how to get there in as little time as possible (as we’ve done with the rest of this book) by preparing you for the review phase.
Whether you work at a professional software shop using formal lean product management methodologies or you happen to just be a solo hobbyist who hacks and hacks and hacks until things work right and look good, know this: the more organized you and your project are, the faster you’ll be approved and listed in MyGlass. It’s that simple.
So let’s get it together, and let’s go. There’s a place waiting in MyGlass with your Glassware’s name on it!
Making Your Awesome Glassware Even More Awesome
We need to stress right off the bat that Google’s review process isn’t a shakedown, and the Glass team isn’t a heavy-handed gatekeeper. The goal is to help you create excellent Glassware and make sure your project follows best practice guidelines. All projects are welcome, providing they demonstrate the form and function of winning Glassware, abiding by the Glass Platform Developer Policies and delivering a great wearable experience. The process lays a solid foundation of amazing programs that set the tone for legions more to follow, giving developers inspiration and users uniformity, variety, and choice.
That said, you needn’t lose any sleep over compliance: this isn’t a federal subpoena to testify in court—more a run-through to make sure that you stuck to the major principles laid out in Google’s documentation for design and programming patterns. Google measures various aspects of your Glassware to ensure it performs well, properly conforms with the Glass UX, effectively (but not egregiously) promotes your brand, and achieves the goal of being microinteraction-focused. And by this point in the book, you’re well-equipped to pass the test with flying colors.
The Objective of Glassware Review
If you’ve published an Android application to Google Play or other app stores before, the requirements and process to publish your Glassware should be somewhat familiar. In truth, the phase of evaluating your Glassware and getting it ready for the masses is more reminiscent of the early days of Apple’s App Store than the process of submitting work to Google Play or the Amazon Appstore. However, while the sequence of events that is involved in testing, assessing, and making recommendations about your Glassware is more involved and takes longer than an Android app submitted to Google Play, the Glass team isn’t taking a massive virtual red pen to your work. They want to list you and help you succeed, and the review is all about making your Glassware the very best it can be.
That said, this process is still new and continues to evolve, so you may discover comments or suggested changes that strangely contradict what you’ve been taught to be the best way to build great wearable applications and services, even teetering on hypocrisy against Google’s own documentation. This is normal, so don’t freak out. It’s part of the fun of living on the bleeding edge of technology.
Remember, this is a learning experience for everyone, and your very participation makes things better.
What MyGlass Gets You
Aside from the obvious prime exposure and promotional plug you’ll have by being in MyGlass as an officially approved Glassware project, there are several technical advantages that we’ve touched on in earlier chapters. If you’re looking to build a business and monetize your wearable projects, integrate with other applications you’ve created, or incorporate other components within Google’s ecosystem, being on MyGlass is the way to go:
Expanded Mirror API quota
Google works with you and helps estimate how many more daily API calls you’ll need beyond the default 1,000 once you’re let past the velvet rope. This assessment is typically based on several factors, including how many calls your Glassware currently makes and the number of average transactions per user your Glassware consumes. You’ll also be able to request a specific number of calls per day when you submit your Glassware for review.
Support for GDK authentication
You’ll be able to allow users to log in to third-party web services and use remote data in your native app once Google uploads your project’s APK onto MyGlass for your private testing.
If your project isn’t meant to be public Glassware, you can request a project to be granted private access, in which case a privileged Google Groups or a Google Apps domain you specify will be whitelisted to access it.
Installing native Glassware is handled entirely by MyGlass. Once your project is listed, users need only enable it from MyGlass and your app will be sent to their device over the air. Glassware vendors distributing outside of MyGlass have forced their users to use ADB to sideload APKs onto Glass or have built separate Windows Installer programs, which is more work and can get messy.
Versioning and distribution
MyGlass also manages pushing any updates you publish to users silently, without any prompts to redownload or reinstall.
Support from Google
The conversation doesn’t end once you get on MyGlass. You’ll be in the pipeline for any new announcements and platform enhancements, and the Glass team has been known to feature projects as case studies to help other aspiring Glassware creators.
So you’ve prepared yourself for the slings and arrows of constructive criticism and are willing to apply the recommended changes. Let’s give you an overview of how you should get ready before you even start the submission process.
The truth of the matter is that it will require a tad more work to get your creation into MyGlass post-development, but the upside is that Google’s laid out everything for you. The Distribution section of the developer documentation maps out all the prep work you’ll need and the action items you’ll be taking prior to seeing your Glassware’s icon appear right alongside Facebook, Twitter, Evernote, and others. You’ll be needing several graphics to use for the branding of your project. These include art assets used within the Glassware itself as well as screenshots and icons to be featured in MyGlass.
As you should have gathered from this book, design is a big part of making sure your Glassware is a hit. Luke Baran, who built the streaming audio Glassware for Boston NPR station WBUR, the first Glassware application that delivered live radio content, wrote that you’d be best suited to submit an app sooner than later, as the review process doesn’t explicitly mean you have to submit an ironclad finished app. It can be a prototype that you’re building along the way. Once you’re ready for your handiwork to be beta tested, you’re ready to submit.
During review, you can continue to submit updated releases of your Glassware—making changes to your server backend if you’re using the Mirror API or submitting signed APK versions for GDK-based projects. If you’ve got uber-black ops trade secrets you’d rather not share, don’t worry. This isn’t a code review, but more of an analysis to see how your Glassware applies the Glass experience.
Since aesthetics are a—and debatably, the—major component of the review process, you can help your reviewers along by including wireframe of your project using Glassware Flow Designer, which we talked about in Chapter 13. Visually laying everything out helps the team understand what you’re going for and can identify areas of improvement. They’ll still thoroughly test your stuff—but various developers, including some that have worked on more than one project, have indicated that including a flowchart of their Glassware has sped the approval process along considerably.
Things to Think About Before You Submit
There are some additional considerations you’ll need to make depending on the type of Glassware you’ve built relative to scalability, security, and performance. If you’re working with Mirror API Glassware, you’ll want to be confident about your infrastructure’s ability to handle potentially large request loads, and that your web server doesn’t collapse during high-volume periods due to a sudden surge. This won’t be an issue if your server is based on Google App Engine or some other platform-as-a-service provider, but it is something to keep in mind with the Glass-owning public constantly expanding.
If you’re using a web host that charges you for additional resources you consume (leaving you with a potentially massive invoice for bandwidth) or you’re self-hosting a server, this may make you reevaluate how your Glassware talks to the cloud and uses the APIs. Further, it may force you to think about how to handle downtime. This is the type of advice that you might get from Google once you submit your Glassware and review starts.
Even though Glass communicates with the cloud over HTTPS, you want to consider how bulletproof your security is with authorization/authentication and for any data stores and handling items like passwords, tokens, and other types of sensitive information. Do you have a contingency plan in place in the event your security is compromised? Google’s policies prohibit the collection, storage, or sharing of confidential user data like Social Security numbers, which the documentation details in full.
In terms of being performant, how might you be able to make your Glassware any more optimized? If you’re working with GDK Glassware, having a high-performance app is a must. Tasks that could be GPU-dependent like animation loops or back buffers, in addition to physics engines, visual transitions between screens, or other jobs with a substantial effect on the processor and battery, which cause Glass to heat up, should be examined. Of likewise importance is how you handle various multimedia formats and processes spawned outside of the main UI thread like networking, downloading large resources, syncing, or I/O.
And although you can submit Glassware without error handling for every type of nuisance that may occur, you do want to demonstrate that you’ve prepared steps to act during cases where Mirror API services seem to unresponsively hang to no avail, or GDK apps outright crash. How do you report these situations to the users, how do you shut down any running services, and how do you recover so they hopefully won’t happen again?
PANDORA ADJUSTS ITS STRATEGY FOR ITS GLASSWARE
As a practical example of publishers changing things up to meet wearable demands, Pandora had to withhold using the auto-inserted advertising feature that’s normally part of its streaming audio service for its freemium web and mobile clients when implementing its Glassware. At the time of its release including or serving ads in Glassware was strictly forbidden by Google, so to be approved, the ad feature wasn’t implemented.
(Pandora also did this years earlier with its app for the original Google TV platform.)
But again, don’t feel as if you’ve got to spend hundreds of manhours slaving away configuring caching headers, tweaking CDN configurations, getting that one pesky Java method to run just a few milliseconds faster, or stamping out bugs prior to submitting your work. The best part about Glassware review is that Google encourages you to turn in a project that’s early in the design phase to get the right start. (Remember, this is the company that lives, breathes, sleeps, and dreams the “release early, release often” mantra.) You do want to continuously improve your software, but having a working prototype that’s generally usable is good enough.
It’s perfectly acceptable to stay in beta.
HOW ABOUT LOCALIZATION?
One thing developers have brought up a lot—notably those working with content-focused Glassware—is how they can make Glassware with international flare; they are looking to support languages other than English. The Glassware Launch Checklist states, “Glassware and its related descriptions must be in English by default. Multiple languages are okay if there is complete feature parity between languages. The review process will support new languages as they become available on Glass.”
When submitting your Glassware, make sure to indicate all of the languages that your project intends to support and review the material from Chapter 12 so Google can check to make sure your resources are serving the appropriate content properly, and get it in the hands of affected users. In this regard, you’re directly influential in expanding Glass to more countries! Let Google know what specific people you’re trying to reach, and it just might open up access there.
Submitting Your Glassware
So now you’re ready to begin the submission process, which has you fill out a web form that describes your Glassware, its format, and how to control it. This last step is quality assurance to make sure you play by Google’s rules. The first thing you need to do is again do a quick once-over of the Glass Platform Developer Policies, just to make sure you’re not erring in the way you populate, distribute, and promote your new product.
Second, go slowly through the Glassware Launch Checklist item by item. The form is highlighted in Figure 14-1. This ensures your Glassware has all of its technical requirements in order. This runs the gamut of everything from the naming of your Glassware, the legal use of Glass art assets and other Google intellectual property, to graphic sizes and formats. These may seem trivial, but they can trip up groups that are more focused on engineering and less on marketing and legal matters.
Figure 14-1. The Glassware Launch Checklist
DO I HAVE TO BE LISTED PUBLICLY?
You can request to not have your Glassware listed publicly in MyGlass in cases when you’re publishing privileged applications or services for organizations like businesses, schools, churches, or families, and don’t want them available to the entire Internet. If you wish this to be the case, as Figure 14-2 shows, when submitting you can provide a Google Groups mailing list or a Google Apps domain for private access to your Glassware.
Figure 14-2. Requesting private Glassware
There are a couple of items that catch even the savviest of developers all the time. The Developer Policies state that when users delete their account with your Glassware, with Google, or any links between the two, “You must delete all personal information you obtained from the Google API relating to them,” so handling such situations is a must. This also plays into the tips in Delete Versus Dismiss that dealt with users deleting data within your Glassware. Also, Google’s grammatical rules for using various forms of “Glass” in context is something you need to intimately familiarize yourself with. You may use “…for Glass” in the title of your Glassware, but not “Glass…”
Gmail’s MyGlass profile page lists links for contacts, support, and more in the bottom-right corner (Figure 14-3).
Figure 14-3. A detail page on MyGlass
You can also request a specific volume of Mirror API calls that your Glassware can make daily and whether your Glassware will be listed publicly or privately (Figure 14-4).
Figure 14-4. Display assets
Lastly, you can indicate what type of feedback would be most helpful to you (Figure 14-5). These include UI, UX, or even writing effective press releases for your Glassware. Don’t be shy—this is free advice. Think of it as an early present!
Figure 14-5. Requesting additional feedback from Google
The Review Process
So now, you’re theoretically under review. We know what you’re thinking—HOW LONG WILL THIS TAKE UNTIL I’M APPROVED??? The definitive answer about your unique timetable: it depends. Don’t go investing in blood pressure medication just yet or hair color product to cover all the gray that’s suddenly sprouted up—this isn’t a stressful period where the seconds feel like days. The process is collaborative, iterative, and fun! Seriously folks, don’t go issuing press releases or making public statements…yet. If you need to time it with something else, discuss that with your review team (we’ll get to this in a moment). But remember that your review will take time.
After sending in your Glassware’s profile, you should get word back from your review team very quickly as a general introduction. But streamlining this approval rides on:
§ How clear your project’s description was in outlining your experience
§ The complexity of your Glassware
§ How promptly and correctly you apply the suggestions Google sends you
What Google looks for during the review process isn’t a tightly kept secret, and it openly shares the major criteria against which your Glassware is compared:
§ Is your Glassware safe?
§ Does your Glassware do what it says it does in your description?
§ Is it built for Glass?
The best thing about the review process is that it’s not subject to subjectivity. The entire Glass team has received the same training, looks for the same areas of concern, and emphasizes the same winning aspects of wearable applications. The review process is a team event, so things tend to be done by committee, and the suggestions you get are consensus from several people. You can rest assured you’re getting the most qualified, most well-rounded opinions about how to make your Glassware shine. Plus, at the end of the day the Googlers are just end users like us and you, so they’re working to create something they’ll, use, too!
DOES MIRROR GLASSWARE GET APPROVED ANY FASTER THAN GDK GLASSWARE?
We all know that the big advantage of working with the web stack versus programming natively is a much faster turnaround time, rapid deployment, and next-refresh updating. However, this doesn’t mean that native Glassware will take significantly longer to be reviewed and approved than Glassware that’s strictly cloud-based. The review timetable is the same no matter which developmental framework you use—Mirror or GDK. If you’re looking to get something to market quickly, make sure you follow the steps outlined in this chapter and stick to the Glassware Launch Checklist. That’s the key to a quick turnaround—not the framework you chose.
And in case you’re wondering, you don’t get to cut in line in front of other people whose Glassware is in review if you’ve already got Glassware listed in MyGlass or Android apps listed in Google Play. Membership in this case doesn’t have such privileges. But your prior experience should guide you through review to move quickly to approval.
The feedback you receive is typically a list of items in a spreadsheet that detail out the changes you might want to make to achieve the best possible Glass experience. Google won’t dictate what you can and can’t implement technically—your idea, your innovation, your vision, and your creativity will be preserved. You’ll likely have several items to consider, largely from design and performance perspectives. These may be general suggestions about the arrangement of menu items, the use of input controls like gestures and touch and voice, how the Glassware handles microinteractions, the application of a particular UI element, branding elements, recommendations for the handling of multimedia, technical tidbits like ensuring processes are properly killed after live cards are stopped, or placement of graphics. These tend to be very specific.
Depending on the difficulty of the changes and how fast you can get them applied, you’ll receive further feedback as your Glassware moves along the virtual assembly line. This process may span several rounds as your reviewers use your Glassware more and get a better understanding of what you’re trying to do. You’re more than free to dispute these suggestions and defend your decision to design things in a certain way…the comments you’re sent aren’t based on rules that are set in stone, and if you feel something you did is right, don’t be afraid to stand your ground.
Timing Your Release
If you’re overseeing the launch of a large application ecosystem that has separate applications for Glass, Android Wear, other various flavors of Android (for handhelds/tablets, vehicles, or TVs), web, Chromecast, Chrome extensions, etc. and you’re shooting to roll out all versions of the service at once, it would be wise at this point not to commit to a certain launch date. Synergizing all platforms for a single launch is very tough, with Glass being the slowest to be available to market because of the review phase. Our best advice for trying to pull off a coordinated launch would be to get your Glassware in first and under review, then ask the team for a projected date once they indicate you’re nearing approval. You can then submit to Google’s other channels and be ready within hours.
You can launch and announce everything in a grand-and-glorious blitz once everything’s available.
You don’t need to concern yourself for the moment about how your Glassware will look once “on the shelf” in MyGlass. Once the volume of approved Glassware hits the level when it can be listed categorically, you’ll be able to better directly appeal to your target audience. For now, expect your placement to be alphabetical—you may have built a insanely cool game you titled “Snail Trail,” and by virtue of its naming wind up appearing right next to Sky Map, Star Chart, and Shazam. You’d obviously be better suited next to Glassware in the wearable gaming genre, but that’s what we have now. It’s not perfect, but this will undoubtedly improve with scale.
MyGlass also doesn’t have a ratings system yet like other app stores, so your work won’t be able to generate the grassroots buzz it might have as people endorse your work (on the flip side of the coin, folks can’t unfairly bash the fruits of your labor and have such criticism stand out more). Again, we hope to see this improve with time and volume.
One thing that astute developers will pore over tirelessly is traffic statistics and usage data. We mentioned in Chapter 3 the need for formal, structured insight metrics, so we hope at some point Google Analytics is available to bundle with Glass products. Google Play Services also isn’t available as part of the GDK like it is for Android mobile apps, so that’s also on our wish list. For now though, you’re able to take advantage of a few tools that gauge how your Glassware is holding up once in the wild.
If your infrastructure runs on Google Cloud Platform, such as relying on Compute Engine or Google App Engine, you’ll have access to technical breakdowns to measure responses to requests, to monitor basic usage for things like time-of-day requests, errors, API calls, load, caching, and other metrics. The App Statistics dashboard for your project in Google Developers Console has great data you’ll find helpful, in lieu of more general reports with data you can use for marketing.
We highly encourage you to be as shamelessly self-promotional as you can with your marketing in all forms and to network like crazy. Register your own domain name. Create a Facebook brand page or even a designated group so people can talk with/about you. Have a podcast touting your latest features and upcoming developments. Do meetups with your fans. Let people congregate in praise of your innovation. It’s all good. Numerous blogs and social outlets cover the Glass space and sniff out any new Glassware that come on the scene…minutes after they’ve been published. Don’t let the free press go to waste!
Best of all, the Glassware development community is thriving and passionate and continues to grow everyday. Many of us cross over to Android Wear work and we’ve mentioned in this book just some of the many friends we’ve made who are doing amazing integration with other systems. The hallmark of a great Glass developer and a big part of Think for Glass is passing on knowledge to newbies just taking up the practice, so always try to make time to pay it forward and give people who are now your colleagues some timely pointers.
Lastly, let’s talk about the one thing that’s been on your mind probably since the first page of Chapter 1: How can I make money off my Glassware? You can only build Glassware for so long before the shine of public adoration without compensation begins to wear off (trust us, we both know). The Glass Platform Developer Policies don’t allow for traditional monetization techniques to be applied, and anyone caught trying to do so in their Glassware won’t be approved and could have their access suspended. We strongly urge you not to test this.
Serving advertisements is a no-no, and you can’t charge fees for accessing or using your Glassware. And we’re irreconcilably split on how we see some form of AdWords ultimately being available within Glass. Jason likes the idea of having contextually accurate ads and/or commercials appear in a user’s periphery and would like to see the opportunities it spawns; Allen believes that with Glass being ultra-personal, shoving ads in your eyeballs is a poor experience and is contrary to the platform’s design goals. “Everyone, including Google,” Allen maintains, “is trying to figure out the right way to do this.”
The ultimate solution to be revealed might be a form of micropayments, perhaps for in-app purchases, rental charges, or on-demand Glassware. One thing is certain: monetization will come in time and in some capacity, and you will be able to profit from your work. Just be patient and stay ready for it.