<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5879803756523278249</id><updated>2012-01-01T14:15:28.696Z</updated><category term='flash'/><category term='altio'/><category term='tools'/><category term='soclal graph'/><category term='Apple Mac'/><category term='woa'/><category term='macromedia'/><category term='printing'/><category term='projects'/><category term='wsdl'/><category term='graph'/><category term='applet'/><category term='upnext'/><category term='pcworld'/><category term='application'/><category term='SOA'/><category term='rea'/><category term='chrome'/><category term='composite application'/><category term='paragon'/><category term='woodford farm'/><category term='agile'/><category term='livebox'/><category term='web 2.0'/><category term='javaone'/><category term='printer'/><category term='enterprise'/><category term='software engineering'/><category term='web service'/><category term='MAC address'/><category term='prince'/><category term='JavaOne2008'/><category term='eclipse'/><category term='london'/><category term='iMac'/><category term='fenchurch street'/><category term='altiolive'/><category term='scanner'/><category term='javafx'/><category term='nHibernate'/><category term='hp C4380'/><category term='software patent'/><category term='lastfm'/><category term='java'/><category term='project failure'/><category term='silverlight'/><category term='ajax'/><category term='applets'/><category term='2007'/><category term='jvm'/><category term='TOGAF'/><category term='BOA'/><category term='webservice'/><category term='visual studio'/><category term='technical debt'/><category term='kodak 5300'/><category term='jquery'/><category term='SpringFramework'/><category term='problems'/><category term='C4380'/><category term='adobe flex'/><category term='UOA'/><category term='coaching'/><category term='software'/><category term='SIFMA'/><category term='free range'/><category term='Filters'/><category term='microsoft'/><category term='project management'/><category term='ria'/><category term='testing'/><category term='release'/><category term='project'/><category term='chicken'/><category term='Criteria'/><category term='c2c'/><category term='commuting'/><category term='rochford'/><category term='cyprus holiday'/><category term='google'/><category term='estimation'/><title type='text'>Gary Thompson. Random thoughts.</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2105526372046004073</id><published>2010-03-29T13:09:00.001+01:00</published><updated>2010-03-29T13:09:25.627+01:00</updated><title type='text'>Managed failure is good!</title><content type='html'>&lt;p&gt;One of the reasons why I like Agile development is because it enables the team to manage risk and uncertainty. It also allows a team to learn from earlier iterations and improve processes. &lt;/p&gt;  &lt;p&gt;Reading the blog “&lt;a title="http://blogs.hbr.org/hbr/mcgrath/2010/03/are-you-squandering-your-intel.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+harvardbusiness+%28HBR.org%29&amp;amp;utm_content=Bloglines" href="http://blogs.hbr.org/hbr/mcgrath/2010/03/are-you-squandering-your-intel.html"&gt;Are You Squandering Your Intelligent Failures?&lt;/a&gt;” made me think how closely an executive approach to learning from failure is similar to the approach taken by Agile teams. It’s funny how I never really read about Agile projects that failed, unless you count &lt;a href="http://thompson-web.blogspot.com/2008/04/project-estimation-duration-effort-and.html"&gt;London Heathrow Terminal 5&lt;/a&gt;. Oh! and Toyota - &lt;a href="http://feeds.harvardbusiness.org/~r/harvardbusiness/~3/YFXRCHs6N9k/dont_believe_everything_you_re.html"&gt;The Wrong Lessons From Toyota's Recalls — And the Truth&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Will there be a time when Agile projects become too process driven and people lose sight of the original purpose of Agile. Then like Toyota the problems start to creep in because nobody feels able/willing to hit the stop button.&lt;/p&gt;  &lt;p&gt;To have done everything possible to prevent failure and fail shouldn’t be considered bad. To repeatedly fail because of the same problem is definitely bad. What does it mean to fail even when the processes should prevent failure?&lt;/p&gt;  &lt;h3&gt;Some random blogs&lt;/h3&gt;  &lt;p&gt;Very good explanation of why organisation blow their brains out trying to meet share price expectations - &lt;a href="http://feeds.harvardbusiness.org/~r/harvardbusiness/cs/~3/WTR5XZS4bH8/why_ceos_dont_owe_shareholders.html"&gt;Why CEOs Don't Owe Shareholders a Return on Market Value &lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s all too easy to forget simple rules about effective management, here is a reminder- &lt;a href="http://feeds.harvardbusiness.org/~r/harvardbusiness/cs/~3/gHxkMiHHNDQ/important_reminders_for_anyone.html"&gt;Eight Things Your Employees Want From You&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is worth reading when considering innovation within your own organisation, just because it’s about starting your own business doesn’t mean it isn’t relevant to large organisations- &lt;a href="http://feeds.harvardbusiness.org/~r/harvardbusiness/cs/~3/U1mYfdeCzZg/the_2minute_opportunity_checkl.html"&gt;The 2-Minute Opportunity Checklist for Entrepreneurs&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2105526372046004073?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2105526372046004073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2105526372046004073' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2105526372046004073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2105526372046004073'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2010/03/managed-failure-is-good.html' title='Managed failure is good!'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6057896393706728989</id><published>2010-01-21T09:34:00.001Z</published><updated>2010-01-21T09:34:19.018Z</updated><title type='text'>Technology roadmap - engineer or manufacture?</title><content type='html'>&lt;p&gt;In October 2009 I went to a talk on “Enterprise Design Objectives - Complexity and Change” where John Zachman gave a talk on his framework. John is a very charismatic character and I would say it is worth going to one of his talks. &lt;/p&gt;  &lt;p&gt;There were several related topics during his talk that stuck in my mind(1) engineering or manufacturing, (2) &lt;a href="http://en.wikipedia.org/wiki/Ontology"&gt;ontology&lt;/a&gt; (3) late binding / loose coupling.&amp;#160; While John’s talk was specifically about Enterprise Architecture and not software development there are similarities. &lt;/p&gt;  &lt;p&gt;The definition of engineer and manufacturer, as I recollect, were:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Engineer&lt;/strong&gt; – builds primitive models and templates for mass produced solutions&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Manufacturer&lt;/strong&gt; – takes primitive model or template and produces the final product, “creates an instance of an engineered solution”.&lt;/p&gt;  &lt;p&gt;As a small organisation it is important to identify the balance between engineering and manufacturing, don’t re-invent the wheel. A balance between engineering to achieve a competitive edge and using existing products to accelerate the manufacturing process has to be achieved.&lt;/p&gt;  &lt;p&gt;Altio has spent many years of effort engineering a framework for implementing RIA applications using Java, as a small business this is costly and makes maintaining momentum difficult. That is why the focus of future Altio releases is now on engineering only the features that provide the greatest value to existing and future customers. As many features as possible will be implemented using high quality products from third party sources. &lt;/p&gt;  &lt;p&gt;As an organisation Altio is changing the balance of development effort from engineering to manufacturing.&lt;/p&gt;  &lt;h3&gt;Capabilities&lt;/h3&gt;  &lt;p&gt;Identifying items to engineer and those that can be re-used as part of a manufacturing process is achieved by defining capabilities, how each capability relates to another, and the features of each capability. In effect defining an &lt;a href="http://en.wikipedia.org/wiki/Ontology"&gt;ontology&lt;/a&gt; for the framework.&lt;/p&gt;  &lt;p&gt;During the talk on Enterprise Architecture a statement was made that it is impossible to engineer the enterprise, the answer to this was the Periodic Table, an ontology of atoms. Very complex structures can be created from basic, loosely coupled atoms, humans are probably the best example of this. This was the justification for defining Altio capabilities and features, thus enabling us to generate a &lt;a href="http://en.wikipedia.org/wiki/Scrum_(development)#Product_backlog"&gt;product backlog&lt;/a&gt; to begin development.&lt;/p&gt;  &lt;p&gt;The key to delivery will be ensuring each capability is loosely coupled thus enabling late binding of solutions and modular implementation of each capability.&lt;/p&gt;  &lt;p&gt;The value add to our partners and customers will be knowledge, support and framework capabilities that accelerate the delivery of high quality solutions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.zachmaninternational.com/index.php/home-article/89#maincol" href="http://www.zachmaninternational.com/index.php/home-article/89#maincol"&gt;http://www.zachmaninternational.com/index.php/home-article/89#maincol&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6057896393706728989?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6057896393706728989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6057896393706728989' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6057896393706728989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6057896393706728989'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2010/01/technology-roadmap-engineer-or.html' title='Technology roadmap - engineer or manufacture?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-1694416496174219789</id><published>2010-01-11T12:00:00.001Z</published><updated>2010-01-11T12:00:31.252Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe flex'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>Where did the last few month go?</title><content type='html'>&lt;p&gt;I can’t believe it’s 2010 and my last entry was in October. &lt;/p&gt;  &lt;p&gt;I’ve been maxed out working on the future roadmap of the Altio and technology.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.altio.com/blog/technology/altio-53-released/" target="_blank"&gt;Altio 5.3&lt;/a&gt; was released in September, and Altio 5.4 will come out before March this year. Altio 5.4 is likely to be the last major release of Altio using Java Applets for the front end. Altio 6 will retain the Presentation Server backend but the user interface is primarily going to be Adobe Flash, developed using Adobe Flex. &lt;/p&gt;  &lt;p&gt;This means that for 2010 the toolset for user interface development using Altio will be Java Applets, Adobe Flex and HTML. The long term future will be HTML/JavaScript, but it will be a case of seeing where Google and other big players take HTML5.&lt;/p&gt;  &lt;p&gt;The key changes to the Altio framework will be more attention on data visualisation for specific business domains such as Foreign Exchange trading and compliance.&lt;/p&gt;  &lt;p&gt;I can’t see 2010 being any less challenging than 2009, and let’s face it life would be boring without challenges to overcome.&lt;/p&gt;  &lt;p&gt;Interesting links&lt;a href="http://blogs.techrepublic.com.com/tech-manager/?p=27"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.techrepublic.com.com/tech-manager/?p=2716" target="_blank"&gt;Explore the Semantic Web's standards and real-world applications&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.noop.nl/2009/09/scrumbuts-are-the-best-part-of-scrum.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+noop+%28NOOP.NL%29" target="_blank"&gt;ScrumButs Are the Best Part of Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.hbr.org/baldoni/2010/01/how_will_you_make_a_difference.html" href="http://blogs.hbr.org/baldoni/2010/01/how_will_you_make_a_difference.html"&gt;How Will You Make a Difference in 2010?&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-1694416496174219789?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/1694416496174219789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=1694416496174219789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1694416496174219789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1694416496174219789'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2010/01/where-did-last-few-month-go.html' title='Where did the last few month go?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6042386453826287821</id><published>2009-10-08T19:21:00.001+01:00</published><updated>2009-10-08T19:21:33.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Follow-up on duct tape programmers</title><content type='html'>&lt;p&gt;Just read &lt;a href="http://codebetter.com/blogs/ian_cooper/archive/2009/09/28/beating-the-duct-programmer-with-generic-domains-subdomains-and-core-domains.aspx"&gt;Beating the duct programmer with generic domains, subdomains, and core domains&lt;/a&gt;. Great explanation of when you want to apply software engineering and duct tape programming. As I’ve said before - there is a time and place for good software engineering and a time to just get the job done.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6042386453826287821?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6042386453826287821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6042386453826287821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6042386453826287821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6042386453826287821'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/10/follow-up-on-duct-tape-programmers.html' title='Follow-up on duct tape programmers'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6282863228574659046</id><published>2009-09-26T21:42:00.002+01:00</published><updated>2009-09-26T21:44:13.504+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='technical debt'/><title type='text'>If only there were more duct tape programmers</title><content type='html'>&lt;p&gt;Give me a pragmatic programmer any day, there is a time and a place for purists and perfectionism…normally when you have 20 million in the bank. &lt;/p&gt;  &lt;p&gt;Please don’t get me wrong all teams need a balance of staff but when you are under pressure you need the guy willing throw the “design patterns” book away so the job can be done quickly.&lt;/p&gt;  &lt;p&gt;Anyway, anyone who works with me will know how much I harp on about technical debt, well there is a great entry by Joel Spolsky called &lt;a title="http://www.joelonsoftware.com/items/2009/09/23.html" href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;“The Duct Tape Programmer&lt;/a&gt;”. It’s not about technical debt but about developers who aren’t purists but certainly know how to get the job done, and understand the business need for getting it done as quickly as possible.&lt;/p&gt;  &lt;p&gt;Go read &lt;a title="http://www.joelonsoftware.com/items/2009/09/23.html" href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;The Duct Tape Programmer&lt;/a&gt; .&lt;/p&gt;  &lt;p&gt;Technical debt doesn’t have to occur because of a rush job, it can happen through being too clever. If nobody else can understand your code unless they have a PhD in Astrophysics then you have technical debt.&lt;/p&gt;  &lt;p&gt;Talking about must read articles I read &lt;a href="http://www.amazon.co.uk/Freakonomics-Economist-Explores-Hidden-Everything/dp/0141019018/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253997601&amp;amp;sr=1-1"&gt;Freakonomics&lt;/a&gt; this month, great book – made me laugh and go wow! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6282863228574659046?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6282863228574659046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6282863228574659046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6282863228574659046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6282863228574659046'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/09/if-only-there-were-more-duct-tape.html' title='If only there were more duct tape programmers'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2038522592747025963</id><published>2009-09-15T19:15:00.001+01:00</published><updated>2009-09-15T19:15:50.524+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project failure'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Technical Debt, JIRA, priority and severity</title><content type='html'>&lt;p&gt;“&lt;em&gt;efficiency is about doing things right, while effectiveness is about doing the right things&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.atlassian.com/software/jira/"&gt;JIRA&lt;/a&gt; is a great issue/task tracking system but I’m not convinced not having a severity field by default is a good idea, their explanation is;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“The Severity field was removed for a number of reasons, but principally because it was confusing to business users. To a software developer, it seems obvious that the severity of the bug (&amp;quot;The system crashes completely&amp;quot;) is unrelated to the priority of it (&amp;quot;There is a one in a million chance of this occurring&amp;quot;). However, JIRA succeeds so well because business users can actually use it.&amp;#160; If you present a business user with these two fields, they are instantly confusing (which is why the Severity field was removed). “&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is a convincing argument. Although, I would suggest that not having severity over simplifies the decision making process. A decision probably best answered for each project individually – experience tells me the business is more inclined to be upset if they create a high severity record and the tech team mark it as low priority.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Decision making&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As well as severity and priority should all projects now consider Technical Debt and Financial Cost associated with work items? &lt;/p&gt;  &lt;p&gt;Managers require data to enable effective decision making, while a developer may perceive more fields as just being an additional overhead distracting them getting the job done. Technical staff need to be aware of the business benefits and costs of doing something. Spending days refactoring code because the coding standards are not met is not effective if a bug was never reported to do with the code. This is especially true when critical issues aren’t investigated. &lt;/p&gt;  &lt;p&gt;I believe Priority, Severity are indicators of technical debt and time to resolve the task is the financial cost. Is it possible to put a value on technical debt? I’m not convinced there is, what I do know is that not paying it off early enough can be very, very expensive in the long term. &lt;/p&gt;  &lt;p&gt;As a manager it is important to listen to a team concerned about issues in code and design, the team are responsible for effectively communicating their concerns.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Worthwhile reads – completely un-related&amp;#160; to this blog entry but got me thinking…..&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.techrepublic.com.com/tech-manager/?p=1603" href="http://blogs.techrepublic.com.com/tech-manager/?p=1603"&gt;The Kumbaya irony&lt;/a&gt;&amp;#160; - Are you having fun with technology for no apparent business reason.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://businessmanagement.suite101.com/article.cfm/what_is_participative_leadership" href="http://businessmanagement.suite101.com/article.cfm/what_is_participative_leadership"&gt;What is Participative Leadership?&lt;/a&gt; – getting staff involved in making decisions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://confluence.atlassian.com/pages/viewpage.action?pageId=192840" href="http://confluence.atlassian.com/pages/viewpage.action?pageId=192840"&gt;Why doesn't JIRA have a Severity field like Bugzilla?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://thompson-web.blogspot.com/2009/02/technical-debt.html" href="http://thompson-web.blogspot.com/2009/02/technical-debt.html"&gt;Technical debt&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.markhneedham.com/blog/2009/01/10/finding-the-value-in-fixing-technical-debt/" href="http://www.markhneedham.com/blog/2009/01/10/finding-the-value-in-fixing-technical-debt/"&gt;Finding the value in technical debt&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.codesqueeze.com/refinance-your-technical-debt-just-like-your-mortgage/" href="http://www.codesqueeze.com/refinance-your-technical-debt-just-like-your-mortgage/"&gt;Refinance Your Technical Debt Just Like Your Mortgage&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.codinghorror.com/blog/archives/001230.html" href="http://www.codinghorror.com/blog/archives/001230.html"&gt;Paying Down Your Technical Debt&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://fabiopereira.me/blog/2009/09/01/technical-debt-retrospective/" href="http://fabiopereira.me/blog/2009/09/01/technical-debt-retrospective/"&gt;Technical Debt&lt;/a&gt; – great diagrams!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2038522592747025963?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2038522592747025963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2038522592747025963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2038522592747025963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2038522592747025963'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/09/technical-debt-jira-priority-and.html' title='Technical Debt, JIRA, priority and severity'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4873426427208160240</id><published>2009-05-07T08:24:00.001+01:00</published><updated>2009-05-07T08:24:36.857+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coaching'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><title type='text'>Your Greater-Than-Yourself Project</title><content type='html'>&lt;p&gt;“Greater than Yourself”, is a great principle principle to have but I’m not convinced it can be achieved in isolation, unless you feel critical mass can be achieved. &lt;/p&gt;  &lt;p&gt;Helping others to achieve their potential is something I’ve tried to apply in my working life, to varying degrees of success. The Harvard Business article “&lt;a href="http://blogs.harvardbusiness.org/cs/2009/04/the_secret_of_great_mentors.html" target="_blank"&gt;Your Greater-Than-Yourself Project&lt;/a&gt;” defines a concept to developing others and has certainly focused my mind on where I and others have done it well or poorly. &lt;/p&gt;  &lt;p&gt;Whether you are an executive, team leader or junior in a team I think it is invaluable advise – I’m just not sure how easy it is to be completely selfless, especially when times are hard. A nice principle to aspire to.&lt;/p&gt;  &lt;p&gt;The article states that the mentor should expect nothing in return, I have always believed that growing a network of successful people means that I can be more successful, so maybe I’m not entirely selfless.&lt;/p&gt;  &lt;p&gt;References:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.harvardbusiness.org/cs/2009/04/the_secret_of_great_mentors.html" href="http://blogs.harvardbusiness.org/cs/2009/04/the_secret_of_great_mentors.html"&gt;http://blogs.harvardbusiness.org/cs/2009/04/the_secret_of_great_mentors.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4873426427208160240?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4873426427208160240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4873426427208160240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4873426427208160240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4873426427208160240'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/05/your-greater-than-yourself-project.html' title='Your Greater-Than-Yourself Project'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2080104712499045532</id><published>2009-04-09T21:09:00.001+01:00</published><updated>2009-04-09T21:09:15.154+01:00</updated><title type='text'>New addition to the family</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/garyt70/3427460130/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3396/3427460130_96bd6ebabc.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/garyt70/3427460130/"&gt;New addition to the family&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/garyt70/"&gt;garyt70&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	With a look like this how could anyone not want Willow to be part of our family.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2080104712499045532?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2080104712499045532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2080104712499045532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2080104712499045532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2080104712499045532'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/04/new-addition-to-family.html' title='New addition to the family'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3396/3427460130_96bd6ebabc_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4296613850713930591</id><published>2009-04-01T02:45:00.001+01:00</published><updated>2009-04-01T02:45:26.874+01:00</updated><title type='text'>Think….</title><content type='html'>&lt;p&gt;What would you do if your Facebook, YouTube or Blogger account was removed????&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.chrisbrogan.com/youtube-is-not-the-internet-but-she-has-a-point/" href="http://www.chrisbrogan.com/youtube-is-not-the-internet-but-she-has-a-point/"&gt;http://www.chrisbrogan.com/youtube-is-not-the-internet-but-she-has-a-point/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I don’t expect everyone to agree with the content of the video contained in the above blog (that’s assuming YouTube hasn’t removed it of course, and it’s not obscene, just food for thought). It does make me think about what would happen if Google decided my blogger account was unacceptable and deleted it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4296613850713930591?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4296613850713930591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4296613850713930591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4296613850713930591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4296613850713930591'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/04/think.html' title='Think….'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3726770613235612372</id><published>2009-03-19T13:27:00.001Z</published><updated>2009-03-19T13:27:51.819Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='software patent'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>Patent wars stifle innovation</title><content type='html'>&lt;p&gt;Interesting that Red Hat seems to think it owns the rights to &lt;a href="http://www.theregister.co.uk/2009/03/16/red_hat_patent_app_dynamic_routing/" target="_blank"&gt;XML data routing&lt;/a&gt;. Altio has a similar, if not the same, patent claim from 2003. At present Altio does not want to get into a legal battle over who’s patent is more valid, preferring the innovation approach to stay ahead of the game.&lt;/p&gt;  &lt;p&gt;Software patents are a controversial subject with strong feelings amongst the developer community, I feel they are now a part of running a software development company. If you do not wish to take the patent path then it is important to ensure you make a public statement about an innovation. Without public knowledge an organisation is at risk of a megavendor claiming a patent and making life very difficult for small software houses.&lt;/p&gt;  &lt;p&gt;Unless an organisation can innovate faster and better than everyone else and are not concerned who uses the innovation then I feel patents, as a defensive measure, are necessary. The problem with being innovative is that it costs money upfront, using somebody else’s idea is easy if you have lots of cash available. Sometimes the small vendors may just need to make a stand and use their patent for financial gain and maintaining market position.&lt;/p&gt;  &lt;p&gt;Ideally software companies would get on with being innovative and writing good quality software. Instead all the big players look for are ways to make a quick buck at the expense of innovation. If you’re an innovator you just want to write good code, not fight legal battles. &lt;/p&gt;  &lt;p&gt;It appears software patent litigation may become a normal part of being in the software industry.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.theregister.co.uk/2009/03/16/red_hat_patent_app_dynamic_routing/" href="http://www.theregister.co.uk/2009/03/16/red_hat_patent_app_dynamic_routing/"&gt;http://www.theregister.co.uk/2009/03/16/red_hat_patent_app_dynamic_routing/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.freshpatents.com/-dt20090305ptan20090063418.php" href="http://www.freshpatents.com/-dt20090305ptan20090063418.php"&gt;http://www.freshpatents.com/-dt20090305ptan20090063418.php&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.wipo.int/pctdb/en/wo.jsp?IA=GB2002005577&amp;amp;wo=2003049369&amp;amp;DISPLAY=CLAIMS" href="http://www.wipo.int/pctdb/en/wo.jsp?IA=GB2002005577&amp;amp;wo=2003049369&amp;amp;DISPLAY=CLAIMS"&gt;http://www.wipo.int/pctdb/en/wo.jsp?IA=GB2002005577&amp;amp;wo=2003049369&amp;amp;DISPLAY=CLAIMS&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.freesoftwaremagazine.com/columns/whats_wrong_with_software_patents" href="http://www.freesoftwaremagazine.com/columns/whats_wrong_with_software_patents"&gt;http://www.freesoftwaremagazine.com/columns/whats_wrong_with_software_patents&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3726770613235612372?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3726770613235612372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3726770613235612372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3726770613235612372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3726770613235612372'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/03/patent-wars-stifle-innovation.html' title='Patent wars stifle innovation'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6318285325040871551</id><published>2009-03-15T21:17:00.001Z</published><updated>2009-03-15T21:17:34.696Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Delegate, and bite your lip, but don’t stop communicating.</title><content type='html'>&lt;p&gt;One of my greatest frustrations at being a manager and solution designer is coming from a software development background and having to delegate coding tasks.&lt;/p&gt;  &lt;p&gt;So why do I delegate and get frustrated. &lt;/p&gt;  &lt;p&gt;I delegate because I do not have the time to do everything I want to get done. I have to rely upon others to do what I once could easily have done. Delegation and communication is what makes an effective team and team leader.&lt;/p&gt;  &lt;p&gt;My frustration isn’t because I think I can do it better (well maybe it is sometimes), it occurs when someone finds excuses to not do the job properly – this can be colleagues at work or a teenage son. If you are going to do a task, even if it is for a demo then do the work properly and as if you are going to sell it later – in the case of software this may well be the case and so you want to avoid financial and &lt;a href="http://thompson-web.blogspot.com/2009/02/technical-debt.html" target="_blank"&gt;technical debt&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;So while a may I feel like telling people to “just get on and do what I asked”, this wouldn’t always be effective. Delegation relies upon effective communication, and sometimes this means cajoling someone into delivering what you want rather than what makes their life easy, this can be quite frustrating especially if you have to keep doing it.&lt;/p&gt;  &lt;p&gt;Enabling someone else to do a job requires&lt;/p&gt;  &lt;li&gt;they know what you want &lt;/li&gt;  &lt;li&gt;they have the authority to achieve it &lt;/li&gt;  &lt;li&gt;they know how to do it.&lt;/li&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you feel above three items have been done then it is down to the person you have delegated to to communicate effectively with you, especially if they are unsure of their responsibility and what is expected of them. Otherwise the task is at risk of failure.&lt;/p&gt;  &lt;p&gt;Every article you read on project failures should mention “lack of communication” as one of the causes. Poor requirements lead to misunderstanding, lack of developer feedback and demo’s leads to misunderstanding – especially in agile projects.&lt;/p&gt;  &lt;p&gt;So you can delegate and bite your lip when getting frustrated but don’t stop communicating otherwise you are at risk of not delivering the task. &lt;/p&gt;  &lt;p&gt;You can delegate the work but not the responsibility! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.see.ed.ac.uk/~gerard/Management/art5.html" href="http://www.see.ed.ac.uk/~gerard/Management/art5.html"&gt;http://www.see.ed.ac.uk/~gerard/Management/art5.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.bizhelp24.com/employment-and-personal-development/the-art-of-delegation-2.html" href="http://www.bizhelp24.com/employment-and-personal-development/the-art-of-delegation-2.html"&gt;http://www.bizhelp24.com/employment-and-personal-development/the-art-of-delegation-2.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.talkbiz.com/digest/emt17.html" href="http://www.talkbiz.com/digest/emt17.html"&gt;http://www.talkbiz.com/digest/emt17.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://thompson-web.blogspot.com/2008/04/project-estimation-duration-effort-and.html" href="http://thompson-web.blogspot.com/2008/04/project-estimation-duration-effort-and.html"&gt;http://thompson-web.blogspot.com/2008/04/project-estimation-duration-effort-and.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6318285325040871551?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6318285325040871551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6318285325040871551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6318285325040871551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6318285325040871551'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/03/delegate-and-bite-your-lip-but-dont.html' title='Delegate, and bite your lip, but don’t stop communicating.'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8734263670649750440</id><published>2009-03-08T15:58:00.001Z</published><updated>2009-03-08T15:58:08.418Z</updated><title type='text'>Protectionism Leads to Conflict</title><content type='html'>&lt;p&gt;I recently subscribed to &lt;a href="http://eapblog.burtongroup.com/executive_advisory_progra/" target="_blank"&gt;Executive Advisory&lt;/a&gt; and the most important entry on any blog I have read recently is on the subject of protectionism within the organisation.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://eapblog.burtongroup.com/executive_advisory_progra/2009/03/protectionism-leads-to-conflict.html" href="http://eapblog.burtongroup.com/executive_advisory_progra/2009/03/protectionism-leads-to-conflict.html"&gt;http://eapblog.burtongroup.com/executive_advisory_progra/2009/03/protectionism-leads-to-conflict.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As far as I am concerned it is everyone’s responsibility (politicians, executives, staff etc) to identify when protectionism is impacting the chances of success, effort should be focused more upon working collaboratively so that everyone gains. &lt;/p&gt;  &lt;p&gt;If you type “protectionism” or “psychology protectionism” into Google or any other search engine you will see there are numerous articles in favour or against protectionism. So I guess everyone has a choice to make.&lt;/p&gt;  &lt;p&gt;For me right now I am against protectionism, I see it as damaging for both organisations, relationships, and economies. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8734263670649750440?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8734263670649750440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8734263670649750440' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8734263670649750440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8734263670649750440'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/03/protectionism-leads-to-conflict.html' title='Protectionism Leads to Conflict'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-5525523148680406266</id><published>2009-03-08T04:18:00.001Z</published><updated>2009-03-08T04:18:14.780Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>JQuery, XML and namespaces</title><content type='html'>&lt;p&gt;Being awake at the early hours of the morning I decided to try and take my mind off of product strategy and increasing market share, so I decided to play around with Altio 5.3 (pre beta) REST services.&lt;/p&gt;  &lt;p&gt;The challenge I set myself was to use &lt;a href="http://jquery.com/" target="_blank"&gt;JQuery&lt;/a&gt; to retrieve data through the AltioLive Presentation Server (APS). I thought it would be easy, after all it’s easy in AltioLive.&lt;/p&gt;  &lt;p&gt;The problem I encountered was namespaces.&lt;/p&gt;  &lt;p&gt;It seems JQuery doesn’t handle namespaces very well, as described in ticket &lt;a href="http://dev.jquery.com/ticket/155" target="_blank"&gt;155&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The solution for me was to use the following syntax ‘namespace\\:element_name’ ;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;atom:entry xmlns:atom=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&amp;gt;     &lt;br /&gt;...      &lt;br /&gt;&amp;lt;atom:content type=&amp;quot;text&amp;quot;&amp;gt;blah blah&amp;lt;/atom:content&amp;gt;      &lt;br /&gt;&amp;lt;/atom:entry&amp;gt;&lt;/p&gt;    &lt;p&gt;Now if that document is stored in a variable named xml:&lt;/p&gt;    &lt;p&gt;$(xml).find('atom\\:content').eq(0).text()&lt;/p&gt;    &lt;p&gt;Will return the text of the atom:content element.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I found this out courtesy of &lt;a href="http://www.xml.com"&gt;www.xml.com&lt;/a&gt; &lt;a title="http://www.xml.com/cs/user/view/cs_msg/4298" href="http://www.xml.com/cs/user/view/cs_msg/4298"&gt;http://www.xml.com/cs/user/view/cs_msg/4298&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Not sure if the syntax is correct, but it works in FF and IE using &lt;a href="http://jquery.com/" target="_blank"&gt;JQuery&lt;/a&gt; 1.3.2. I managed to read a fair number of blog entries, and information on processing XML with namespaces, the above was the only approach that worked for me.&lt;/p&gt;  &lt;p&gt;Other sources of info:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html" href="http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html"&gt;http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-5525523148680406266?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/5525523148680406266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=5525523148680406266' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5525523148680406266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5525523148680406266'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/03/jquery-xml-and-namespaces.html' title='JQuery, XML and namespaces'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-829232529911349005</id><published>2009-02-27T16:38:00.002Z</published><updated>2009-02-27T16:59:41.880Z</updated><title type='text'>Technical debt</title><content type='html'>&lt;p&gt;What a great term “technical debt”.&lt;/p&gt;  &lt;p&gt;I picked the term up from Martin Fowlers blog entry call “&lt;a href="http://martinfowler.com/bliki/TechnicalDebt.html" target="_blank"&gt;Technical Debt&lt;/a&gt;”. You also need to watch the video talk by &lt;a href="http://www.youtube.com/watch?v=pqeJFYwnkjE" target="_blank"&gt;Ward Cunningham&lt;/a&gt; to understand the background to the metaphor.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Debt&lt;/h3&gt;  &lt;p&gt;When developing software you can accrue two types of debt, financial and technical. Both can result in the failure of a project or organisation. &lt;/p&gt;  &lt;p&gt;Financial debt is common to everyone – you have to pay salaries, rent and for computers etc. If you are lucky this is paid for through income, otherwise by borrowing.&lt;/p&gt;  &lt;p&gt;Technical debt according to Cunningham is not about poor code but writing the best code given your understanding at the time. You can rush software out of the door, but you incur debts which may need to be paid back. I say “may” because if the software is not successful or is meant to be thrown away as an experiment, who cares if you cut corners. Unless of course the reason for failure is because you cut corners. &lt;/p&gt;  &lt;p&gt;Don’t accumulate financial debt for the sake of reducing technical debt unless you are very confident of success.&lt;/p&gt;  &lt;p&gt;Technical debt can be as crippling to the roadmap of a product as financial debt. I feel the difficulty for someone managing software projects is balancing both debts and negotiating with stakeholders and development teams to get debt balance right. &lt;/p&gt;  &lt;h3&gt;Don’t pass the debt on&lt;/h3&gt;  &lt;p&gt;My personal choice is to write the best interface to the outside world in the hope that end users not impacted by later changes. If you don’t put enough effort into achieving high quality external interfaces then you are passing your debt on to others, especially if changes need to occur later.&lt;/p&gt;  &lt;p&gt;This may mean that the internal features not expected to be used by others must accrue your technical debt. The technical debt has to be paid back through refactoring later.&lt;/p&gt;  &lt;h3&gt;Don’t hide the debt&lt;/h3&gt;  &lt;p&gt;As the financial &lt;a href="http://en.wikipedia.org/wiki/Credit_crunch" target="_blank"&gt;credit crunch&lt;/a&gt; has shown hiding bad debts in clever delivery mechanisms can only lead to disaster, especially when it gets to the point when nobody understands what is going on, or does not want to understand because things are great at that moment in time. If the project is accruing debt make contingency plans, and make it clear to stakeholders why the contingency plan is required and the risk the project is exposed to.&lt;/p&gt;  &lt;h3&gt;The bottom line&lt;/h3&gt;  &lt;p&gt;Don’t try to achieve perfection first time, unless you have lots of money to spend. Get the balance between a perfect system that you can be proud of and a system that delivers business benefit with the least financial and technical debt.&lt;/p&gt;  &lt;p&gt;Financial debt is short term, technical debt is long term but can be addressed after first succeeding, once the money is flowing you won’t incur further financial debt. &lt;/p&gt;  &lt;p&gt;Finally, it is better to deliver a working project than to never complete a perfect project.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Forgot to add this reference: &lt;a href="http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx"&gt;http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-829232529911349005?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/829232529911349005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=829232529911349005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/829232529911349005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/829232529911349005'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/02/technical-debt.html' title='Technical debt'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2935660034687112064</id><published>2009-02-12T05:51:00.001Z</published><updated>2009-02-12T05:51:28.852Z</updated><title type='text'>View from my new office - sunset</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/garyt70/3183199280/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3396/3183199280_fc43b642cc.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/garyt70/3183199280/"&gt;View from my new office - sunset&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/garyt70/"&gt;garyt70&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	January has been extraordinarily busy, February is working out to be the same. &lt;br /&gt;&lt;br /&gt;Decided to make at least one post that stays in place after several failed attempts to do a blog entry with JavaScript and DHTML.&lt;br /&gt;&lt;br /&gt;This Photo is from the office window in the building Altio has moved to, nice views all around.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2935660034687112064?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2935660034687112064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2935660034687112064' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2935660034687112064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2935660034687112064'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/02/view-from-my-new-office-sunset.html' title='View from my new office - sunset'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3396/3183199280_fc43b642cc_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4920634971923443298</id><published>2009-01-23T13:15:00.001Z</published><updated>2009-01-23T13:16:50.695Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Agile explained in simple terms</title><content type='html'>&lt;p&gt;Neill, sent this link to me &lt;a title="http://www.vimeo.com/user1195135/videos" href="http://www.vimeo.com/user1195135/videos"&gt;http://www.vimeo.com/user1195135/videos&lt;/a&gt;, I think its a great way of using Lego and learning Agile software delivery. &lt;/p&gt;  &lt;p&gt;Neill, learn to use your Google phone to twitter! You could then post a video of it :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2918381&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" width="400" height="302" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" /&gt;  &lt;br /&gt;&lt;a href="http://vimeo.com/"&gt;User Stories&lt;/a&gt; from &lt;a href="http://vimeo.com/user1195135"&gt;Agile Advocate&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4920634971923443298?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4920634971923443298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4920634971923443298' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4920634971923443298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4920634971923443298'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/01/agile-explained-in-simple-terms.html' title='Agile explained in simple terms'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7613046376825319185</id><published>2009-01-20T20:06:00.001Z</published><updated>2009-01-20T20:06:36.841Z</updated><title type='text'>26 - 30 Jan - Altio Roadmap - USA Clients</title><content type='html'>&lt;p&gt;Next week I'm going to be visiting a number of cities in the US discussing the AltioLive roadmap with clients. If anyone is interested in meeting for breakfast or in the evening to discuss RIA technology trends and the Altio roadmap drop me a line at &lt;a href="mailto:gary.thompson@altio.com"&gt;gary.thompson@altio.com&lt;/a&gt; . It's quite a busy schedule so I can't promise to meet all requests.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Itinerary&lt;/p&gt;  &lt;p&gt;26 Jan - Palo Alto, San Franciso&lt;/p&gt;  &lt;p&gt;27 Jan - Palo Alto, San Franciso, up until 11am when I fly to New York&lt;/p&gt;  &lt;p&gt;28 Jan - New York&lt;/p&gt;  &lt;p&gt;29 Jan - New York (morning), Boston (afternoon)&lt;/p&gt;  &lt;p&gt;30 Jan&amp;#160; - Boston&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Roadmap agenda - usability of RIA applications, report generation, user computing, rapid development of RIA applications.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7613046376825319185?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7613046376825319185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7613046376825319185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7613046376825319185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7613046376825319185'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/01/26-30-jan-altio-roadmap-usa-clients.html' title='26 - 30 Jan - Altio Roadmap - USA Clients'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7745690506693714307</id><published>2009-01-20T20:02:00.001Z</published><updated>2009-01-20T20:02:20.911Z</updated><title type='text'>Australia - the missing weeks</title><content type='html'>&lt;p&gt;OK, due to the lack of Internet access I didn't manage to blog everyday when in Australia and so have decided to do a late update on the trip. More as a reminder to me of a great holiday (photos are on &lt;a href="http://www.flickr.com/photos/garyt70/"&gt;Flickr&lt;/a&gt;).&lt;/p&gt;  &lt;h3&gt;Sydney &amp;#8211; Tuesday, 16 December&lt;/h3&gt;  &lt;p&gt;Blue Mountains &amp;#8211; well worth the journey into the mountains for some spectacular views. I have to admit getting the late tour out of Sydney was a bit of a mistake as it meant trying to cram too much into the day.&lt;/p&gt;  &lt;h3&gt;Sydney &amp;#8211; Wednesday, 17 December&lt;/h3&gt;  &lt;p&gt;Sydney Botanical Gardens &amp;#8211; everyone got up late after a long day yesterday, so we spent 5 hours exploring the Botanical gardens looking for parrots, bats and other native Australian wildlife. Oh and we looked at some plants as well.&lt;/p&gt;  &lt;h3&gt;Sydney to Brisbane &amp;#8211; Port Stephens, 18 December&lt;/h3&gt;  &lt;p&gt;Lots of travelling. The camper van is HUGE, it&amp;#8217;s like driving a 7 ton lorry. I can now say I am now one of those people who can cause a 1 mile tailback of traffic. &lt;/p&gt;  &lt;p&gt;I was impressed by how helpful Australian police are, I guess they are used to Poms getting lost looking for Lemon Tree Passage (Port Stephens), not so sure British police would print maps and even try to see if a patrol car is going in the same direction. &lt;/p&gt;  &lt;p&gt;We spent our first night in a camper van right on the edge of a river. I have to admit it takes some getting used to seeing Parrots and lizards wherever you go.&lt;/p&gt;  &lt;h3&gt;Sydney to Brisbane &amp;#8211; Coffs Harbour, 19, 20 December&lt;/h3&gt;  &lt;p&gt;OK, Australia is seriously big, and I&amp;#8217;m not convinced their 1km is the same as the rest of the world. Over 400km today, by the time you travel up and down several mountains I&amp;#8217;m sure it was more like 600km. I&amp;#8217;ve discovered you can get a 7 metre camper vans around some very tight bends &amp;#8211; at one point there was nothing to the left except a 100m drop. Future note, when driving camper vans through Australia carefully consider the use of some tourist routes, they can be a major detour and take hours to complete.&lt;/p&gt;  &lt;p&gt;Stayed at Darlington beach campsite just outside Coffs Harbour. The campsite is literally on the Corindi beach so you get to listen to the sea while watching the Lorikeets (birds a bit like Parrots).&lt;/p&gt;  &lt;h3&gt;Sydney to Brisbane &amp;#8211; Tweed Heads, 21 December&lt;/h3&gt;  &lt;p&gt;Final stretch. Had to make a stop at Byron Bay, the most easterly point in Australia. As we had the camper van it wasn&amp;#8217;t possible to drive to the lighthouse &amp;#8211; something about the roads being too narrow. So we had a choice of walking 2.2km along a road or 1.5km through the woods. &lt;/p&gt;  &lt;p&gt;The vote went of the scenic 1.5km walk. When it&amp;#8217;s over 30C and you walking up some very steep slopes 1.5km feels like a very long way.&lt;/p&gt;  &lt;p&gt;On eventually reaching our next campsite all we wanted to do was wallow in the swimming pool. I have to admit we have all spent more time in swimming pools than we ever would in the UK &amp;#8211; I can&amp;#8217;t see how Australians could survive without one.&lt;/p&gt;  &lt;h3&gt;Brisbane, 22 December&lt;/h3&gt;  &lt;p&gt;Koalas, Kangaroos, Possums, and Lizards &amp;#8211; we went to Lone Pine Koala Animal sanctuary to cuddle Koalas and feed Kangaroos, well worth a visit.&lt;/p&gt;  &lt;p&gt;Oh buy the way as Milly found out when cuddling Koalas you need to be aware that they poo (A LOT), and you have to hold their bums, yukkkkk.&lt;/p&gt;  &lt;h3&gt;Port Douglas &amp;#8211; 23 to 28 December&lt;/h3&gt;  &lt;p&gt;Daintree River, Kuranda Railway and Cable Car, Relaxation, Great Barrier Reef.&lt;/p&gt;  &lt;p&gt;I have to say if you get a chance to go to Australia then visit Port Douglas. There are no franchises, so no Starbucks, McDonalds etc. This means you can really separate yourself from the rat race in the rest of the world. If I should be lucky enough to return to Australia I will make sure Port Douglas and the Sea Temple is on my itinerary.&lt;/p&gt;  &lt;h3&gt;Brisbane, 29 December&lt;/h3&gt;  &lt;p&gt;Thunderstorms.&lt;/p&gt;  &lt;p&gt;Our last night in Australia was spent watching a fantastic storm.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;If I could repeat this holiday I would skip the camper van and fly direct to Brisbane and then hire a car. Aside from that this was a perfect holiday. 2 weeks on and back at work is depressing as it feels like the holiday was years ago.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7745690506693714307?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7745690506693714307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7745690506693714307' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7745690506693714307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7745690506693714307'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2009/01/australia-missing-weeks.html' title='Australia - the missing weeks'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-1353168373880474383</id><published>2008-12-16T11:04:00.000Z</published><updated>2008-12-16T11:05:13.808Z</updated><title type='text'>Sydney – Monday, 15 December</title><content type='html'>Manly  - the kids first experience of Australian beaches and surfing. Manly schools physical education involves cross-country (running along the beach), followed by swimming and surfing. Connor decided to be all shy when he got the offer to join in with the surfing lessons – what is it with kids, it looked great!&lt;br /&gt;&lt;br /&gt;I really like the idea of commuting by ferry everywhere, so much more civilised and relaxed. Well that was until we got the ferry back from Manly and we hit the waves from the sea, the ferry was rolling around like a roller coaster (sea, sky, sea, sky….). Yep, Milly and Connor thought it was great – all I could do was look for the life jackets and rafts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-1353168373880474383?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/1353168373880474383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=1353168373880474383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1353168373880474383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1353168373880474383'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/sydney-monday-15-december.html' title='Sydney – Monday, 15 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-926794311387668594</id><published>2008-12-14T10:29:00.001Z</published><updated>2008-12-16T10:31:14.376Z</updated><title type='text'>Sydney – Sunday, 14 December</title><content type='html'>Kids seem to have a thing about the Rocks market, something to do with spending all their money as soon as possible.&lt;br /&gt;&lt;br /&gt;To compensate for being dragged around the market again I thought I’d do something educational, so we went to the Museum of Cotemporary Art (MCA) at Sydney Harbour – turns out they have it all set up for kids, Milly and Connor really enjoyed going around with clipboards making their own art and answering questions about the artwork.&lt;br /&gt;&lt;br /&gt;Fish and chips at Doyles a fish restaurant right on the seafront of Watson Bay – superb food at a reasonable price. OK, maybe expensive by Australian standard, but well worth it. Connor thought the Snapper was a Piranha, first time the kids have had fish that came with heads on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-926794311387668594?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/926794311387668594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=926794311387668594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/926794311387668594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/926794311387668594'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/sydney-sunday-14-december.html' title='Sydney – Sunday, 14 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3982315819445460376</id><published>2008-12-13T21:27:00.002Z</published><updated>2008-12-13T21:31:06.107Z</updated><title type='text'>Sydney – Saturday, 13 December</title><content type='html'>Wow, what a difference the day makes. Temperature was 35C cloudy in the morning and seriously sunny in the afternoon. We explored Circular Key – Sydney Harbour Bridge and the Opera House, then got a ferry to Darling Harbour.&lt;br /&gt;&lt;br /&gt;We’re staying in The Rocks district of Sydney with fantastic views of the Harbour Bridge and Opera house.&lt;br /&gt;&lt;br /&gt;First stop of the day was breakfast, eat as much as you like for $19, this sounds expensive but we managed to get value for money out of it. I think its essential to get a good breakfast for a hard day ahead being a tourist :-)&lt;br /&gt;&lt;br /&gt;First stop was the market, Connor looking for a boomerang and Milly to get jewellery or handbags. Sam decided to buy some traditional lemonade with Connor and Milly, kept them quiet for about 30 minutes because it was made with real lemon and I think it was seriously bitter.&lt;br /&gt;&lt;br /&gt;Can’t tell what the highlight of the day for the kids was, they get excited about everything. Sydney Opera house in the morning, using Darling Harbour fountains and monuments as paddling pools in the afternoon. The use of any water feature seems to be an OK thing to do as everyone else was doing it.&lt;br /&gt;&lt;br /&gt;Firework display in the evening ended the day off nicely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3982315819445460376?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3982315819445460376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3982315819445460376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3982315819445460376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3982315819445460376'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/sydney-saturday-13-december.html' title='Sydney – Saturday, 13 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7407122486701268639</id><published>2008-12-12T21:12:00.001Z</published><updated>2008-12-13T21:19:31.517Z</updated><title type='text'>Sydney – Friday, 12 December</title><content type='html'>Oh boy what a nightmare flight, the lights in the cabin could not be switched off, so Milly decided she was going to stay awake for the whole of the night flight. This wouldn’t have been too bad if she left the rest of us alone, instead she decided keeping me, her Mum and brothers awake was good entertainment. The whole family were exhausted by the time we arrived at Sydney at 0645.&lt;br /&gt;&lt;br /&gt;Staff at &lt;a href="http://www.mirvachotels.com/quay-west-suites-sydney"&gt;Quay West Suites&lt;/a&gt; were really helpful and got our room prepared by 10am, I think the fact that we looked like 5 vagabonds camped out in the hotel lobby helped!&lt;br /&gt;Just to make things seem really bad, the temperature was only 18 C, and it was raining (hard) all day. So other than trying to get some sleep and food we didn’t do too much.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7407122486701268639?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7407122486701268639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7407122486701268639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7407122486701268639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7407122486701268639'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/sydney-friday-12-december.html' title='Sydney – Friday, 12 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8473457475753435569</id><published>2008-12-11T21:05:00.001Z</published><updated>2008-12-13T21:11:56.792Z</updated><title type='text'>Singapore – Thursday, 11 December</title><content type='html'>&lt;a href="http://www.ducktours.com.sg/"&gt;Duck Tours&lt;/a&gt; and Raffles Hotel – a day wandering around Singapore, plus our first experience of a tropical thunderstorm. Up until today we had not experienced any rain, and the humidity was bearable, luckily for us we were packing our bags for the next leg of the trip when the rain began to fall.&lt;br /&gt;&lt;br /&gt;For a brilliant eating experience try the Singapore International Convention Centre food court. We gave the kids $10 each and they went off and ordered what they wanted, real value for money. Although, you will need to like Asian food otherwise the choice would be limited.&lt;br /&gt;&lt;br /&gt;Off to Australia!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8473457475753435569?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8473457475753435569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8473457475753435569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8473457475753435569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8473457475753435569'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/singapore-thursday-11-december.html' title='Singapore – Thursday, 11 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2667399711525714061</id><published>2008-12-10T20:43:00.000Z</published><updated>2008-12-13T21:02:17.470Z</updated><title type='text'>Singapore – Wednesday, 10 December</title><content type='html'>&lt;a href="http://www.zoo.com.sg/"&gt;Singapore zoo &lt;/a&gt;for breakfast with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Orang&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;utans&lt;/span&gt;, the kids loved it – must do experience. This was followed by the night safari…and yes another must do. The value for money was excellent and one of the best zoo’s I have ever been to.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I was expecting the humidity to be oppressive, but there was a nice &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;breeze&lt;/span&gt; which helped. It's well worth paying for the ride around the park, you can just hop on and off, so when the kids get tired you can still get to the next part of the park.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2667399711525714061?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2667399711525714061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2667399711525714061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2667399711525714061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2667399711525714061'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/singapore-wednesday-10-december.html' title='Singapore – Wednesday, 10 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-214935515379649611</id><published>2008-12-09T20:39:00.000Z</published><updated>2008-12-13T20:42:18.064Z</updated><title type='text'>Holiday, Singapore – Tuesday, 9 December</title><content type='html'>Arrived late in the day, not as tired as we expected. Staying at the &lt;a href="http://www.shangri-la.com/en/property/singapore/shangrila"&gt;Shangri-la &lt;/a&gt;(http://www.shangri-la.com/en/property/singapore/shangrila) was a very luxurious experience, maybe a bit extravagant; we had to avoid the restaurant, as it would have truly blown the budget for the 5 of us to eat there. Although, on hearing it was Connors birthday he received personalised cards, chocolates and a cake….he was certainly impressed.&lt;br /&gt;&lt;br /&gt;The evening meal took place at a food court, I would recommend a visit to Newton Circus food court – lots of authentic dishes and experiences. Probably the best fried rice anywhere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-214935515379649611?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/214935515379649611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=214935515379649611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/214935515379649611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/214935515379649611'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/12/holiday-singapore-tuesday-9-december.html' title='Holiday, Singapore – Tuesday, 9 December'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-5709361604096421747</id><published>2008-10-10T20:35:00.003+01:00</published><updated>2008-10-12T13:32:29.558+01:00</updated><title type='text'>September ends...it's all doom and gloom</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lYc7YznXcr0/SO-utZigi0I/AAAAAAAAACo/Zeoluz09zH8/s1600-h/nickelback_ticket_200809.1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_lYc7YznXcr0/SO-utZigi0I/AAAAAAAAACo/Zeoluz09zH8/s320/nickelback_ticket_200809.1.jpg" alt="" id="BLOGGER_PHOTO_ID_5255611385137630018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I had a great time at Wembley Arena on the 21 Sept. The concert exceeded my expectations, I was amazed at the age range of people there and I was very glad I wasn't the the eldest.&lt;br /&gt;&lt;br /&gt;I'm determined to keep a positive attitude through these very worrying times.  Although I am not sure it's going to be easy. Still on the really positive side I have a holiday in Australia to look forward to. I also keep reminding myself that it is times like this when some of the best opportunities arise.&lt;br /&gt;&lt;br /&gt;I still seem to be racking up the air miles, Washington in September and off to Boston again next week. I'll need my holiday in Australia after this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-5709361604096421747?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/5709361604096421747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=5709361604096421747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5709361604096421747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5709361604096421747'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/10/september-endsits-all-doom-and-gloom.html' title='September ends...it&apos;s all doom and gloom'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lYc7YznXcr0/SO-utZigi0I/AAAAAAAAACo/Zeoluz09zH8/s72-c/nickelback_ticket_200809.1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-9080398182427040532</id><published>2008-10-07T11:44:00.001+01:00</published><updated>2008-10-07T11:44:36.755+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>Why does AltioLive have its own IDE?</title><content type='html'>&lt;p&gt;An IDE is one of the richest forms of user interface.&lt;/p&gt;  &lt;p&gt;Back in 1999 the original reason for having an Altio IDE was that there was no dominant IDE in the market place, and show casing your products capabilities in an IDE was a good way of demonstrating what can be achieved. &lt;/p&gt;  &lt;p&gt;Being a Java based product it could now be argued that AltioLive applications should be editable using common IDE's, such as Eclipse and NetBeans.&amp;#160; This still does not remove the fact that if a tool is so good then why isn't the IDE written using its own base language. AltioLive is a tool for creating Rich Web Applications so its IDE should be a rich web application.&amp;#160; &lt;/p&gt;  &lt;p&gt;The Altio team is now striving to deliver a framework that can be used by a broad spectrum of people with varying software skills. At present we lie somewhere between a development tool and a power user tool. AltioLive will appeal to: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;software developers with little experience of creating user interfaces and do not want to understand the complexities of the Java Swing API's. But, the solution they may want to deliver requires a highly scaleable and rich user interface within the web browser. &lt;/li&gt;    &lt;li&gt;experienced Java developers that want to build their own user interface controls but do not want to build a whole integration framework to the server. They want 80% of the work done for them so that they can get on with the specific needs of the project. &lt;/li&gt;    &lt;li&gt;consultants who want the ability to deliver a rich web application that has security, server push data delivery, reusability and most of all the ability to deliver a user interface solution as quickly as possible. &lt;/li&gt;    &lt;li&gt;designers, and business analysts who want to be able to define a user interface and possibly implement early prototypes without the need to rely upon a development team early in the project. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The above points are not an extensive list, AltioLive is used as an OEM tool within larger products to allow the development of highly customisable, maintainable user interfaces. It is also used within financial institutes to deliver very rich and interactive user interfaces where data is pushed from the server to multiple users.&lt;/p&gt;  &lt;p&gt;AltioLive applications can be edited within Eclipse or a simple text editor if you really want to, after all the underlying logic and screen definition are written to XML files in a declarative language. Many of our competitors take this approach now, the strength of Altio is WYSIWYG, you build the user interface interactively.&lt;/p&gt;  &lt;p&gt;The bottom line is that I want to see Altio deliver a simple to use application development tool that can be used by someone with the most basic programming knowledge. This in turn should mean the performance of project teams in increased, thus increasing the chances of delivering IT projects at cost and on time.&lt;/p&gt;  &lt;p&gt;originally posted to &lt;a href="http://www.altio.com"&gt;www.altio.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-9080398182427040532?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/9080398182427040532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=9080398182427040532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/9080398182427040532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/9080398182427040532'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/10/why-does-altiolive-have-its-own-ide.html' title='Why does AltioLive have its own IDE?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6051189858475394400</id><published>2008-09-22T10:07:00.001+01:00</published><updated>2008-09-22T10:07:11.558+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><title type='text'>Design Methodologies - where do you want to spend your money?</title><content type='html'>&lt;p&gt;I recently revisited articles on design methodologies, specifically &lt;a href="http://www.opengroup.org/architecture/togaf8-doc/arch/"&gt;TOGAF&lt;/a&gt; (The Open Group Architecture Framework) and Agile methodologies. Initially, I thought that both approaches contradict each other and so could not be used together. However, like writing software you combine best practices from different methodologies that meet your project requirements, improving the chances of a successful project.&lt;/p&gt;  &lt;p&gt;I'm not going to try and pretend to be a TOGAF professional, I have an awareness of the framework and have never used it end to end. I believe that if you are going to design software then you should at least be aware of frameworks such as TOGAF and alternatives. A good start on agile is Martin Fowler &amp;quot;&lt;a href="http://martinfowler.com/articles/newMethodology.html"&gt;The New Methodology&lt;/a&gt;&amp;quot; and &amp;quot;&lt;a href="http://martinfowler.com/bliki/EvolutionarySOA.html"&gt;Can SOA be done with an agile approach&lt;/a&gt;&amp;quot;.&lt;/p&gt;  &lt;p&gt;TOGAF combined with &lt;a href="http://www.zifa.com/quickstart.html"&gt;Zachman&lt;/a&gt; framework is a top down design methodology and provides an excellent mechanism for eliciting requirements and providing a framework for communication in a common language, but as Fowler states big up front design can become very expensive. Also, it can lead a project to not deliver what is required by the business when the system goes live, rather it delivers what was required initially. The difference may well be dramatic. &lt;/p&gt;  &lt;p&gt;A good reason for top down design is to do with procurement and the need to identify appropriate commercial products to use, a focus of TOGAF. Large organisations want to outsource at fixed price and the vendor organisation doing the work wants all the details up front to have the best chance of delivering the project at a profit. Again, Fowler makes a good point about the &amp;quot;&lt;a href="http://martinfowler.com/articles/newMethodology.html#TheAdaptiveCustomer"&gt;Adaptive Customer&lt;/a&gt;&amp;quot; and how customers need to be adaptive in the way they engage with vendors. Although from my experience of being both the vendor and using vendors to do work there is never an ideal approach. A vendor wants to make as much money as possible while the customer wants to control the scope and spend as little as possible.&lt;/p&gt;  &lt;p&gt;So where do you want to spend your money? &lt;/p&gt;  &lt;p&gt;Up front with lots of design, then on lots of change requests and the end result will be lots of documentation that in theory should reduce the maintenance overheads, keeping the future costs down. &lt;/p&gt;  &lt;p&gt;The alternative is relying upon highly skilled and talented&amp;#160; software engineers who may or may not use a silver bullet, document the code or write any design material thus making maintenance harder for someone un-familiar with the code. &lt;/p&gt;  &lt;p&gt;I have seen both top down and bottom up methodologies succeed and fail to varying degrees. It is my opinion that success is based upon good judgement and adaptability at the beginning and during the project on the part of everyone involved. &lt;/p&gt;  &lt;p&gt;Combining the requirement analysis and control features of TOGAF with an Agile methodology, and the use of PRINCE project management looks like a good combination as long as you are adaptable in selecting the parts that make most sense for the project you are working on. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6051189858475394400?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6051189858475394400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6051189858475394400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6051189858475394400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6051189858475394400'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/09/design-methodologies-where-do-you-want.html' title='Design Methodologies - where do you want to spend your money?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-221441007306292531</id><published>2008-09-04T05:55:00.002+01:00</published><updated>2008-09-04T05:56:46.554+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Where does the time go...and technology extremism</title><content type='html'>&lt;p&gt;&lt;strong&gt;Where did the time go... &lt;/strong&gt;Wow! It's September and I can't actually think what happened to July and August, well I can and it's been a frenzy of work. For a number of years now I've worked on the basis that during my work year there are two quiet periods - August and December. These quiet times are when I can sit down and do all the little things I just don't have time to do during the rest of the year, one example is looking at a new programming language or technology trend in detail. &lt;/p&gt;  &lt;p&gt;A quiet August didn't happen this year. I spent some of August cutting code, and that actually felt good as I haven't had to do real code for quite a while. When I say real code I mean the stuff that has to go into source control and be tested. &lt;/p&gt;  &lt;p&gt;July and the rest of August have been consumed by roadmap and technology discussions, talking to existing and prospective clients. The discussions about system architecture and the critical analysis of technologies and how they should be applied are what I enjoy most. These discussions lead to a lot of creative thinking and there is certainly a lot of that going on at Altio - which I'm surprised we manage to do seeing how busy we are.&lt;/p&gt;  &lt;p&gt;So will December be quiet for me, nope. That's going to be my first big holiday for a long time, several weeks in Australia, I can't wait. Although, I am a little concerned about getting prepared, will I have time to even pack my bags?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Technology&lt;/strong&gt; &lt;strong&gt;Extremist? &lt;/strong&gt;- Google just released &lt;a href="http://www.google.com/chrome/index.html?hl=en-GB&amp;amp;brand=CHMA&amp;amp;utm_campaign=en_gb&amp;amp;utm_source=en_gb-ha-emea-mena-bk&amp;amp;utm_medium=ha&amp;amp;utm_term=google%20chrome"&gt;Chrome&lt;/a&gt; their new browser, and you need &lt;a href="http://java.sun.com/developer/technicalArticles/javase/java6u10/"&gt;Java 6 update 10RC1&lt;/a&gt; or later to use the Java Plug-in. This leads me to thinking about if I am some kind of technical extremist. Chrome gets released on Windows only, why not the Mac or Linux? Rhetorical question really - Windows dominates the desktop computer marketplace, so it makes it the best thing for testing new products. Except Microsoft uses the Apple Mac to test new ideas for Microsoft Office, which is why I like Microsoft Office on the Mac so much - so there's my other Technology Extremism, I like using an Apple Mac at home. The final extreme technology, I still believe in Java Applets for doing complex stuff in the Web Browser. This  is why I why I sometimes get frustrated when people say Altio is great but why use Java, that's a different rant for another time.   &lt;/p&gt;  &lt;p&gt;Well my opinion for a long time is that Google is just Microsoft in disguise - it's out to dominate the world, well the web part of it at least. So should I bow to the masses and adopt JavaScript as the way forward for writing rich web based applications? Should I bow to the masses and go Microsoft and use .Net, after all lot's of people keep saying Java is dead (&lt;a title="http://www.theserverside.com/news/thread.tss?thread_id=39066" href="http://www.theserverside.com/news/thread.tss?thread_id=39066"&gt;http://www.theserverside.com/news/thread.tss?thread_id=39066&lt;/a&gt;, &lt;a title="http://www.artima.com/weblogs/viewpost.jsp?thread=221903" href="http://www.artima.com/weblogs/viewpost.jsp?thread=221903"&gt;http://www.artima.com/weblogs/viewpost.jsp?thread=221903&lt;/a&gt;, &lt;a title="http://java.sys-con.com/node/169595" href="http://java.sys-con.com/node/169595"&gt;http://java.sys-con.com/node/169595&lt;/a&gt;, &lt;a title="http://www.oreillynet.com/onjava/blog/2007/01/java_to_the_iphone_can_you_hea.html" href="http://www.oreillynet.com/onjava/blog/2007/01/java_to_the_iphone_can_you_hea.html"&gt;http://www.oreillynet.com/onjava/blog/2007/01/java_to_the_iphone_can_you_hea.html&lt;/a&gt;). I'm sure someone will come up with the bright idea of putting type safety into JavaScript, oh hold on won't that make it Java :-). Anyway, these are all my opinions, and at the moment I see no reason to listen to the news from as far back as 2006 that Java is dead. Sun Microsystems has at least sat up and realised there is still a long way to go and is re-invigorating the Java Swing teams, first step &lt;a href="http://java.sun.com/javafx/"&gt;JavaFX&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;As far as technology choice goes, you should ensure you have available in your toolkit a number of tools and the knowledge of how they should be used, that way you have a better chance of delivering the most appropriate solutions - on time, within cost and meeting the requirements.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-221441007306292531?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/221441007306292531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=221441007306292531' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/221441007306292531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/221441007306292531'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/09/where-does-time-goand-technology.html' title='Where does the time go...and technology extremism'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8849519351428640309</id><published>2008-08-04T12:26:00.001+01:00</published><updated>2008-08-04T12:26:51.611+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='composite application'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>Altio support for composite applications</title><content type='html'>&lt;p&gt;In recent blog entries I have used the term mashup to describe building applications from reusable components, reading recent blogs and press articles I should have used the term composite application. Back in June 2007 I read the specification for &lt;a href="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications "&gt;Service Component Architecture&lt;/a&gt; and discussed this with John Young who was at the time the CTO at Mantas Inc. John had ideas for enhancing the Altio architecture by making it more modular, beyond the use of linked applications in AltioLive 4.x. Reusability is something that I strongly support, but at the time could not see a fully working solution being implemented in AltioLive 4.x. Re-engineering of the AltioLive user interface to use Java Swing has made it possible to enable functionality to create reusable components.&lt;/p&gt;  &lt;h3&gt;Composite Applications&lt;/h3&gt;  &lt;p&gt;SOA is effectively a composition of services supporting business functionality. The missing functionality from most descriptions of composite application architecture is the user interface. &lt;/p&gt;  &lt;p&gt;It is my belief that the only way to achieve true reuse of functionality within the enterprise is to consider vertical slices from the user interface to the data, identifying the reusable components within different verticals. This will enable business focused,&amp;#160; reusable composite components that should be easy to test and implement. This in turn will mean the enterprise can achieve rapid turn around of business solutions to a high quality standard.&lt;/p&gt;  &lt;h3&gt;Attributes of composite application framework&lt;/h3&gt;  &lt;p&gt;In a number of recent discussions and news articles it appears that there is a resurgence of the term composite applications, Microsoft appears to be particularly active in this area with some very good articles on what a composite application framework should deliver, a summary of which is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Alignment&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Composition must promote alignment among key stakeholders. This could be internal alignment (align different groups within the enterprise) or external alignment (align with suppliers, customers, and partners). &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Solution-provider perspective: Solutions should align existing IT assets with the needs of business owners. &lt;/li&gt;      &lt;li&gt;Solution-consumer perspective: It should be easy to assemble composite applications that align groups within a company, and also across organizational boundaries. Frequently, this will require applications that support cross-functional processes and enable collaboration. &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Adaptability&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Composition must reduce time-to-response for the business when markets change. &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Solution-provider perspective: The platform for composition should provide adaptive range. This means that it should be easy to externalize points of variability within the solution, so that those artifacts can be changed easily without ripple effects across the rest of the solution. For example, this might mean changing business rules, user interfaces, and business processes. &lt;/li&gt;      &lt;li&gt;Solution-consumer perspective: It should be easy to reconfigure composite applications when the business must respond to changing market conditions. &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Agility&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Composition should reduce the time-to-benefit of enterprise applications by reducing the time-to-deployment of end-to-end solutions, reducing development and deployment costs, and leveraging best practices. Also, when the business must respond to changes quickly or handle external disruptions smoothly, it should be easy to modify composite applications to accomplish this. &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Solution-provider perspective: Assets that make up a composite application should leverage established industry standards that make the solution quick to build and easy to assemble together. &lt;/li&gt;      &lt;li&gt;Solution-consumer perspective: A deployed enterprise solution should enable quick decision making by business decision makers through real-time data flows and business-intelligence tools in the context of the automated process &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;The full Microsoft article can be found at &lt;a href="http://msdn.microsoft.com/en-us/library/bb220803.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb220803.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For me, the grand vision of composite applications in the enterprise would be for development teams to create products that aligns with business requirements. This would be achieved using a framework that enables the attributes of adaptability and agility described above. The products would contain artifacts for servicing data requests and user interface artifacts that understand how to interact with the data requests. &lt;/p&gt;  &lt;p&gt;In business terms there would be products or composite components for CRM, Billing, HR etc. Each of these composite components would be loosely coupled to the underlying technology supporting the business process to enable rapid change in technology requirements to support changing business demands. Development teams would be responsible for creating the components, but solution teams would be responsible for putting together the final application using the appropriate composite components.&lt;/p&gt;  &lt;h3&gt;Altio architecture and AltioLive as a composite application framework.&lt;/h3&gt;  &lt;p&gt;The introduction of Composite Service Requests to the Altio architecture in AltioLive 5 and the ability to create modules for related groups of services was the first intentional step towards making the Altio architecture a framework for composite applications. AltioLive 5.2 will see the introduction of composite components that will allow user interface functionality to be packaged as a widget for re-use across many applications. &lt;/p&gt;  &lt;p&gt;It was never an intentional path for the Altio architecture to deliver a support framework for composite applications, the roadmap has arisen from business demand. This makes the Altio architecture and AltioLive 5.2&amp;#160; product extremely powerful tools for implementing agile solutions which are adaptable and aligned with business requirements. &lt;/p&gt;  &lt;p&gt;I have yet to decide if there is a demand for Altio to provide the ability to interact with OSOA definitions, the first steps will be to provide better integration with XSD's.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;It is my opinion that the days of implementing tightly coupled user interfaces is nearing an end. Composite components make the following quality attributes - portability, maintainability and usability far easier to achieve, whereas a user interface that is tightly bound to a specific solution will normally take longer to implement and typically requires far more work to modify. Although, it often takes the creation of a specific user interface solution to identify the creation of reusable components. It is then important that a tool is used that allows components to be created from the different parts of the specific user interface.&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;OSOA, Service Component Architecture &lt;a href="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications"&gt;http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Micorosoft, Composite Applications, &lt;a href="http://msdn.microsoft.com/en-us/library/bb220803.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb220803.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Wikipedia, Service Component Architecture &lt;a href="http://en.wikipedia.org/wiki/Service_component_architecture"&gt;http://en.wikipedia.org/wiki/Service_component_architecture&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;EDS, Composite Applications and Portals &lt;a href="http://www.eds.com/services/compositeappsandportal/"&gt;http://www.eds.com/services/compositeappsandportal/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Bill Burnham Blogs, Software's Top 10 2005 Trends: #8 Composite Applications &lt;a href="http://billburnham.blogs.com/burnhamsbeat/2005/03/softwares_top_1_1.html"&gt;http://billburnham.blogs.com/burnhamsbeat/2005/03/softwares_top_1_1.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(This article was originally posted to &lt;a href="http://www.altio.com/"&gt;http://www.altio.com&lt;/a&gt; )&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8849519351428640309?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8849519351428640309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8849519351428640309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8849519351428640309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8849519351428640309'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/08/altio-support-for-composite.html' title='Altio support for composite applications'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8025983642047336969</id><published>2008-06-29T11:31:00.001+01:00</published><updated>2008-06-29T11:31:32.396+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>AltioLive enabling the enterprise mashup</title><content type='html'>&lt;p&gt;The AltioLive product provides both server side and client side architecture. This enables a secure load balanced mechanism to deliver data to and from a client. The client can be a user interface or another system. &lt;/p&gt;  &lt;p&gt;What does this have to do with AltioLive? It has been the belief at Altio for a long time that a mashup does not have to be visual, but can be associated with data as well. For effective delivery of business solutions a product needs to be able to deliver data from multiple originating sources and the user should not need to know or understand the source of the data. AltioLive provides composite components to create visual business solutions and on the server side aggregated data feeds, this provides an effective mechanism to deliver browser based applications that interact with data from multiple sources.&lt;/p&gt;  &lt;p&gt;A recent article in SD Times by David Linthicum provides a good overview of this, with the visual mashup described as&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;the ability to change the manner in which a visual interface behaves by mashing it up with other content or services&amp;quot;      &lt;br /&gt;(Software Development Times, June 15 2008, page 37)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The article describes a non-visual mashup as&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;the mashing up of two or more services to create a combined application, or integration point to service a business process&amp;quot;.&amp;#160; (Software Development Times, June 15 2008, page 37)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;AltioLive composite controls enable a designer to take several existing components and package them together as a new business component or enterprise mashup widget. This means a library of re-usable components can soon grow and result in reduced development time for future solutions.&lt;/p&gt;  &lt;p&gt;The AltioLive aggregated data feed provides a simple yet powerful workflow for retrieving data from disparate data sources. It is possible to use data attributes from one source as a parameter for the retrieval of data from another data source, execute multiple request in parallel or sequentially and stop execution if a failure occurs. This is the non-visual mashup.&lt;/p&gt;  &lt;p&gt;Whatever you want to call this approach the ultimate aim is to deliver an application that makes the end user more effective in delivering business benefit as quickly as possible, without losing sight of maintainability.&lt;/p&gt;  &lt;p&gt;The key factors of SOA/enterprise mashups as described in the article are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;the ability to place volatility into a single domain, thus allowing for changes and for agility &lt;/li&gt;    &lt;li&gt;The ability to leverage services, both for information and behavior. &lt;/li&gt;    &lt;li&gt;The ability to bind together many back-end systems, making new and innovative uses of the systems. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This is something Altio continues to deliver through the AltioLive product as innovative ideas.&lt;/p&gt;  &lt;p&gt;&lt;a title="What do we want the web to look like-" href="http://www.sparklingclient.com/what-do-we-want-the-web-to-look-like/"&gt;&amp;#160;&lt;/a&gt;(This article was originally posted to &lt;a href="http://www.altio.com"&gt;http://www.altio.com&lt;/a&gt; )&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8025983642047336969?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8025983642047336969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8025983642047336969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8025983642047336969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8025983642047336969'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/06/altiolive-enabling-enterprise-mashup.html' title='AltioLive enabling the enterprise mashup'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3351857872766091805</id><published>2008-06-02T16:57:00.005+01:00</published><updated>2008-06-02T17:18:39.787+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>RIA + SOA – The AltioLive Solution</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;I finally managed to get around to reading magazines I picked up at JavaOne and one article stands out for me. SOA World Magazine, June 2008 (&lt;a href="http://soa.sys-con.com/read/513263_2.htm" target="_blank"&gt;http://soa.sys-con.com/read/513263_2.htm&lt;/a&gt;) contains an article called "RIA + SOA : The Next Episode, Building next-generation web platform" which describes how RIA and SOA are shifting web applications architecture back to Client Server from Model View Controller (MVC). So I've decided to pick up on this article and analyse it in the context of AltioLive which uses a far simpler implementation methodology – basically all the hard work is done for you.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Complimenting Technologies&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;I believe Rich Internet Application (RIA) frameworks provide a complimentary technology solution to enabling the user interface for Service Oriented Architecture (SOA). To quote the SOA World Magazine Article &lt;blockquote&gt;in the standards-based world of HTML, CSS, and JavaScript, RIA developers have to assemble multiple third-party libraries&lt;/blockquote&gt;to build rich user interfaces. AltioLive provides a single framework to enable the rapid development of rich user interfaces and provides a loosely coupled server side framework to make use of SOA and legacy data sources. This enables an Agile development approach to be used to deliver a user front end that can be adapted quickly to meet user requirements.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;Poaching the headers from SOA World Magazine&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;This section takes the headers from the article and replaces the list of possible HTML, CSS and JavaScript options with the simple AltioLive framework implementation. In my opinion having a choice of different frameworks and custom javascript is a maintenance nightmare and is something AltioLive architecture tries to avoid. &lt;p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Design the "look" of the application.&lt;/strong&gt;&lt;br /&gt;For a complex solution requiring branding then a graphic designer can create and define an AltioLive skin. Skins provide the look and feel of borders, scroll bars etc. no need to understand HTML, CSS. For business developers who just want to get on and provide end users with a working system this saves a lot of effort without the need to think about colour codes and styles etc. The design of the user interface is a simple case of dragging and dropping widgets, setting properties and binding them to data.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Integrate Widgets.&lt;/strong&gt;&lt;br /&gt;If a component is not defined as a standard control or business widget (AltioLive Composite Control) then a Java developer can create a new Swing or JavaFX widget by extending the base AltioLive custom control or extending existing controls.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Add dynamic behaviour to the user interface&lt;br /&gt;&lt;/strong&gt;see next section&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Consume Services&lt;br /&gt;&lt;/strong&gt;No need to do anything in AltioLive, dynamic user interface interaction with the server comes for free. Plus with AltioLive you get context based routing, ability to poll database tables or HTML service to simulate real time updates to the client. If the infrastructure is available then simply subscribe to a message queue using JMS service requests.&lt;br /&gt;Not to forget the ultimate aim of connecting to a SOA web service – then just use the Web Service Wizard to create a SOAP service request. No complicated API's to understand and no code to implement, all the business logic is either in the web service or the SQL statement. Validation and data manipulation can all be done in the AltioLive user interface if necessary.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Create Services&lt;/strong&gt;&lt;br /&gt;If the server side business logic does not exist then some hard work will be required. Web Services or alternative business services will need to be written, if a short term solution is needed then it may be possible to use AltioLive JDBC Service Requests to retrieve and insert data while putting logic into the user interface.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The article goes on to discuss the need to "&lt;strong&gt;Provide an Open Widget Framework", &lt;/strong&gt;I feel that this is possibly the most important point. The industry needs to have standards that enable Java Applets, Microsoft Silverlight, Macromedia Flash and AJAX widgets to communicate effectively so that a widget that meets the user's needs can be selected regardless of the underlying technology. The key to enabling this standard will probably be JavaScript as it is not tightly coupled to any single vendor solution.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Provide an Integrated RIA Programming Model. &lt;/strong&gt;This integrated model exists if you use AltioLive. The primary focus for AltioLive is on creating a user interface as simply, quickly and cheaply as possible – through drag and drop and setting properties. The source of the user interface is stored in a plain text file as XML and so can be manually edited if there is a real desire to do so. The drawback of this is that developers can't get their hands as dirty as they may like to. If, as a developer, you really want to get into the depths of the code then a developer can write their own widgets, or focus upon the business logic at the server side. I believe Todd Fast is right when he made the statement "&lt;em&gt;Applications for the masses by the masses: why engineers are an endangered species"&lt;/em&gt; (&lt;a href="http://www.regdeveloper.co.uk/2008/05/09/developers_endangered_species/"&gt;http://www.regdeveloper.co.uk/2008/05/09/developers_endangered_species/&lt;/a&gt; ), the user interface should be about making it easy for the user. Although, I believe there will remain the need for software engineers but their focus should be on providing frameworks and the enablers for the masses to easily create applications.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Provide an Integrated Services Platform. &lt;/strong&gt;Again AltioLive meets the need to have the following attributes:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Support for creating services in any programming language&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Seamless interoperability between the RIA and SOA tiers&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ability to consume local mock services&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The AltioLive Presentation Server provides the mechanism to interact with server side components and allows for JMS, JDBC, SOAP, HTTP connections. This means it is possible to make use of direct SQL connections or to write a web service using .Net and call it through the SOAP or HTTP request. While AltioLive is primarily a Java technology it's loosely coupled framework doesn't make Java based services mandatory.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As mentioned through this document AltioLive provides a simple approach to create a service request using one technology and allows migration to another with little or no impact upon the overall application architecture, thus providing seamless interoperability between the RIA and SOA tiers.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mock &lt;/strong&gt;services have been a part of AltioLive since its inception. The AltioLive IDE allows a service request to be created with example response data built in, more complex solutions can be created using Composite Service Requests so that different responses can be provided based upon input values. When testing the user interface it may be preferable to replace heavy weight services with a XML file that contains the expected response and then use a HTTP service request to retrieve the data from the XML file. The HTTP service request can simply be replaced with the request to the fully implemented business logic later in the implementation.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Conclusion&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;The business challenge of moving to SOA&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I have yet to work with an organisation that has implemented a SOA architecture from scratch as a green field project, in my experience there has always been legacy integration required to deliver the final solution.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;AltioLive overcomes this by allowing the implementation team to expose AltioLive Service Requests. An AltioLive Service Request exposes the same interface regardless of the underlying technology that the data is being retrieved from or written to. This means that an implementation team can initially create a JDBC connection direct to a database and then when a full SOA architecture exposing web-services is in place then the service request can be changed to a Web Service request without any changes to the user interface. This approach enables the rapid development of the user interface required to meet business needs and then a more formal approach can be used to deliver a well defined and structured SOA.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;And what about the Enterprise Service Bus (ESB)?&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Well using AltioLive the move to a ESB is achieved by modifying the AltioLive server side request to use message queues. If the solution implemented using AltioLive has been well designed then there will be no changes to the XML structure passed to or from the user interface, and now a system will be able to push updates from the message queue to the user interface without any major system changes to the presentation layer.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3351857872766091805?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3351857872766091805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3351857872766091805' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3351857872766091805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3351857872766091805'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/06/ria-soa-altiolive-solution.html' title='RIA + SOA – The AltioLive Solution'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-5996256750888405347</id><published>2008-05-22T11:50:00.007+01:00</published><updated>2008-06-02T17:16:06.931+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><title type='text'>Fire people who think they're entitled to run things</title><content type='html'>I recently had a conversation about how I would handle a situation where someone was not willing to comply with corporate policy or was unwilling to work as part of a team. My immediate reaction was to say "fire them" (which is rather brutal), and even during the conversation I had to explain that this would be the final resort.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Disruptive Influence&lt;/h1&gt;Having had time to think about the question I now believe there are stages before reaching the formal dismissal process. I feel the reason for getting to the point of firing someone should only be based upon the team and organisation as a whole. If the team can't get on with them, or the person(s) is disruptive to the success of a project or organisation. This is summarised really well in an article by Ben &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Leichtling&lt;/span&gt; "&lt;a href="http://www.bizjournals.com/jacksonville/stories/2007/04/23/smallb3.html" target="_blank"&gt;Fire people who think they're entitled to run things&lt;/a&gt;". A manager or senior professional in an organisation has a responsibility to deliver projects to a high standard, if someone makes that hard to achieve then there is a serious problem. The disruptive influence of some team members can make it really hard for a manager to deliver a successful project, or to feel in control of the project.&lt;br /&gt;&lt;br /&gt;Personally I would try to work with the person by understanding what motivates them and explaining why it is important to work as a team and within the guidelines set out by the organisation. There is also the case that they may have valid arguments for doing things differently and are not communicating them effectively. In the end someone has to be in charge and people have to accept authority so if all else fails you have to embark upon the path of dismissal.&lt;br /&gt;&lt;br /&gt;Luckily, I've never been in the position of working with really obstructive people and where issues have occurred it has been possible to resolve them through compromise or if necessary through being assertive. Although occasionally I'd love to say "Look if you don't like it then find a new job", but that is hardly professional. I'd prefer to maintain the moral high ground.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Constructive Influence&lt;/h1&gt;There is an alternative to the disruptive influence and I have used this successfully with like minded colleagues. This alternative is to use constructive and critical analysis. Putting a lot of clever and experienced IT people into a room can lead to a conflict of ego's. Each person is bound to have an opinion about how to design a solution or deliver a project, and may think theirs is the best solution. The challenge is to make use of all of the different ideas to perform critical analysis. Somone coming into a design meeting using critical analysis after it has started may believe the team is in conflict and not achieving anything because of some of the heated debates that can take place.&lt;br /&gt;&lt;br /&gt;Critical analysis will only work well if everyone understands it is taking place and can be professional in accepting other peoples views and constructively analysing them. Eventually the best parts of each idea will start to come together until it is possible to arrive at a solution using the best of the ideas.&lt;br /&gt;&lt;br /&gt;The key to success is that someone has to be in charge and have the authority to make the hard decision of intervening at the right moment to influence the design, and to stop the process when it is taking too long or the best possible solution in the time available has been delivered.&lt;br /&gt;&lt;h1&gt;Team Success&lt;/h1&gt;I don't claim to be an expert on the psychology of teams but I do have a lot of experience of managing very capable IT teams. From my experience I can conclude team success can only be achieved if everyone works together and accepts that there is a structure. Sometimes managers have to earn respect and in the worst case they have to take firm action to ensure success.&lt;br /&gt;&lt;br /&gt;The bottom line is that a manager can "fire" &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;someone&lt;/span&gt; working for them, it never works the other way around. So even if a team member thinks the manager is wrong, it is down to a professional team member to influence the senior person so that the correct approach is used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-5996256750888405347?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/5996256750888405347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=5996256750888405347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5996256750888405347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5996256750888405347'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/fire-people-who-think-there-entitled-to.html' title='Fire people who think they&apos;re entitled to run things'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3620857185896518077</id><published>2008-05-09T14:32:00.005+01:00</published><updated>2008-05-09T14:58:18.146+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='applets'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>JavaOne2008. Thursday roundup</title><content type='html'>Wow what a week.&lt;br /&gt;&lt;br /&gt;It seems like a long build up to the release of JavaFX and the new browser plugin and I can't wait for it to happen. As Jim mentions in his &lt;a href="http://stufffromjim.blogspot.com/2008/05/javaone-day-3.html" target="_blank"&gt;summary of day 3&lt;/a&gt; I think there will now be a concern amongst AJAX followers that the technology is going to look dated. At the moment AJAX front ends that want to be really rich seem to rely too much upon Flash, look at Google Analytics - all the charts are Flash.&lt;br /&gt;&lt;br /&gt;Even today AltioLive's Graph control that will be released in Altio 5.2 shows the power of Applet based technologies over JavaScript. There are several JavaScript based graph widgets but they tend to be slow when handling lots of data.&lt;br /&gt;&lt;br /&gt;I strongly believe that Java 6 has again made Java Applets an option for consumer Rich Web Applications and can come out from hiding in the enterprise solution area, and JavaFX further strengthens the position of Java Applets as a solution.&lt;br /&gt;&lt;br /&gt;I'm sure that if you talk to the Java SE team they will strongly disagree with the idea of JavaFX being "stillborn". Healthy competition between SilverLight, Flash, Applets and AJAX is required to provide end users with the best user experience possible.&lt;br /&gt;&lt;br /&gt;If you want to see a real FilthyRich Web Application look at the &lt;a href="http://www.altio.com/" target="_blank"&gt;AltioLive IDE&lt;/a&gt;, as Jim put's it we "&lt;a href="http://stufffromjim.blogspot.com/2008/04/eating-your-own-dogfood.html" target="_blank"&gt;Eat our own dog food&lt;/a&gt;" I don't believe a product can trully say it is good unless you can create an IDE using the underlying framework. I like Eclipse but there must be something wrong if AJAX and Flash don't have IDE's using their own technology. NOTE: there are some AJAX IDE's out there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3620857185896518077?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3620857185896518077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3620857185896518077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3620857185896518077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3620857185896518077'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/javaone2008-thursday-roundup.html' title='JavaOne2008. Thursday roundup'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-1033350037475519513</id><published>2008-05-08T23:28:00.003+01:00</published><updated>2008-05-09T03:21:22.240+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne2008'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><title type='text'>Can all developers juggle</title><content type='html'>Is there a direct correlation between being a software engineer and the ability to juggle?&lt;br /&gt;&lt;br /&gt;The reason why I ask is that we were giving away juggling balls at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JavaOne&lt;/span&gt;2008 and I'm amazed at how many people at JavaOne can juggle, the best I saw was 6 balls. What I really want to know is if there is a correlation with how good a software engineer is and their ability to juggle. I'm not going to do a survey on this but if someone discovers the answer and it happens to be yes then all interviews I do in future will require:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Presentation&lt;/li&gt;&lt;li&gt;Interview&lt;/li&gt;&lt;li&gt;Juggling exercise&lt;/li&gt;&lt;/ol&gt;---Update--- just to make Jim happy the original discussion was started by Jim, I just embellished it.&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-1033350037475519513?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/1033350037475519513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=1033350037475519513' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1033350037475519513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1033350037475519513'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/can-all-developers-juggle.html' title='Can all developers juggle'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4516503506700297735</id><published>2008-05-08T01:24:00.005+01:00</published><updated>2008-05-08T02:05:17.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne2008'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><category scheme='http://www.blogger.com/atom/ns#' term='jvm'/><title type='text'>JavaOne2008. A day for applets and reporting</title><content type='html'>If I can conclude anything about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JavaOne&lt;/span&gt;2008 on Wednesday it's that the Java community is once again thinking about Java Applets (especially if you like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;JavaFX&lt;/span&gt;), the second thing is that there is a big drive to produce highly interactive reporting tools.&lt;br /&gt;&lt;br /&gt;We met a number of Sun &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Microsystems&lt;/span&gt; staff today, some we expected to meet and other by chance.   I asked &lt;a href="http://weblogs.java.net/blog/enicholas/"&gt;Ethan Nicholas&lt;/a&gt; who works on the Java &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;JVM&lt;/span&gt; kernel if it was possible to get two applets to communicate with each other without using JavaScript and guess what, it may not be a simple task (the question was asked during our talk yesterday). &lt;br /&gt;&lt;br /&gt;Jim's thoughts for versions of Java earlier than 1.6u10 would be to use static variables/classes, the problem with this approach is that both applets need to be aware of each other and would be tightly coupled, not Web 2.0 at all. At least this would have worked though.&lt;br /&gt;&lt;br /&gt;With the delivery of Java 1.6u10 it's going to be even harder for Applets to communicate in a browser as each Applet will run in its own virtual machine and so globally available static classes are not an option, so it's back to JavaScript - on the plus side Ethan appears keen on the idea of making this happen. I think a solution is needed if Java Applets are to be used on the desktop as demonstrated in one of the key note talks. The standard for desktop applications communicating has been set by Microsoft and so Java will need an equivalent communication mechanism for desktop applications to really succeed, and it needs to ensure applications are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;loosely&lt;/span&gt; coupled.&lt;br /&gt;&lt;br /&gt;I regret not seeing the talk on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;JavaFX&lt;/span&gt; where dropping widgets onto the desktop was shown and it seems that it was not made clear during the talk that this ability to drag an applet to the desktop was a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;plugin&lt;/span&gt; feature and not &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;JavaFX&lt;/span&gt;.  Jim, Tom and I had to explain this several times to people visiting the booth.&lt;br /&gt;&lt;br /&gt;I'm going to try and spend the day tomorrow looking at all the different reporting tools, there's a great fit between &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;RIA&lt;/span&gt; and reporting, and there are lots of possible products to choose from it's just identify how easily &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;AltioLive&lt;/span&gt; could integrate with different reporting products.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4516503506700297735?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4516503506700297735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4516503506700297735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4516503506700297735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4516503506700297735'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/javaone2008-day-for-applets-and.html' title='JavaOne2008. A day for applets and reporting'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7607595823996390646</id><published>2008-05-07T12:17:00.006+01:00</published><updated>2008-05-07T13:14:25.781+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne2008'/><category scheme='http://www.blogger.com/atom/ns#' term='applets'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><title type='text'>JavaOne2008. Java applets still have the power to draw a crowd</title><content type='html'>&lt;a href="http://bp1.blogger.com/_lYc7YznXcr0/SCGUtuw4ZFI/AAAAAAAAAB0/GOyECjNIMWE/s1600-h/P1050227.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5197598958330340434" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_lYc7YznXcr0/SCGUtuw4ZFI/AAAAAAAAAB0/GOyECjNIMWE/s200/P1050227.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Conclusion for Tuesday 6 May&lt;/strong&gt; - Java 6 update 10 provides a whole new opportunity for Java Applet technologies to compete on a level playing field with Adobe Flex, Microsoft Silverlight. The combination of improved download options, faster JVM load times combined with JavaFX rich graphics will enable the AltioLive product to focus upon adding value to the Java Development community rather than overcoming problems with the Jave SE plugin technology. 2008 and 2009 provide many opportunities for Java Applet technologies and I feel confident enough to say that Applets are NOT a "old school" technology, and are here to stay for the forseable future.&lt;br /&gt;&lt;br /&gt;Loss of focus by Sun Microsystems and/or the Java product team is the only concern. If enough Java developers push for improved performance and a simpler user interface API's Sun will need to meet the demands. It's about working as a "community", considering all the options and not thinking Adobe and Microsoft offer the only solution to rich user interfaces in a web browser.&lt;br /&gt;&lt;br /&gt;Enough of my soap box rant and a quick review of the day.&lt;br /&gt;&lt;br /&gt;The booth had a steady flow of people interested in both the freebies and our product. The interest in a product was really great to see making all the hard work to improve the AltioLive product worth while, and the java development community still has interest in Java Applets technology.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jim and I guess about 80-100 came to the presentation, and given that the were a number of very big talks by popular speakers I was pleased. Aside from not feeling too good - a serious lack of sleep, the talk went really well, with a few lessons learnt should we do a talk again next year.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The question that catches you out!&lt;/strong&gt; - "How do you get two applets to communicate in the same browser session?", Jim put a lot of effort into his examples and neither of us spotted the fact that we didn't do an example of Java Applets talking to other Java Applets, is direct communication possible and more importantly should the security model allow it to happen. Not something I plan to answer in this blog.&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Jim gets his 10 minutes of fame-&lt;/strong&gt; a surprise visit by the JavaOne2008 reporter caught us out and Jim had to do a 10 minute technical interview about applets and AltioLive - good interview Jim especially when it was at the end of a very long day.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7607595823996390646?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7607595823996390646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7607595823996390646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7607595823996390646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7607595823996390646'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/javaone2008-java-applets-still-have.html' title='JavaOne2008. Java applets still have the power to draw a crowd'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lYc7YznXcr0/SCGUtuw4ZFI/AAAAAAAAAB0/GOyECjNIMWE/s72-c/P1050227.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-5624258920197414337</id><published>2008-05-06T01:43:00.003+01:00</published><updated>2008-05-06T02:04:19.514+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne2008'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>JavaOne2008. Booth ready to go</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5197060314854906914" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_lYc7YznXcr0/SB-q0jc03CI/AAAAAAAAABs/Kpa5Axk6Avw/s320/P1050222.JPG" border="0" /&gt;&lt;br /&gt;San Francisco day 1.&lt;br /&gt;&lt;br /&gt;Our first full day at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JavaOne&lt;/span&gt; 2008, and I think all of us are very tired - it took us nearly all day to prepare the booth, demo's and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;practice&lt;/span&gt; the talk that Jim and I will do tomorrow.&lt;br /&gt;&lt;br /&gt;The day started at 6am this morning with a vigorous walk up some very steep hills, I'm amazed the houses don't just slide down the hills.&lt;br /&gt;&lt;br /&gt;Tom has put together some good videos of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;AltioLive&lt;/span&gt; designer and applications that we will play back through the next few days. Even before they were complete people were stopping and looking at what was happening.&lt;br /&gt;&lt;br /&gt;Tom and I decided that the Community One speed dating event just wasn't for us. Wives and girlfriends should not worry, it was all to do with meeting up with other organisations and discussing how you could benefit each other - we were just too tired to meet 21 companies in 45 minutes.&lt;br /&gt;&lt;br /&gt;Everything has gone to plan so far at the event. Although, the BIG worry is the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Altio&lt;/span&gt; website, we have had a few issues with the website and hope they will be fixed by tomorrow. If you have difficulty accessing &lt;a href="http://www.altio.com/"&gt;www.altio.com&lt;/a&gt;, try the alternative &lt;a href="http://altio.com/"&gt;http://altio.com&lt;/a&gt; , &lt;a href="http://www.altio.co.uk/"&gt;http://www.altio.co.uk&lt;/a&gt;. Our service provider is working hard to investigate the problem and we hope to have this resolved soon.&lt;br /&gt;&lt;br /&gt;For those of you attending JavaOne2008 and who read my posts I look forward to meeting you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-5624258920197414337?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/5624258920197414337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=5624258920197414337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5624258920197414337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/5624258920197414337'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/javaone2008-booth-ready-to-go.html' title='JavaOne2008. Booth ready to go'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lYc7YznXcr0/SB-q0jc03CI/AAAAAAAAABs/Kpa5Axk6Avw/s72-c/P1050222.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6077772731399764068</id><published>2008-05-02T11:13:00.003+01:00</published><updated>2008-05-02T11:19:32.453+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>New AltioLive website goes live</title><content type='html'>&lt;a href="http://bp3.blogger.com/_lYc7YznXcr0/SBrpfzc03BI/AAAAAAAAABk/CU4P6tgNE9A/s1600-h/AltioWebSite.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5195721852721617938" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_lYc7YznXcr0/SBrpfzc03BI/AAAAAAAAABk/CU4P6tgNE9A/s320/AltioWebSite.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The new AltioLive website is now up and running, just in time for JavaOne!&lt;/p&gt;&lt;p&gt;All going well AltioLive 5.2 will be available for download as a Beta release very soon.&lt;/p&gt;&lt;p&gt;April was busy and May is even busier.&lt;/p&gt;&lt;p&gt;Go have a look at the new site at &lt;a href="http://www.altio.com/" target="_blank"&gt;www.altio.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6077772731399764068?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6077772731399764068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6077772731399764068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6077772731399764068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6077772731399764068'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/05/new-altiolive-website-goes-live.html' title='New AltioLive website goes live'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lYc7YznXcr0/SBrpfzc03BI/AAAAAAAAABk/CU4P6tgNE9A/s72-c/AltioWebSite.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7784537775194890372</id><published>2008-04-30T08:40:00.005+01:00</published><updated>2008-04-30T18:09:43.829+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='woa'/><category scheme='http://www.blogger.com/atom/ns#' term='BOA'/><category scheme='http://www.blogger.com/atom/ns#' term='UOA'/><title type='text'>New acronyms for the IT industry</title><content type='html'>I'm beginning to think that everyone who works in the software industry applies Object Oriented (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;OO&lt;/span&gt;) methodologies to everything. For example in 2001/2002 we had Service Oriented Architecture (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SOA&lt;/span&gt;) and since 2006 there has been talk of Web Oriented Architecture (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WOA&lt;/span&gt;), when these acronyms first appear there is normally little substance to how technology supports the theory, Web 2.0 being a prime example as it seems to be mentioned for anything associated with the Web (IMHO).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I first saw &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WOA&lt;/span&gt; mentioned in 2006 on a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;zdnet&lt;/span&gt; blog titled called "&lt;a href="http://blogs.zdnet.com/Hinchcliffe/?p=27"&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SOA&lt;/span&gt; with reach: Web-Oriented Architecture&lt;/a&gt;" it was posted on the 1st April so I had to take a deep breath and make sure it wasn't a joke. My point is that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WOA&lt;/span&gt; is just an extension of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SOA&lt;/span&gt;, and isn't something newly invented, in my opinion it is just the natural progression - and shows how the IT industry can adapt to business or user demands, or just to prove that something new can be invented. Unlike technology specific trends like Java, Groovy, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;JRuby&lt;/span&gt; etc which are created to improve the original technology they either replace or are based upon &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SOA&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WOA&lt;/span&gt; acronyms are labels for theories and practices. The benefit of these labels is that they provide a focus for identifying the key requirements that make up the theory, and let people in the industry categorize and know what is being discussed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So why has it been so difficult to identify the requirements for labelling a &lt;a href="http://en.wikipedia.org/wiki/Web_2.0"&gt;Web 2.0&lt;/a&gt; product/solution or component (WIKI entries seem to debate what Web 2.0 is, rather than provide a specific definition) . I believe it is because Web 2.0 is a social phenomenon and has been driven by business or user needs to have information in a easily accessible format and to be able to configure that data to meet their own needs. To enable this requires rich user interfaces provided through Rich Internet Applications (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;RIA&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;More acronyms evolved from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;SOA&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;User Oriented Architecture (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;UOA&lt;/span&gt;),&lt;/strong&gt; not sure this exists yet. If it did there would be a close alignment with Business Oriented Architecture. The basics are that users would have maximum flexibility to work with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;UI&lt;/span&gt; widgets and data objects to generate screens how they want them. This could be viewed as an extension to &lt;a href="http://en.wikipedia.org/wiki/Business_intelligence"&gt;Business Intelligence &lt;/a&gt;(BI).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.bptrends.com/publicationfiles/TWO%2003-07-ART-ABusinessOrientedArchitecture-Gilbert-Final.pdf"&gt;Business Oriented Architecture &lt;/a&gt;(BOA)&lt;/strong&gt; makes use of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;BPM&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SOA&lt;/span&gt; to provide flexible and scalable systems which will enable an organisation to adapt quickly to a changing market place. I believe the driver here is senior executives and the IT department trying to meet business requirements.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Of the two I believe User Oriented Architecture is the most powerful. It can provide great benefits through empowering end users to access data on demand. It could also cause a lot of damage to a business by users manipulating data in an incorrect manner either intentionally or unintentionally resulting in incorrect decisions being made.&lt;br /&gt;&lt;p&gt;Is Web 2.0 just User Oriented Architecture or will &lt;a href="http://en.wikipedia.org/wiki/Web_3"&gt;Web 3.0&lt;/a&gt; provide this? I believe the answer is no, if User Oriented Architecture were ever to become an adopted term I feel there would be a demand for highly configurable and yet very simple user tools (NOTE - I'm not talking developer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;IDE's&lt;/span&gt; here). These tools would initially be aimed at power users but would eventually reach into the mass market, and would not require in-depth code or development experience, the first steps are m&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;ashups&lt;/span&gt; or Web 2.0 components and tools such as &lt;a href="http://pipes.yahoo.com/pipes/"&gt;Yahoo Pipes&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;In my opinion the Enterprise is lagging behind in adopting technologies for end users, and in some cases for good reasons. There needs to be some control over how data is accessed and manipulated otherwise there is the risk of not knowing if data is "a fact" and what data has evolved from a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;mashup&lt;/span&gt; of facts to deliver what people want to hear. &lt;/p&gt;&lt;p&gt;Anyway back to where I started Object Oriented Design and Programming are very powerful but if you keep extending the original concept(object), things just end up becoming overcomplicated and over used so diluting the original purpose. Do we need to re-factor some of the terms used in the IT industry to make things simple and more maintainable?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;References&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.webware.com/8301-1_109-9923360-2.html?tag=blogFeed"&gt;http://www.webware.com/8301-1_109-9923360-2.html?tag=blogFeed&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gartner.com/DisplayDocument?doc_cd=114358"&gt;http://www.gartner.com/DisplayDocument?doc_cd=114358&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.zdnet.com/Hinchcliffe/"&gt;http://blogs.zdnet.com/Hinchcliffe/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bptrends.com/publicationfiles/TWO%2003-07-ART-ABusinessOrientedArchitecture-Gilbert-Final.pdf"&gt;http://www.bptrends.com/publicationfiles/TWO%2003-07-ART-ABusinessOrientedArchitecture-Gilbert-Final.pdf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pipes.yahoo.com/pipes/"&gt;http://pipes.yahoo.com/pipes/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Web_2.0"&gt;http://en.wikipedia.org/wiki/Web_2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Web_3"&gt;http://en.wikipedia.org/wiki/Web_3&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7784537775194890372?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7784537775194890372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7784537775194890372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7784537775194890372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7784537775194890372'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/new-acronyms-for-it-industry.html' title='New acronyms for the IT industry'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3899544350254925308</id><published>2008-04-26T20:25:00.008+01:00</published><updated>2008-04-26T21:15:05.305+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='upnext'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='SIFMA'/><category scheme='http://www.blogger.com/atom/ns#' term='applet'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Where are all the applets?</title><content type='html'>&lt;a href="http://bp2.blogger.com/_lYc7YznXcr0/SBOK2Tc03AI/AAAAAAAAABc/fWtWxVgc7pc/s1600-h/upnext.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193647460827061250" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_lYc7YznXcr0/SBOK2Tc03AI/AAAAAAAAABc/fWtWxVgc7pc/s320/upnext.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A recent posting on Jim's blog "&lt;a href="http://stufffromjim.blogspot.com/2008/04/eating-your-own-dogfood.html" target="_blank"&gt;Eat your own dog food&lt;/a&gt;" mentions &lt;a href="http://www.upnext.com" target="_blank"&gt;www.upnext.com&lt;/a&gt; a cool Applet that provides a 3D view of Manhatten (usefull for &lt;a href="http://events.sifma.org/2008/107/event.aspx?id=526" target="_blank"&gt;SIFMA&lt;/a&gt; if you're going in June), I posted a comment on Jim's blog but I also wanted to make my own posting.&lt;br /&gt;&lt;br /&gt;I'm now wondering how many other Web 2.0 Applets there are out there - upnext is one I will try to mention in my talk at JavaOne 2008.&lt;br /&gt;&lt;br /&gt;I have nothing against AJAX, Flash or Silverlight, but I do believe that Applets are being unfairly treated and I'm surprised Sun doesn't have a library of Applet based Web 2.0 sites, or a library of Applet based products (maybe they do and I've been too lazy to find it).&lt;br /&gt;&lt;br /&gt;So my pet project for the next few months will be to find more great Applet products....&lt;br /&gt;&lt;br /&gt;Go see &lt;a href="http://www.altio.com/" target="_blank"&gt;Altio&lt;/a&gt; at &lt;a href="http://java.sun.com/javaone/sf/index.jsp" target="_blank"&gt;JavaOne 2008&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3899544350254925308?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3899544350254925308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3899544350254925308' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3899544350254925308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3899544350254925308'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/where-are-all-applets.html' title='Where are all the applets?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lYc7YznXcr0/SBOK2Tc03AI/AAAAAAAAABc/fWtWxVgc7pc/s72-c/upnext.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7186075698596103162</id><published>2008-04-22T04:02:00.004+01:00</published><updated>2008-04-22T09:41:51.236+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><category scheme='http://www.blogger.com/atom/ns#' term='soclal graph'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>AltioLive Google Social API Demo</title><content type='html'>In my &lt;a href="http://thompson-web.blogspot.com/2008/03/february-roundup.html"&gt;February roundup&lt;/a&gt; I mentioned the &lt;a href="http://code.google.com/apis/socialgraph/"&gt;Google Social Graph API&lt;/a&gt;, well the AltioLive development team decided to go ahead and put a demo together. It can be found at &lt;a href="http://tinyurl.com/64dkc9"&gt;http://tinyurl.com/64dkc9&lt;/a&gt;. Jim has also made a mention about the app in his blog entry "&lt;a href="http://stufffromjim.blogspot.com/2008/04/google-social-api-demo-in-altiolive.html"&gt;Google Social API demo in AltioLive"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The only comment I have is that blogger blog's seem to be difficult to analyse. IMHO this is strange because Google Social API and Blogger are both Google products. So if you enter &lt;a href="http://thompson-web.blogspot.com/"&gt;http://thompson-web.blogspot.com/&lt;/a&gt; not a lot happens but if you enter &lt;a href="http://www.heychinaski.com/blog/"&gt;http://www.heychinaski.com/blog/&lt;/a&gt; it does just what's expected and finds a social network. I suppose it could be argued I have no social life which is why no network appears for me, :-)&lt;br /&gt;&lt;br /&gt;NOTE: The tinyurl mentioned above may no longer point to the demo in the future as he demo may only be available through the &lt;a href="http://www.altio.com/"&gt;Altio&lt;/a&gt; website&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7186075698596103162?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7186075698596103162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7186075698596103162' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7186075698596103162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7186075698596103162'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/altiolive-google-social-api-demo.html' title='AltioLive Google Social API Demo'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8367519938406862922</id><published>2008-04-17T21:34:00.004+01:00</published><updated>2008-05-28T18:18:38.735+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='project failure'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='estimation'/><title type='text'>Project estimation (duration, effort) and Project Failure</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Several times recently I've been involved in discussions about project estimation, sometimes with project managers and other times in general conversation about project failure. Here is my opinion on why both duration and effort are important in estimation and neither can be ignored. This my personal opinion and every project and organisation may differ and should be treated appropriately by using the correct project management and software design methods.&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;Background on Project Failure&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;The UK National Audit Office summarises the common causes of project failure as:&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;NAO/OGC Common causes of project failure&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;1. Lack of clear link between the project and the organisation's key strategic priorities, including agreed measures of success.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;2. Lack of clear senior management and ministerial ownership and leadership.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;3. Lack of effective engagement with stakeholders.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;4. Lack of skills and proven approach to project management and risk management.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;5. Lack of understanding of and contact with the supply industry at senior levels in the organisation.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;6. Evaluation of proposals driven by initial price rather than long term value for money (especially securing delivery of business benefits).&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;7. Too little attention to breaking development and implementation into manageable steps.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;8. Inadequate resources and skills to deliver the total delivery portfolio.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I define project failure as one that either goes over budget, over schedule or both, or fails to deliver what the stakeholders actually expected. Most media attention focuses upon costs and timescale, and let's face it project failure is not isolated to IT projects - Wembly Stadium, 2012 Olympic Bid, the Millennium Dome were not IT projects. Until recently Heathrow Terminal 5 was hyped as the way to run projects (Agile), yes it may have been on time and on budget but in the end it failed to meet stakeholder expectations – the users of the terminal were far from happy and executives lost their jobs.&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;The importance of duration and effort in estimation&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;When I ask for estimates I always ask for two numbers the duration and effort – just so that it is clear to me how much the work is costing and how long it will take to deliver. When it's an external contractor I'm interested in duration and the bottom line cost not the effort, so this note applies to internal projects.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Effort is the direct cost of running the project and I would expect a project manager to be able to break down the estimate into deliverables/artifacts/tasks/function points – for me they are all the same, a quantifiable item of work. The quantifiable item of work can be listed in a Scrum burn-down list or an item in a project plan, but the project plan and burn-down need to take into account duration, more on this later. This effort provides the basis for future estimation for performing the same or similar piece of work. Using a well managed timesheet system enables project managers to make better estimates for future projects based upon projects of similar size, complexity, and industry type (OK it's not quite that simple but I'm not writing a thesis here).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The effort estimate will be affected by a number of factors e.g. sick, holiday, training, going to meetings not related to the project. All the daily tasks that an employee will be expected to undertake. This is what makes up the duration estimate of the project – the bottom line is "how productive is a person each day in your organisation". So if the effort to complete a project is 100 man days but an employee can only spend 80% of their time doing productive work then the duration is &lt;del&gt;120&lt;/del&gt; 125 days to deliver the project.&lt;br /&gt;(&lt;i&gt;UPDATE - Oops. Basic math error, should be 125 days.&lt;/i&gt;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Estimating duration and effort means that a project can meet schedule and costs, but accurate estimation is only possible with historic data – which is why using accurate timesheet systems is needed. &lt;/p&gt;&lt;p&gt;Most people in software hate completing timesheets. I know this because I did when I used to cut code – it's an unnecessary distraction and stops you getting on with doing fun things like designing and writing software. &lt;/p&gt;&lt;p&gt;If there is to be any professionalism in software engineering then developers and testers etc need to understand the importance of estimation. The problem is that every time a developer enters 8 hours development time when they really worked 12 just sets false expectations for the project manager and stakeholders. The next time a project is estimated the project manager looks at the timesheets and thinks "if I pay for 2 hours overtime I can get more from my team" and the team end up working 14+ hour days. OK, nobody wants this and I firmly believe in the Agile 8 hour days – even if I don't apply what I preach, but the responsibility lies with everyone on a project to ensure effective project estimation. &lt;/p&gt;&lt;h1&gt;Applying the appropriate estimation&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;At Altio PRINCE and Agile (Scrum) techniques are used to deliver projects. PRINCE provides the control and communication, the use of burn-down charts and daily meetings ensure project duration and deliverables are constantly monitored.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Effort estimates are used to calculate cost and this is where it is important that staff book their time accurately otherwise a project can fail on cost because staff spent most of their time on work that was not project related and so should have booked their time accurately (and I do draw the line at having a "Rest Room" or "Cigarette Break" task). For Altio projects we use several estimation technique – the simplest being a spreadsheet that applies triangulation estimation using best, most likely and worst case scenarios. &lt;/p&gt;&lt;p&gt;A project manager then takes the estimated effort and populates a project plan with tasks and adjusts staff availability to get a duration.&lt;/p&gt;&lt;p&gt;To monitor a project in progress then duration is important and using burn-down charts with staff providing daily estimates of how long it will take to deliver being the key. This estimate by the team members is pure duration, if the person is only managing to work 2 hours a day and there is 10 hours of work left, then the duration is 5 days. It's down to the project manager to manage why the person is only doing 2 hours a day and to manage the risks that this dilution of work effort causes. &lt;/p&gt;&lt;h1&gt;Constantly changing estimates&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;It is important to constantly review project in progress and adjust estimates based upon knowledge from previous projects and deliveries. Using PRINCE gateways as the time to re-estimate is important, as it is the time to provide the details to the stakeholders for them to make decisions. &lt;/p&gt;&lt;h1&gt;Conclusion &lt;/h1&gt;&lt;p&gt;There are lots of debates online about project estimation and ultimately every project will be different because of the people working on it, the technology being used and the expectations of the stakeholders. &lt;/p&gt;&lt;p&gt;Software projects are all about developing new and innovative systems otherwise we would just buy the most appropriate product off the shelf. This means there is no blue print for accurate software estimation – software engineers are not laying bricks to build a house so there is no way to say how many bricks per hour a person can lay and apply that to all projects (the analogy being lines of code = bricks).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;REFERENCES&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Listed below are a number of useful links and documents that I use for reference.&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.itprojectestimation.com/estrefs.htm"&gt;http://www.itprojectestimation.com/estrefs.htm&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Holy Grail of project management success, &lt;a href="http://www.bcs.org/server.php?show=ConWebDoc.8418"&gt;http://www.bcs.org/server.php?show=ConWebDoc.8418&lt;/a&gt; accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Wembley Stadium Project Management, &lt;a href="http://www.bcs.org/server.php?show=ConWebDoc.3587"&gt;http://www.bcs.org/server.php?show=ConWebDoc.3587&lt;/a&gt;, accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Olympic bid estimates, &lt;a href="http://www.telegraph.co.uk/sport/main.jhtml?xml=/sport/2007/02/08/solond08.xml"&gt;http://www.telegraph.co.uk/sport/main.jhtml?xml=/sport/2007/02/08/solond08.xml&lt;/a&gt;, accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;UK Government PostNote on NHS Project Failure, &lt;a href="http://www.parliament.uk/documents/upload/POSTpn214.pdf"&gt;http://www.parliament.uk/documents/upload/POSTpn214.pdf&lt;/a&gt;, access March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;UK Government Post Note on IT Project Failures, &lt;a href="http://www.parliament.uk/post/pn200.pdf"&gt;http://www.parliament.uk/post/pn200.pdf&lt;/a&gt;, accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Project Failure down to lack of quality, &lt;a href="http://www.bcs.org/server.php?show=ConWebDoc.9875"&gt;http://www.bcs.org/server.php?show=ConWebDoc.9875&lt;/a&gt; , accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Steve McConnell, Rapid Development, Microsoft Press,1996&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Martyn Ould, Managing Software Quality and Business Risk, Wiley,1999&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Art, Science and Software Engineering, &lt;a href="http://www.construx.com/Page.aspx?hid=1202"&gt;http://www.construx.com/Page.aspx?hid=1202&lt;/a&gt; , Accessed October 2006&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Simple and sophisticated is the recipe for Marks' success, Project Manager Today, page 4, March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ian Sommerville, Software Engineering 8&lt;sup&gt;th&lt;/sup&gt; Edition, Addison Wesley, 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Barbara C. McNurlin &amp;amp; Ralph H. Sprague, Information Systems Management in Practice 7&lt;sup&gt;th&lt;/sup&gt; Edition, Pearson, 2004&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Overview of Prince 2, &lt;a href="http://www.ogc.gov.uk/methods_prince_2.asp"&gt;http://www.ogc.gov.uk/methods_prince_2.asp&lt;/a&gt;, Accessed November 2006&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The New Methodology, &lt;a href="http://www.martinfowler.com/articles/newMethodology.html"&gt;http://www.martinfowler.com/articles/newMethodology.html&lt;/a&gt;, Accessed October 2006&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Register – IT Project Failure is Rampant &lt;a href="http://www.theregister.co.uk/2002/11/26/it_project_failure_is_rampant/"&gt;http://www.theregister.co.uk/2002/11/26/it_project_failure_is_rampant/&lt;/a&gt;, accessed October 2006&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Computing Magazine – Buck Passing Route of Project Downtime &lt;a href="http://www.computing.co.uk/itweek/news/2183855/buck-passing-root-downtime"&gt;http://www.computing.co.uk/itweek/news/2183855/buck-passing-root-downtime&lt;/a&gt;, accessed February 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;National Audit Office – Delivering Successful IT Projects &lt;a href="http://www.nao.org.uk/publications/nao_reports/06-07/060733es.htm"&gt;http://www.nao.org.uk/publications/nao_reports/06-07/060733es.htm&lt;/a&gt;, accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Successful IT: Modernising Government in Action, UK Cabinet Office, page 21&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Project success: the contribution of the project manager, Project Manager Today, page 10, March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Project success: success factors, Project Manager Today, page 14, February 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Six Sigma Estimation &lt;a href="http://software.isixsigma.com/library/content/c030514a.asp"&gt;http://software.isixsigma.com/library/content/c030514a.asp&lt;/a&gt; , accessed October 2006&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Analogy estimation &lt;a href="http://www-128.ibm.com/developerworks/rational/library/4772.html"&gt;http://www-128.ibm.com/developerworks/rational/library/4772.html&lt;/a&gt;, accessed January 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Symons MKII Function Point Estimation &lt;a href="http://www.measuresw.com/services/tools/fsm_mk2.html"&gt;http://www.measuresw.com/services/tools/fsm_mk2.html&lt;/a&gt;, accessed March 2007&lt;br /&gt;&lt;/li&gt;&lt;li&gt;COCOMO estimation &lt;a href="http://sunset.usc.edu/research/COCOMOII/"&gt;http://sunset.usc.edu/research/COCOMOII/&lt;/a&gt; accessed January 2007&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8367519938406862922?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8367519938406862922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8367519938406862922' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8367519938406862922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8367519938406862922'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/project-estimation-duration-effort-and.html' title='Project estimation (duration, effort) and Project Failure'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4847587012232813240</id><published>2008-04-09T09:09:00.011+01:00</published><updated>2008-05-02T11:41:51.333+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><category scheme='http://www.blogger.com/atom/ns#' term='web service'/><category scheme='http://www.blogger.com/atom/ns#' term='wsdl'/><title type='text'>Using complex web services in Altio</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Since 2003 &lt;a href="http://www.altio.com/"&gt;AltioLive&lt;/a&gt; has had the ability to work with SOAP web services but we only have simple examples that use primitive variables. Recent professional service projects have required the use of Web Services which use complex input and output data types so I thought I would make some notes here before a more formal document is produced. &lt;/p&gt;&lt;p&gt;AltioLive was developed to make integration with SOA as simple as possible, but because of the broad set of functionality available in AltioLive it is not always obvious how a certain implement a specific solution. This note will highlight how to use AltioLive to work with SOAP messages and WSDL's.&lt;/p&gt;&lt;h2&gt;What is a complex web service? &lt;/h2&gt;&lt;p&gt;When I mention a complex web service I mean one that takes complex XML as input and returns complex XML. This is predominant now in the Enterprise where &lt;a href="http://msdn2.microsoft.com/en-us/library/7ay27kt9(VS.80).aspx"&gt;.Net&lt;/a&gt; and &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/"&gt;JAX-WS&lt;/a&gt; object serialization makes it easy to transform objects to and from XML, resulting in deeply nested XML hierarchies. &lt;/p&gt;&lt;p&gt;Listed below is one approach to using a complex web service in AltioLive, the default approach is to use controls mapped to parameters in the service request - this is the default for AltioLive.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Generate a template of the XML structure for use by Altio Screens. The template XML can be generated using Static Data, AltioDB, or a request to a template object. &lt;/li&gt;&lt;li&gt;Map screen objects to the XML template &lt;/li&gt;&lt;li&gt;Submit the XML to a SOAP service request. &lt;/li&gt;&lt;li&gt;Map the response data to the required location &lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;The Template&lt;/h2&gt;&lt;p&gt;There are several options for providing the template of the complex XML. The general principal is that the application requires the XML structure that is to be passed to the Web Service, and the controls will be mapped to this XML structure.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Probably the simplest solution is to create a XML file containing the template and use this in AltioDB or as a file on the server which can be called from a HTTP request. Then create a HTTP service request to retrieve the template XML.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;NOTE: Make sure the data keys are correct, as this will be a common reason why the data does not display correctly. This will be especially important for the response data.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The SOAP request&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;Using the WSDL wizard is probably the simplest way of creating the required SOAP request:&lt;br /&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5187161361832171218" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_lYc7YznXcr0/R_x_xpyjVtI/AAAAAAAAAA0/aWU8QdtcUsQ/s320/soap_service_from_wsdl.png" border="0" /&gt; &lt;ol&gt;&lt;li&gt;Open AltioLiveApplication Manager &lt;/li&gt;&lt;li&gt;Select WSDL from the service request types on the menu &lt;/li&gt;&lt;li&gt;Enter the URL of the WSDL that declares the SOAP service you which to use &lt;/li&gt;&lt;li&gt;Click "Retrieve Operations" &lt;/li&gt;&lt;li&gt;Select the "Operation" you want to use &lt;/li&gt;&lt;li&gt;Click "Use Selected Operation" &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;These steps will create a new SOAP Service Request. &lt;img id="BLOGGER_PHOTO_ID_5187161701134587618" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_lYc7YznXcr0/R_yAFZyjVuI/AAAAAAAAAA8/V_Tgq4UIPvA/s320/soap_service_request.jpg" border="0" /&gt;&lt;/p&gt;&lt;p&gt;Because the service request will be using complex XML structure to send and receive data then the "Parts" section of the Service Request will need to be modified. By default AltioLive will create a placeholder for the data that will be passed from the client to the request, as shown below: &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style="BORDER-RIGHT: #999999 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: #999999 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: #999999 1px dashed; WIDTH: 100%; COLOR: #000000; LINE-HEIGHT: 14px; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px dashed; FONT-FAMILY: Andale Mono, Lucida Console, Monaco, fixed, monospace; HEIGHT: 213px; BACKGROUND-COLOR: #eee"&gt;&lt;p&gt;&lt;code&gt;&amp;lt;tt:create xmlns:tt='http://www.bbb.com/reports/ReportInstanceAdmin'&amp;gt;  &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&amp;lt;tt:ParamData xmlns:tt='http://www.bbb.com/reports'&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;    &amp;lt;tt:Schedule&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;      &lt;/code&gt;&lt;code&gt;&amp;lt;Recurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &lt;/code&gt;&lt;code&gt;&amp;lt;DailyRecurrence&amp;gt;${client.DAILYRECURRENCE}&amp;lt;/DailyRecurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &lt;/code&gt;&lt;code&gt;&amp;lt;WeeklyRecurrence&amp;gt;${client.WEEKLYRECURRENCE}&amp;lt;/WeeklyRecurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &lt;/code&gt;&lt;code&gt;&amp;lt;YearlyRecurrence&amp;gt;${client.YEARLYRECURRENCE}&amp;lt;/YearlyRecurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &lt;/code&gt;&lt;code&gt;&amp;lt;MonthlyRecurrence&amp;gt;${client.MONTHLYRECURRENCE}&amp;lt;/MonthlyRecurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;      &lt;/code&gt;&lt;code&gt;&amp;lt;/Recurrence&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;    &amp;lt;/tt:Schedule&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;    &amp;lt;Params&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;      &amp;lt;tt:InventoryParams&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &amp;lt;ReportTitle&amp;gt;${client.REPORTTITLE}&amp;lt;/ReportTitle&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &amp;lt;TitleOpt&amp;gt;${client.TITLEOPT}&amp;lt;/TitleOpt&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &amp;lt;ReportCode&amp;gt;${client.REPORTCODE}&amp;lt;/ReportCode&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;        &amp;lt;Uid&amp;gt;${client.UID}&amp;lt;/Uid&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;            &amp;lt;/Params&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;    &amp;lt;ReportInstance&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;${client.REPORTINSTANCE}&amp;lt;/ReportInstance&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;  &amp;lt;/tt:ParamData&amp;amp;gt&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;;&amp;lt;/tt:create&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;As the XML structure will be provided through a template the XML shown above can be replaced with:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;p style="BACKGROUND: #d9d9d9"&gt;&amp;lt;tt:create xmlns:tt='http://www.BBB.com/reports/ReportInstanceAdmin'&amp;gt;${client.PARAMS}:xml&amp;lt;/tt:create&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The parameter reference &lt;strong&gt;${client.PARAMS}:xml&lt;/strong&gt; informs AltioLive to process the parameter as a encoded XML block and will de-encode the XML when the WebService operation is called.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Processing the response&lt;br /&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5187161701134587634" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_lYc7YznXcr0/R_yAFZyjVvI/AAAAAAAAABE/DNQXt9IHzyw/s320/soap_service_response.jpg" border="0" /&gt;By default Altio will generate the response template using ${response.result}, this works fine for simple WebServices but as the scenario is using complex XML then the response body is the important part of the SOAP envelope and so the syntax to retrieve the message content needs to be &lt;strong&gt;${response.body}&lt;/strong&gt;, otherwise Altio will report that no XML was provided in the message.&lt;/p&gt;&lt;p&gt;To implement this change edit the SOAP Service Request. The "Response" tab contains a field called "Literal XML string", this defines the structure of the XML that the results of the SOAP request should be placed into. For this example use the default value but replace the ${response.result} value with ${response.body}. So that the "Literal XML string" looks like the following: &lt;/p&gt;&lt;p style="BACKGROUND: #d9d9d9"&gt;&amp;lt;DATA&amp;gt;&amp;lt;SOAP&amp;gt;&amp;lt;execute&amp;gt;${response.body}&amp;lt;/execute&amp;gt;&amp;lt;/SOAP&amp;gt;&amp;lt;/DATA&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;Client Action&lt;br /&gt;&lt;/h2&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5187161705429554946" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_lYc7YznXcr0/R_yAFpyjVwI/AAAAAAAAABM/8nrPJwgFVr0/s320/request_params.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;The final part to using a complex web service is to implement the client logic. The first step is to retrieve the template XML, this is done through a simple request to the Service Request that will return the template XML. The second step is to implement the logic to pass the data to the SOAP Service Request that will execute the SOAP operation, the syntax of the parameter to be passed to the SOAP Service Request is shown below:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="BACKGROUND: #d9d9d9"&gt;PARAMS='eval(escape(xml-string(/ReportParams/*)))'&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;xml-string() – serializes the XML element into a XML string. &lt;/li&gt;&lt;li&gt;escape() – performs a HTML escape of the XML string to ensure correct transmission from the client to the server. &lt;/li&gt;&lt;li&gt;eval() – informs AltioLive that this is a function execution block and that the content needs processing. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The "Parameter source" property of the "Server request" action block needs to be set to STRING, otherwise AltioLive will expect to find a control called PARAMS and use the content of the control for the XML structure. &lt;/p&gt;&lt;p&gt;Aside from the service request execution you will need to map controls to the XML.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Conclusion&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;The use of a Template for working with a complex XML structure is an alternative approach to using controls to pass the required data as individual fields. The benefits of using a template is that it allows the XML block to be manipulated by many screens and allows the XML to be built up from multiple sources if necessary.&lt;/p&gt;&lt;p&gt;The negative aspect of using template XML might be in migrating to a different technology, and example would be moving from a SOAP message to a REST format where parameters would need to be passed rather than a complex XML structure. In my opinion if the request is very complex then a SOAP message is probably far more effective and manageable than a equivalent REST message. &lt;/p&gt;&lt;p&gt;The AltioLive online help provides further details of using WSDL's and SOAP Service Requests, and if you are working in a SOA environment it is worth familiarising yourself with different techniques for interacting with SOAP message. &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4847587012232813240?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4847587012232813240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4847587012232813240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4847587012232813240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4847587012232813240'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/using-complex-web-services-in-altio.html' title='Using complex web services in Altio'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lYc7YznXcr0/R_x_xpyjVtI/AAAAAAAAAA0/aWU8QdtcUsQ/s72-c/soap_service_from_wsdl.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-746231842253343057</id><published>2008-04-07T22:44:00.003+01:00</published><updated>2008-04-07T22:59:28.651+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><category scheme='http://www.blogger.com/atom/ns#' term='rea'/><title type='text'>Getting ready for Javaone 2008</title><content type='html'>&lt;a href="http://java.sun.com/javaone/images/2008/170x93_Speaker_v4.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://java.sun.com/javaone/images/2008/170x93_Speaker_v4.gif" border="0" /&gt;&lt;/a&gt; &lt;div&gt;&lt;a href="http://java.sun.com/javaone/images/2008/170x93_Speaker_v4.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="https://www28.cplan.com/cc191/session_details.jsp?isid=295453&amp;amp;ilocation_id=191-1&amp;amp;ilanguage=english"&gt;Is there a place of Applets in Web 2.0?&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Just to back up my faith in RIA technology and Applets I decided to put Altio forward for a talk at &lt;a href="http://java.sun.com/javaone"&gt;JavaOne&lt;/a&gt; 2008, and I guess people want to listen to me an Jim Crossley (Product Manager and Architect at Altio) spend 60 mins talking about Applets.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Actually Jim is the real techie so he will do most of the talking.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;So if you happen to be in San Franciso 6 - 9 May 2008 come visit us and join the debate on what makes a good RIA or more specifically a Rich Enterprise Application (REA).&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-746231842253343057?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/746231842253343057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=746231842253343057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/746231842253343057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/746231842253343057'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/getting-ready-for-javaone-2008.html' title='Getting ready for Javaone 2008'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3149388756442041697</id><published>2008-04-03T03:17:00.013+01:00</published><updated>2008-04-04T22:49:22.605+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Criteria'/><category scheme='http://www.blogger.com/atom/ns#' term='nHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringFramework'/><category scheme='http://www.blogger.com/atom/ns#' term='Filters'/><title type='text'>nHibernate - Filter and Criteria for applying dynamic where clause</title><content type='html'>Over the last few days I've been getting my hands dirty trying to get dynamic filters working with &lt;a href="http://www.hibernate.org/"&gt;nHibernate&lt;/a&gt;. As a future reference I've decided to post my notes.&lt;br /&gt;&lt;br /&gt;The final solution makes use of &lt;a href="http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/filters.html"&gt;Filters&lt;/a&gt; and &lt;a href="http://www.springframework.net/"&gt;SpringFramework,&lt;/a&gt; IMHO both tools that you cannot do without when working in Java or .Net.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Requirement&lt;/span&gt;&lt;br /&gt;The system has complex WebServices exposed which provide data intensive processing based upon parameters provided in complex XML. The .Net framework deals with serialization of the XML into objects, the requirement is to apply filter conditions only when a parameter is supplied in the XML. It is essential that maximum reuse of code is maintained.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Write a data access object with lots of &lt;code&gt;if&lt;/code&gt; statements. The code would need to generate a string that forms the &lt;code&gt;where&lt;/code&gt; clause of the select statement.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use nHibernate ICriteria or IFilter objects to apply the conditions to the SQL.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Option 2 was the method of choice with little thought for option 1. It was felt that option 2 would provide a more modular approach. Now to the point of this blog entry, there are subtle differences between ICriteria and IFilter, and I would recommend using IFilter which I feel is much more powerful mechanism for controlling the data returned in the object model.&lt;span style="FONT-STYLE: italic"&gt;&lt;br /&gt;&lt;br /&gt;ICriteria &lt;/span&gt;produced &lt;a href="http://www.fluffycat.com/SQL/Cartesian-Joins/"&gt;cartesian joins&lt;/a&gt; so did not truly reflect the object model. For example if you have a Order object that can contain many OrderLines you expect the ORM to produce one Order object that contains many OrderLines. Using Criteria in nHibernate produced many Order's (1 per OrderLine) and each Order contained the correct number of OrderLines. The more Criteria applied to the query the bigger the result set became. Also, objects returned using Criteria that contain Bags, Sets or Maps had the collection object populated without applying any filtering.&lt;br /&gt;&lt;br /&gt;It was at this point that I decided to focus my attention on the Filter functionality provided by nHibernate and it worked perfectly.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;IFilter&lt;/span&gt; requires a little more effort in terms of code and producing the hibernate mapping documents but it is well worth the effort. The filter ensures that only the required objects are returned and that Bags, Maps, and Sets are correctly populated with filtered objects.  A filter is applied to the session and the same filter defition can be used on many objects. Individual filters can be enabled or disabled as necessary.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Solution &lt;/span&gt;&lt;br /&gt;The solution was to implement each filter condition in a object that determined if the filter should be applied. The filter class retrieved the parameter value originally passed in the XML and applies the filter condition, nHibernate dealt with correct SQL syntax for the &lt;code&gt;where&lt;/code&gt; clause. Each possible filter condition is put into its own class and the chained together in a IList object which is iterated over by a control class. The configuration of control class and filter classes is done in SpringFramework so as to provide maximum flexibility.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.springframework.net/"&gt;SpringFramework&lt;/a&gt; provides a flexible means to add or remove filters from a control class.&lt;img id="BLOGGER_PHOTO_ID_5185107542830962322" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_lYc7YznXcr0/R_Uz1pyjVpI/AAAAAAAAAAU/9bWux34jE3I/s400/spring_filter.png" border="0" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;foreach (AbstractParamFilter paramFilter in commonFilterList)&lt;br /&gt;{&lt;br /&gt;       paramFilter.ApplyFilter(accountingParams, session);&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;The filter classes implement either a Interface or Abstract class thus providing the polymorphism.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5185108096881743522" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_lYc7YznXcr0/R_U0V5yjVqI/AAAAAAAAAAc/xhoIl2M6Ieg/s400/static_class_diagram.png" border="0" /&gt; &lt;/p&gt;&lt;p&gt;Each implemented filter class is implemented to decide if the filter should be enabled or disabled based upon the content of the object passed to the filter.&lt;/p&gt;&lt;p&gt;The NHibernate configuration needs to have a filter definition provided for properties or collection objects as shown below.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5185109290882651826" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_lYc7YznXcr0/R_U1bZyjVrI/AAAAAAAAAAk/S_FPOfzK-iQ/s400/hibernate_bag_filter.png" border="0" /&gt; &lt;/p&gt;&lt;p&gt;Finally a filter defintion and the parameter for the filter need to be defined in the hibernate mapping files.&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_lYc7YznXcr0/R_U2pJyjVsI/AAAAAAAAAAs/Lz49Y-jI1A4/s1600-h/hibernate_filter_def.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5185110626617480898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_lYc7YznXcr0/R_U2pJyjVsI/AAAAAAAAAAs/Lz49Y-jI1A4/s400/hibernate_filter_def.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html_single/#filters"&gt;NHibernate chapter 14&lt;/a&gt; provides the documented detail of what to do, I personally do not believe the chapter describes the full benefits.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3149388756442041697?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3149388756442041697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3149388756442041697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3149388756442041697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3149388756442041697'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/04/nhibernate-filter-and-criteria-for.html' title='nHibernate - Filter and Criteria for applying dynamic where clause'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_lYc7YznXcr0/R_Uz1pyjVpI/AAAAAAAAAAU/9bWux34jE3I/s72-c/spring_filter.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4356015845176552252</id><published>2008-03-26T13:07:00.008Z</published><updated>2008-03-26T21:40:37.292Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='applets'/><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='applet'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><title type='text'>Why use AJAX in the enterprise?</title><content type='html'>&lt;div&gt;It appears that &lt;a title="Forrester Research Inc." href="http://www.computerworld.com/action/inform.do?command=search&amp;amp;searchTerms=Forrester+Research+Inc."&gt;Forrester Research Inc&lt;/a&gt; may have upset a few AJAX people out there by claiming that power users are less than impressed with AJAX in the enterprise (see "&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9071039"&gt;AJAX-powered Web apps disappoint power users, Forrester says&lt;/a&gt;"). That's not really news at &lt;a href="http://www.altio.com/"&gt;Altio&lt;/a&gt;., for a long time we have been aware that the Enterprise power user can be extremely demanding.&lt;br /&gt;&lt;br /&gt;Creating a Enterprise application for the browser requires the following at a minimum&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Responsive user interface&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ability to work with large volumes of data&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Provide all the features expected from a desktop application, which probably means interacting with other desktop applications.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The computerworld article quotes:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;" most AJAX frameworks tend to keep all real business logic on the server as opposed to local systems, user interactions may require a roundtrip communication between the browser and server for each input field"&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;I'm not sure how true this is, I guess JavaScript would need to do this to ensure it maintains performance. Altio does not have this issue and allows for client side validation without any additional performance overhead associated with server roundtrips.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote&gt;"Some large applications could easily have 50 fields on a single screen."&lt;/blockquote&gt;This statement seems to have caused quite a stir, resulting in a number of strongly worded comments. I would agree that 50 fields does seem like an extreme GUI and probably breaks a lot of usability and GUI design rules but I have seen a number of Call Centre application both in the UK and Far East which have a lot of complex screens with many input fields, including editable lists on one screen (maybe not 50). Sometimes the nature of the business domain requires this. So technical purists who maybe have little business knowledge probably needed to tame their comments a little. It is the business that drives IT demand, it is down to people working in technology to meet the business demands, not enforce technical constraints on business users.&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"As a result, AJAX developers told Forrester that they had to reduce real-time input validation compared with traditional rich clients to meet performance requirements. Real time input validation is a top priority for power users, the report said."&lt;/div&gt;&lt;/blockquote&gt;Well why not consider Applet based technologies. Applets provide a rich user experience all within a browser, the best of both worlds.  I was surprised that the report summary only discussed Adobe and Microsoft Technologies. This shows a lack of knowledge of what Sun are doing in Java 6 with the new Java plugin and Java FX.&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Altio and AJAX are similar in that they both interpret the business logic - Altio has it's own XML meta language that defines the logic while AJAX uses Javascript. Altio does provide a flexible means to manipulate data and interact with screens, in addition to this it comes with its own integration layer enabling rapid application development.&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;It could be argued that Applets have restricted memory because of the Java sandbox, but this will no longer be the case with Java 6 where it will be possible to request more memory from the operating system.&lt;br /&gt;&lt;br /&gt;Overall I feel a lot of Analysts and the developer community are ignoring Applets as a technology due to its poor history. I feel that  Applets should be used in Rich Enterprise Web Applications, and Sun need to advertise the power of Applets with the new support of Java 6. There are enough Java developers and using a tool like Altio abstracts away the complexity of understanding Swing and AWT.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4356015845176552252?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4356015845176552252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4356015845176552252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4356015845176552252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4356015845176552252'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/03/why-use-ajax-in-enterprise.html' title='Why use AJAX in the enterprise?'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7458332155897213118</id><published>2008-03-18T20:39:00.004Z</published><updated>2008-03-18T20:58:35.892Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C4380'/><category scheme='http://www.blogger.com/atom/ns#' term='MAC address'/><category scheme='http://www.blogger.com/atom/ns#' term='hp C4380'/><category scheme='http://www.blogger.com/atom/ns#' term='printer'/><category scheme='http://www.blogger.com/atom/ns#' term='livebox'/><title type='text'>How to setup a HP C4380 with an Orange Livebox</title><content type='html'>In my previous entry I mentioned my experience printers and setting up a  &lt;a href="http://www.pcworld.co.uk/martprd/product/seo/070226"&gt;HP C4380&lt;/a&gt; with an &lt;a href="http://www.orange.co.uk/time/livebox/"&gt;Orange Livebox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The one thing you need to make sure you do is press the number "1" button above the USB port. This enables the discovery mode of the Livebox which adds the printer to the MAC address list. By default the Livebox stores registered equipments MAC address and so printers or laptops etc cannot connect without an entry in the MAC address list.&lt;br /&gt;&lt;br /&gt;So if you setup the printer using the HP software, it will say that the installation was successfully but may not allow you to print. I resolved this by pressing the "1" button on the Livebox, turned off the C4380 and turned it back on and I could then print wirelessly as the printer could then get a IP address.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7458332155897213118?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7458332155897213118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7458332155897213118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7458332155897213118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7458332155897213118'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/03/how-to-setup-hp-c4380-with-orange.html' title='How to setup a HP C4380 with an Orange Livebox'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3840964804689132720</id><published>2008-03-18T19:55:00.008Z</published><updated>2008-03-18T20:39:16.211Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcworld'/><category scheme='http://www.blogger.com/atom/ns#' term='scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='problems'/><category scheme='http://www.blogger.com/atom/ns#' term='prince'/><category scheme='http://www.blogger.com/atom/ns#' term='hp C4380'/><category scheme='http://www.blogger.com/atom/ns#' term='printer'/><category scheme='http://www.blogger.com/atom/ns#' term='iMac'/><category scheme='http://www.blogger.com/atom/ns#' term='printing'/><category scheme='http://www.blogger.com/atom/ns#' term='kodak 5300'/><title type='text'>A new printer for home</title><content type='html'>I've just had a very interesting weekend purchasing printers.&lt;br /&gt;&lt;br /&gt;My requirements were&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Cheap to run&lt;/li&gt;&lt;li&gt;Capable of printing photos&lt;/li&gt;&lt;li&gt;Worked remotely (bluetooth or WiFi)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Would work with Apple Mac and Windows (XP and Vista)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I personally didn't think these requirements were too demanding.&lt;br /&gt;&lt;br /&gt;My first mistake was to go out and buy something without researching (I was in a bit of a hurry, which is my excuse), normally I would research quite a bit before buying computer hardware.&lt;br /&gt;&lt;br /&gt;I'd previously read several articles in photography magazines about all in one photo printers, and felt that was a good option as it would save desk space (scanner, printer, copier all rolled in one). So I bought a &lt;a href="http://www.kodak.com/eknec/PageQuerier.jhtml?pq-path=10586&amp;amp;pq-locale=en_GB&amp;amp;CMP=KNC-BL8102795033"&gt;Kodak 5300&lt;/a&gt; , my reasoning for this was that it was advertised as being 50% cheaper than all its competitors, great the kids can print and print without me breaking out in a cold sweat. I would need a bluetooth dongle to go wire free but I had one lying around somewhere so that shouldn't be a problem.&lt;br /&gt;&lt;br /&gt;So I get home and begin the installation on my Apple Mac and the problems begin:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Says compatible with OSX 10.4.8 and above - well I'm on 10.4.11 and the installation software flatly refused to accept that 10.4.11 is newer than 10.4.8. So off I go to the Kodak web site and download a newer installer, problem resolved. The software installs fine, and I can print using the USB port.&lt;/li&gt;&lt;li&gt;Next problem, as with all new things I like to test them. So I try the scanner and it actually locks up my Apple Mac ( and I mean really locks it up, I had to turn the Mac off). Back to the Kodak site and download and install firmware. At this stage I'm wondering if I have made a mistake here.&lt;/li&gt;&lt;li&gt;Third problem. I plug the bluetooth adapter in thinking surely no more problems. Oh how wrong I am. Nothing can see the printer, I even tried my mobile phone. So I go back to google to see what I can find out, and guess what the only bluetooth dongle supported is the Kodak one, which you can't buy from the shops and have to order (I wish it had been more specific on the box).&lt;/li&gt;&lt;/ol&gt;At this stage I gave up and go back the &lt;a href="http://www.pcworld.co.uk/"&gt;PCWorld&lt;/a&gt; to request an alternative printer, expecting to have a fight on my hands I make sure I have my list of reasons why they should exchange. I was gob smacked the tech support guy just turned around and said no problems the printer doesn't do what is says on the box so all I can do is recommend a HP printer, that will work. Wow and big thumbs up to PCWorld for a hassle free exchange.&lt;br /&gt;&lt;br /&gt;So I get a recommendation of a &lt;a href="http://www.pcworld.co.uk/martprd/product/seo/070226"&gt;HP C4380&lt;/a&gt;  and I start the process all over again.&lt;br /&gt;&lt;br /&gt;Install the software on a Mac using the USB port, prints and scans fine.&lt;br /&gt;&lt;br /&gt;Disconnect the USB port and  connect the printer to the Wirless Router, and try to print from the Apple Mac that worked but also I can scan images remotely as well (bit daft because I have to walk from one room to another to do it, but it's still a neat trick to impress the kids). I'm well impressed so far, well done HP for a superb product. Not so well done Kodak, I think you need to sort out you design specs. I can live with slightly more expensive ink cartridges if everything else works.&lt;br /&gt;&lt;br /&gt;By the way my next blog will be about getting a &lt;a href="http://www.pcworld.co.uk/martprd/product/seo/070226"&gt;HP C4380&lt;/a&gt; working with an &lt;a href="http://www.orange.co.uk/time/livebox/"&gt;Orange Livebox&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3840964804689132720?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3840964804689132720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3840964804689132720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3840964804689132720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3840964804689132720'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/03/new-printer-for-home.html' title='A new printer for home'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4547316490235571586</id><published>2008-03-08T07:59:00.008Z</published><updated>2008-03-08T08:11:54.221Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='lastfm'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><title type='text'>Last FM Altio graph demo</title><content type='html'>&lt;img src="http://www.heychinaski.com/blog/wp-content/uploads/2008/03/last.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Tom Martin one of the Altio development team put together a &lt;a href="http://last.fm/"&gt;LastFM&lt;/a&gt; demo using the Altio Graph control, you can see Tom's blog entry here &lt;a href="http://www.heychinaski.com/blog/?p=28"&gt;Altio Last FM demo&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4547316490235571586?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4547316490235571586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4547316490235571586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4547316490235571586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4547316490235571586'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/03/last-fm-altio-graph-demo.html' title='Last FM Altio graph demo'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4707286493510591131</id><published>2008-03-03T20:46:00.009Z</published><updated>2008-03-07T21:34:11.072Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='applets'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='macromedia'/><category scheme='http://www.blogger.com/atom/ns#' term='javaone'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='altiolive'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>February Roundup</title><content type='html'>&lt;span style="font-family:arial;"&gt;Better late than never..... one day I will have time to do the summary of the month when the month ends.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;IDE's Microsoft Visual Studio 2005 vs Eclipse&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So I'm now well into .Net web services, although I have to say I do think Eclipse wins the best IDE competition. My distant past when using Visual Studio was my staple diet for cutting code must of blurred into happy memories.... reality has hit home - the autocompletion doesn't quite cut it when compared to Eclipse.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Other things that have come on the IDE scene is a new &lt;/span&gt;&lt;a style="font-family: arial;" href="http://ajaxian.com/archives/wavemaker-visual-ajax-studio-311-released"&gt;AJAX designer&lt;/a&gt;&lt;span style="font-family:arial;"&gt; if there are anymore AJAX tools out there I can't see how people will decide where to look, why not try &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.altio.com/"&gt;AltioLive&lt;/a&gt;&lt;span style="font-family:arial;"&gt; it's not AJAX, it's not silverlight it's a full on Enterprise RIA, the IDE is written in Altio "so we live by what we preach" :-)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Visual Studio 2005 and Webservices&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;While I may not be impressed with the VS 2005 IDE I have to say getting a new web service up and running was impressive. I'm pushing the idea of Web Service Contract First (WSCF) and came across &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.thinktecture.com/resourcearchive/tools-and-software/wscf"&gt;WSCF by Thinktecture&lt;/a&gt;&lt;span style="font-family: arial;"&gt;. It does just what it says on the box, point at a XSD create the code and the WSDL. Although I didn't use the WSDL generator and depended upon the code generated by VS.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Enterprise RIA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Talking of Enterprise RIA &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.curl.com/sonata-announcement-9-25-07.php"&gt;Curl&lt;/a&gt;&lt;span style="font-family:arial;"&gt; have a good article on the power of Applet based technology over AJAX and Macromedia Flash, just replace Curl with Altio and you get the same thing plus a lot more (IMHO our IDE and user interfaces are better - that's my view and not my employers, just in case there's legal issues here)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Google social graph&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://code.google.com/apis/socialgraph/"&gt;http://code.google.com/apis/socialgraph/&lt;/a&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://code.google.com/apis/socialgraph/terms.html"&gt;http://code.google.com/apis/socialgraph/terms.html&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I'd like to see what AltioLive can achieve with the new graph control to display social networks.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Into March&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;March is ramping up to be manic..... the developers on Altio 5.2 are pushing hard to have a Beta release in March, it's that 95% complete syndrome.... the odd horrible bug that just doesn't want to go away.&lt;br /&gt;&lt;br /&gt;Oh and by the way if anyone does read my rants come visit me at &lt;a href="http://java.sun.com/javaone/sf/"&gt;JavaOne &lt;/a&gt;in San Franciso this year.... a few of us from Altio have decided to setup a stall and shout about how great Altio is.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4707286493510591131?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4707286493510591131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4707286493510591131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4707286493510591131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4707286493510591131'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/03/february-roundup.html' title='February Roundup'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-3258087708619096240</id><published>2008-02-10T20:29:00.000Z</published><updated>2008-02-10T20:59:55.924Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='prince'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='paragon'/><title type='text'>End of January beginning of February</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;div&gt; &lt;/div&gt;&lt;img src="http://farm3.static.flickr.com/2150/2242122839_c84a13c694.jpg?v=0" alt="" onload="show_notes_initially();" class="reflect" height="334" width="500" /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Boy, how time flies, I can't believe it's the middle of February already and the year is moving fast. The team working on Altio have released Altio 5.1.4 which is probably the last release of Altio 5.1 before we release Altio 5.2. Just to make me even busier I spent the first week of February in Boston initiating our latest project for &lt;a href="http://www.corfinancialsolutions.com/et.cfm?eid=931"&gt;Paragon&lt;/a&gt; using PRINCE project management and building a system using Altio with a SOA architecture.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;img src="http://farm3.static.flickr.com/2247/2242114427_6f2510a94b.jpg?v=0" alt="" onload="show_notes_initially();" class="reflect" height="334" width="500" /&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;The project kick off in Boston went really well with the documentation being received extremely well so now all involved in the project know about:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;the vision&lt;/li&gt;&lt;li&gt;the objectives&lt;/li&gt;&lt;li&gt;delivery gateways&lt;/li&gt;&lt;li&gt;quality plans&lt;/li&gt;&lt;li&gt;project tolerances&lt;/li&gt;&lt;li&gt;staff involved&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;All because we have a &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Project Initiation Document (PID), which while it was hard work to produce I hope will provide value through the project lifecycle by ensuring the project is delivered on budget and on time.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Some in the teams are horrified at the amount of documentation we are producing to start our new projects, while we're all keen to do PRINCE project management now it is understood I feel I have a lot of pressure for it to succedd as it's my idea.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Why is the organization adopting a formal project management technique? Well it's because we want to provide effective communication to all stockholders in projects and to remove as much ambiguity and as many assumptions as possible that are typically made at the beginning of the project.&lt;br /&gt;&lt;br /&gt;For the people doing the clever work of writing code and delivery functionality there will be little change, we will continue to use Agile methodologies.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;In the end it means people in the company can continue laugh about my Burndown charts as well as now laughing about delivery Gateways. Ultimately the quality of our software is improving along with the ability to better predict the delivery dates of our projects and if testers and developers morale is kept high by laughing at me I can't complain :-) .&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;While the project will be a major challenge everyone&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; is keen to see it succeed as it brings together everything Altio is about, a graphically rich and interactive front end with a Service Oriented Architecture (SOA) at the back-end. When &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Altio 5.2 &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;is released (due May) users will have the ability to make use of Altio's data mashups as well as screen mashups - we aim to really challenge the idea of what makes a RIA and set the benchmark high.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;So Altio 5.2 is well on it's way to being delivered in May and will bring a whole new designer and set of controls... I will add more on this in a later entry.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-3258087708619096240?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/3258087708619096240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=3258087708619096240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3258087708619096240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/3258087708619096240'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/02/end-of-january-beginning-of-february.html' title='End of January beginning of February'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-2739357809541075932</id><published>2008-01-20T19:07:00.000Z</published><updated>2008-02-09T19:37:30.290Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='woodford farm'/><category scheme='http://www.blogger.com/atom/ns#' term='chicken'/><category scheme='http://www.blogger.com/atom/ns#' term='rochford'/><category scheme='http://www.blogger.com/atom/ns#' term='free range'/><title type='text'>What happened to my free range chicken!</title><content type='html'>For the first time in my life I can say a TV chef has had a direct influence over my life - and it was to do with chickens.&lt;div&gt;&lt;br /&gt;The cause? Well I blame Hugh &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Fearnley&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Whittingstall&lt;/span&gt; (see &lt;a href="http://www.timesonline.co.uk/tol/life_and_style/food_and_drink/article3107877.ece"&gt;Humane Hugh wants you to give up cheap chicken&lt;/a&gt; ) and I also blame Jamie &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Olivers&lt;/span&gt; TV shows about improving our diet. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The effect on me? Well I couldn't buy my free range chicken or bacon from my local farm. For the past year I've had the bi-weekly pleasure of visiting &lt;a href="http://www.woodfordmeats.co.uk/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Woodford&lt;/span&gt; Farm&lt;/a&gt; at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Rochford&lt;/span&gt; Essex and get what is probably the best produced meats in my area - this week they were sold out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK so it is probably a good thing that people are looking to buy from local producers, who treat their animals humanely - well let's face it you drive past the pigs you will be eating in a few months time so you get to see them in a paddock wallowing in mud. But I can't help it if I feel a little hard done by as it has been my secret for almost a year.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way for those of you who decide to buy local from a farmer DON'T let your kids name the pigs. It can come as a bit of a shock to them when you tell them who's coming for Sunday lunch :-) , but why shouldn't they know where their food comes from.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-2739357809541075932?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/2739357809541075932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=2739357809541075932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2739357809541075932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/2739357809541075932'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/01/what-happened-to-my-free-range-chicken.html' title='What happened to my free range chicken!'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-6969336962437933714</id><published>2008-01-16T15:34:00.001Z</published><updated>2008-01-16T15:57:04.878Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='london'/><category scheme='http://www.blogger.com/atom/ns#' term='commuting'/><category scheme='http://www.blogger.com/atom/ns#' term='c2c'/><category scheme='http://www.blogger.com/atom/ns#' term='fenchurch street'/><title type='text'>Commuting into London - getting home, or not as the case was</title><content type='html'>OK, this is a gripe about travelling on the Fenchurch Street line run by C2C.&lt;br /&gt;&lt;br /&gt;I spent over 4 hours trying to get home last night, maybe those of us who use C2C rail are spoilt, as &lt;a href="http://www.c2c-online.co.uk/latest_updates/news/c2c_leads_london_commuter_punctuality_league_by_a_mile"&gt;c2c leads London commuter punctuality league by a mile&lt;/a&gt;. OK I can accept the poor weather caused problems, but to then be so disorganised to leave people stranded at a station for over 2 hours is pretty poor (well my time was 2 hours, others were still there when I left).&lt;br /&gt;&lt;br /&gt;Rumour was that coaches would be at the station I was deposited at, well yes one turned up after 1 hour and with a train full of people trying to get onto one coach I didn't fancy getting into a fight to board the coach - so being an English &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;gentleman&lt;/span&gt; I retired to the back of the crowd. So after waiting another hour a further coach arrives, along with another train full of people. This coach decides to park in a different location to the earlier one, so some of the new arrivals managed to get that coach, not me though and at this point people were getting angry.&lt;br /&gt;&lt;br /&gt;The final solution for me was a Taxi and a £50 bill from Laindon to Westcliff.&lt;br /&gt;&lt;br /&gt;Anyway why am I griping about this, well I heard this morning that the coaches went to Pitsea and not Laindon where me and approximately a thousand other people were stranded. What happened to contingency plans and managed recovery.&lt;br /&gt;&lt;br /&gt;I work in IT and there always seems to be bad press about how IT planning and disaster recovery fails, well after last night I think it proves that IT are not the only areas that suffer from poor communication and bad planning.&lt;br /&gt;&lt;br /&gt;I'd love to know who was in charge of the disaster recovery for C2C last night and see what the plan was, don't think it will happen though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-6969336962437933714?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/6969336962437933714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=6969336962437933714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6969336962437933714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/6969336962437933714'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2008/01/commuting-into-london-getting-home-or.html' title='Commuting into London - getting home, or not as the case was'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-1312082977954360934</id><published>2007-12-25T21:24:00.000Z</published><updated>2008-01-16T15:26:08.993Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='altio'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe flex'/><category scheme='http://www.blogger.com/atom/ns#' term='2007'/><title type='text'>A roundup of Altio 2007</title><content type='html'>Wow, what a year 2007 was.  It's been a hard year trying to achieve major things, and 2008 has been busy hence late delivery of this message.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've been in charge of a lot of projects this year including&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;deliverying a Graph tool and associated application for displaying relationships in data. The application is used by Compliance officers in big banks to assist in tracking suspicious transactions and relationships.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the next version of Altio using Java Swing for the main infrastructure. Altio as a product has been around for a while and we are now re-positioning ourselves to challange Adobe Flex as a tool for creating rich web applications.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;As well as the projects I've been in charge of the profesional services including recruitment and working with partners to design new system architecture (SOA etc) as well as talks about Altio. I'm really looking forward to 2008 when Altio 5.2 is released which will have the new designer and new controls, plus a simpler way of adding your own Java controls.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-1312082977954360934?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/1312082977954360934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=1312082977954360934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1312082977954360934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/1312082977954360934'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2007/12/roundup-of-altio-2007.html' title='A roundup of Altio 2007'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7000441343448369763</id><published>2007-11-12T15:29:00.000Z</published><updated>2008-01-16T15:31:14.080Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Testing - Tool testing vs Application testing</title><content type='html'>Over the past few weeks I've been in the situation where software testing has become a top issue. This is primariliy around the area of testing a Application vs Tools.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When testing an Application there are normally business users with defined scope of what they want to achieve. This means the scope of testing can be reasonably well defined and the testing applied in a structured manner.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Developing tools to be used as a development tool itself poses another issue, when is a bug truly a bug? To explain further you develop a tool which generates an application for you, and you go a step further and allow users to use a scripting language in the tool. The problem occurs when users find novel, and un-documented ways of using the tool which makes their own applications go wrong. Is it a bug? If you never told users they could do something that way, it's not documented anywhere is it a bug? Some people say yes - the reasoning is that if you don't prevent someone doing it a certain way then it should work. Others will say no - if users want to make use of undocumented features then they do so at their own risk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm not sure there is an easy answer - I would like to think a development tool can be designed to bullet proof and not allow user to do things that will cause them tremendous amounts of grief. The problem is that in doing this you can be very restrictive and lose flexibility in the tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7000441343448369763?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7000441343448369763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7000441343448369763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7000441343448369763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7000441343448369763'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2007/11/testing-tool-testing-vs-application.html' title='Testing - Tool testing vs Application testing'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-7725574881323027329</id><published>2007-10-27T15:43:00.001+01:00</published><updated>2007-10-27T16:31:50.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cyprus holiday'/><title type='text'>Cyprus Sunset - a week away from work</title><content type='html'>&lt;div class="flickr-frame"&gt;&lt;a title="photo sharing" href="http://www.flickr.com/photos/garyt70/1770265741/"&gt;&lt;img class="flickr-photo" alt="" src="http://farm3.static.flickr.com/2321/1770265741_4d7fdc8e06.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/garyt70/1770265741/"&gt;Cyprus Sunset&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/garyt70/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;garyt&lt;/span&gt;70&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="flickr-yourcomment"&gt;Chill out week in Cyprus, kids loved it and I actually relaxed... well a few stressful minutes (kids don't allow complete relaxation).&lt;/p&gt;&lt;p&gt;We booked the villa through &lt;a href="http://www.holiday-rentals.co.uk/Cyprus/Paphos-region/holiday-villa-Coral-Bay-Village/p71427.htm"&gt;Holiday Rentals&lt;/a&gt;, the location was superb, easy walking distance of a quiet but &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;pebbly&lt;/span&gt; beach or &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;alternatively&lt;/span&gt; go to Coral Bay about 10-15&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;mins&lt;/span&gt; walk. Coral Bay beach is ideal for young kids as well as teenagers.&lt;/p&gt;&lt;p&gt;Anyway I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;completely&lt;/span&gt; chilled out didn't check e-mails or mobile phone calls. Lots of fine food sitting in the sun and playing with the kids, weather was lovely.&lt;/p&gt;&lt;p&gt;Paphos water park was a big hit with the kids, although the scary part of adults is that you pay on the way out! You buy drinks and food using a wristband - everyone gets one. So if you're not careful the cost can soon add up when the little sprogs realise they can get ice cream on demand.&lt;/p&gt;&lt;p&gt;Had to do a few tourist things so went to Kato Paphos to see the ruins of the old town. The kids really enjoyed the Tomb of the Kings, you basically walked through all of the ruins, not barriers preventing them climbing into tombs.&lt;br /&gt;Personally I'm not sure this could go on much longer otherwise things will soon get crumbled into dust&lt;/p&gt;&lt;p&gt;The only down side was coming home Paphos airport was a complete nightmare - 3 hours of queues.&lt;/p&gt;Some photos can be found at &lt;a href="http://www.flickr.com/photos/garyt70/sets/72157602734931015/"&gt;Cyprus 2007&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-7725574881323027329?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/7725574881323027329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=7725574881323027329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7725574881323027329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/7725574881323027329'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2007/10/cyprus-sunset-week-away-from-work.html' title='Cyprus Sunset - a week away from work'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2321/1770265741_4d7fdc8e06_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-8330242703464897906</id><published>2007-10-10T07:01:00.000+01:00</published><updated>2007-10-27T16:28:35.101+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='estimation'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>The importance of estimation!</title><content type='html'>An article on the importance of lines of code caught my eye the other day (&lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2007/10/05/why-is-it-useful-to-count-the-number-of-lines-of-code-loc.aspx"&gt;Why is it useful to count the number of Lines Of Code (LOC) ?&lt;/a&gt;). I personally feel that the use of lines of code for estimation has several issues.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Complex loops in code vs form code, it is possible to have a few complex lines of code in a loop and lots of code for generating a form. Verifying and fixing a bug in the loop may take a long time, while a fix in form code may take very little time&lt;/li&gt;&lt;br /&gt;&lt;li&gt;What do you do about auto generated code produced by wizards? I would like to think that the code will always work so do you need to include this in the calculation. But, will generated code always work in the context of the surrounding hand crafted code&lt;/li&gt;&lt;br /&gt;&lt;li&gt;What about abstracted definitions. For example in &lt;a href="http://www.blogger.com/www.altio.com"&gt;Altio&lt;/a&gt; much of the logic and screen definition is implemented as XML definitions and executed by the internal engine. The same is true for &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flex&lt;/a&gt; and many other RIA development tools.&lt;/ li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;My preference, and idealistic, approach is to use a combination of several estimation techniques. Use &lt;a href="http://en.wikipedia.org/wiki/Function_point_analysis"&gt;Function Point Analysis (FPA)&lt;/a&gt; to determine the high level estimate (this works well for abstracted definitions). The FPA can then be used to generate an equivelant Lines of Code (LOC) estimation, this would be determined by relating the abstract definition to the equivalent Java code or C++ code (or any other language, users choice). Finally the LOC can be used in a structured estimation platform such as &lt;a href="http://en.wikipedia.org/wiki/COCOMO"&gt;COCOMO&lt;/a&gt; which allows you to define the complexity of the system to produce and estimated cost and duration, finally confirm this all using &lt;a href="http://safari.oreilly.com/0321205685"&gt;Triangulation Estimation&lt;/a&gt;. I never seem to have time to do all of this and so feel the approach is best kept for large projects, or ones where you don't want a lot of explaining to do at the end of the project when it's late.&lt;br /&gt;&lt;br /&gt;In my experience the Agile technique of using expert judgement and &lt;a href="http://safari.oreilly.com/0321205685"&gt;Triangulation Estimation&lt;/a&gt; will work OK. Well let's face it you get a pretty good 99% accuracy for the number of days effort to deliver.&lt;br /&gt;&lt;br /&gt;In my opinion, however you perform estimation is a matter of choice, the important thing is to record the results learn from them and apply past experience to new estimates. Unless you purchase the software off the shelf or use past code and modules you will always be in new and uncharted territory, so how can you accurately estimate the distance you have to go to get where you want to be. Plus, users will always move the goal post making the original estimate nonsense!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Books by Steve McConnell&lt;br /&gt;I've never read the book &lt;a href="http://www.amazon.com/Software-Estimation-Demystifying-Practices-Microsoft/dp/0735605351"&gt;Software Estimation: Demystifying the Black Art&lt;/a&gt; but I have read Steve McConnell's other books &lt;a href="http://www.amazon.com/Rapid-Development-Steve-McConnell/dp/1556159005/ref=pd_sim_b_1_img/105-3839912-8534044"&gt;Radpid Development&lt;/a&gt; and &lt;a href="http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/ref=pd_bxgy_b_img_b/105-3839912-8534044"&gt;Code Complete&lt;/a&gt; both excellent books, and so assume Software Estimation will be equally as good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-8330242703464897906?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/8330242703464897906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=8330242703464897906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8330242703464897906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/8330242703464897906'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2007/10/importance-of-estimation.html' title='The importance of estimation!'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5879803756523278249.post-4586262681325174941</id><published>2007-10-07T04:52:00.000+01:00</published><updated>2007-10-07T05:26:51.837+01:00</updated><title type='text'>Starting out</title><content type='html'>OK I've been thinking about starting a blog for a while. But wasn't sure I had anything I really wanted to focus upon. So I thought I'd focus on a blog about lots of things, or nothing at all. So there will either be lots of posts or nothing.&lt;br /&gt;&lt;br /&gt;The thing that triggered blogging was doing something new and finding I had a little time to do it. Last Friday I left work a little early (well I'd worked over 45 hours that week, so one hour early is hardly a crime) and decided to go take some photos along the Thames in London. Heres a few shots on Flickr&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/11326296@N07/1491933288/"&gt;http://www.flickr.com/photos/11326296@N07/1491933288/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/11326296@N07/1491922742"/&gt;http://www.flickr.com/photos/11326296@N07/1491922742/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So seeing as that was something new and I found I actually relaxed, for people that know me they're probably thinking "That's a first!". So another first is this blog.&lt;br /&gt;&lt;br /&gt;So what do I plan to do in the way of blogs;&lt;br /&gt;Software Engineering - thoughts on different technlogies, design methods, refering to other interesting blog sites I've been reading for a while e.g.&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;Joel on Software&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adambosworth.net/"&gt;Adam Bosworth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just about anything else I find interesting and feel like recording for all to read. It really just all depends if I have the time, and think it's worth writing about for future reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5879803756523278249-4586262681325174941?l=thompson-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thompson-web.blogspot.com/feeds/4586262681325174941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5879803756523278249&amp;postID=4586262681325174941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4586262681325174941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5879803756523278249/posts/default/4586262681325174941'/><link rel='alternate' type='text/html' href='http://thompson-web.blogspot.com/2007/10/starting-out.html' title='Starting out'/><author><name>Gary Thompson</name><uri>http://www.blogger.com/profile/14014271482571618258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
