Yesterday I went to the Carson Web Apps Summit at the Kensington Conference Centre in London. As before at d.Construct there was a collaborative note-taking session using subEthaEdit. Once again Steve Marshall did most of the work!
Joshua Schacter's presentation covered his experiences in creating Del.icio.us. He covered a lot of good tips for building a successful web-app, for example, he advised on getting to know apache really well to be able to tune it to your requirements. This included learning the black art of mod_rewrite (sidenote: If you don't know about mod_rewrite then find out as it's a very useful Apache module). I liked what he said about users of an application doing things you don't expect and based on this you can either amplify what they are trying to do, ignore or suppress it. The example given of unexpected behaviour was when some users we using del.icio.us to try and create 'conversations' by referring content to other del.icio.us content.
Cal Henderson talked about ten reasons to love Web 2.0 from the point of view of his work on Flickr. Cal mentioned how in the early days Flickr had urls like "http://flickr.com/photos/12.jpg" obviously this would not scale in the future. His advice was think about URLs early or it will bite you later on. An interesting part of Cal's presentation was internationalisation and how using unicode makes it easier to make your application work for all languages. UTF-8 is generally recommended due to it's wider browser support.
Tom Coates spoke about how data underpins the evolution of web 2.0 in his presentation Native to a Web of Data. A interesting point he made is how all of these services can combine to create a platform. In the latter part of his presentation he covered the architectural principles and best practices for writing an application/service. A big emphasis was on structured URLs and to not use file extensions that reveal the technology being used as this might change in the future. (Note to self: Must re-work urls in future update). Permanence of data is another important concept; if you do go changing your URL structure you will need to continue to reference all of your old links.
A presentation that I particularly enjoyed was the Ruby on Rails presentation by David Heinemeier Hansson of 37signals. I am definitely going to get around to trying out RoR in the near future as the methodology behind it of cutting out alot of the stuff that is repetitive makes a lot of sense. Something I didn't know was that David was a PHP programmer for 5 years before he developed the Rails Framework for Ruby. I can associate with the feeling of being a frustrated PHP programmer getting weighed down by the same tedious tasks time and time again. Although without a doubt there has been a lot of hype about RoR best thing anyone can do is check it out and make up your own mind. For more on RoR visit http://www.rubyonrails.org
Shaun Inman whizzed through his presentation on 10 reasons why you need to build an API. One of the points I really like was that coding with an API in mind can improve on code quality. Personally I've often wondered whether building the application around an API from the start makes more sense than creating your application first and bolting on an API afterwards. Shaun also pointed out that the API can really be the making of your application as it allows other developers to be able to extend your application which will also generate exposure as the talk about early adoption experiences.
The Adobe Flex presentation came across as a bit of a sales demo for Flex. Personally I don't hold much interest in Flex apart from the video aspects of Flash. As a video player Flash is fantastic due to the ubiquity of the flash plugin. As for creating Flash based web-apps using flex I can't get too excited; at least with unobtrusive Ajax it is possible to have an application degrade to a basic set of features should the client-side scripting not be available. With Flex, no-flash = no app, unless you code a completely separate version of your application. Still, don't let my personl opinion hold you back from finding out more.
Ryan Carson spoke about How to Build an Enterprise Web App on a Budget based on his experience with his application DropSend. It was a very open review of all of the costs involved in creating an application from Lawyers fees to buying in programmers and hardware to make your application happen. The most valuable point was to not spend money on stuff you don't need. That Macbook Pro and 30" cinema screen will have to wait ok?
The final speaker of the day was Steffen Meschkat of Google. His presentation Reality-Checking the AJAX Web Application Architecture went into some detail to desribe what Ajax is and why it's name is not so good; most of it is optional thus it should be called "A" for asynchronous. Alternatively is it just Client Side Scripting but CSS is already taken. After that Steffen went off on one about Javascript's naming conventions and browser inconsistencies until his time was up.
The mayhem that was caused by trying to fit several hundred people in a pub meant that Richard Rutter, Andy Hume, and one of Andy's Friends David "secret web 2.0 app" Haywood Smith and I found a quieter pub called the Goats Tavern, where we spent the most of the evening discussing Multimap and Drop Column Layouts/Variable fixed width layouts amongst other things. After a quick bite to eat at Wagamama we headed back to the Prince of Wales to hook up with everyone. Unfortunately I had to head off to get the last train so I didn't get to speak to many people but hey, there'll be plenty of time for that at SXSWi.