Google IO Day 2

Posted by Frank Cort Fri, 30 May 2008 15:48:00 GMT

Day 2 for me included a number of discussions with Google Engineers, 1 open social session, 1 GWT session, and 1 “Solution Provider” session. That last one turned out to be the most eye opening for me. So I’ll start with that.

gVAR

I’ve read that Google is aiming to replace Microsoft in the enterprise. Most of those articles have mentioned things like Google Docs and Google Apps. But those features alone won’t replace MS in the enterprise. MS has legions of Microsoft Solution Providers (i.e. VARS) that continue to push MS products into the enterprise and will continue to do so for a long time. The only real way Google can get into the enterprise market is by building out a Solutions Provider program. And the session I attended on Thursday unveiled (at least to me) that they are pursuing it.

Bottom line, they say Enterprises are looking to do more with less and Google Apps lets them do that. Google is anxious to work with VARs and Solution Providers. They’ve set up an online marketplace for services:

http://www.google.com/enterprise/marketplace/

And they listed the following revenue opportunities for solution providers:

   * Application Setup
   * Application customization
   * Sync Tool
   * Data Migration
   * Training and best practices
   * Custom application development
     - GADGETS!
   * API-based infrastructure
   * Remove service administration
   * Help desk support services
   * Reselling and customer referrals

Whats funny is that last one. They listed it, but then said they don’t provide referrals yet. And it wasn’t 100% clear that they intend on doing it. I would guess there is an internal struggle going on regarding that. And they better figure that out, or else their “VAR” program won’t go very far if they aren’t giving their VARs some sort of referral money ( I would think ).

The other one that I found interesting from a technical side is the Custom Application Development one. Its clear that Google Gadgets is becoming entrenched throughout Google’s applications. iGoogle, OpenSocial, SpreadSheets, Calendar, Desktop Search, Sites… All support Google Gadgets. In the Google Apps setting… They’ve made it so you can create Gadgets that are specific to a particular company and those gadgets can run inside the firewall. So, you can imagine an internal Intranet for enterprises built up with nothing but Google Gadgets. And indeed there are a number of solution providers heading in that direction.

Ok just two more interesting tidbits and then I’ll move on.

  1. They claimed they’re getting 10,000 new Google Apps domains sign ups a day. Of course they didn’t say how many of those were paid vs. free.
  2. Universities are getting into the game and using Google Apps to provide email to their students.

OpenSocial Future

So they just released OpenSocial spec V 0.8. The big addition for that is RESTful APIs.
During this session they described the spec proposal/review process they used for V0.8, and declared they were going to use it again for V0.9.

But that’s not the interesting part.

The interesting part is that V0.9 will include templates. At first I thought it was just going to be OpenSocial’s version of FBML (FaceBook’s Markup Language for applications). And it is, sort of. It is in that OpenSocial’s templates will have tags that can instruct containers to render things using their look and feel. E.g. A template can include the following tag

<os:ShowPerson person="${Cur}" if="${!Cur.IsOwner}"/>

Which will cause each container (Yahoo, Bebo, Hi5, etc.) to render a person in their own look and feel. This will greatly help unify the look and feel of applications on one container. However, unless done right, each container may act differently, and cause applications to have to be rewritten for each container. That wasn’t addressed.

The way these templates are different than FBML is that they can be applied on the client side. Meaning, the V0.9 spec contains a Javascript set of functions that take a template (i.e. Text) as input and renders HTML into the application. So, OpenSocial isn’t giving up any of its client side benefits in order to do this.

http://groups.google.com/group/opensocial-and-gadgets-spec/web/opensocial-templates

Big TakeAways for me

  1. OpenSocial is going to be much more interesting than I thought.
  2. I wouldn’t be surprised if Google Gadgets are declared a “sleeper hit” sometime in ‘08 or ‘09.
  3. Developers I talked with are all skeptical of Google App Engine.
  4. Google Gears guys aren’t thinking big enough.

Google IO Day One - OpenSocial has caught my attention

Posted by Frank Cort Thu, 29 May 2008 21:00:00 GMT

I started off today thinking that I would spend most of my time focused on the Google App Engine and Android Sessions. But a couple things during the Keynote caused me to change my mind. First they announced the pricing for the Google App Engine and said they won’t start charging until the end of the year (which makes me think its still very very premature). Second, they showed Android during the Keynote, and while it looked good, they didn’t say anything about actual hardware/carriers (I was hoping they would today). But lastly, and most importantly, they presented these numbers…

  • Why should you be interested in OpenSocial?
    • Sept 07
      • 0 Potential Users
      • 0 Developers
      • 0 Application Installs
    • Today (only 9 months later)
      • 275 Million Users
      • 20K Developers
      • 50 Million application installs

Plus they listed all of the confirmed OpenSocial containers. Hi5, Bebo, Yahoo, MySpace, iGoogle, LinkedIn, etc.

OpenSocial

So, it became clear to me that the OpenSocial sessions would be the most interesting and might provide me with info and skills that I could use now.

And actually they did for the most part. I attended one “intro to OpenSocial” which gave me a good overview of the terms and concepts. Here is my Executive and Technical summary:

  • Executive Summary:
    • We should consider creating OpenSocial apps for our sites… or we may want to turn some of our sites into Containers and let others run apps inside our site.
    • Audience: 275 Million in 9 months.
  • Tech Summary:
    • OpenSocial API is built on top of the Google Gadgets API.
    • OpenSocial Apps are rendered in an IFrame (slightly more “heavy weight” but more secure and easier to adapt to).
    • Facebook apps are rendered in div after html sanitization.
    • OpenSocial App’s look and feel will diverge. FaceBook apps will not.

I also attended a 2 hour code deep dive and built a basic OpenSocial app. Here are the steps we followed:

http://code.google.com/apis/opensocial/articles/tutorial/io.html

That tutorial is pretty poorly written… so it was good to be able to ask the authors questions in person.

The other OpenSocial session I attended (briefly) was given by the CTO of iLike. He’s built and scaled FaceBook apps and OpenSocial apps. My interesting takeaways from that was A) they use rails for everything and B) he thinks OpenSocial’s approach lends itself more to moving computation to the client side and will ultimately be more scalable because of it.

The other two sessions I attended were a bit random.

Under the Covers

One was a “Look under the covers at Google.” It was jam packed full of people. But nothing new was uncovered. They talked about their various software systems that let them run distributed apps efficiently on commodity hardware (i.e. Google File System, MapReduce, and BigTable). The Oregon data center was mentioned multiple times which made me happy.

Google Gears

And the last random session I attended was a look ahead at Google Gears++. They showed how Google Gears will be used (in the future) to allow web apps to.

  1. Create desktop icons
  2. Popup nice desktop notifications
  3. Access the native OS File System Dialogs for multiple file selection.
  4. Work with binary data in javascript (Blob)

I was hoping to hear them say that Google Gears was going to help web apps “use the webcam”, or “take a screenshot”, or “connect via P2P to other browsers.” But nothing innovative was mentioned. Those four things they listed are boring honestly… And I have high hopes that Yahoo’s BrowserPlus will end up blowing gears out of the water. (disclaimer: I contributed a little to BrowserPlus while at Y!)

Lastly… Videos of all the sessions will be posted next week here:

http://code.google.com/io

Patch for Status/Presence updates in PyYIMt (yahoo/jabber transport)

Posted by Frank Cort Wed, 21 May 2008 17:37:00 GMT

     

We recently launched a real-time question/answer service called “AskMeGo”. It is essentially Yahoo! Answers except we connect users up using Instant Messaging networks and encourage 1-1 chatting to take place. This is timely because Yahoo! Answers has recently come down and banned chatting on its site.

Anyhow, our backend (for the time being) is built on top of Jabber and the various python transports available for the popular IM networks. Status/Presence updates are extremely important to us because it lets us advertise (anonymously) whether a user is online or offline on our website.

We found that the Yahoo python transport (PyYIMt) wasn’t handling some of the edge cases when it comes to status/presence updates. Specifically we were having trouble with the following cases

  • When adding a new yahoo user to the roster, the presence update for the new user wasn’t coming through properly.
  • When a yahoo user on our roster went from “Invisible to All” to “Available”… we wouldn’t always get the update properly.
  • When a yahoo user on our roster went from “Idle” to “Available”… we wouldn’t always get the update properly.
  • When a yahoo user on our roster had set their status to “busy” (or one of the other canned statuses) and we came online… we wouldn’t see that status.

Some of the issues are due to some changes in some of the newer Yahoo! Messenger clients. But, the transport’s status update code was a bit off too.

So, I ended up creating a patch for the transport and PyYIMt’s author/maintainer (Norman Rasmussen) asked that I post it somewhere. So here it is:

I had never touched a lick of Python code before digging into PyYIMt… so if there is a better way to organize it. Let me know.

Google Maps Mashup: Traffic for commuters. 2

Posted by Frank Cort Fri, 18 Apr 2008 16:42:00 GMT

I threw together a google maps mashup for commuters.

Historical Traffic Viewer


Its a rough prototype (and only works in the bay area). Its really a reaction to the new Google Maps features released yesterday.

I actually think Google missed the mark here. They seem to be targeting users who are planning a future trip. I agree… thats useful, and I’ll probably use it, but maybe once or twice a year. However, I commute everyday to work. And unfortunately, the features that Google released yesterday do not address my needs a commuter. As a commuter I want to see the current traffic trends. Not “average traffic”.

Dream Gig - VC Innovation Lab

Posted by Frank Cort Thu, 27 Mar 2008 16:02:00 GMT

Last week I started my new job as a member of a “Innovation Lab.” The lab itself is part of a Venture Capitalist who hasn’t quite put out all the PR that it wants to on it.. so I’ll refrain from blatantly posting who it is (for now).

From what I can tell… I’ll be about 75% engineer and about 25% entrepreneur.

We’ll be focusing on the Consumer Internet space, and we already have a number of projects underway. For the time being I’ll be helping out on getting those projects from point “a” to point “A” (little “a” being early seed financing, big “A” being an actual series “A” round). Later, I hope to spearhead a few projects of my own when the time is right.

The projects, so far, range all over the map technically… which I like. Most of my work will be server side using Ruby on Rails. That is a large switch from my recent .NET/WPF/C++ client side work. But I’ve been a huge fan of Rails for a long time and I built a number of little rails apps inside of Yahoo while I was there. Now I get to learn from some Rails pros.

Once the PR flood gates are open… I’ll start posting links to projects that we deploy.

If anyone reading this has an idea or prototype that they would like to get in front of VCs, let me know ;) .

ScottGu's First look at Silverlight 2

Posted by Frank Cort Fri, 22 Feb 2008 17:25:48 GMT

Link

I’ve had the honor of being a part of Microsoft’s Connect program for Silverlight 2… which means I’ve had a chance to get my hands on the first bits of Silverlight 2.  And let me tell you… it rocks.  Its going to give Flash/Flex a run for its money.

As a WPF developer… I’m extremely excited to see that my skills will easily carry over to Silverlight 2. 

ok... now thats useful

Posted by Frank Cort Mon, 11 Feb 2008 02:55:00 GMT

I’ve had trouble putting my finger on why targeted ads on Social Networking sites is a good idea.

Here is one great use. I’ve used Google Adwords in the past to test out business ideas. Facebook lets you do that within a small select group of users.

Here is a great example:

Microsoft and Yahoo employees eye exits on facebook


http://typosphere.org' %> / styled with scribbish