Monday, May 04, 2009

Putting the Web in Web Applications

This post is part of the Who's @ Google I/O, a series of blog posts that give a closer look at developers who'll be speaking or demoing at Google I/O. Today's post is a guest post written by Ross Boucher, co-founder of 280 North.

When we set out to build 280 Slides, we wanted to create an application that made no concessions: something that felt as interactive as the desktop experience, while leveraging all the benefits of being online. We coined the term "desktop-class applications" as a way to describe our vision for what web apps should be. We also knew it wasn't enough to just recreate a desktop presentation tool pixel for pixel. We wanted to do something new, and to truly take advantage of being a web based solution.


The key to having a great presentation is having great media. A picture that helps tell the story with infinitely more clarity, or that just helps tell a good joke. A movie that shows a demo of your cool new widget that everyone's going to buy. Not all presentations, and not all individual slides will work this way, but the kind of in-person, captivating speech that Steve Jobs would enjoy relies almost entirely on images. And, of course, an engaging presenter.

So, if having great media is key to having a great presentation, it's important to be able to find great media for your presentation. Not all of us have an art department on hand, so we made this idea central to 280 Slides, and we did it with a lot of help from Google APIs.


If you take a look at what we call the Media inspector, you'll see we have top level choices for pictures, movies, and shapes. Both the pictures and movies tabs let you search popular web services to find the perfect media for your presentation.

When you search for a picture, we send a request to our server, which then sends out requests to several web services. Google's AJAX Search APIs actually enable us to perform server side searches as well, thanks to the Flash and Other Non-JavaScript section of the API. On the server side, this lets us send requests to Google and Flickr at the same time, and convert the responses to a consistent data format.


We're excited about finding other ways to integrate with Google services as well. For example, we hope to eventually enable publishing a presentation directly to YouTube, and use Google to log in to our service rather than having to create a new username.

We're also planning on changing the way we interact with the Google APIs. In addition to 280 Slides, our company makes a web application framework called Cappuccino. The media integration in 280 Slides has been a huge hit with our users, so we plan to build this feature directly into Cappuccino and let anyone building a web app integrate media searching with little effort. This means changing our approach from server-side to client side aggregation using JSONP. The AJAX APIs, YouTube APIs, and all the other APIs we use are now available by using JSON with padding. JSONP lets us work around the browser's same-origin policy to better integrate with third-party web services without proxying through a server.

280 North is going to be at Google I/O on May 27-28 to show off 280 Slides and how we integrate with the Google APIs. We'll also be showing off the beginnings of integrating this in Cappuccino which should be interesting to JavaScript developers. We hope you'll stop by the Sandbox!

If you want to learn more about how 280 Slides uses Google APIs, check out these Google Code videos with one of the co-founders:



3 comments:

  1. I want to use the API Search AJAX, to removing results for the search query (Non-Javascript Environments).

    The TOS allow it?

    ReplyDelete
  2. Hello,

    My name is Rajarshi Chakraborty, and I am Vice President of Innovation Systems Private Limited, web design and software development Company. We specialize on all areas of custom software development, complete website solution and E-commerce.

    I invite you to look over our portfolio of latest web development projects.
    http://www.invspl.com/portfolio/ or http://www.invsl.com/portfolio.html/

    We also work using Elance.com, Getacoder.com, Getafreelancer.com and Guru.com

    We're looking for business partners who fit in one of the following criterion:

    1. Business consultants who can refer one or more software project(s) to us and earn a percentage of the project(s) revenue.
    2. Individuals who are in charge of purchasing or outsourcing software development for an established organization.
    3. Software development companies who look to outsource their software development work.

    We offer either revenue share or commission based packages for the above eligible candidates
    We are open to discuss with any further business possibilities.

    Looking forward to your reply,

    For Innovation Systems Private Limited.

    Rajarshi Chakraborty.
    Vice President.

    Software Research & Development Centre.
    203, Sarat Bose Road.
    Kolkata-700029

    Phone: +91.33.40089512 / +91.33.40089511
    Mobile: +91.9830970585 / +91.9231800482
    Email: rajarshi@invsl.com / innovation.kolkata@gmail.com

    Website: www.invspl.com / www.invsl.com

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete