Archive for August, 2005
* XForms Autocomplete
Posted on August 25th, 2005 by Dave Johnson. Filed under AJAX, Web2.0.
I seem to have missed this blog from back in April but Mark Birbeck has written about how to implement a Google Suggest type application using XForms [1].
It appears that XForms makes building the application quite simple and may be a good way of doing things, but does it offer the flexibility required for something like the EBA ComboBox? I can envision a situation where someone with little programming expertise would appreciate the mark-up based XForms for building a simple Google Suggest but in reality one generally needs a little more control - thats why you program with Java rather than Hypercard. XForms may make it easy to build but it is still not a replacement for AJaX since with more abstraction you loose control of the details.
On the other hand, for component vendors like us it might make our job of building components that much easier.
[1] XForms Patterns: Incremental and Google Suggest
* Theoretical Dogma
Posted on August 24th, 2005 by Dave Johnson. Filed under AJAX, JavaScript, Web2.0, XML, XSLT.
There are a multitude of ways to get data to and from the client in an AJaX application.
A recent article by Jon Tiresn [1] outlines what he feels are the three most useful methods of returning data to AJaX client applications and makes a point of dismissing the idea of sticking to standards and other theoretical dogmas. I highly recommend reading the article but will mention the three methods he discusses which are:
1) simple return
2) snippit return
3) behaviour return
and I will add what I feel is an important fourth:
4) XML return
I added the last one because it is a very important tool in the AJaX toolbox since XML data can be transformed on the client very quickly using XSL-T thus reducing server load, enabling the inherent use of app server data caching and adhering to standard design principles. You can even do various tricks to reduce the size of your XML data so that you are actually transferring very little data.
All of these four options are good if used in the proper situation. I generally agree with Jon that there should not be any of this generic interface (SOAP, SOA, WS-*) type malarky in AJaX applications. There may be some special cases where one might put high value on being able to re-purpose AJaX data and thus make the client and server very loosely coupled but for the most part AJaX services will not be available to the general public and exist primarily to support the user interface.
Furthermore, due to the constraints that JavaScript places on AJaX applications in terms of latency and usability, one has to engineer both the client and sever interfaces for the best performance possible; this often includes performing time consuming operations on the server rather than the client and returning ready to process JavaScript snippets or behaviours as opposed to raw data / XML. This is not interoperable or standards based (yet) but pays huge dividends in terms of application usability.
That being said there may be instances where you are dealing with the same data in both internal and external applications and it might be helpful to be more standards based. Another strong case for being standards based arises from situations where you are building AJaX based components for use by the development community in web applications. These type of developer components should be easily integrated into internal systems and thus can benefit from being standards based - that is why there are standards in the first place after all.
In the end one has to ask several questions to determine what method to use. Some of the important questions to ask about the application would be
- is the data going to be used for several interfaces or systems inside or outside of your company (SOA type situations)
- is the application a one off (Google Suggest)
- how important is application latency
- how important is browser compatibility
- how much traffic and server load is expected
- how much client processing can be done without compromising latency goals
- how important is it to be standards based
- how difficult will it be for a new developer to extend / debug the application
- how much raw data is being transferred between the server and client
- how much formatted (HTML or JavaScript) data is being transferred
and so on (its late and I am tired:)). One thing is certain - the lines that define a traditional MVC architecture can get very blurry when dealing with AJaX.
What are other metrics that people have found useful when considering data access in an AJaX application?
[1] Designs for Remote Calles in AJaX
* It’s Good to be Green
Posted on August 18th, 2005 by Dave Johnson. Filed under Energy, Uncategorized.
I noticed today on the CBC that the average price of gasoline (petrol) in Canada has risen to over $1 CAD a litre [1] for the first time ever (not sure if that is considering inflation or not). It is no wonder given that a barrel of crude oil costs nearly $66 USD these days.
I find it strange that Steven Harper (the leader of the official opposition party in the Canadian Parliament) seems to think that we need to reduce taxes on gasoline to help out Canadians given that the trend of rising oil prices will likely continue due to Peak Oil [2], if he really wanted to help Canadians he would suggest increasing taxes to get people to ride their bikes or take the bus and then put any extra tax revenue towards helping people to kick their nasty gasoline habit. If fewer high flying executives, soccer moms and Internet tycoons would drive ridiculous cars like these (for the internet tycoons) or these (for the soccer moms) then we might be in a better situation both environmentally and economically. As fuel prices rise in the future it will increase the cost of everything that needs to be moved arround like food or products from Amazon. At least it will even the playing field for local food producers who traditionally cannot produce food as cheaply as you can in places further afield.
Given that transportation acounts for about 2/3 of our oil usage [3] it just seems silly reduce taxes or wage billion dollar wars for oil [4] rather than combatting consumption. Please Mr. Harper (and the rest of the Canadian Government) wake up and smell the reality of running out of oil.
[1] Gas Prices Soar Above $1 - CBC
[2] Peak Oil Enters Mainstream Debate - BBC
[3] US Oil Demand by Sector - US Energy Information Administration
[4] Cost of War
Recent Posts
Archives
- March 2010
- February 2010
- January 2010
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
