It occurred to me recently that our approach to Essential Viewer, and the Views in particular, is just like what Apple have done with the iPhone / iPad and the Apps.
Where Apple were particularly disruptive in the smart-phone market was their approach to the Apps. Yes, they provided a number of useful Apps with the iPhone, but by providing a platform for people to create their own Apps backed by the App Store where these Apps can be shared, they totally changed the game of what it was to be a smart-phone.
In contrast, the established manufacturers had been creating smart-phones and all the ‘apps’ that you might want for them and it was difficult (compared to iPhone) to get additional applications for your phone. Even with Symbian-based devices, which of course is an open-source mobile device platform, it appeared to be harder for people to create their own applications, when we compare those to the sheer volume of 3rd party Apps that are available for iPhone.
Clearly Apple had the benefit of many years of early-adopter hindsight as to what does and what does not work on smart phones. However, I think that when they combined the open (if somewhat governed) platform with the infrastructure to easily acquire Apps and an innovative approach to what it was to be an App, then it all came together. Most Apps are very focussed on specific tasks and can therefore be small, easy to develop and easy to maintain and so if the App doesn’t do what someone needs, rather than extend it and bloat, they create a new App that just does that new function.
This is very analogous to the approach that we have taken with the Essential Viewer and the Views. I’m not sure that describing the Viewer as a toolkit (as I did until recently!) does it justice. The Viewer is a platform that enables focussed, often small and lightweight, Views to be rapidly assembled to meet the specific requirements that you have for presenting analysis, decision support, insights etc. about your architecture in a way that is clear and makes sense to your stakeholders.
Typically, we find that ‘architects’ Views do not make the impact you would expect on business users. We need different Views for different stakeholders.
Like Apple’s approach with the Apps (compared to the established manufacturers), rather than try to build and deliver all the Views that our Community could possibly want, The Essential Project provides the platform for you to assemble your own Views using standard web-development tools of your choice, based on HTML and XML/XSL.
Of course, we will continue to produce Views that will be included in the growing suite that is bundled with the Essential Viewer. But, we don’t want to be holding any one back in terms of their View requirements! One of the founding principles of The Essential Project is that it’s about providing capability.
Continuing the iPhone App analogy, we want the Community area of the Essential Project website to be the ‘View Store’. We’ve had some great contributions on the software components side and the goal is that members of the Essential Community can share, contribute and download new Views via this website.
We’re always looking at how we can improve the Viewer platform to make it easier to assemble views. We are increasingly finding that we’re creating little template components that do specific tasks (e.g. render the name of an element when given its Instance ID) and I think that such View components would also be very valuable when shared in the ‘View Store’.
So, if the Views are Apps, the Essential Viewer is an iPhone or iPad, then the Essential Project Community website is the App Store.
Happy View building!