The Future of Flex.

At first I thought “Wow, Adobe really messed up their communication”. They could have focused on what they are adding, strong support for HTML5 and CSS4, Adobe AIR for Mobile, and not on what they are removing, the Flash Player in the Browser. But then they also announced that they opened sourced Flex via the Apache Foundation. And the main stream media, the blogosphere, and many developers I know went crazy and said Flex is dead, it’s over, time to convert all your projects to HTML5.

At a second thought I think it’s pretty smart what Adobe did. The saying goes “If you can’t beat them, join them”. In fact the Flex against HTML fight wasn’t one where Adobe had anything to win from. So they just made it loud and clear and now they are saying “We are HTML5”. In fact detaching themselves from Flex in appearance allows them to ride the new HTML5 technowave and get in the news when they upgrade their tool, bring out new HTML5 component framework or acquire hot companies like PhoneGap and TypeKit. We are HTML5!!

Adobe has already two great tools for HTML5, Muse and Edge and needs to push them way further and also needs to create or acquire a great HTML component framework such as Sencha so they call build and sell new development tools as well as design tools for the new growing crowd of HTML5 developers.

So where does that leave Flash and Flex. I use a lot Flex in the enterprise, and that’s where Adobe just did the most damage in my eyes. Go now try to convince any CTO that Flex is a good idea. Flex is a mature framework and Adobe has a great enterprise offering, but it will be hard to convince anyone that Adobe is still behind that technology after the way they managed their communication. This said I think the move of Flex to the Apache open source foundation is a great one and if managed right will give Flex a good run for years to come. Flex is still a great choice for many enterprise projects and will remain so until a solid and widely adopted HTML component framework emerges. If Adobe is smart they could provide that offering.

Flex is also a great environment to develop “native” mobile applications that can run on iOS and Android. The forthcoming Flex SDK 4.6 will show that potential and it’s a great way to create cross platform mobile and tablet applications. Adobe will not kill Adobe AIR for the mobile as it’s a too appealing growth market. But that message didn’t get through to the main stream media.

As Adobe said Flash for the desktop for games and Adobe AIR for mobile will be here for a while. But Adobe has the most to gain if they become the major player in the HTML5 field by providing tools, framework and making the web standards evolve. And they are in a good position to get there. To achieve this goal it also means that they will refocus many of their development teams and this will impact Flash and Flex. Moving the Flex SDK and some of the key developers to the Apache Foundation will allow to continue to evolve the SDK regardless of Adobe’s new focus. The move a few years ago to the Flex Sparks components and the recent addition of the new mobile components provide a great and mature framework basis for a real open source effort which I believe will have a long life even if it will become a niche environment over the long run. Note I consider Ruby on Rails a niche market, a really great one to be in. Adobe has something great with Adobe AIR for mobile and this is the one area where they could even grow their developers basis if they get their message right. For me AIR for mobile/tablets and the Flex SDK 4.6 is one solution where I can build mobile apps faster than in any other environment and this will be a great business to be in, especially for the enterprise market.

The smart enterprises will realize that Flex is stable and here to stay for the long run, even if it’s not in the spotlight. They will start HTML projects in parallel to gradually improve their developer workforce and experience in this area. They will also realize that the HTML5 frameworks and coding technics are evolving so rapidly that it will be time consuming just to keep up. Also these frameworks are not as mature and complete as in the Flex ecosystem. Finding Flex developers is difficult, but finding great HTML/Javascript developers is even harder. This said, there is no denying that pretty quickly the HTML5 tools and frameworks will catchup with what Flex offers today in ease of development for enterprise applications.

Personally I’m looking forward to see how these HTML5/Javascript tools/libraries will evolve and will play with many of them.

So where does all this leaves you, the developer. Well, it’s for sure time to jump on the new HTML/Javascript bandwagon if you haven’t yet. I cannot see many companies starting new enterprise projects with Flex. If you are into mobile or tablet development give the new Flex SDK 4.6 a try, I believe there is a great potential for Flex to become a major player in the mobile development arena…targeting “native” applications and not the browser. Yep, your heard it here first ;-)

Enjoy,
Daniel

Posted by Daniel Wanja Tue, 15 Nov 2011 16:06:00 GMT


Journey into Android Development - Part 3 : Flex Development (Adobe AIR for Android)

Ok, today I’m at the 360Flex conference following Brent Arnold’s AIR for Android presentation. We are playing with the Flex SDK 4.5 to build an Android app however we had to sign an NDA, so I cannot say some of the detail unless it’s already on the internet. This said I assume that tomorrow Adobe will announce the official release of Flash Builder 4.5. And a ton’s of information was already published:

  • http://labs.adobe.com/technologies/flex/mobile/
  • http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero
  • http://corlan.org/2011/01/12/understanding-flex-mobile-views-and-viewnavigator/

Here is TourDeFlex that shows all the capabilities of the Adobe AIR runtime. Download TourDeFlex. The source code can be found at https://github.com/jamesward/TourDeMobileFlex

In the training we created a small application that checks the capabilities of your device: Download DeviceCapabiliites
The application uses the Capabilities api that checks various parameters of your device., such as multi-touch, camera, location. Here is the source code:

Within Flash Builder in the properties of your project you can go to the Flex Build Packaging | Google Android and create a self-signed certificate.
Then you can use the Project | Export Release Build… option to create an .apk file for your project.

The application itself is not that exicting but allowed us to discover how to create AIR apps for Android using Flex and Flash Builder.

Enjoy!

Daniel.

UPDATE (4/10/11): Et voilà Flex 4.5 is announced, but the final version will only be downloadable early May. Here is a good article on mobile development.

Posted by Daniel Wanja Sun, 10 Apr 2011 19:12:00 GMT


Journey into Android Development - Part 2 : rooting the gTablet

Before continuing development I want to update the tablet. The cyanogenmod wiki seems a good resource http://wiki.cyanogenmod.com/index.php?title=Viewsonic_G_Tablet:_Full_Update_Guide

A colleague received a 7" Galaxy Tab today and I must admit it seems a way nicer tablet than the gTablet…but then again I can now hack around. Let’s hope that updating the tablet won’t brick it…Then I couldn’t report much progress on the Android front as my “accountant” wouldn’t let me get another one before a while.

Note the wiki mentions to put the files on the root of the device, I did that via USB transfer.

So step 1) download ClockworkMod_Gtab_v08.zip, unzip and copy the recovery folder and update.zip to the root of the internal memory.

That worked, also I tried yesterday and push the power button and the volume up button, but that didn’t put me in the recovery mode. But pushing the volume up and power button works

Step 2) Flashing CyanogenMod via the Recovery. Note I should try via RomManager.

http://android.d3xt3r01.tk/cyanogen/harmony/update-cm-7.0.0-Beta1-Harmony-signed.zip
http://android.d3xt3r01.tk/cyanogen/gapps/gapps-gb-20110307-signed.zip

I moved the previous update.zip to a backup folder and just moved the above two files to root of the internal sd card. Then renamed update-cm-7.0.0-Beta1-Harmony-signed.zip to update.zip and rebooted in recovery mode. Selected “apply sdcard:update.zip” from the menu and pressed the home button and selected yes. The install is underway and takes longer than step 1. Rebooting…shoold have booted in recovery mode. Will do it next. Yea the startup logo is already different and show “cyanogen 7”…and loops…and booted. Ok, shutting down once more and restart in recovery mode to “Wipe data/factory reset” and then “Wipe cache partition”. 

Now I select “Install zip from sdcard” and select the google apps: gapps-gb-20110307-signed.zip.

Press the back button and select “reboot system now”. 

I like it, in the apps there is Terminal Emulator app. Managed to get the wifi connect…and again problems with the security certificate. Is that an android issue, or maybe there is something wrong with my network…I don’t think so. So the OS look way nicer, but still cannot access the Android Market place…the app starts and shutdowns.

After a reboot the tablet is stuck in startup mode, shows “ANDROID” and that’s it. USB doesn’t connect, so now I have to find another way to get the next update on the tablet. Ok Wiping the data and cache as in step 2 put the tablet back in business.

All right that’s it for tonight, I shall check if I can’t find a better rom next.

UPDATE: (4/10/11) Actually after playing with the Cyanogen I must say it works quite well. I have no problem accessing the drive when connecting the table via USB. The device is very responsife and I had no issue installing the Amazon AppStore. Just download the .apk and moved it to the tablet and Angry Bird here I come.

Posted by Daniel Wanja Thu, 07 Apr 2011 04:29:00 GMT


Journey into Android Development - Part 1: the gTablet

I dabbled a while back with the Android SDK 1.5 but didn’t pursue that platform back then. With the advent of Amazon’s App Store, a bunch of cool tablets and Honeycomb, I thought it was time to take a Journey into Android land again. 

Over the next couple of weeks I will report my findings on this blog. I didn’t just want to explore the Android ecosystem from the emulator I wanted a real device. But I also didn’t want to spend $800 or signup for  a two year contract, so I went for the cheap gTablet. So here is my first impression.

I must admit that I’m an Apple fan boy. I’ve had numerous MacBook, Macs, iPhones, iPads over the years and I will compare exploring the gTablet to my experience with the iPad (one).

First stop, opening the box and starting the gTablet

The packaging wasn’t that bad, nothing exciting, just a box. But then starting the gTablet didn’t work, the battery must be empty. So I had to plug it in. It’s a small detail, but let’s move on. I plugged it in and behold, it’s starts.  The hardware looks and feels not too bad for the price. The screen get’s smudged with fingers prints pretty fast.

The software

Well it runs Android 2.2 and that will be the target of my first application. However the stock software they provide is real crap.  Even for a cheap table, the browser is just ridiculous and presents Security Warning for every https page, they don’t even have a proper certificate authority. I won’t go on and tear the rest of the applications to pieces, as I was aware from reading many reviews that the stock software isn’t great and I will try to find a good upgrade. I’ll hilight the process in this column. Ok, just one more critic…when I started the tablet my kids where standing next to me and got really excited as they saw the Angry Birds icon on the desktop. But the app doesn’t start…how disappointing. So my recommendation so far, don’t spend a penny on this tablet unless your are ready to update it. It’s not worth the $200 or more dollars like that. 

Now this said before upgrading I want to see how I can create a simple app and move it onto the tablet. Note I won’t describe the development process, the SDK and other tools I will use as I will mainly focus on the eco system, like how to move the app on the device, how to get the app into the Amazon app store, can I get apps from the Amazon AppStore onto the device at all? So I’m a total newbie and will share my experience, the ups and downs, the excitement, the hacking, on these pages. So stay tuned…

USB Connection

Now onto the fun stuff. I connected the usb call and can see the whole disk system right away…Note sure it’s the whole file system but it’s fun that you can add easily stuff on the tablet:

usb connection

Well, it’s fun to see some of the iPhone restrictions not beeing there. I wonder if the applications must be signed. Also I think to install a new system you can just find a different update.zip file and load it during the boot process…I will try that later. For now let’s see if I can copy a new .apk file directly to the device.

Installing the Android SDK on my Mac.

Before I can install an app, I need to build one. A quick google search and onto http://developer.android.com/sdk/android-2.2.html. The page says "If you are new to Android, download the SDK Starter Package first.". Let’s do that… http://dl.google.com/android/android-sdk_r10-mac_x86.zip. After unziping it create the android-sdk-mac_x86 folder which I move to my /Developer folder.

Then onto Installing the SDK

Well, the instructions says to “On Mac or Linux, open a terminal and navigate to the tools/ directory in the Android SDK, then execute: android”, let’s do that. Well I had to execute “sh android” as the script didn’t have the +x flag set. Ok that opens a ui and I select the SDK Platform for Android 2.2, API 8, revision. Later if rooting the gTablet works I will have to get another version, but as the stock software says it’s a 2.2 OS, let try with that SDK, so I just the the “Install Selected” from the UI. The UI shows the following log: 

Downloading Android SDK Platform-tools, revision 3
Installing Android SDK Platform-tools, revision 3
‘adb kill-server’ failed — run manually if necessary.
Installed Android SDK Platform-tools, revision 3
Downloading SDK Platform Android 2.2, API 8, revision 2
Installing SDK Platform Android 2.2, API 8, revision 2
Installed SDK Platform Android 2.2, API 8, revision 2
‘adb kill-server’ succeeded.
ADB: * daemon not running. starting it now on port 5037 *
‘adb start-server’ succeeded.
ADB: * daemon started successfully *

And mentions that “Done, 2 packages installed”. 

Building a first app using Appcelerator’s Titanium

Well, I’ve an app that I wrote for the iPhone, I would like to see if Titanium’s cross platform premise holds. Let see what I need to sweat to get it running on the gTablet…First step let’s add the SDK to Titanium. My app was an “iPad” app to Titanium doesn’t even want to know about the Android SDK. So let’s create a new “Mobile” SDK…Hey, it finds an Android 1.6 SDK…I must have dabbled with that a while back. Finnally found the following on Appcelerator’s support pages "If you’re installing the Android SDK, make sure to install the Platform-tools package, and as usual you will need the Google APIs Add-on". Ok, then let’s try that.

10pm and the kids go swiming early in the morning, so I’ll wrap up this experiment and continue over the next few days. 

… to be continued

 

 


 

 

 

Posted by Daniel Wanja Wed, 06 Apr 2011 03:58:00 GMT