Archive for the ‘Uncategorized’ Category

Bridging the gap between the domain model and relational data

Ever since the birth of the object-oriented design paradigm in software development, there has been the issue of how to store object data within the constraints of a relational database. Object associations and relations do not match very nicely with standard relational models (tables, columns, rows), and a lot of time is spent trying to store and retrieve data to/from relational databases. Basically, it’s like trying to fit square blocks into round holes. It can be done eventually, but with lots of banging and swearing.

The accepted standard (until recently) would be to have some intermediate data access layer that would populate each field of an object with the column of data in a table. It would also take care of populating any associations of the object by querying the database on that object’s key, and populating the list. All of this would require a lot of scaffolding code to be written, as well as stored procedures, to store and retrieve this data, resulting in a lot more development time. This practice is also heavily error-prone, as stored procedures are not compiled code and are highly prone to errors. On top of that, adding say, a new field, would require the field to be added to the table, then to the stored procedure (or many stored procedures – usually 1 per CRUD operation!), then to the object, then to the scaffolding code that populates the object data.

Sounds like a nightmare? It is. That’s where object-relational modelling (ORM) frameworks come to the rescue. They attempt to bridge the gap between the object domain and relational data world by “hiding” a lot of the work that needs to be done in order to persist an object domain model to a relational database. One of these (and one of the most popular) is NHibernate. Originally it was written for Java but has since been ported to be used with .NET and has grown in features and popularity. It is also open source, which means it can be used without having to pay any licensing fees.

The basic steps required to use an ORM like NHibernate are: design and code your domain model, write a set of “mapping” files to tell NHibernate how your objects are mapped to the tables in the database, and that is pretty much it! The framework contains many functions to allow the storage and retrieval of the object data without having to write a single stored procedure or SQL query. It does this by generating the required SQL on-the-fly in the background, and it does quite efficiently as well. And don’t worry – it uses parameterised queries, so the code is not susceptible to SQL injection attacks.

If this sounds like a dream come true, well, it pretty much is. Don’t get me wrong – it has its own pitfalls, but generally, the time taken to get a basic data access layer up and running is pretty much halved. One of the most time-consuming tasks in this process is writing the mappings between the ORM and the database (usually a set of XML files), but this has also been alleviated via the introduction of Fluent NHibernate, which is a fluent extension of the mapping system. It allows type-safe compiled mapping to be written into the data access layer itself, and also includes a set of unit test extensions that can be used in units tests to ensure that the domain is correctly mapped to the database. “Fluent” relies heavily on lambda expressions for the mappings (introduced in .NET 3.0), so knowledge of these are essential. They’ve been around a while now, so if you’re not up with them, well, you better get cracking or you’ll be left behind!

More information about NHibernate and Fluent (and many other NHibernate libraries and extensions) can be found here: http://nhforge.org

Designing for Social Networking

An interesting article on designing for social networking courtesy of Smashing Magazine.

Statistics from Nielsen Online have shown that “social networks and blogs are now the 4th most popular kinds of online activities. 67% of the world online population are now visiting them and the time they’re spending on them is growing by three times the overall growth rate of the internet. Social networks are now visited more often than personal email is read. Some social networks have grown to such enormous proportions that they rival entire countries in terms of population…”

A very good and insightful read!

How Online Advertising Works: Whither The Click?

The effectiveness of online display ads has always been a discussions point. Many of us consider display ads to be ineffective outside of very niche situations, in the same way that PPC only becomes viable for certain products or services. This situation is book ended by the fact that viewers are deserting TV and magazine advertising is falling through the floor. Many more brands and forward thinking marketing professionals are seeing the erosion of advertising in it’s current state in favour of brands as experiences and brands as participants not as projectors of message.

So, back to online display advertising. Comscore has recently produced a whitepaper entitled ‘How Online Advertising Works: Whither The Click?’, discussing the merits of online measurement – the click versus the view – and it’s well worth a read.

Some highlight facts from the front:

  • According to Doubleclick and eMarketer, click-rates on static display ads fell dramatically in recent years to average levels of only 0.2% in 2006
  • Rich media ads don’t perform much better, with a click-through rate of roughly only 1% in 2006, according to research from Doubleclick, eMarketer, Eyeblaster and ABI.
  • Recent research conducted by comScore on behalf of Starcom and Tacoda showed that average click rates on display ads in 2008 were less than 0.1%.
  • Further Starcom research suggests no correlation between display ad clicks and brand metrics, and shows no connection between measured attitude towards a brand and the number of times an ad for that brand was clicked.
  • The research suggests that when digital campaigns have a branding objective, optimizing for high click rates does not necessarily improve campaign performance.
  • The comScore research also revealed that two-thirds of Internet users do not click on any display ads over the course of a month and that only 16% of Internet users account for 80% of all clicks. comScore’s research also showed that the demographics of clickers are skewed towards younger users aged 25 to 44 earning less than $40,000 per year. This is hardly an attractive target segment for most advertisers.
  • Even search ads, presumably the most effective form of online marketing, are only clicked on 4% of the time at Google, and 2% at MSN and Yahoo!, according to comScore statistics.

We’re a Webby nominee!

We’re really honored to have been shortlisted alongside our good friends at Times Online for a Webby Award this year for the Time Spelling Bee site.

Get voting for us over at http://www.pv.webbyawards.com and we could also be in with a chance of a People Choice award.

If you don’t know what a Webby is, here you go:

Hailed as the “Internet’s highest honor” by the New York Times, The Webby Awards is the leading international award honoring excellence on the Internet, including Websites, interactive advertising, online film and video, and mobile web sites. Established in 1996, the 13th Annual Webby Awards received over 10,000 entries from all 50 states and over 60 countries worldwide. The Webby Awards is presented by The International Academy of Digital Arts and Sciences. Sponsors and Partners of The Webby Awards include: Microsoft Silverlight; The Creative Group; .ORG; Getty Images; The Barbarian Group; Digital Kitchen; Wired; IDG; PricewaterhouseCoopers; 2advanced.Net; KobeMail and Museum of the Moving Image

Paper Prototyping

Over at Cultured Code they’re undertaking some serious protoyping for their iPhone app. Quite an inspirational post by them showing their process and the tools they use to create paper prototypes.

Paper prototypes do tend to struggle to sit comfortably between rapid development and representation and here’s an example of high detail versus speed.

I’m particularly taken by the use of wooden templates for drawing common components. They’ve clearly spent time on their photographs, but nice to see the Rotring pencil and markers.

Online Spend to take over TV?

The Guardian reports today that online spend reached £3bn in 2007 accounting for 16% or total spend in 2007. Now these are interesting figures and to see but what would really interest me is how this online ad spend splits. As digital service providers we know that  ‘online’ covers a massivly broad remit ranging from, one must assume, PPC Campaigns to the huge budgets behind digital campaigns such as Nike Plus. So what’s getting the most financial attention and how is this chaning over time? Do these figures even take into account SEO and SEM given that large amounts of this kind of activity fall within internal technical teams? I’d imagine not.

aa