I've started working in a company that creates web applications. I discovered a
new way of looking at websites, that of websites as an application.
...
"Hello, have you been sleeping? Wasn't 'RIA' (Rich Internet Application) one of the buzzwords (a few years ago)?"
Yes yes yes, but only recently I found out that the application view differs quite a lot from the view, my initial view, that websites are in essence only a source of information. In my opinion, information should be bookmarkable (and thus be unaffected by the state of things; stateless). But what about applications running on the web, which are essentially still sites on the world wide web?
JSF, a tool I only recently started working with is a tool that is
focussed at creating webapplications... and it
definitly seems to prefer the stateful approach in creating such web
applications (the resulting html pages rely on a session managing the
state of things). Originally, I found the output of JSF rather
conflicting with my view on how to create correct websites, but my
notion of websites was up until recently limited to the idea of website
as a source of information. In JSF it takes discipline to create such
stateless information websites. One should use the regular HTML
<form> tags instead of JSF's own <h:form>s and write your
own links by hand, otherwise you get the ugly commandLinks that JSF
produces with only a hash sign (#) in the href attribute and an onclick
behaviour attached... If you work around all these issues, much of the
framework that JSF originally offers becomes obsolete... From an
application development perspective, however, one could simply argue
that it just works. But if you look at it from an information
perspective: how to bookmark this information? Can I pass this link over
to my friends via IM? Can I continue where I left? And not to neglect:
can search engines index it properly? JSF is quite ok for
applications... but for creating informational pages? And one aspect
that is both bad for regular websites, and applications, is that
javascript is considered to be bad for accessibility (i.e. reduced
access for e.g. the visually impaired).
There is not so much of a problem with the application
view on web apps (and thus accepting that they are stateful) if they are
true web apps (have you ever felt the need to bookmark in Excel/Calc?
But in case of a site that simply allows browsing through database
content... that is information, not an application! Additionally, I
believe that each section, even in a webapp, should allow for
bookmarking, giving a user the power to make shortcuts (e.g. from a
separate help document), which is one of the core strengths of the world
wide web (everything has its own unique identifier, the url).
In essence, my latest observation comes down to the rather simple -I should be ashamed of myself- rule: information should be accessible, not locked up in session ID's that get passed through using cookies, or hidden form submits. Although slightly different rules apply to applications, it should be remembered that one of the core properties of the web is the unique resource identifier, that allows people to bookmark exact locations, no matter where they came from, or what state they are in. Web application builders using JSF, or probably any other'enterprise' framework should take that into account. ... Damn I'm slow.
Enjoyed this? Follow me on Mastodon or add the RSS, euh ATOM feed to your feed reader.
Dit artikel van murblog van Maarten Brouwers (murb) is in licentie gegeven volgens een Creative Commons Naamsvermelding 3.0 Nederland licentie .