Yesterday, there wasn’t one great presentation. The good stuff was more sprinkled through the so-so presentations.
My favorite quote from the day is “Everyone is talking about being viral. A virus is a disease. Do you want people to view your app as a disease?” I think a lot of people use the “viral” label and may not know that it is becoming a “bad” word.
Basically a “viral” propagation of an application is a specific means of dispersing apps. The viral model is to not allow a user to use an application until they have spead invitations to there friends. Allowing people to use the app before they invite their friends is a separate model which Google is calling organic. It is specifically modeled after the “fruiting” model of propagation in biology. The common phrase was “your invitation has to include a gift (fruit).” This isn’t real earth shattering to me, but it seemed to be news to some of the MySPace, Facebook type app developers.
One of the other talks I went to was about GWT (they called it “gwit”) RPC. It was very interesting. GWT looked even more like Flex. What is not like Flex (at least the vanilla version of Flex 2 we are using) is that there is an extensive, performance oriented RPC framework that makes use of the Serializable marker interface. In order to use this you would have to have Java in the back end. It looked very good. However, there are ways to do RPC using data simply encoded XML and JSON like we are doing in our AJAX work.
The last presentation I will mention was by a guy from Slide. Slide develops applications that are available across containers, notably both Facebook and OpenSocial Containers are supported, using a single code base for the application. Slide maintains their own servers for data and the apps store their data in the SLide servers and can be used across containers. So actions you make in MySpace will also be visible in Facebook. So they had their own notion of users and had a mapping between the Container users and the app users. So if friend listen to your updates friends in both MySPace and Facbook will see the updates. At least that is what I got from it.
Notes about facebook and MySpace apps. These things are frightening from a scaling perspective. 10% of web page views are in MySpace, hi5, Facebook, and Ning. That is a scary amount of connections. The database design that Slide uses was incredible.
Also one common theme was that internationalization is required. SLide uses an interesting way of doing internationalization which utilized inheritance. So all the strings were defined in the “EN” object and the other languages inherited from it. So if a particular string wasn’t defined in a language then it would go up the inheritance chain till it found it. This makes doing things like English US, English British, Spanish Mexico, Spanish Catalan pretty interesting because all of the strings might not need translation.
Finally, the whole space of social apps is stupid as far as I can tell. All the examples given were juvenile (make no mistake I was using that in the pejorative). I really find it disturbing that companies exist to create applications where you can send a sheep, or a hug, or a smiley to a friend.



A framework like CakePHP has resource files that we’ve used for internationalization purposes. Relatively built-in.