Hello to all developers and to all representatives at Adobe!
We're all fortunate for Adobe's progressive thinking and their immensely helpful programs to battle against device fragmentation. In order to advance our efforts, we, as developers, must also permit our creative juices to flow to allow the cup of opportunity to runneth over -- not just for our and Adobe's benefit, but for the benefit of businesses and consumers who demand innovation.
There are, however, barries in the shape of human form that deter potential developers, businesses, and consumers from embracing and capitalizing on such a powerful platform. These obstructions aren't only coming from behind walled gardens; unfortunately, they're entrenched within our own camp.
Ignoring rules of optimization and taking careless shortcuts, combined with not possessing an optimized and simplified alternative to targeting a wide range of browers and devices in one fell swoop, are the ammunition needed for skeptics to plant seeds of doubt about such a useful and future-proof ecosystem.
Much like any platform and object-oriented programming language, the Flash Platform and ActionScript 3 are powerful weapons that must be wielded with responsiblity, or risk creating wounds that, in the minds of consumers, aren't easily healed.
And since this is OUR responsibility, I've decided to take on that burden...which then became a challenge...which soon became the innovative answer we so deperately need.
As an offering to my fellow developers, and as a proposal to Adobe -- the company in which I'm devoted to -- I've created an OOP-based framework that simplifies the process of developing optimized applications that cover a broad spectrum of browsers and devices.
It's called Cross Model View Controller™, or XMVC™ for short, and it offers the following features:
-Imagine using one base source code -- which you build just once -- to target a multitude of platforms: from smartphones and tablets, to desktops and browsers, and even to smart televisions.
-Your concrete View classes determine the layout of components and animations for each targeted device; once your base classes are built, your concrete View classes are the ONLY classes that require alteration (see diagram).
-Utilize the flexibility of the XMVC UI Components to work across ALL devices and browsers. You simply specify the platform type (mobile, desktop, browser, or television) in the concrete view classes, and the XMVC UI Components do the rest.
Example: The XMVC Container (which holds child elements and incorporates scrolling): When set to "mobile," it incorporates touch scrolling; when set to "desktop" or "browser," it incorporates a scroll bar; when set to "television," its scrolling is controlled by remote control directional events, as well as incorporates virtual directional buttons. And this is all from ONE instance of the XMVC Container component; this eliminates switching out various types of containers for each targeted device.
-Animations are created using Greensock's TweenMax platform, for lightweight, optimized animations.
-For complete orientation control, you can assign custom animations for orientation changes. It even incorporates an Upside Down view for Android devices.
-You can allow users the preference of turning animations on or off, with a flip of a switch (litteraly).
-XMVC automatically removes event listeners for better Garbage Collection processing.
-XMVC accepts various data structures, including XML, PHP/AMFPHP with SQL, SAP, and HTTP Web Services. It would be incredibly beneficial to allow incorporation of ColdFusion, LiveCycle Data Services, and BlazeDS data structures, as well.
Necessity is indeed the mother of invention, and possessing and utilizing a powerful tool is necessary to progress our efforts in reaching an abundant amount of individuals and entities.
The primary functionality of the framework (as displayed in the diagram) is complete; improving and adding additional XMVC components are the primary objective at this point of the development stage.
Very soon, I will upload the source code to an outlet (such as Google Code) for developers to download and experiment. Within the same timeframe, anticipate demo apps within App Markets to test on your devices.
Adobe has such an incredible development community, and my hope is that XMVC provides these developers, as well as Adobe, an incredible amount of leverage to persuade businesses, consumers, as well as other developers to embrace and utilize a platform that can withstand the change of time.
Imagine businesses excelling beyond their self-imposed barries due to the robustness and flexibility of a platform and framework that can function in any environment.
Imagine liberating consumers to allow them to use your applications whenever, wherever, and on WHATever they desire.
Think of the possibilities of quickly submitting applications -- with very little, or no, alterations to your programs -- once device manufacturers like Windows Mobile, webOS, and Symbian finally accept Adobe AIR.
If there are developers out there who share the same sentiment, and if there are Adobe representatives who find this framework intriguing and effective, by all means, contact me.
The possiblities are endless...so must be our efforts.
Onward and upward,