At MAX2006, some of the Adobe Consulting team held a Birds of a Feather session that was tentatively titled "Flex Frameworks and Methodologies". Since the birth of Flex, I've been at 2 of the Birds of a Feathers held by (the then) Macromedia Consulting and a "Meet the Flex team". Both times, we drew crowds of around 20-30 people ... so imagine our surprise at MAX when somewhere between 150 and 200 of the Flex community at MAX attended the Birds of a Feather at 8.15pm in Las Vegas!
Given that there were talks on Cairngorm, we tried our best to not let the Birds of a Feather become a "Cairngorm" birds of a feather, or an "Agile RIA Development" birds of a feather. Instead, we called for topics that raised everything from feature requests for Flex 3, to using Flex with frameworks such as Spring and Hibernate, to modular application development, to rapid-prototyping in Flex and to the importance of user-experience design in developing RIAs, the structure and make-up of an RIA development team, the differing needs for user-experience focus depending on whether the project was customer or business facing (for the avoidance of doubt, I think the importance of user-experience design is equivalent irrespective of the type of user we are delivering to - but not everyone agreed).
I don't want to go into any of the topics in detail; most of all because I didn't keep any notes :) However, there was a *tremendous* interchange of ideas between the community, between the RIA, LiveCycle and User Experience practice members of Adobe Consulting, and by a significant yet impromptu presence and contribution from the Flex product management team and Flex engineering teams. That we have come this far in only 2 lightning fast years was a real testament to the growth in the RIA community we have had since the birth of Flex.
Something else that really inspired me as well, was the maturity of ideas, the diversity of expertise and the melting pot of skills that exists within our community. That we could jump from programmatic skinning, to the importance of user-interviews in a business-facing application and then to code generation of Spring adapters and explorations of Aspect Oriented approaches to Flex development, brings into sharp focus our success in creating a toolset and a technology that unites designer and developer. Personally - this is a deeply exciting trend of RIA development.
But I've got some blog-bait terms in my subject line - "Open Source Flex". So sorry, on the back of the Mozilla AVM announcement, I'm afraid we're not about to open-source Flex ... however, there was a real call to action to the community that occured around the topic of open-source Flex projects that I'd like to emphasise here.
Open Source your Flex Intellectual Property!
When I posed the question to the audience, "how many of you have reusable intellectual property within your company, that you or others have created, that is reusable between your projects and that could have value to the rest of the community if made publically available ?" there was an interesting show of hands - perhaps 20 or 30 different people considered themselves to have code of value to others in the community. These included logging frameworks, code-generation tools that would create all the backend and midtier code necessary to create CRUD (create/read/update/delete) applications from a database schema in Flex, Aspect Oriented Frameworks, extensions to FlexUnit to better support asynchronous testing, and many more.
However, there was reticence to release these projects to the community at large - in some cases, there was a desire for Adobe to pay something towards the release of these projects, in other cases people were reticent of the support or infrastructure they would have to put around supporting a project once it was out in the wild, others who worked for companies that were building products rather than providing consulting services, were challenged with board-approval on releasing aspects of their codebase as open-source, while for others they considered their intellectual property their competitive advantage that they didn't want to give away.
I can understand all of these concerns; at iteration::two we faced them with Cairngorm and we faced them with FlexUnit, 2 projects we open-sourced when there was nothing else similar in the community. However, to be clear - our reasons weren't all about "give back to the community", as altruistic as such a claim might be. There was commercial consideration in our decisions to open-source - for instance, when you are a services organisation (which we were) it is a very different ball game to start also producing and supporting products. Most importantly for us however, was the realisation that if we put out our intellectual property as open-source, and helped the community adopt the ideas they embraced, they would serve as a "statement of capability" to our customers and prospective customers, emphasising what we considered to be best-practice, and supporting such claims with community adoption.
So I offer the same challenge to our community, which is many orders of magnitude larger, harder to differentiate within, and ripe for the picking, compared to New Orleans in 2004.
If you have projects which would be of benefit to the community, consider ways in which you could make them available to the rest of the Flex community. Open-source them if that works best for you, monetise them if that enables you to justify development and support. Write articles about them, write books about them, record Adobe Connect presentations about them and use these projects and use your intellectual property to create the ultimate win-win situation for us all - fuelling the further growth of our RIA development community, and raising your own profile as a subject matter expert within that community.
Host these projects on your own company website. Take advantage of one of the excellent repositories for open-source projects, be it OSFlash or RIAForge.
But spend some time thinking about the intellectual property that you can make available to the rest of the community. Within Adobe Consulting, we continue to do so - the recent scheduling framework being another great example.
I'll close this blog entry with the same words I closed the Birds of a Feather:
"You're the same community that wanted Flex to be cheaper, and we made it free. Now show us what you've done with it."
