Wednesday, October 22, 2008

Apple losing the Web 2.0 crowd?

Last year at the Berlin Web 2.0 conference, I took this photograph of the entire front row sporting Mac laptops. The blog post was entitled "Does Apple own Web 2.0?".

This year the trend has seemed to be more of a Microsoft/Mac stalemate. It appears that Vista has really come into favor with some of the alpha geek crowd. I also see Ubuntu gaining in popularity. Apple's iPhone, while popular, continues to suffer from complaints of bad battery life. The most popular PDA by far is the Blackberry. Long battery life, great business features and a sleek and cool design.

While I was contemplating buying some apple stock, I am now thinking RIM looks like a great deal.

Sunday, October 19, 2008

Drupal User Group Talk on Flex/AIR, PHP and Zend

Here is the video. Special thanks to Lee Brimelow and Kevin Hoyt for the help and code samples on this topic. Yes - I did really scoop the last cold beer at the meeting! If you want the slides, please email me at dnickull at adobe dot com.

Friday, October 17, 2008

Drupal User Group Talk and Code Samples

Last night in Vancouver I spoke at the Drupal User Group about Flex and PHP. Kevin Hoyt is owed a major thanks for helping me get set up in time and wrote a ton of materials for the class. The gist was to talk about how to use a Flex front end for a PHP middle tier.



PHP (especially Drupal) is great for plumbing MySQL into the front end of web applications and web pages. There are some issues when trying to skin Drupal applications however. These mainly pertain to the inconsistent support for CSS from the various browser cowboys. Flex can help alleviate some of that workload and makes a great companion for PHP.

The materials from the presentation can be downloaded from this website:

http://www.nickull.net/presentations/Drupal/index.html

Tuesday, October 14, 2008

Jon Bosak on PDF, ODF and OOXML

I have known Jon Bosak for years. For most, he needs no introduction and has been credited with many things from being a co-inventor of XML to really moving technical standards into the limelight they deserve. Most people are completely in the dark about just how much the standards game truly affects them, paying out hefty software license fees without realizing some of that goes to pay for patents and other IPR activity.

Jon has now composed what could be his magnum opus on the topics of the recent debate over OOXML and ODF. I encourage everyone to read it. It is available here:

http://www.ibiblio.org/bosak/pub/nys-open-records-policy.html

Jon - thank you from everyone!

Buy! Buy! Buy!



I got up early at 6:00 today thinking I would beat other investors to the punch on the TSX exchange to buy Canadian Imperial Bank of Commerce stock at $48. After all, the dividend yields roughly 7.5% at that price! Way to slow! By the time the order reached the desk it was over $56 per share and peaked at 58 so far. My suspicion was correct - every smart investor is up making orders and we Canadians really suck at planning holidays (yesterday was thanksgiving for us). I tried to get onto the NASDAQ server to find some bargains and got the shot above.

This is when it seems like a good time to remind myself of the herd mentality and not fall into the trap. Golden rules for the stock market:

1. Don't follow the herd
2. Don't buy or sell on emotion
3. Buy when others are selling, and
4. Sell when others are buying.

Have to run now and get in line to put in another HTTPRequest() object to the NASDAQ server.

Sunday, October 12, 2008

Why I hate Wikipedia

I have ranted about Wikipedia going from a worthwhile, exciting example of how to harness collective intelligence to a micro-managed fiefdom who's ruling class does not tolerate any dissent. The main issue is their "notable" clause, instructing editors to delete stuff that is not notable. Rather than repeat the danger this poses to the internet, I will repeat one of the comments left on my previous post on the subject:

So - it looks very serious.
there are people who are deleting things and there is no due process.

This is not the best way to run a rational institution.

It might seem silly to demand a chance for informational accuracy in this particular world, but perhaps it might be time to attempt to take this to a higher administrative power within the Wikipedia hierarchy?

The entire concept of notability is antithetical to the functioning of the internet.

who cares about Phlostigen, i mean really who really knows what a gluon is, and i have never even herd of an ibex, they must be radically unimportant.

My personal complaint is the deletion of underground music outfit from Australia named "go genre everything".

The entry was online for years and years, passing test of citeability and wikification, being written by people who were only just familiar with computer literacy.


Suddenly it is Deleted in a moment of A7 swift deletion fervour.

The question of Notability is the one i really wish to raise.

I have seen people noted on wikipedia as trivial.

I have never met a trivial human being in my entire life.

Individuals may have an enormous effect on the environment, but I suspect that if it is looked into , it is not so much the effect of individuals which create massive change, but the so called trivial people who do all the grunt work to make it happen.

By what criteria are we needing to define one person as more important than another. if the article is too long say make it shorter. if the article is badly written, get it written better, but why, does not everybody in the entire world have a wikipedia page detailing their biography?

It must be a hardware issue.

That would explain why so many of the "trivial" people as has been mentioned above have been deleted, in favour of important things such as the A7 motorway.

Please contact Wikipedia and continue to encourage non biased detailed encyclopedic information pertinent to all existing things!


I have to totally agree. A band I play Bass for (Stress Factor 9) was deleted, so was Randy Rampage's homepage (founder of DOA and lead singer of Stress Factor 9). Randy was the goddamn founding member of DOA, a band cited as a major influence by the Red Hot Chili Peppers. Some pointy haired nitwit editor has unilaterally deleted this, assuming no one is interested.

The main point of why this type of action is dangerous, is that you delete truth and promote lies (my entries on ebXML were deleted and I was banned for vandalism for stating the truth while the ebXML entry in Wikipedia was full of errors). When you try to control the uncontrollable, the result always sucks.

Wikipedia needs to wake up and realize it is hovering on the brink of relevancy before it is laughed away as the sham it is becoming.

Tuesday, October 07, 2008

Why there is no Web 2.0 Architecture Document

Following my previous post, I received a rash of emails with people generally agreeing, some laughing (they were there and it brought up memories) and thanking me for this article. I also received a couple of emails from people who were generally confused about software architecture and at their urging, I decided to write this follow up post to describe architecture. Specifically, they were asking why there is no architecture for Web 2.0. This is a bit long so bear with it.

Architecture is not always a thing, although the expression of architecture is a thing (like a 'blueprint'). Regardless of the field (software system, commercial building, bridge, airport, etc.), an architect’s job is to describe and document a system or systems and their structure, including the components within the system/structure, their externally visible properties, and the relationships that exist between them. An architect typically describes and documents this in several views to account for static and dynamic behavior during all phases of the system or structure. This is generally supplemented with other artifacts depicting additional aspects of the thing being architected.

In the practice of software architecture, this may include views such as the data model view, the technical infrastructure view, and views from various “actors” who will interface with the system. The term "actors" in this context refers to any “things” that interact with the system, including people, external forces, or even other systems.

So, why is it so difficult to capture the knowledge of Web 2.0 as architecture? After all, everything has architecture. Whether the architecture was developed before or after the thing itself, it still exists. A house has architecture, even if the house was built by illiterate monkeys who never documented their architecture (I once lived in that house). An architect could subsequently capture the architecture for such a house by analyzing it and capturing the knowledge in a standard Architectural Description Language (ADL) or other convention. The value is that others who liked the house might want to view the architecture and build it again with a few changes.

The answer to the Web 2.0 problem is that Web 2.0 itself is generally a collection or class of things. To capture this knowledge successfully, architects require the ability to look beyond a specific implementation and document the concepts and relationships of each component in a system/thing in a manner that others can reuse for their purposes. Architects must look beyond what they see or what is visible and capture the axioms, tenets, and idioms in a manner that conveys the most knowledge possible. Skilled architects have an uncanny ability to note similarities in multiple implementations of a class of thing and capture and convey that knowledge.

To do this job properly, architects may utilize many different types of conventions or formats to preserve knowledge. Some conventions are very familiar to most of us. Blueprints are perhaps one of the most common formats, yet they capture only part of the knowledge of a structure or system of structures. A blueprint for a building usually captures only the static structure. It does not capture how actual humans behave in the system. For example, a blueprint will not allow someone to distinguish the difference between how two or more groups of humans utilize the same building in different manners. One group of people living in a house may only sleep and eat in the house and work somewhere else, for instance, whereas another group might set up a home office and choose to eat, sleep, and work at the house. How can an architect quantify these differences? Sometimes architecture alone cannot sufficiently capture the required level of detail in blueprints, so architects use models and patterns to convey this additional knowledge not captured in normative architectural views.

Patterns of usage might also include a depiction of how people move around within the house and note relevant facts, for example the observation that inhabitants usually sleep at night time.

In the software industry, a blueprint is usually synonymous with a component or technology view. Sometimes there are forces or aspects of a thing that are not immediately visible to the naked eye. The dynamics of how a thing is used are sometimes just as important as the static structure. This information is very valuable to understand in terms of studying Web 2.0. Web 2.0 is not just about a static architecture of the internet; it is about the patterns of usage between a variety of things that use the Internet as a platform, whether they be human or machine.

The upcoming book will document the patterns of Web 2.0.

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