Gode Tilbud (en. good offer) is a Norwegian response to AdWords taking the small & medium advertisers away from printed newspapers. Not so fancy web2.0 design & low performance were the reasons to make a smart jump into the modern web technologies.
The project is a result of cooperation between Oslo, Fredrikstad, Funchal & Cracow (Norway, Portugal & Poland). Two distributed teams were involved: Schibsted in-house developers (COP team) and external consultant company (Frontkom). Frontkom created Gode Tilbud for Schibsted in late 2011 and since 2012 maintenance and further development were handled by in-house developers. The new project was developed between October 2013 and February 2014.
We all knew what is wrong with previous monolithic project. Consultants had the experience with decoupling heavy Drupal sites by building the frontend on Single Page App - AngularJS, Solr, PhantomJS & Apache Solr Search module. The new architecture consist of portal (AngularJS), widgets (static file carousels), worker (PhantomJS), & the backoffice (Drupal, Solr).
Gode Tilbud project is organized in publications using Domain Access module. Our team's goal was to create the new version only for one publication (Aftenposten - our biggest newspaper). This meant that we need to run old & new architecture in parallel.
The biggest development issues were related to:
- PhantomJS stability,
- Solr index's performance (thousands of simultaneous calls),
- too weak call-to-action,
- carousel widgets performance (newspapers loaded with e-commerce stop to be readable).
Issues led us to some fixes (obviously), A/B tests of design improvements and the major refactor of the carousel widgets. We threw out what we could and we're left with less than 10kB of index.html file (HTML+CSS+JS) pre-processed by Grunt. The solution turned out to be so effective (it's probably the lightest carousel within the company's websites) that we're called it COP Carousel and it's going to be put on GitHub as an open source project.
The whole development process gave us a couple of large-scale conclusions when it comes to the architecture & releasing process:
- Drupal is about modularity but what about the whole project? Think outside the Drupal box.
- Make it lean: speak with the code to developers only and limit business-talk with programmers. Online demo is the common language which makes the discussion between business and development productive.
- Don't bend the reality and pick your battles wisely - use appropriate technologies for your goals.
- Design for a change. Change is the only sure thing in IT.
Project is running smoothly for months now. Moving publication to the new version is a one-day work. The new project looks good, works faster and sells better.
The prototype session was given during DrupalCamp 2014 in Wroclaw:
http://www.drupalcampwroclaw.pl/session/drupal-fast-enough-big-commerce-...
GodeTilbud itself:
http://godetlbud.aftenposten.no/
- Log in to post comments