web design and coding services with a huge twist of creativity.

labs.sapo Central Platform

Published 1 year ago

labs.sapo Central Platform

Project Timeframe

November 2008

Motivations

In order to support a growing number of partnerships between SAPO and Portuguese Universities, which resulted in the wide deployment of several lab.sapo Platforms, there was a need to develop a central platform that would aggregate all the content produced on the different platforms.

Main PageContacts Page

Interface Design

The site needed to be simple and clean, in order to be in tune with the rest of the branding. There is a lot of information to account for, simply because there is an indefinite number of platforms to aggregate and support. One of the biggest challenges presented had to do with the colours used. Each independent platform has it’s own colour scheme, according to the harboring University style guidelines, so the central platform needed to be kept neutral as well as play well with whatever colour is thrown at it. So, a simple dark gray and white were chosen, while using the platform-specific colours in posts and highlights that originated in each platform.

Development Process

The platform needs to efficiently communicate with several independent platforms at once. In order to achieve this while keeping platform-agnostic, a layer of Web Services were deployed besides each independent platform. This setup allows us to abstract from the databases themselves and let each platform do the heavy lifting when it comes to mixing and mashing the data we need. Periodically, the central platform “phones” each independent platform and creates XML files that contain its latest updates. All these XML files are then converted to a combined RSS file on-the-fly, which is used to both update the XHTML in the site as well as to serve a news feed for those interested. PHP supports the whole platform and performs all these operations. In order to reflect the busy activity each platform has (or will have in the future), the site needed to auto-update itself in short, regular intervals. In order to accomplish this, the main page uses jQuery to periodically perform AJAX calls to the RSS file and update the page’s XHTML through JSON. These AJAX calls are performed in very short intervals, and the animation used to render in new elements while keeping old ones untouched makes for an exciting “live” experience at times where content creation is higher.

Final Thoughts

In conclusion, this was a project where I focused more on technical development, while still facing some tough design decisions. The platform itself is under continuous development as of now, and big improvements may be seen rather soon than later.

You can view the site online here.

drop me a line!

If your comment doesn't appear immediately after you submit it, it might be held for moderation. Sorry, all you can do is wait.

You can use these elements to write your comment.