An upcoming tool for the internet of things, new apps and tips for Android and web developers, followed by a healthy dose of comedy and camaraderie were featured at this year’s Twin Cities Google DevFestMN. I suggest some ways to enhance sign-up and attendee experience, and include links to resources from the event below.
The Twin Cities Google developer conference (DevFestMN) is an annual one-day event sponsored by GDG-TC, a 1,200-member user group. The $20 ticket price included breakfast, lunch, afterparty, door prizes, and 35 50-minute sessions in six general categories:
The event took place on Saturday, February 6 at the University of St. Thomas campus in downtown Minneapolis. Around 300 people participated. Check-in was fast as the organizers utilized Eventbrite’s website for registration/payment and app for ticket QR code scanning. After tucking away my free promo t-shirt and first course at the breakfast buffet, I scanned the seminar offerings on my phone.
I chose to navigate the conference using the newest DevFestMN app, and noted the new survey feature that allowed session attendees to submit response data after each time slot expired. Both the app and the DevFestMN website provided session and speaker information, and the website was responsive and looked great on my phone. However, the app allows the user to create a personal schedule. In addition, the general category, or track, for each seminar was named in the app, but not on the website, despite being color-coded in both places. For quickly locating the next session in a particular track, the app was slightly more readable.
Attendees were encouraged to join a Slack channel with a dozen or so general-topic threads, instead of repeating last years’ single-threaded Google+ group. Session-specific threads where presenters could answer questions and share links might have been more useful. Also, linking each session with a unique hashtag via the website and app would allow users to search for session-specific messages on Slack. However, increasing online engagement could also make attendees less inclined to speak to one another.
Achieving the perfect balance between digital distraction and interpersonal interaction is a difficult feat with any gathering, and possibly more so with a group of developers. The Slack thread devoted to user photographs gathered far fewer entries than last year. Fortunately, 30 out of 35 sessions were captured on video by GDG volunteers, reducing the need for ad hoc recording and note-taking.
The keynote by Google UI toolkit team lead Chet Haase introduced do’s and don’ts for Android developers. Unlike desktop apps, Android apps don’t automatically get more power when expensive operations are requested, rather, the operating system reads the state of the battery and manages the CPU speed to optimize battery life.
Haase outlined a number of strategies for designing fast, immersive mobile apps, such as limiting the use of nested for-loops, monitoring trash collection and hidden frames, and offloading CPU tasks to the server.
Dave Smith introduced Brillo, an Android-based embedded operating system for the internet of things (IoT). Google is providing the heavy-lifting in the early stages of this ambitious open-source project, which is currently in private beta, meaning that while the tools are available, the documentation and guides are not.
Together with Weave, Google’s communication protocol for IoT devices, Brillo will provide developer tools, code libraries, and a management suite for centrally tracking and updating a device fleet. Having such tools prebuilt and baked into the operating system should make development of secure IoT devices much simpler, and give Google home field advantage when it comes to smartphone and cloud connectivity.
To get started, developers can choose Brillo-certified off-the-shelf boards and download a board support package (BSP) directly from Google, or design custom boards that meet the standard requirements. 128MB flash storage and 32MB RAM are recommended minimums. The development model disconnects the software product from the board/BSP, so the two can be developed independently and then merged, unlike the existing model, the Android Open Source Project (ASOP), which allows developers to fork the Android OS for use in products, but the results are often board- and device-specific.
Baskin Tapkam introduced a Chrome page-scraping extension originally developed for checking websites for compatibility with ad-serving software. The proof-of-concept code scrapes web links from the target and stores data locally in MongoDB, and in the cloud, using Firebase. I enjoyed Mark Nutter’s lighthearted history of the web starting with TelNet chatrooms and ending with the rise of the shadow DOM and web workers. Buzzfeed’s Steve Peterson and Paul Marino outlined the process of building a video player app using Google’s ExoPlayer library, a session strangely free of hyperbolic slide titles or gif listicles. And finally, Anas Raza Firdousi of PayPal talked about web application architecture. Firdousi’s recipe for building a rich user experience involves breaking the experience into highly testable, sandboxed modules, which sit atop an application core that primarily manages the lifespan of those modules.
Following a comedy session by Chet Haase (as his alter-ego of process management consultant, shallow pseudo-analyst and shameless self-promoter), some attendees proceeded to Le Meridian for the after-party, where Haase was formally presented with doughnuts, an inside joke I was able to decipher thanks (yet again) to Google.
Once again, the organizers did a great job bringing people together and fostering a collaborative energy. Recorded sessions are now available on GDG-TC’s YouTube channel.