My name is LordAlex Leon, back in year 1998, I came across a nice little plug-in called Flash, little I knew this would completely change my career. Since that moment I primarily make a living at consulting and helping companies/startups deliver intelligent Rich Internet content and powerful Applications based on the Adobe Flash Platform. I founded my own consulting company LordAlex Works and enjoy speaking at many international conferences and events whenever I can.

Thursday, March 05, 2009

The SWF Files: Beware of closed Micro-Architectures

800px-Handcuffs01_2003-06-02.jpg.jpeg


There is a current trend of using closed micro-architectures, they can be of great help but sometimes they can be your worst nightmare... read on.

In most cases company X develops a small micro architecture (generally based on cairngorm or similar) to accelerate the work. They sell this idea to the client, which generally agrees to it (Although I have seen cases were the client does not even know about it).

The problem is that in some cases the company X becomes really comfortable with their framework and in an attempt to keep an edge over the competition they close it, essentially the client is not given the source code or the code is simply obfuscated or hidden.

This carries a lot of potential negative consequences, for as long the two parties continue in good business terms or the business relationship is mutually beneficial and cost effective things might go real well. However once this is no longer the case, then the client becomes hostage of company X.

Retaking ownership of the project is a huge problem because company X owns the code and reserve the right to keep it closed.

This effectively block new developers to quickly take control of the code and continue extending the application.
Most of the time I get developers coming to me saying:
"I think is better if we just re-do the entire thing".
For some companies this could be extremely expensive and potentially hurting them financially so bad, they might just abandon the whole project or just take them out of business.

Here is a few things I always advice my clients starting a project:

- Make sure you do indeed need a framework, not all projects need one.
- Enforce open frameworks (like cairngorm or gaia) and make sure they stay true to the architecture.
- Make sure you retain ownership of source files and code.

When you use an open framework, you have a better chance the code is well documented, tested by the community and have tons of resources to solve any potential issues that may occur.

If Company X wants to use a custom architecture, make sure is for good reason, ask questions about where has it been implemented before, I would ask a reference from a previous client endorsing if the framework indeed was useful.

If you are outsourcing a critical project and have no in-house technical resources, hire a consultant or resource outside of company X to overlook the project progress, make to sure proper documentation and guidelines are followed and your interests are well represented.

If you had issues with a close frameworks, I would like to know how some people deal with theses issues, feel free leave a comment.

Labels: ,