
In the previous post I mentioned that Farata developed View-based application running from exactly the same code in the desktop, web and mobile. Does it mean that we take portability above all? Not at all. We are simply pragmatic. And from the same point of view let me disagree with the portability when it stay in the way of the functionality.
Here my background story for that. Back in 90s, when PowerBuilder and VisualBasic ruled application development, not a single VB or PB application was “pure” one (ie written only in that language/VM) – they all utilized native C code packaged as DLLs or VBX. Today, AIR provides great UI engine, but all universe of capabilities – quality camera, audio, telephony, notifications, great 3rd party native libraries are out of reach. If I do not use them for the sake of portability – I will loose to applications written for particular platform. During my demo I saw peopled wowed when AIR boundaries disappeared and Android based voice recognition did data entry for the Desktop application. Yes, I know that this will force me to pack the iOS version with the different extensions (when iOS support for Flex comes along in June). I am also waiting on C extensibility toolkit from RIM in May.
So, how does Adobe position itself in reference to integration with the native tools? Air application can be “invoked” from the native Android code, but not the other way around. The only integration approach is mentioned by James Ward, but it is not a part of the RC for Flex 4.5. The availability of Extensibility Toolkit based on that approach promissed, but no date was given. I think support of integration is a matter of survival. The same goes for “remoting” within personal network boundaries? Not supported either. I think it is another gap that Adobe has to fill.
Sincerely,
Anatole Tartakovsky
Permalink

I am flying back home and want to share some thoughts on what has been happening in the last 4 days here in Denver. Obviously, you know about all announcements related to Flex 4.5. The sessions were very well prepared and extremely useful for majority of the developers. A lot of information was provided in more informal sessions. The community was as excited and enthusiastic as ever. And yet I am leaving with a feeling that Adobe’s marketing message is missing the point.
The main message of the conference was: now you can develop great applications for mobile – and with minor tweaks it will work on all MOBILE devices from phones to tablets. I disagree with this message. Concentrating on mobile at the expense of the desktop is a big mistake. Let me explain.
Our company – Farata Systems – have been working on Flex for mobile technologies for about 16 month now – on IoS and Android. At the conference I presented the View-based application for insurance agents that was written with mobile toolkit. Despite the fact that it was written with mobile toolkit, our application does run in browser, desktop and tablet – all from the same source. We run a small fraction of the app on the phone as well, mostly as a remote assistant to the main application. Here we do high-tech tricks like letting the customer to sign with his finger (or a felt pen), swipe his credit card, speed up data entry via voice recognition etc.
Unfortunately, one can not develop desktop View-based applications out of the box. We had to substantially tweak the components and skins. And I think this shortcoming will hurt success of the Flex, if it is not addressed by Adobe for the benefits of all developers.
Here is why I think it is crucial. There are about 100K Honeycomb devices sold. By the time Flex will catch up with IoS – June – the number of sold iPads maybe will reach 3-4 Millions . My estimate is that less then 20% of the users (in case of our application the clientele are independent insurance agents) would have necessary hardware. However, all 100% have access to web on laptops and netbooks, and 80%+ are allowed to run desktop AIR. We, at Farata, can not justify development of multiple versions of the software for desktop(Air), web (Flex Hero) and mobile (Flex Hero Mobile) – and I can not imagine many other companies doing so! Aside of development issues, I can not imagine training and supporting 3 different user experiences (with obviously different UIs).
Not only Adobe has to fill the gap. Developers should adjust as well: as conventional OS-es are becoming gestures based (please see preview of Apples Lion coming this summer) – and very much like tablet ones, developers should not design and develop multiple experiences either. I mean they should abandon legacy UI metaphor and deliver seamless experience across platforms.
Sincerely,
Anatole Tartakovsky
Permalink