Help The Victims of the 8.9 Earthquake in Japan by Spreading Awareness and Aid. Visit http://goo.gl/wjZQz to donate. /* ]]> */

Update: Patrick @Chanezon has posted links to his presentation. Thanks Patrick.

Please find them here:

____________________________________________________________

I went to the Google D3vF3st held in Pune on March 3,2010. I had several goals in visiting this event. These included learning something new, getting some pointers on the several topics that were lined for the day. I had the advantage or experience of knowing most of the material covered during the day but then I was sure that I would get some important points or that somethings dramatic would be shown, etc.

I came back with a mixed feeling. I picked up several tips, inputs, web site links, etc that I can now go back and look in detail. It will surely help me moving forward. The larger disappointment had to do with the way it was organized and I will get to that in a while. I hope that this blog post finds a similar resonance with other folks who visited the event and maybe Google can use some of these points to put up a more stellar performance next time.

First, let me cover the topics as they were covered through the day

Session 1 : Developing Google Chrome Extensions by Rajdeep Dua.

This session covered an overview of what Google Chrome Extensions are, along with how to develop one. I thought this was a good session and if the network had not played tricks, this would have been the standout session of the day. The session covered quite clearly the 3 types of extensions that one can write: Browser Action, Page Action and Content Scripts, how to package them, the gallery, etc. A few architectural slides on the Chrome Browser were good and gave some insight on what is going on behind the scenes.

Several other points that I noted down and which are worth a mention are:

  • The Local Storage is a good fit for storing your extension data rather than cookies. I agree.
  • Remember that there is a possibility that you will get the latest extension feature support in the Beta version (DevChannel) of the Chrome browser rather than the current released version.
  • In incognito mode, you will not see your installed extensions. :-)
  • The  image shown for the Chrome Extensions in your toolbar or inside the Address Bar is 19×19 pixels and you have a maximum of 3 characters that you can show on them.
  • You can overcome the cross-domain fetching issue by giving the appropriate permissions in the manifest file.

I felt that the Q&A time for this session went on for too long and with irrelevant questions at time. Maybe this was the first session and the organizers wanted to take as many questions as possible but I guess there needs to be a line drawn somewhere because we had started the day late too due to network issues.  But overall, I felt that this was the best session of the day.

Session 2: Google App Engine by Patrick Chanezon

I was really looking forward to this session. Several reasons for that. It was by Patrick (@chanezon) whom I have been following on Twitter for the tons of useful links that he has given. This was my first chance to hear the man in person. Also, I have a deep interest in GAE Java (http://www.rominirani.com/category/cloud-computing/google-app-engine/) having published a free book for all a few days back (http://gaejexperiments.wordpress.com/gaej-experiments-ebook). Sorry for the brief marketing plug here.

Patrick started off with a few quotes from the Upanishad and comparing the quotes to Cloud Computing. That was quite original. Due to less time, Patrick could not cover as much as he would have liked to. I felt a bit sad over here since GAE Java (and I am serious here) is a great platform and it would have been good to cover how to build->deploy a simple application using App Engine. I think this opportunity was missed over here. The choice of the sample application (Bloom Tweets) was good but the language selected was wrong. Not that I have anything against Python but the majority of the crowd was into Java and not Python.

Important points to take away:

  • We got a glimpse of different companies using AppEngine today. Best Buy, SocialWok and the two partner companies : Orangescape & Impetus.
  • Secure Data Connector is a good way to connect your App Engine into your internal network. The example given was of Best Buy, who used SDC to connect to their internal LDAP Serer. That way, the users were authenticated by the AppEngine application vis-a-vis the LDAP Server. Nice to know that.
  • The 30-second response time limit is quite challenging for a lot of applications out there. If you are facing that, it is time to look at some great points mentioned by Nick Johnson in this blog. Read that article over here.
  • Another company to look at as mentioned by Patrick ishttp://code.google.com/p/appscale/. They allow you to take their servers and host your App Engine applications locally. Should be quite interesting to look at this.
  • We also got a glimpse of Open Data Kit (ODK). I had come across this product several months back and was excited to see it getting covered. What ODK provides is the infrastructure to create data collection/aggregation/reporting applications. They have married Android + AppEngine to create all tools necessary to help field personnel collect and report data. If you are looking at creating applications of a similar kind, this is something that you should look at seriously and base your product on top of.
  • Big Table is more read friendly than write. So architect your applications as per that.

I think what a majority of the participants missed out in this session is to see clearly how easy it is to start with the Google App Engine Eclipse plugin and develop–> deploy a simple application. Several folks that I came across were just starting out or had not seen much of this, so it would have been good to have demonstrated that first.

Session 3 : Google Maps API by Rajdeep Dua

This was a good session and due to less time, it was focussed more on version 3 of the Google Maps API. Version 3 of the Google Maps is a serious improvement over the earlier version (v2) in a variety of ways:

  • It is geared to the ever expanding mobile web. The Maps fit as per device screen size restrictions, etc. There is also a meta tag for a full screen display.
  • v3 was written with performance in mind. The v2 Javascript was 195KB v/s just 35KB for the v3.
  • v3 is based on the MVC model. There was a code snippet that showed the differences in programming between the v2 and v3. In short, while you are in v2, we place the markers on the map. In V3, we pass the map to the marker object and tell it to draw itself on the map.
  • Interesting to learn about Tiles and how Google Maps Control breaks down the map into different tiles depending on the Zoom Level. Note : Zoom Level 0 is the whole world map in a single tile :-)
  • v3 does not need a developer token while developing/deploying your application. I wonder how Google will track the quotas usage since the quotas are still in effect.
  • Reverse Geocoding was good to see along with Directions, Multiple Directions, etc.

Session 4 : HTML 5 by Patrick Chanezon

This was an interesting session. We could not cover some of the HTML5 specific features in terms of code but we got to see ample HTML5 demos. I think the demos gave a good idea of what HTML5 can do and the possibilities for a developer to start creating those experiences today with HTML5. I am sure Patrick would have liked to cover more of the technical stuff but due to less time, we had to do with the demos. But I still think the point was driven home and it was clear i.e. HTML5 is going to be a serious challenger to Flash as and when it comes around.

Key points to take away:

  • You can start using HTML5 today with newer versions of Firefox/Chrome/Opera, etc. IE is still not there.
  • Some great demos are present at http://mozbox.org by P. Rouget. You must take a look.
  • There are some cool things we can do with the LocalStorage support in HTML. I believe this will be really key since offline model is quite important if we need to standardize on the browser as the main interface.

Session 5 : HTML 5 Panel Discussion : Featuring Patrick, Rajdeep, a moderator from PC Quest Magazine, Orangescape + Impetus representatives

There was a short discussion on AppEngine, HTML5 and its viability/availability. I think it was a balanced discussion. Orangescape & Impetus gave us a few points about their experience using AppEngine + HTML5. I think all the participants seemed upbeat about HTML5 and the promise that it will bring. As far as I am concerned, I am happy to have a choice and do not want to get dragged into whether HTML5 is better than Flash or not. Some of the questions from the audience were more like Flash is better, has 98% penetration,etc. But really who cares? It is not Google or Adobe or anyone who is going to decide that , though each camp has its preferences clear. The onus is on us, the developers, to pick and choose what is right / appropriate for an application and create applications. The more killer applications, we create .. the more the choice will become clear to all.

Session 6: Introduction to Android by Rajdeep Dua

This was a brief session on Android and the capabilities of this mobile platform. We got to see how Android address multiple applications and the communication between them. A brief note on how to surface your application via Launcher, Notification Bar, Widgets, Quick Search Bar, Live Folders and Wallpaper. This session was too short for anyone who has not seen Android before. Maybe it was just about enough to explain to all that Google does have a mobile story also.

Session 7: Social APIs by Prashant Tiwari

Another brief session on Open Social and related APIs. The focus was on seeing some of the Orkut APIs in action. Key points to take away:

  • Orkut has a larger marketshare than Facebook in India and Brazil. Facebook seems to be ahead in other areas.
  • Development of a Orkut Gadget seemed similar in style to that of a Wave Gadget.
  • There is also an Orkut Client library that folks can start using today.
  • A demo of sending your images as a scrap to your friends was demonstrated.

Session 8: Partner Presentations

  • Lepton Software : This was a totally uninspiring session. The speaker was not really interested and simply rushed through the presentation.
  • Impetus : This was an excellent presentation. Impetus are the folks who create an AppEngine port (Python) of Shindig (Open Social Container). They gave some excellent points on what their experience has been about the AppEngine and the problems/solutions. They covered each of the services like Task Queues/ Cron Jobs/ Datastore service, etc and gave Dos and Donts about them. If you were an experienced AppEngine developer, this information was really useful to validate your own experiences and/or to set the right expectations when you start creating these applications.
  • Orangescape: They have created a platform on top of AppEngine to rapidly create business applications. The session looked interesting but I had to leave at 5:30 PM since I had a train to catch. But since this was the last session, I do not think I missed too much. But their premise looks very interesting on paper but how well it will work in a real world where everyone would like their own custom business rules is to be seen.

Overall

I would rate it as 3/5. The main reason for this being that I had certain expectations in terms of the demos that I would see, etc. Here are some serious suggestions from my side:

1. Q & A session needs to be monitored and kept short. I think the prime reason for some of the delays apart from the network issues were the Q&A sessions which took up valuable time. I think Google should take the lead here and provide an interesting thing which I will describe here. Why not create a kiosk or two (Put those shiny Macs there!) with a simple application that allows any attendee to ask 1 or more questions. All the questions are then in the database with the Google organizers, who can then do a nice thing by answering them in a week or so after the conference. Wouldn’t that be nice ?

2. Here is my big suggestion to future DevFest’s. I think all the sessions were disjointed from each other when actually Google could have combined them all in single application to create a more compelling presentation and flow. What I am suggesting is an application like this:

  • Create a Attendee Registration system that can be broken up as follows:
    1. Create an AppEngine application that provides a simple form that people can fill up and register. Datastore API can be used to persist objects.
    2. Create an Android Application that allows people to visit the site and register too. They can also see Google Maps on the phone, get driving directions, etc.
    3. Create an HTML5 page containing canvas, video tags that can play the videos after the fest is over.
    4. Create an Orkut App that can allow folks to send scraps to their friends about DevFest. Integrate Twitter too over here. Show OAuth too over here.

What do you think ? Please contact me at romin.k.irani@gmail.com for any feedback.

9 Responses to “Google D3vF3sT 2010 – Pune – A report”

  1. Man, you even Debug a devfest !!

    I would hire you in the minute if I could, my friend

  2. In case you are interested, we built Socialwok entirely on GAE Java using GWT for the web-ui and Google Data API’s to connect with Google Calender, Docs, etc.

    We use Google’s OpenID to allow Google Apps and Gmail users to login and use Socialwok using their existing Google credentials instead of having to Signup. We use Oauth for authentication with external services such as Facebook, Twitter, LinkedIn etc.

    The next update of Socialwok will have Google Buzz federation , Pubsubhubub, Webfinger and Activity Feeds.

    For more info, Google code blogs have video’s and blog posts about how we built Socialwok. It is currently one of the most complex apps built on app engine and uses almost all its provided functionality.

    • Hi Vikram,

      Thanks for the details. It is certainly inspiring as a GAEJ developer to learn that the great stuff you have built is on GAE Java.

      Thanks
      Romin

  3. First of all congragts for the book, also thank you.
    loved your points about “more compelling presentation flow” and Patrick’s sessions to be longer.
    That said allow me to disagree with some other points that you stated.
    1.I totally disagree as far as your Q&A point is considered.I loved that portion (and can assure you atleast 5 other people in the conference that i spoke with loved it as well). And even the point of people asking questions by typing and getting replies by email misses the point. You can’t neglect the value of live interaction(if that was not the case we wouldn’t need teachers nor would people go and attend conferences in person instead of watching a live stream).
    2.And i’m sorry but nobody except the organisers has the right to call any questions irrelevant specially since it was a democratic situation and there was no clearly defined stuff to ask. At best you can dismiss them as noob level questions.
    3.No event can be ever tailor made to a particular person’s taste. What seems good to you might seem bad to me and vice versa.Please take the time to acknowledge logistic and social considerations as well.

    and just to clarify I do not work for Google or any of there partners.

    PS:I can confirm that you didn’t miss much after you left. you may visit http://www.orangescape.com/products (they have some youtube videos.

    • Hi Abhishek,

      Thanks for the wishes. Hope you find the book useful.

      In the spirit of “Open Standards”, we must “agree” to “disagree” :-) . So yes, you have a viewpoint too and I respect that.

      Some more points from my side:

      - I do not at any point mention that the Q&A should be done away with and inspite of certain disappointments from my side, I did get quite some valuable points from D3vf3st, which I have listed down for all readers.

      - I agree with the live interation experience that you mentioned and at the same time, the live interaction can go on between sessions, during breaks, a little after the conference, etc. My experience of most Q&A sessions of late has been that they are eating into a lot of time from other aspects of the conference, trainings, etc. Instead of the kiosk thing, there are several different ways too. Take questions live via Twitter hashtags, pick out the most relevant questions (The organizers select that), show that on the screen so that everyone sees the question, etc. There are multiple ways that this can be done.

      Thanks for your comments again. I think feedback from me, you and others about exactly what they felt about D3vF3st will help Google and all of us the next time around. And finally let there be no doubt about how much I really acknowledge Google for their great products, free tools and constant reaching out to the community via various mediums.

      Cheers
      Romin

  4. i meants “Congrats” in the first line.

  5. This was a good detailed post. I missed DevFest as I wasnt in the city else I would have been sitting besides you :) Your post helped me to catch up with the session as if it was unfolding in front of my eyes.

  6. Yeah some of the questions at devfest were totally unnecessary or even more sometimes out of the place. But the organisers didnt have any choice but to answer them. I also was looking forward to GAE session but I think maybe Patrick dropped some of the things in session just to avoid some more unnecessary questions. :) (kidding). But there’s always youtube to the rescue!

  7. [...] This post has moved to : http://www.rominirani.com/2010/03/04/google-d3vf3st-2010-pune-a-report/ [...]

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2012 iRomin Suffusion theme by Sayontan Sinha