Friday, October 03, 2008

Forensic Architecture and other lessons from SOA land.

Forensic Architecture! What is it? I use this term to refer to the process of describing the architecture of something after it has been built. It is a largely frustrating, cumbersome process yet I seem to have made a career out of it. Let me explain.

Note: These are my own views and lessons I have learned. I have greatly enjoyed working with many talented minds in the past and am looking forward to working with more in the future. The sum of all these experiences has made me what I am today for better of worse and I am grateful to everyone I have met on this journey.

In a perfect world of the idealist software engineer, software architecture is written in response to a documented set of requirements. The sequence of events in a perfect world usually involves the following steps:

1. A problem is identified.
2. The problem is documented.
3. A solution is proposed.
4. Specific requirements for the solution are documented.
5. An architecture is proposed to solve the problem.
6. An iterative process of mapping requirements to solutions takes place until all issues are resolved.
7. The final solution is built and solves the problem.

These are somewhat generic and there are many variations to this sequence of events.

Lesson #1: In the real world, this process rarely happens without some complications. The following sections discuss some real-world projects I have learned from and their associated complications. Each section briefly explains the project and then provides an introspective analysis of the architecture process and the lessons learned during that process. The purpose of these case studies is to illustrate how vastly different architecture processes can be and to try and learn from the past.

Example #1: ebXML

ebXML, which stands for Electronic Business using eXtensible Markup Language, is a modular suite of specifications that enables enterprises of any size and in any geographical location to conduct business over the Internet. The overall standards process for developing ebXML (circa 1999–2001) was somewhat flawed and marked a serious departure from the architectural idealism described above, yet the product itself was rather revolutionary and advanced for the time. ebXML is in my mind the first large scale web and XML based Service Oriented Architecture (SOA). The organization and overall process used to create the ebXML specification was the root cause of the problem. No one is at fault as there were external pressures to get the work done fast and we all agreed, myself included, to adhere to the schedule we created. In retrospect, there were great lessons to be learned.

The following six ebXML working groups, each with a very specific job to do, started work at exactly the same time and were supervised by an organizing committee:

• Requirements
• Technical Architecture
• Business Process Specification Schema
• Core Components
• Messaging
• Registry

Lesson #2: In an ideal world, the Requirements group would have completed its work before any other group started or perhaps before those groups were formed.

Lesson #3: In the same idealistic manner, the Technical Architecture group would have started and completed its work based on the requirements, and then a series of other groups would have been formed to complete the balance of the work. The groups should have logically been formed in alignment with the components of the architecture.

As stated above, these two ideal practices probably never happen in the real world ;-)

Instead, all six groups started work at the same time with mostly aligned but somewhat differing ideas of what ebXML should be, given that no comprehensive documentation existed prior to this activity. Although this sounds like a very funny Dilbert comic, it actually happened.

Eventually, most of the work fit within the work completed by the Technical Architecture group; however, there were gaps and issues in the solution. The unfulfilled requirements led a lot of follow-on work, including to the formation ofthe Universal Business Language (UBL), and several web services standards that evolved out of the ebXML model. The entire experiment was similar to the Monty Python skit, “The 100-Yard Race for People with No Sense of Direction.” At the start of this skit, several racers are standing in a straight line, ready to sprint down a racetrack. When the starter pulls the trigger, each competitor runs as fast as he can in completely different directions, each eagerly trying to complete his race.

Other Lessons learned

1. Never try to document a moving target in a static architecture specification.
2. Something not documented in architecture is not universally understood, nor can it be implied to exist within the scope.
3. Alignment, understanding, and agreement on a specific model or first order of logic are a good way to get any project off to a good start.
4. Solving a problem before you know what the problem is can be suboptimal.
5. Splitting a large thing into several smaller things is a good approach.
6. Keeping unnecessary dependencies out of a design of multiple components is generally a good thing for longevity.

ebXML was a ground-breaking effort that at one time enjoyed participation from most major software vendors. It was a joint initiative of the United Nations Centre for Facilitation of Commerce, Electronic Business and Trade (a subgroup of the United Nations Economic Commission for Europe) and OASIS. ebXML was the first post-XML, post-Internet effort to build a truly global electronic business and commerce infrastructure based on open standards and protocols.

Although the project eventually lost support from most major software vendors, a lot of its functionality and patterns live on today within something known as web services. Web services, although itself a term that does not concretely define a set collection of specifications, is generally accepted as one of the future building blocks for advanced information systems connected to the Internet.

Example #2: W3C Web Services Architecture Working Group

Post-ebXML, several skilled architects went on to create a piece of work called the W3C Web Services Architecture. During the effort, there were disparities in terms of the scope of the W3C Web Services Architecture recommendation and its recommended level of abstraction. The result was a hybrid document that is both part abstract model and part reference architecture, while also mentioning certain implementation constraints. During its development, there was also no clear definition of web service, and the web services versus Representational State Transfer (REST) debate came up many times.

The W3C Web Services Architecture Working Group was working on many complex interdependent issues concurrently, which in retrospect was not an ideal process. Some people were examining very concrete technologies such as the Simple Object Access Protocol (SOAP) at the same time the requirements document was declared to be a “living” (dynamic) document. Other disparities included describing some architectural concepts quite abstractly in the concepts and relationships section, followed by very specific mentions of technologies such as SOAP and HTML (albeit without versions).

Although this layered approach is somewhat normal, the content of the final recommendations seemed to have large gaps in terms of concepts and their link to concrete entities.

Lessons learned

1. Try to create consensus on what is achievable before starting any architecture work.
2. Clearly define the rules and constraints for abstraction and what constitutes a normative part of the solution before creating a table of contents.
3. Consider splitting knowledge into multiple sets of artifacts, each at a different level of abstraction, to capture knowledge for different audiences. For example, architects and modelers require different levels of detail than those writing code.

Example #3: The United Nations (UN/CEFACT) eBusiness Architecture

Another architecture that is worth studying is the eBusiness Architecture specification for the United Nations (UN/CEFACT) group. This modern SOA work tried to reconcile the ebXML and web services standards into a single architecture specification, and tried to add a modeling methodology on top. The Techniques and Methodologies Working Group managed to cobble together a candidate architecture specification for global electronic commerce that reflected the thinking at the time.

The final work produced by the working group was focused far too much on a narrow audience, namely those who model processes of international trade using the Unified Modeling Language (UML heads for short, of which I am one). It also tried to reconcile a large and very diverse set of information into a single, short document. As a result, significant portions of content were omitted, which made the document very confusing to readers who did not have the background knowledge to correctly interpret it. Although it was also an early example of a large infrastructure or IT system built in alignment with the principles of SOA, the document failed to produce a level of detail that was sufficient enough to facilitate implementations, and instead was largely used by authors of other specifications as a common basis for their work.

Lessons learned

1. Clearly define the audience for each artifact in advance.
2. Do not mix together disparate views of architecture unless absolutely necessary.
3. A layered approach to documenting the structure of a system is sometimes easier to understand than one large view that tries to incorporate multiple domains of knowledge.

Example #4: The OASIS Reference Model for SOA

The OASIS Service Oriented Architecture Reference Model Technical Committee (say it ten times really fast) formed in early 2005. This group included more than 200 members and observers to define SOA as an architectural paradigm, starting with a diverse set of beliefs and a blank piece of paper. At the time, SOA was an unspecified concept and each person had a slightly different view of what it was. Over the course of 18 months, the Technical Committee managed to distill the common beliefs of the participants and the public and build a reference model to capture the core lexicon of SOA.

In the process, several opinions were collected, and although they differed vastly at the concrete level, they were generally aligned at some abstract level. During the process, it became common for the architects involved to look beyond the examples cited and to recognize concepts and axioms at a higher level. It was a very iterative process, yet very productive in the end. Although some vendors attempted to define SOA in alignment with their own products or offerings, they were unsuccessful. The final delivered specification was a reference model, completely abstract of any implementation, and therefore reusable in multiple domains. This was deemed a success by most participants however it too had its share of complications due to the sheer number of disparate opinions of what SOA was. Additionally, since the term SOA itself was such a hot topic in the industry, there was a large degree of political pressure from some interests who had already heavily invested in their own definitions of SOA.

Lessons learned

1. Creating any model or architecture specification generally requires a means to find a common ground.
2. Politics places pressure on documenting architecture. It is best to think freely from forces and constraints that may lead to decisions based on a preconceived notion of what the solution is.
3. Meetings of standards bodies involving large numbers of software architects seem to be rife with repeated consumption of fermented vegetable product beverages containing high levels of alcohol and caffeine.

The latter should generally be regarded as the best lesson learned and I am grateful for all the people I have worked with on all of these projects, no exceptions.

I keep these lessons in mind as I am embarking on yet another forensic architecture journey to write a book on Web 2.0 for O'Reilly Media with Web 2.0 luminaries Tim O'Reilly, Simon St. Laurent, James Governor and Dion Hinchcliffe with great help from Steve Weiss. In accordance with the above lessons, we have tried to avoid introducing any dependencies or material in the book that would affect its durability or lessen its utility in the future. By doing that, hopefully we will not exclude anyone, nor will we arrogantly make our definition of Web 2.0 the only definition that applies.




By documenting architectural, design, and social patterns, this book is part of a framework that may define some aspects of Web 2.0 and share knowledge with others. To be durable, the patterns in this book are not tied directly to any specific implementation or work. In some cases, we mention well-known implementations for illustrative purposes only.

Where does that leave us (as a community) with respect to sharing knowledge about Web 2.0? It provides the groundwork for a methodology to derive knowledge from examples. This is the stepping-off point where we can start to truly evaluate the distinctions of Web 2.0 as it is, compared with the Internet of today and tomorrow.

Hey ho - let's go!

Thursday, October 02, 2008

I am Carbon Man!!


According to Dopplr.com
, my carbon debt is just a bit on the high side. In fact, it shows that in 2008 alone, I have added over 22,500 kg (about 50,000 lbs) of carbon into the atmosphere. Sorry about that.



I guess the 12 trees I planted on Mayne Island are not going to cover this. In fact, I think I have to plant several forests. Note that I also did not put all my trips into Dopplr.com.

Time to go for a walk...

Wednesday, October 01, 2008

InterAct 2008 - a great conference in DC

The 2008 InterAct conference is one of the best run, most relevant conferences I have attended. Not only did it completely sell out (both attendees and exhibitors), I got the distinct impression it was really appreciated by all the people I talked to. My talk was part of a three person panel alongside Clearspring CEO & Co-founder Hooman Radfar and Google VP Marissa Mayer to discuss trends in IT. All three of us got an award for Excellence in IT as voted by our peers. It was very flattering.

I have posted my slides up here if anyone is interested in retrieving them. If you want a soft copy, please email me dnickull at adobe dot com.

Web2 0-SOA InterAct2008
View SlideShare presentation or Upload your own. (tags: web2.0 2.0)


A longer version of the slides on Web 2.0 are here:

http://www.slideshare.net/adunne/web-20-design-patterns-models-and-analysis

Tuesday, September 30, 2008

A real Fire Drill at the US Commerce Department

I am in DC and just saw a fire drill as the US Commerce Department while enjoying my morning Espresso. I couldn't help but point out the metaphor to some employees outside given the current economic crisis. We had a good talk and they went back inside. I hope they solve this soon.

Friday, September 26, 2008

Duane's World 11 - Open Source, Open Everything

Part 1 of a two part show about the Open Everything event from Hollyhock on Cortes Island, BC. Duane interviews Joel Solomon who talks about Renewal Partners, social change and technology while contemplating what “Open” really means. During the Code and Tunes segment of the show, we show how to use svn, ant to retrieve and compile the free Flex SDK from the source code repository. Music guests 22nd Century offer a free music download.

Thursday, September 25, 2008

Stop using the term "Web 3.0"!!!

I recently became aware that despite attempts to educate people to the contrary, the term "Web 3.0" continues to be used. It is only natural I guess given we use the term "Web 2.0". I do believe using either term in a purely literal sense is flawed as the convention is to use this to denote major version changes to a thing. The web is full of change but it remains incremental. To my knowledge, there has never been a wholesale, overnight, non-backwards compatible change to the entire Internet. I highly suspect Tim O'Reilly used the term in the exemplar context rather than as a literal term. Nevertheless, it seems to have run away now on its own. Let's examine why it is flawed as a path for the web community.

The Web 3.0 zealots claim that Web 3.0 is everything Web 2.0 is plus semantics, a ludicrous claim given semantics are ubiquitous, whether explicit or not. Semantics exist today. From a pure logical standpoint, making such claims is meaningless. Nevertheless, I believe it will persist. To begin with, I decided to check with Wikipedia on a definition (despite the fact Wikipedia has become notoriously inaccurate due to tin-pot dictator editors who delete factual elements and replace them with their views). I was surprised to see my friend John Markoff as being credited with the definition. At the time I write this, here is what it alluded to:

"Web 3.0, a phrase coined by John Markoff of the New York Times in 2006, refers to a supposed third generation of Internet-based services that collectively comprise what might be called 'the intelligent Web'—such as those using semantic web, microformats, natural language search, data-mining, machine learning, recommendation agents, and artificial intelligence technologies—which emphasize machine-facilitated understanding of information in order to provide a more productive and intuitive user experience."

Let's start by ripping this apart. Semantics is the "meaning" of something. Like architecture, everything that exists can be linked to it (everything has an architecture, whether explicit or not). There is a triangular lexicon of the major concepts in most semantics work which includes the Referent (the object in question), the Term (the name or symbol representing the meaning and linking it to the referent) and the Conceptual domain (the place where meaning exists). There is also a fourth dimension of semantics which is a contextual plane. This is the set of circumstances that surrounds an object in question and can affect its meaning and importance.



Most semantics work gets stuck in the label region. It really should be done in the conceptual domain, which is the focus of ontology work. During the presentation I gave at Web 2.0 Expo earlier this year entitled "Ontologies for the Enterprise", this was explained (there is a link to the slides).

Since the objects and labels exist today (plain English is a natural language filled with terms or labels for just about every referent that exists), we have the tangible parts of the Semantic Web today, hence there is no logic behind advancing the version number of the web to Web 3.0. I think Tim has stated himself that it was a bad idea to name it Web 2.0 as it leads to this kind of foolishness and (I would presume) that "Web 2.0" should not be taken literally as so many have, but only in the exemplar context. What we need to concentrate on is the Conceptual plane's ontology work. While a lot of this does exist today, making it more explicit and providing concrete interfaces to such work is where semantic web work should be focused IMHO.

Some of the other elements cited in that Wikipedia entry exist today, including microformats and natural language searching. Google and Yahoo are both very competent at searching (when was the last time Google could not find what you wanted?). Don't get me wrong - John Markoff is a true genius and I deeply respect him. I think what I can infer is that John summarized what he noted other people have used the term to describe.

Web 2.0 is a collection of design, architectural, social, and business patterns implemented over the Internet. Some of these patterns deal with semantics, microformats (Small Things, Loosely Joined) , computational intelligence, data mining, and more TODAY! The pattern of "the constant beta", a pattern whereby continual, incremental innovation happens, ipso facto denotes that no further version numbers (like Web 3.0) should ever be used as the Web embraces the notion of change at its very heart.

I vote that the web community never version the web with 3.0, 4.0, and so on unless there is literally a non-backwards compatible version of the Internet invented. That is my $0.02 CAD worth!

Wednesday, September 24, 2008

MAX AIR Boot Camp filling up fast

The talk James Ward and I are delivering on day one of Adobe MAX 2008 is filling up fast. The talk is entitled AIR Boot Camp and will be delivered both in San Francisco and Milan. Curious about AIR? This is the place to go! If you are planning to attend, please register soon, space is limited to only 300 and it is over half gone as of today.

Also - if you are attending, we might get through the content before the time is up (it is a 3 hour mega lab session and all hands on coding). Accordingly, in true community style, James and I would like to ask you to suggest additional topics we can address. So far the outline is as follows; comments are also welcome:

Adobe AIR Boot Camp
Duane Nickull + James Ward
Teachers Aides: Andrew Spaulding (need 2 more).

Audience Assumptions
- This is a 101 Boot camp to introduce people to AIR
who have never used it before or want to go past Hello World.
- Attendees have Adobe’s AIR runtime installed
- Attendees are roughly familiar with XML syntax rules
- Attendees have Flex Builder 3 installed

Description

Join us for an introduction to working with Adobe AIR, in which we will build several projects from start to finish. Projects include "HelloWorld.air," a video player, a "full screen" application, a web service client, a simple example of how to make remote calls, a chromeless window application, writing data to and from a hard disk, working with XML (including RSS feeds), and packaging AIR applications for later distribution. Course materials include the presentation, all code for the projects, and a step-by-step written tutorial.

Topics

An overview of AIR
Architecture
Runtime Architecture
Development environment
Code, Code and more Code!

Projects:

1. Advanced Hello World (learn data binding, compiling, using [Binding], variables, using AS3 and MXML in a project, and much more
2. Chromeless applications - building applications with no system chrome
3. Video Capture and manipulation - use a stream
4. Video playbakc and full screen controls
5. Working with Audio and Events - event handling, audio playback controls
6. HTML - using HTML within an AIR app
7. Reading and writing to the local disk
8. Working with XML - all about E4X, pre-requisite to learn how to manipulate RSS and Web Services call returns.
9. Web Service Introspection and Consumption
10. Exporting, Signing, Distributing and installing AIR applications

Extra projects (we may not get to these if time goes slowly)

11. MySQLite
12. Using NativeWindowing API's

Tuesday, September 23, 2008

How about a solution that benefits the people (gasp!)

I am angered today by the continuing rhetoric from Washington on how to solve the financial sector meltdown. The powers that be want to spend Americans tax dollars (hard earned by the average American) to bail out big Wall Street firms. Under the current plan, this includes paying CEOs multi-millions of dollars for running a business into the ground. Is this fair to the average person who works very hard? Will this even solve the problem (it really just transfers debt from one balance sheet to another). Luckily, several legislators have jumped in to question the bill before congress.

Why not give the money directly to the homeowners to pay their mortgages? If the big Wall Street firms still cannot survive, let them die but do not take money from Americans to give to companies who have flawed business plans. From my limited understanding, it appears that under such a plan, the average American would be able to keep their house, most of the big banks would benefit from lower foreclosure rates and not fall into chaos and the average American would then have extra $$ to further stimulate the economy. Note that the entire deal could be done via immediate tax cuts. After all, aren't Republicans supposed to be about small government and lower taxes? What sense does it make to have a big lender financially solvent while having millions of people out on the streets, no longer having a home?

There are lots of smart people in the financial sector. Warren Buffett warned of the time bomb the derivatives practices would have on the sector over five years ago. He called them financial weapons of mass destruction. Why did some chose to ignore him? What about those who did heed the warnings? There is certainly a lot of good opportunity to see which banks and mortgage lenders are left to take the business lost by their insolvent counterparts.

I need a beer.

Thursday, September 18, 2008

Recording of my SOA, Web 2.0 talk with HP's Jeff Myers

On Tuesday, Sept 9, Jeff and I presented a Webinar (1,000 registered) to discuss Web 2.0 and SOA in very pragmatic terms including establishing a comprehensive IT testing framework for enterprise adoptions of Web 2.0. The first part of the talk really focuses in on the definition of Web 2.0 and SOA. When you accept that Web 2.0 is a set of architectural, social, and design patterns that can be re-purposed for other enterprises, the question then becomes one of how to develop an orderly deployment, management, and testing strategy. Jeff addresses the latter.

The session is now available on demand at
http://www.eseminarslive.com/c/a/Service-Oriented-Architecture/HP090908/?partnerref=CL090908HP1

The first set of talks I did on this subject still remain popular. In fact, my presentation from last year on SlideShare has now garnered over 22,000 views. Here is the slide deck. Anyone is welcome to use this resource to help explain Web 2.0 to others.

Kraft to replace AIG on Dow?

I just saw a report from Forbes indicating that amidst the recent financial market turmoil, Kraft Inc will now replace AIG on the Dow Industrial Index. I guess this is only fitting as a lot more people will be dining on Kraft dinner given the recent market events. Maybe worth investing into?

Doing the Math:

Seriously, I think too many people are not appreciating the true gravity of the current economic situation. Is the United States of America potentially insolvent? This is a striking question. As of September 2008, the total U.S. federal debt was approximately $9.7 trillion, about $31,700 per capita (that is, per U.S. resident). Note that this figure is inclusive of children and retirees; the actual burden on working, middle class Americans is higher. Now add in the recent $4.4 trillion bailout of Fanny Mae and Freddie Mac. This brings the total Federal debt to over $14 trillion USD. Given that only about 250,000,000 Americans work, this equals $56,000 per person. That figure is only the Fed's debt however. Now add in the average American's personal debt and the government's other debt and the numbers should scare everyone. The sum of all this is that even being taxed at close to 50%, the revenue from income tax alone might not be sufficient to pay off the interest alone (never mind the principal) of the debt if interest rates rise a modest 2%. Yikes!

As someone who has financial views closely aligned with the classical Republic platform of smaller government, financial responsibility, accountability and fiscal growth, I have found that the current administration's economics are far worse than any other administration in history. As someone who cares deeply for the USA, I am saddened to see what has happened and hope someone can turn it around for the sake of all Americans.

What pains me beyond belief is that if I ran a business into the ground, I would never ask taxpayers to fund my bad business decisions yet when the large banks and insurance companies do this, the government uses taxpayer money to bail them out. Think about this. The government is taking your tax money to give to banks to lend back to you at interest. This seems wrong IMO.

What happened to fiscal accountability? Why are people not being investigated for this? Better question- who can fix it? Obama? McCain? Certainly not Palin. Time to invest in food producing land and gold?

What to do?

The first thing I urge people to do is educate themselves. Watch this show on Google video. It is called the Money Masters. Do you know how your money is printed in the US? Do you know how money is created from debt? Where is the gold that used to back the US currency? This show has some of these answers.

Then go to the store and buy some Kraft dinner. Some things never go out of style.

Wednesday, September 17, 2008

Some thoughts on how to leave a smaller footprint

Since the whole "ecosustainabiodiversorganicgreenvironmentality" noise is rampant in Vancouver, I have been using some of my spare intellect cycles to put thoughts around how we can mitigate our footprints on this planet. Many of these ideas are unique to Vancouver but some of them might be useful outside of Canada. Not all of these ideas will necessarily be useful or good for all, but I do want to offer these to anyone who is in a position to make change.

Some of these ideas are not possible at the local level and require national leadership - likely chance given our current government.

1. Require all manufacturers who ship food in glass jars to use Mason-style canning jars or other re-usable glass shapes (such as drinking glasses) which can be re-used by consumers rather than recycled. It struck me as odd that only one or two companies (Catelli Pasta/Pizza Sauce and Kuhne Mustard) seem to have caught on to this trend. It makes no sense that consumers will buy a can of pizza sauce then go to another aisle to purchase canning jars if they could get both in one purchase and repurpose the container. Accounting for the unnecessary trips to buy canning/preserving jars and for trucks to deliver these items to store shelves and the energy savings can add up. The cost to existing manufacturers would be minimal - no losers here as the canning jar manufacturers would be selling to the food manufacturers.

Caveat: Vancouver alone will not be able to force change on this and lobbying other governments at a higher level will be necessary to invoke change.

2. Immediately ban the sale of the following items from store shelves within Vancouver:

a. Disposable razor blades. Alternatives – non-disposable razors. There are no valid use cases for disposable razors over non-disposables and the plastic in the handles can be reused if a consumer could simply fit in new blades.

b. Liquid plumber and all other dangerous chemical compounds for plumbing system cleansing. These are harmful to marine wildlife and compounds end up coming back into the food chain and being consumed by humans. Alternatives – compressed air, snake lines, calling a plumber.

c. Incandescent light bulbs (except certain types). Alternatives – compact fluorescent. Old style bulbs waste a lot of energy dissipating it as thermal heat and light that is beyond the visible spectrum.

Note that the initial net costs of the alternative items are higher but all pay for themselves over time.

3. Within Schools, ban the consumption of small (200 ml or less) juice or beverage packages and require parents to use a thermos or other reusable container. While tetra packs can be recycled, the evidence suggests that the net cost is still rather high in terms of forming the packaging and using extra packaging to aggregate multiple smaller containers. A better option would be to use reusable containers for all smaller beverages.

4. Lobby the BC liquor board to relax its monopoly over alcohol sales and allow sales of beer and wine in most grocery stores. Right now, many citizens are driving longer trips to get to the small number of liquor outlets in Vancouver. The driving that could be reduced is significant. If each citizen drove an average of 5 km less in a year, the savings of energy would be spectacular. The provincial government is stuck on this old school model of alcohol sales and BC remains one of the few locations in the world that does not allow beer and wine to be sold in grocery stores. It is time for this model to die in the name of the environment.

5. Add mandatory packaging material recycling stations to all Canada Post outlets where people can return Styrofoam chips, air packaging, boxes and other re-useable packing materials. The big loser here would be Canada Post as they cannot keep selling new packaging materials. Big winner – all people who need packaging materials and do not have to purchase them.

6. Build a gypsum recycling plant and mandate that all drywall and other gypsum board waste be recycled. Included in this idea would be a fuel efficient truck fleet to pick up gypsum waste by scheduling routes to avoid owners of waste having to drive long distances to recycle. The owners would pay a small fee to cover the charge or this could be billed with the sale of new drywall.

7. Expand the current car co-op/Zip car type programs to include more free parking spaces to encourage community car sharing. The city has opted to test a few of these by providing special parking spaces for community (“co-op”) cars. Encourage people to use these at least as a second vehicle rather than buy a second car for part time use. Note that some people use these as their primary cars.

8. Begin to adopt the Israeli electric car fleet idea with battery replacement stations. The Israeli’s have the most motivation to get off foreign oil of any country in the world. They have a great plan which seems to be making sense from a physics standpoint. The scheme involves consumers buying or leasing an electric auto with a quick change battery pack that can be replaced in minutes at service stations, allowing up to 125 KM per battery. Consumers will subscribe to monthly plans.

9. Mandate all new buildings must be certified LEED Silver or higher starting in 2009. Offer tax incentives and extra floor space for buildings that make the highest standards where the NET energy gains are greatest. Encourage innovation.

10. Increase the number of roundabouts where they can replace stoplights. Roundabouts do not require cars to come to a complete stop thus save energy over requiring cars to completely stop and re-accelerate. Cars also do not have to wait at red lights idling nor does the city have to provide power for the traffic lights and spend energy replacing bulbs etc.

11. (Note: this particular item is probably not going to work as a provincial level as people would cross provincial borders to procure cheaper items. This one needs to be implemented at a national level). Require every manufacturer who sells automobiles, major appliances, small appliances, utility vehicles and other consumer items within BC to certify their items will last at least 5 years (most warranties on items like microwave ovens are less than 1 year). This will initially be more expensive for manufacturers however the cost to the consumer will be less over time if appliances and other household items do not have to be replaced every two years. Furthermore, every manufacturer who offers their items for sale in BC must be required to supply parts for their items and make them repairable vs. throw away. All major components must be orderable by certified repair centres (items like Blender motors, microwave power supplies, etc.) at an aggregate cost of less than the original product cost.

12. Increase incentives for food bank trucks to pick up and distribute unused foods from conferences, restaurants, or other events where excess food is abundant and often wasted. Food that is made available at a buffet style event can often be reused by donation to the food bank for immediate consumption. There are liability issues which cause many restaurants to elect not to join these programs and government intervention might be worth investigating (similar to the good Samaritan act) to mitigate the risk to participating donors. A study to ensure a net gain in terms of energy used vs energy saved would be required before such a policy can be implemented.

13. Lobby the federal government hard to increase the fuel efficiency for ALL passenger cars imported and sold in Canada starting as soon as possible. Set maximum NET energy requirements for all cars and offer strong incentives to both consumers and industry to abide by these standards.

14. Plant fruit bearing trees in the boulevards and more coniferous trees in urban areas to help regulate heat, cold. The fruit trees help a domestic social problem by allowing those who cannot afford food free access to fruit at certain times of the year while taking no more resources than existing trees.

15. Bring back streetcars along strategic routes (Granville Street from Waterfront Station to 16th Avenue, Waterfront Station through Gastown around false creek to Granville Island and a branch line connecting to the Canada Line ALRT termination at Clarke, Denman Avenue from Stanley Park to Davie [loop], Canada Line to Stanley Park) with an eye to moving large numbers of people along corridors where foot traffic and shopping is high.

16. Impose a fee on plastic bags at grocery stores of $0.10 each to force people to think if they *really* need a bag after all. Too many times I have witnessed a person using one bag to carry a single item leaving a store. This behavior needs to change. It needs to be painful to not think.

That's all for now. If you have other ideas, I invite you to post them here.

Tuesday, September 16, 2008

How to run LC ES 8.0 and 8.2 on the same machine!

Okay - if you read the headline and are now reading this, you are a geek, a developer or both. There is no way normal people would read up on this topic. What about me though - I wrote it. Dang!!

About a week or two ago on the Google LiveCycle Developers list, Jochem van Dietem posted a question asking if it was possible to run two versions of LiveCycle ES (8.0 and 8.2) side by side. After some preliminary advice from members, we basically realized this was new ground and Jochem graciously agreed to be a guinea pig and see if it was possible. Not even Adobe Product Management had done this (to be fair, there is not really any valid use case for this other than developers who want to write and test Adobe LiveCycle applications on two different versions).

Jochem got both the install done and then documented how to install and run the two versions. The articles are here:

http://jochem.vandieten.net/2008/09/15/installing-multiple-versions-of-livecycle-es/

And the followup article about running them simultaneously:

http://jochem.vandieten.net/2008/09/16/running-multiple-versions-of-livecycle-es-simultaneously/

Monday, September 15, 2008

A way to get into MAX 2008 for free

One lucky person is going to get into Adobe MAX 2008 for free. Adobe and ZIO Pro are offering an exclusive opportunity to send a Creative or IT Director to Adobe’s MAX 2008 conference in San Francisco.

Registrants will be entered for a chance to win a trip to Adobe MAX 2008 in San Francisco. The winner will receive a free all access pass to the event as well as free air travel to San Francisco and free hotel stay. No obligation and no credit card information necessary.

In addition, every registrant for ZIO's contest will get access to a 30 Day 10 Seat software training license for their team - absolutely free – including full length training courses on Dreamweaver CS3, Flash CS3, and Photoshop CS3. Every qualified registrant will also receive a free e-Book – ‘Adobe Air with Ajax’ or ‘Presentation Zen’.

To register for this limited time offer:
IT Directors/Managers can go to: http://www.zoom-in.com/promo/30daytrial-usergroups.html?utm_source=press_release&utm_medium=IT&utm_campaign=adobe
Creative Directors/Managers can go to: http://www.zoom-in.com/promo/30daytrial-creative.html?utm_source=press_release&utm_medium=creative&utm_campaign=adobe

Friday, September 12, 2008

Duane's World Episode 10

Duane's World on Adobe TV and InsideRIA has now reached into double digits with Episode 10. In this show, Flash guru Clive Goodinson shows an in depth demo of the Pixton online comic strip creator and discusses how he balanced AJAX, Flash and PHP within the application. Clive also gives a tutorial on how to create comics on Pixton by building a Duane's World Comic strip.

The Codes and Tunes tutorial in this episode shows how to draw simple vector graphics in Flex Builder 3 with music guests Canadian rockers “6th Avenue Nightmare”.


Wednesday, September 10, 2008

Narrowing my new car choices

Well, the Porsche is gone and my wife and I are sharing a Land Rover Discovery. The Disco has to go though. I detest most newer British cars with a passion, although the Bentley and Austins are nice. Then again, why on god's green earth would someone build a power drivers seat that can adjust so far forward the head rest hits the steering wheel?

I have been researching getting a new 2008 BMW X3 compared
to the 2007 X3 there's more storage, and overall, the styling is more like BMW's
own 3-Series cars, with a touch of wood trim on the panels. The new features include a panoramic-style roof, heated front seats, available heated steering wheel (for the cold weather package,a must for Canadians like me), heated second row seats, side impact/curtain airbags, stability/traction control, park assist, and Bluetooth wireless technology.



The MSRP is about $36,000. I plan to test drive several automobiles
but for some reason I can’t wait to test drive the BMW X3,
hit the highway with a cup of Starbucks and throw in an acai for an
additional energy boost! The X3 is a far cry from my Porsche twin turbo but
for my family I think it’s just perfect.



A hybrid is also an option but I am waiting an environmental report that can clearly show a *NET* gain of being environmentally sensible. The BMW X3 will be far better than the Disco though for the environment.

Tuesday, September 09, 2008

Mix Match Music - a rising star using Flash and Flex!



The more the music industry flounders, the more musicians who understand technology will start to innovate. This is the latest example and it is built on the Adobe technology platform.

The real heavy metal of the 1980s!



I was there. This was not the 1980s 'poofter poodle' metal (Poison, Ratt) of MTV but the real, down to earth, in your face heavy metal. Ace Koden was a ground breaking band at the time from Victoria. While shunned by the mainstream media, the quietly scheming metal and punk acts had their own events, their own fan base and bootleg recording distribution networks. Watching bands like Black Flag and playing gigs with the Dayglows and No Means No at the FOE in Victoria were commonplace. This is when music had real heart - we were social rejects and we wanted everyone to know it. This was embraced in the way we dressed, the way we talked and our clothing. That is me on the right hand side. I was a metal head and proud of it!

Friday, August 29, 2008

Flash FireFox 3 Bug - Please help us!

People - we need your help on this one. The issue:

There are reports from various parties on a Firefox 3, Flash bug pertaining to video playback. A post on the Fireox Bugzilla site by Kirsten sums it up nicely:

Googling this problem, I've seen it's a persistant and ongoing problem for a lot of people, but I don't see that it's been addressed anywhere by firefox.

I've noticed since the latest update that sometimes (not all the time) flash audio/video will load and look as if it's starting to play, but then will freeze at two seconds. Even if you open a new browser, or tab, the problem persists. I will then have to close all currently open firefox windows and tabs, start again, and then (usually) videos will play.

This is a persistent, frustrating problem. IE will play these vids/audio no problem. It's a bummer. I certainly don't want to go back to go back to IE. Yuk.

Firefox, Help!!

I have the latest versions of both Firefox, Flash (and java). And I don't have the ActiveX plugin.

Sadly, today this has not been solved. WHY? It is not as easy to solve this as it appears.
Rafe Needleman made a fairly interesting post about how this problem has been known about since May yet neither Adobe nor Mozilla seem to be able to fix it. We actually have not even determined what causes the behavior or where it originates from. Rays post was very well balanced although the Mozilla spokesperson Mike Beltzner's quote really made me twitch when I read it. A very myopic mind might be inclined to blame Adobe solely for the purpose he views us as "proprietary" based on his narrow definition of "Open Source" (Adobe has moved a lot towards open source in the last 3 years and we love open source). I would rather avoid finger pointing and concentrate on how we (all of us) work together to solve this issue.

So what is the real problem? Why can this bug not be squashed? How can you help?

Kudos to John Dowdell who took the time to really illustrate the difficulties in tracking it down and document his thoughts (linked to from Rafe’s page). Before you read the rest of this, you might want to read John's post.

Additionally, since this is a non-fatal error, it does not generate one of those system snapshots and send it back to us or anyone else. This means we do not have a very good picture of what is exactly happening.

Conclusions?

I would like to invite all invite people to contact us who can produce this bug on demand. As John states, you cannot fix something you cannot see and it seems no one has been able to produce this behavior on demand in a sandbox. Since we (Microsoft, Adobe, Mozilla, Users) cannot produce this bug on demand, it is not possible to fix. John also notes that it might be a mistake to assume this is only "a" bug; it may be several.

Here are some clues:
1. It (apparently) only appears on XP and Vista with FF and FP9. Since I am on a Mac, I have never noticed this.
2. Many people seem to note that Java somehow has an influence. It seems to be possible but there are not yet consistent patterns.
3. While running Windows XP/Vista in Safe mode, the bug does not happen. Note that this is possibly due to coincidence and if you have managed to encounter it in safe mode, please drop a comment here to tell us so we don't look up the wrong tree.
4. Many people report they only encounter it only after FF has been running for a while (>60 min).

Here is what you can help with.

- if you encounter this bug, please note the following:

1. What specific version of FF and Flash Player are you on?
2. What specific version of Windows are you using?
3. how long has FF3 been open before the crash occurs?
4. What specific video are you trying to play?
5. What language settings do you have?

Bonus points for the following:

6. How many tabs did you have open? Are any of them also playing video or Flash content?
7. Can you capture your system memory profile?
8. Check your system error log and note any peculiar information.
9. By taking the exacty same steps, can you reproduce it?

Be vigilent for any extra bits of details to help notice the pattern. Are you VPN'd when it happens vs direct connection? What other applications were open?

Most important - if you can produce this on demand, please contact us directly (email me at dnickull at adobe dot com) and we can rush it to the right people.

There is a page set up to collect input. While you can post relevant information here to help others out, please don't forget to tell the Adobe and others teams working on this:

https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?component=10640&sorter/field=priority&mode=hide&reset=true&pid=10080&sorter/order=ASC

That's all for now - thank you in advance.

Thursday, August 28, 2008

Eine neues Web Zwei-punkt-null Filme mit Tim und Duane?

Hier, ein neuer Web 2.0 Film aus dem Netz mit Tim O'Reilly, mir und anderen. Wir sprechen nur Deutsch (Berliner Akzent?) aber es ist fuer alle ein guter Film. Wir fragen "Was ist Web 2.0".



Unendliche Weiten, jeder redet darüber, aber die wenigsten wissen überhaupt, was sich hinter diesem Bergriff versteckt: Web 2.0. Ein Erklärungsversuch ist vielleicht die Definition, dass man viele bekannte Web-Programmiertechnologien intelligent zusammengefügt hat, um die Benutzung des Internets einfacher zu machen.



Tim ist ganz Kool!

Wednesday, August 27, 2008

Duane's World 9 - Tim O'Reilly and John Markoff @ FooCamp

This episode of Duane's World is by far my favorite and has two spectacular interviews. One is with Web 2.0 guru and media mogul Tim O'Reilly (founder - O'Reilly Media); the second interview is a killer exploration of the new media with New York Times Reporter John Markoff. During this interview, we discuss the Iranian Missile test Photoshop debacle and the importance of a free, independent press for any democracy. John raises some great thoughts on why we might be in ambiguity for a few years. Tim provides some interesting thoughts on the future of technology as well as mind-body hacking and what Foo Camp is all about.

BitPakkit (a.k.a. Ben Watson) provides the mix for Code and Tunes. The Code and Tunes segment is based on fault event detection and handling as submitted by Matt MacKenzie. Very worthwhile for anyone who wants to learn how to interact with remote resources in Flex or AIR.

I have to say that Duane's World has been more successful than I ever imagined and I am honored by the guests who are willing to be interviewed for the show. This is truly a humbling experience. Enjoy!