Final Keynote at 360Flex

Live blogging. As always, please ignore the typos and all mistakes are mine.

Sitting on my chair was an announcement for the Flex Cookbook. The cookbook is a growing resource for Flex questions and answers. Please have a look.

The Keynote:

Ted Patrick introduces Tom Hobbs from Adobe. Tom begins by discussing Designer / Developer workflow in the context of cycle racing. Cycle racing is not a spectator sport. The spectators wait for hours until the cyclists come by and then there is 2 seconds of action. On the projector screen Tom shows an example of the Amgen Tour and we can see a very slick application that follows the racers. The application will let the user select which racer to follow and keeps track of the race progress via maps from Yahoo. Additionally, the app references pictures from Flickr. The application is VERY nice and Tom says the Amgen Tour application was completed by 3 people in 6 weeks. 1 Designer, 1 Programmer and 1 System Architect.

Tom discusses the workflow between each of the three roles. The process is iterative, explorative and a lot of back and forth between principles. It is important to balance the interface and the infrastructure. Tom is explaining the challenges of syncing content from disparate sources and media types into a single real-time application. The application began looking quite simple on the back end and the final result is very involved.

Value = Simplicity + Quality

  • Design for the 80% of users
  • Show only tools needed for the task
  • Do more where you are
  • Let content breathe.


  • Design Content not chrome
  • Express things visually
  • interact deeply with content


  • Flow orientation and Guide
  • Predictive
  • Task based vs. Tool based
  • Cinematic Transitions
  • Evokes Emotion, Focuses attention

Design as a Whole

  • One person or team should design
  • If features change significantly, the whole must be reconsidered
Personality and Community Rule
  • People and communities want to express themselves
  • Comminity creates better content
  • Users want different things, to use in different ways,
  • Identity and brand matter

Tom exhorts us to "Build to Think" and to not fear iteration in design.

Ted Patrick is now on stage and will talk about Next Flex. He gives the disclaimer that what we will now see might not make it into the final release. Ted stresses the open development process at Adobe and wants us not to get too upset if the final product changes.

One of the goals of the New Flex is to expand the reach of the RIA to include desktop, web and offline applications. Another goal is to make it easier for web and enterprise developers to learn Flex. Adobe wants to invest in the platform to serve the needs of the enterprise and that of the "Flex Ecosystem". Ted continues to stress the open development process and openness to the needs of the community.

The Next Flex will be built on Flash Player 9. ( In a meet the Flex Team session last night, I asked if the level of change from Flex 2 to Flex 3 would mirror the level of change from Flex 1.5 to Flex 2. Thankfully, they said it wouldn't be so dramatic from the coding perspective.)

Ted is now talking about the integration of the CS3 suite. Each of the applications will produce an output suitable for Flex / Apollo applications.

Demo of Fireworks Ted starts of with a Blank Fireworks project. There is a Common Library inside the Fireworks application that contains Flex Components. Ted chooses a panel and resizes it showing how the design scales in accordance with Scale9. Now Ted adds buttons and checkboxes to the panel and exports the whole panel as "MXML and images". The output is images and a working MXML representation of the Panel Ted laid out in Fireworks.

Borneo, the new Flex Data Services. The upcoming release of FDS (soon to be named Live Cycle Data Services) includes Scalability and performance enhancements. Integration with LiveCycle and a vastly improved <mx:Webservice> functionality.

Moxie the new Flex SDK and Builder

  1. Improving the language intelligence in the IDE
  2. Integrated Profiler
  3. Design View Enhancements
  4. Data Integration
  5. Enhanced DataGrid and Lists

As an example, Ted shows an example of an MXML application in the new Moxie IDE. He points out he doesn't like how the developer named the methods. He selects the method and clicks Refactor from the context menu and chooses 'Rename'. The Flex Builder application changed all the instances of the methods in ALL files, not just the one he was currently in. This will work with methods and properties, not sure what else. What a cool feature! Now he shows a Control + G search that will show where an element is used in an application. This search is context aware and if you search for a property, it will only find properties, not similarly named methods.

The talk shifts to the Flex ecosystem. Ted talks about how many companies and entities are involved outside of Adobe.

ESRI created vector based mapping component service. Rather than the normal Mercador projection style maps, the format that shows Greenland as the size of the United States, the ESRI format shown doesn't have the same distortion bias.

Farata Systems created a business intelligence application. The application features a drag and drop custom reporting module with custom filters.

Ted now talks about FlexLib. FlexLib is a GoogleCode based repository for Open Source Flex Components. This project is very new. Expect to see lots more components in the coming weeks. If you have components, you can submit them for inclusion in the FlexLib project.

Now Ted highlights Yahoo. Yahoo has a lot of APIs that can be used inside Flex applications. Ted shows Term extractor. This is an application that will take a term entered by a user and will map relevant other terms. Each term shown will link to other terms and if a term is clicked, another tree will generate. Very interesting application.

4529 Views Print Print Comments (0) Flex

Import MDB into SQL Server gives acquireConnection method call to the connection manager error

Here is an annoying MSSQL server problem I just ran into. I am doing a data conversion for a client and I was given an Access DB and as an intermediary step, needed to get it into SQL server. There is a handy (snicker) import tool for doing just that. What should have been a few mouse clicks turned into a few hours of dueling.

As the import routine ran, it would consistantly fail at 'Prepare to Execute'. The error message was:

view plain print about
1- Prepare for Execute (Error)
3Error 0xc0202009: {3EF444DD-70C9-4473-8294-BA4FFDD26927}: An OLE DB error has occurred. Error code: 0x80004005.
4An OLE DB record is available. Source: "Microsoft JET Database Engine" Hresult: 0x80004005 Description: "Unspecified error".
5 (SQL Server Import and Export Wizard)
7Error 0xc020801c: Data Flow Task: The AcquireConnection method call to the connection manager "SourceConnectionOLEDB" failed with error code 0xC0202009.
8 (SQL Server Import and Export Wizard)
10Error 0xc004701a: Data Flow Task: component "Source 64 - Person_Medical_Practice_Pref" (4918) failed the pre-execute phase and returned error code 0xC020801C.
11 (SQL Server Import and Export Wizard)

No problem, it seems to be a connection problem. I'll just verify the connection and run it again.

Failed again? Maybe I need to set a DB password and that will fix it

Ok, I can't set a password unless I close the Access DB, open it again, select Open Exclusive, and Open. No problem, let me just do that and set the password. Verify the connection again... Verified. Perfect, now let me import the tables again...


Same error

Maybe if I yell at it a few times it will work. Ok, maybe yelling doesn't help... same error.

A few pages into a google search I find out there is a 64 table limit on importing.. Thank you guys/girls at SQL Junkies!

So, apart from the catharsis of writing this post, i'll feel a lot better if posting this on the net helps someone else.

P.S. I am still scratching my head at the arbitrary 64 table limit.

So you want to create a ModelGlue:Unity application? ( Part 6 )

In the next few series, our Contact-O-Matic will persist data in a database. The queries and relationships are simple and should translate over to any database. Our code will be organized into two types of components the DAO (Data Access Object) and the Gateway. These two components are common structures used in many Object Oriented systems and a quick google search will land you on endless descriptions for each. For our purposes, all we need to know is the DAO and Gateway will help us organize our code into sections. The DAO is for pulling back a single object, the Gateway for a query of objects.

Another architectural feature of our Contact-O-Matic is our ContactService.cfc component. Service components help tie your other components together. Note how simple it will be to add in new database functionality.

At the end of series 5 of our Contact-O-Matic, we had a ContactService component which returned the ContactType data , a single contact object and a list of contact objects. Even though we are going to add a DAO component as well as a Gateway component, they will be tied together within the service component.

Some of you might be asking yourselves why we have all of these components. After all, there are huge and complex ColdFusion applications written without a single component. Couldn't we just put our queries in the Controller and be done with it? That is a very valid question to ask. You should be proud of thinking of it. Question Everything!!!

The main point of these separations in our code is to isolate variability. Meaning, when the application needs a feature, or a new data column, the affected sections in our code are compartmentalized and perhaps only one section of code needs to change in order for the entire application to be upgraded with the newest feature.

The complete source code up to the end of series 5 is attached to this article. It will be easier to follow along if you use this code.

A few quick notes before we begin:

  1. Remember that the application files will be cached if the ModelGlue reload setting is 'false'. Any changes to Controllers, components created with ColdSpring, or stored in the Controllers will NOT change until you reload the application. This trips me up sometimes and my first step is to ALWAYS reload the framework
  2. The <include /> tag is processed by BlogCFC as a cfinclude. Thus, whenever I paste in an event-handler section with an <include tag, I always have to use the entity symbol '& lt;' or i'll get an error when I post it. I try to leave a small note at the end of the code block about changing this in your code. If I forget, just know an XML tag will never actually start with '& lt;'
  3. I am writing this tutorial with MSSQL server (delete derogatory note about Microsoft Products). Your database might have a slightly different syntax and I trust you to convert it over

Lastly, our database will have two tables:

ColumnName ColumnType Other
ContactID int Primary Key
ContactName varchar( 255 ) not null
ContactType int null
ColumnName ColumnType Other
ContactTypeID int Primary Key
ContactType varchar(100) not null

Without further ado, let us get to the next piece in our Series, database support.

Download Download

Why I love Flex

Over the last 10 or so years, web based applications have used HTML. HTML describes the look and feel of the application to the web browser, a piece of software on your local computer. The web browser then interprets the description into a usable ( you hope ) application capable of interacting with users.

This process has worked extremely well, mostly for lack of viable alternatives.


CFMX 6.1 versus CFMX 7: War of the Arrays

Arrays in 6.1 are passed differently than in CFMX 7. I know this to be true.

What does that mean?

There are at least two ways to pass the contents of a memory address. Let's look at each:


My Travels with Apache, Subversion and Windows XP Pro 64bit

A few days I completed an installation of Subversion on Windows XP Pro 64. Subversion usually a pretty easy set up. In this case I was setting up subversion on an XP Pro 64 bit OS and there was an annoying wrinkle to the process.

I didn't know much about 64 bit windows, just that it could supposedly run 32 bit applications with no problem. (You know backward compatibility and all that bollocks). At this point, I wasn't much worried about incompatibilities, seemed like a piece of cake.


I'm warning you Vongo


Ok. What is Vongo? More importantly, who do these Vongo people think they are? Check out the site to learn about and share stories about Vongo.

I bought a new HP laptop a few weeks ago. It is quite a nice laptop with some very well laid out features. The laptop model is HP dv5000 series. It has some fun features, like the integrated 6 in 1 card reader, which have come in real handy as well as It has a 15.4" widescreen display, DVD writer, an Intel Core Duo processor, Windows XP Pro and preloaded with 1.5 GB of Ram. It was exactly what I was looking for. Not to mention when was the last time you saw a laptop from the factory with 1.5GB of RAM? Seems like an odd number, doesn't it? I think that kept rolling around in my head (1.5 GB? 1.5GB? ) until I bought it just to keep the noise from rattling around my corpus collosum any further.


No Dans?

I personally have nothing against people named 'Dan'. I promise...

My name happens to be Dan and coupled with my last name 'Wilson', this makes for the second most common name in the english speaking world. The first, is John Smith.

I picked this name for my blog after the No Homers Simpsons episode so if your name happens to be 'dan' don't worry, if they let me in here, they'll allow you as well.

There might be others named Dan, but I am the only Dan Wilson in existance. The others are merely alter egos. You can see from Google I keep quite busy...

Some of my alter ego accomplishments:

Professional baseball player

Semi-accomplished musician

Actor, playwright, stage and film director and producer, improvisational comedian, voice over artist, fine artist, podcaster, cartoonist, poet, and author.

Robotics Engineer

And of course, I have my own Wikipedia page

It is quite exhausting keeping up with myself as you can see.