Developer Spotlight: RoundTable - An Interactive Presentation App Powered by Apigee App Services
RoundTable was the winner of the recent AT&T Mobile Hackathon. We asked Andrew Strickland about his experience building the RoundTable interactive presentation app powered by app services. RoundTable gives listeners the ability to ask questions during a presentation without waiting or interrupting.
Can you tell us a bit about your app?
RoundTable gives listeners the ability to ask questions during a presentation without waiting or interrupting.
Presentations work today are often synchronous communication in an inherently asynchronous environment. Whichever route you choose - wait until the end to ask questions or interrupt the speaker - data is being lost.
RoundTable facilitates better communication between people viewing a presentation and the presenter themselves. At the surface, there are HTML5-based presentations, and a sandboxed, real-time architecture. RoundTable figures out who owns what presentation and then facilitates full-duplex connections between 3+ independent clients.
We picture the ideal users being the person that presents on advanced topics at tech-conferences, or the web-savvy educator, who is looking for a new format to their classroom presentations that really forces the students to participate.
What were some of the development challenges you typically face?
RoundTable has to work on desktop, mobile, big-mobile, pretty much any size screen you could think to throw at it. There are plenty of UI frameworks designed to mitigate this issue, but most of them are not conducive to doing deck-based presentations.
It's weird to say that the biggest challenge for this app is the UI, but the team was already well established in doing real-time apps, and using a lot of the core technology. Real-time carries it's own challenges, but they are mostly mitigated by using an evented architecture, something that is drastically overlooked in modern web-apps.
How did you use Apigee?
I am a huge fan of doc-stores, and NoSQL in general. There's a lot to be said for "here's my object, which I am already using all over the place in my code-base - just persist that.” Brilliant! It's the concept behind the ORM, but executed in a way that doesn't suck.
Second, using Apigee plays into the "fewer languages" scenario I mentioned before. You're using a 3rd party, hosted, managed doc-store database that you interact with entirely via REST.
Third, having someone else worry about your Auth and ACL, is VERY underrated. Those two bits are probably the biggest pain you will ever run into with an app. Who has access to what? Do they have read/write or just read? Who is this person and how do we identify them? Having a system that has built-in users, but not in a way that gets in your way, is extremely helpful.
The other Apigee feature we wanted to use was asset storage and management. The idea of having these HTML files of unknown size and quantity added to the file system at any given time is a kind of daunting storage management problem in itself. The asset API would have completely solved that problem, but it appears to be unfinished presently.
What's next? . . . for app or other projects, your vision for the company, etc.
We are looking to disrupt how presentations are done, in the conference room, the classroom, and at the tech conference. The ability to bring viewers into the interaction has a lot of applications, and we feel that this can definitely facilitate a new paradigm in how we teach others. We have several obstacles to overcome (for example, a presentation can only support a few thousand connected viewers right now), but we are already pushing ahead on making this a reality. The 3-screen system is already an unrefined reality of our day-to-day lives, we're just looking to tidy it up and make it easier to use.
Over the long term, we would like to offer this platform to educators free of charge, along with a library of curated, education-centric presentations that would be made available to educators. Our vision is that hopefully a physics instructor in Tokyo can come up with a presentation that explains everything so clearly, teachers in New York and Denver start using it as a "go-to" presentation, and vice-versa. Nationalism and education shouldn't mix, so we want to nudge educators in the direction of "open source education."