In response to my previous post
, Ryan Brooks outlined his thoughts
on Backbase. This is very useful feedback. One of the main points of his post was the need for more community. I could not agree more. As with most software, RIA/AJAX software becomes more useful once more people are using it. And especially at this moment there are an awful lot of frameworks popping up: just look at Michael Mahemoff's list of frameworks
, which only mentions the open-source frameworks at this moment. So we need some critical mass, fast!
Luckily many thousands of people have downloaded the Backbase Community Edition
in the first couple of days. Our servers are still alive, but we'll have to pay a hefty bandwidth fee at the end of the month. A fee we're happy to pay: the more downloads, the better. We're also happy to see users from all over the world: the US still has the biggest share, but our software is also especially popular in China. So we will continue to distribute the Community Edition to as many developers as possible.
A couple of days after launching the Community Edition we opened up the Discussion Forum
, and we're preparing some other initiatives. We're thinking about a code exchange, a best practices wiki, a mailing list, faq database, technical articles with code samples, tutorials, user groups, developer conferences, etc. Of course, this won't all happen overnight, but we will focus on steady improvement. Let us know which of these features will help you most, so we can fine tune our planning.
Essential web page features
A second topic of Ryan's article was focused web page features that you should get for free when you use AJAX (compared with Flash or Java applets). He discussed indexing by search engines, back- and forward buttons, permalinks and bookmarking. I'd like to add 'View Source' to this list.
Search Engine Optimization is indeed an area that requires some attention with AJAX applications that use a Single Page Interface (SPI), because there is a risk the search engine only finds the first page. On Backbase.com
we're using a dual publishing model to avoid this problem: we use the same content files to publish both a rich single-page version and a plain multi-page version, which is indexed by bots. This requires some automation in the publishing process. As an alternative, the Backbase Tags allow you to use regular 'a href' links to load files with XMLHttpRequest: these links are also indexed by search engine spiders. In both scenarios, the search engine indexes 'pages' that are supposed to be part of an SPI. Therefore, some server-side logic is needed to convert these links to deeplinks that load the correct 'state' within the SPI. This topic will be covered in a 6-page technical article to be published in 1 or 2 weeks on the Backbase DevNet
. Backbase About Us page
Back-button and permalinks
This brings us to another topic Ryan mentioned: deep linking (with permalinks) and bookmarking. As I wrote in my previous post, we have some deeplinking support in Backbase.com. We are using URL parameters for this: for example,
is rewritten as
, which is parsed client-side: as a result, the Deck with ID
is selected. For people who haven't worked with Backbase: a Deck is a user interface concept similar to a stack of cards of which only the first one is visible. By selecting a card in a Deck, it is moved to the top, and becomes visible. This is what happens when the ID 'main_developers' is selected. The downside of using URL parameters is that the entire page is reloaded if we set a new parameter. An alternative is to use the pound sign (#), of which Tiddly Wiki makes good use: http://www.tiddlywiki.com/#UsingThisSite
. At Backbase we are currently using the pound sign for Back/Forward support in Firefox: we could use a hidden frame for this, but this only works in Firefox when you are retrieving real pages from the server. In Internet Explorer you can retrieve 'virtual' pages by using the DOM, which is obviously faster. So maybe we could give users an option: either fast Back/Forward without permalinks, or somewhat slower Back/Forward with permalinks. If we build in this option, we should be able to support all scenarios.
An area that is getting more an more attention lately is 'View Source', which was one of the key factors in the rapid growth of the World Wide Web. Steve Yen makes the link to AJAX in this blog post
, and there are probably many other relevant articles. Even the Macromedia guys now offer this feature
tag, of which one of the
tags has the ID
. You can follow this link, etcetera.
So all in all this became a pretty long post: basically I just wanted to say we're growing the community, and all input and ideas are welcome. At the same time we take compatibility with the essential web page features very serious.