17 October 2006
Just got sent this image of last night from a co-worker, Dan Wood. I'm trying to convince Dave Wiltshire on the left of the picture here of my HistoryManager and DeepLink classes in terms of their ability to de-couple views and stop you having to worry about the logic of user journies in your apps/sites.
(Click to enlarge)
It works very simply by giving you a way to initiate navigation requests by user action or direct from the app itself through a central HistoryManager which only your AppController listens to. This means you can do things like automatically generate tracking calls, tie it into the browsers history management etc. On the return journey (acting upon that deep link request) it sets in place a traversal of handleDeepLink() calls down your views so that they can handle the various "levels" in the deep link as they see fit, attaching/removing or loading ContentSections. As an added bonus we can also create RESTful URLs by including parameter notation in any level of the deep link we desire, e.g. "maps|uk|england[x=20,y=50]". This is part of something we are working on, but more of that later.
Dave just now: "Can't we have all documentation like this?" - brilliant ![]()

