Ajax best practices



-         Don’t misuse it: use it when it has a real added value for the user.  I already heard people proposing to implement the entire navigation through ajax. The application runs with a single page with a div in the centre. When the user wants to navigate just refresh the div!  This is typically a misuse of the technology; it will enhance the complexity of the entire application and lowers the user experience because the user will be confused. e.g. user will be unable to use the back button.

-         Always provide a fallback solution because:

o       ajax isn’t compatible with old browser

o       disabled people usually are not able to use features that are only available through ajax,

o       people who have javascript disabled can’t use it.

o       most important: search engines are unable to index information only available through ajax.

-   Delay as much as possible: Ajax and JavaScript in particular should be used as lately as possible in the development cycle.  Incorporating ajax too soon tends to make changes more costly. In my opinion it's a bad idea to use ajax when the project is still in a early period of his lifecycle because their is a high probability that many changes will happen. Best practice is to use a dedicated iteration for adding the ajax and JavaScript effects.

-         When the UI and the backend are not made by the same developers, UI developer and backend developer should absolutely be physically close making part of the same team.

-         Decouple the presentation layer with the application logic and decompose the UI (pages) in different parts (modules).  This practice will facilitate the integration afterwards of the ajax effects.  Our team use a specific pattern.   Basically the module code is used in the classical way (without ajax) and re-used afterwards by javascript code that calls these modules through the scriptacoulous Ajax.Updater method.

18:00 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (12) | Tags : patterns, ui, development, ajax, practices, javascript |  Facebook |


I Exist

My team has worked hard last months to develop the latest Skynet application: Exist!

This application is primarily a social networking site addressed to Belgians who want to aggregate not only all the digital content they create and/or are interested in, but also all the digital information they may have compulsed over the time, into one place. It is also an opportunity to reinforce the social networking dimension we offer through our products. The main features of the site are to search by tags in order to find interesting profiles and to aggregate content in order to share your centres of interest.


During all stages of the development lifecycle we used web 2.0. technologies and paradigms. Therefore, all the effort has been brought to implement a feed aggregator, clean and meaningful URL and provide a rich end user experience through the use of ajax. The most difficult was to be able to provide a rich user experience with ajax but at the same time guarantee that the site remain crawler friendly.


This application was build using the latest technologies of two worlds that most web developers consider as concurrent: PHP and .Net. For the presentation layer we used a mix of the Yahoo YUI control library and prototype and the server side code was written in PHP 5.2  using our portal framework: ATOM.   For the backend we used WCF the latest Microsoft framework for building distributed applications.  By combining these technologies we tried to use the best tools available from the enterprise and open source world. 


Currently the application is online but not officially launched. So subscribe now exclusively and be one of the first on this new community.


Dutch version:  http://exist.skynet.be

French version: http://existe.skynet.be



11:42 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (1) | Tags : exist, rss, ajax, wcf, php, community, agregator, networkingweb 2 0 |  Facebook |


Web 2.0 or the self organizing web

Till recently I thought that Web 2.0 didn’t mean anything but last year I had the opportunity to participate at the SAF summit in Redmond.  Their I talked to people like Michael Platt who is primarily focussed on everything that is in connection with the Web 2.0 hype.  Now I’m convinced that we should (re-)think our business and techniques to be part of the revolution that Web 2.0 will be for our industry.  We are at the beginning of a new era, a time of rapid evolution in the IT industry that will cause considerable changes.    This disruption is underway but the baseline of what will happen in the future or who will be the new leaders have not yet emerged.  Specifically online media companies like Skynet are facing big opportunities but before realizing these opportunities we’ve to rethink our business if we want to survive.


I believe that moving forward advertising based companies, like ours, will be one of the pillars of the new revenue models with great profit potentials.  I also believe that the market will localize and that the future belongs to local companies because the advertisement in the future will grow horizontally. Advertising based companies will attract more and more little companies and local players as Skynet have a big advantage towards big multinational players.


Web 2.0. is mostly associated to new technologies like Ajax, REST, Mashups but in fact it is the least relevant part of it. In fact I have to confess that I hate the Ajax hype.  For me Web 2.0 is more about the web organizing the knowledge generated by the web. It is partially about organizing content and communication in accordance with a new paradigm. But what are the components of this new paradigm? I believe that Tagging is one of them.  Tagging is a great example of how Web 2.0. enables the web to self organizing itself.  


Tagging could change the way we organize our advertisement and could be an incredible value differentiator towards our customers. By allowing users to bookmark our content we get also a way to know our self and the content we own better.  Tagging could be a way to generate knowledge around our content and make invisible connections appear.  We should think about different ways of letting the user tagging all types of our content on our site (pages, rss feeds, music, video’s).  This will increase the user experience because the user will be able to retrieve more easily content by the way he organized the content for his own.  This will also give the user the ability to retrieve content by the way other users has tagged the content. This intelligence could be an immense asset for our customers.  Think about the way we could organize their advertisement campaigns by using the intelligence that the users have created for us.  We could also re-unify the people and the content by making links between tags describing people and tags describing content. 


Also for direct marketing tagging could mean a revolution in the way we organize new services.  It seems obvious to me that we should re-invent the way we qualify our users.  Let them decide how they describe themselves; don’t format the answer like we do now! 

12:30 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (0) | Tags : web, web 2 0, tag, tagging, ajax, web 2 0 tags tagging |  Facebook |