Monday, December 8, 2008

Is Adobe Flex the next silver bullet?

Having tested a bunch of products I'd like to mention a difference of Coghead. Its interface is completely developed on the basis of Adobe Flex. One can understand the case when it is used in multimedia rich systems like YouTube, but why to apply this to data-driven services?!

And why not just make a rich application to Coghead backend?

Let me tell you few points why I dislike sites developed exceptionally on Adobe Flex.

  1. Non-standard gadgets.

  2. Blurry text.

  3. Useless context menu.

  4. Browser's keyboard shortcuts and extensions don't work.

  5. I hate "Loading" screen.

My opinion what if one is going to use flash, it should be in small elements around a framework of web standards such as HTML & CSS. Fast, clean, simple and effective.


  1. Hey Jane,

    First of all I'll admit I am totally biased in this discussion because I am a hardcore Flex/Flash developer, and I have been using it for 3-4 years now.

    I definitely agree with some of your thoughts on the platform, but there are a few that jump out at me.

    1. Non-standard gadgets

    While a lot of users might be used to the web UI controls of yesterday (simple text boxes, buttons, drop downs, selection lists, etc). Many of us in the User Experience field believe that the future of web applications is increased efficiency and usability.

    If you take a look at some of the larger travel sites out there for example, you can wade through pages of required and optional fields, all the while the web application seems to have a hard time maintaining the state of your selections and effectively presenting the outcome of the transaction to the user.

    The beauty behind Flex, and potentially it's competitors Silverlight and JavaFX (both yet to be proven in my opionion), is that you can take some of the powerful controls and concepts from the desktop world to the web, ideally with full cross-browser compatibility.

    With more advanced controls (or gadgets as you call them), you can bring a higher level of interactivity and efficiency to old processes. That ancient Orbitz order process could be simplified in to something a lot easier to use, without so many page reloads and general complexity.

    2. Blurry text

    I definitely disagree that all Flex/Flash apps offer blurry text. What you are likely seeing is true font anti-aliasing on the web, something that pure HTML apps have been unable to deliver as of yet.

    That being said, with any platform, there are misuses of the technology.

    I'd definitely like to see some examples of apps you feel have blurry text, and might be able to provide further feedback.

    3. Useless context menu

    Totally agree with this point, and if you ask me it's a really sore point to developing Flex applications.

    4. Again, probably an example of misuse of the technology. Flex applications have full access to tabbing order, focus, and custom keyboard shortcuts.

    You can't blame Flex for a few bad apps out there. :)

    5. The loading screen can be totally customized, in fact you could do a completely blank page while an app is loading (much like the Firefox/IE/Safari browser experience).

  2. I see your point, Brian. The thing is I am not a flash developer and definitely not a programmer (I can’t define if it is better or more practical for rich internet application development), I think one should review flash/flex from the end user standpoint. And one more thing, I don’t just review Adobe Flex as it is, but what I am trying to do is to convey my impressions of a particular implementation case, namely how Coghead applies it (

    The specific of tested in my blog apps is that there is not that much design and artwork there. Basically the interface is combined of input forms and tables/grids for data reflection.

    In respect of “Non-standard gadgets” I can tell that the beauty of the browser is in the unification. When the common user visits the site he sees the elements he is accustomed to, for everything looks and works as in each system (for example, scrollbar in grid or buttons or dropdown). I think that non standard elements require additional efforts or additional trainings. Generally the end user (as I am, for instance) uses specific computer and specific browser and operation system and in this context I don’t care that the interface combination MUST work everywhere, yes, it works, somehow. But not the way the native system should. I mean as the end user wants and expects.

    “Blurry text”. It’s just my subjective perception and somebody may like flex render text better. I like the way it is done through browser (maybe because it looks the same way as it does in the operating system). I think the issue is not worth a discussion, really, cause it’s just my personal feeling.

    I also would like to speculate on “Browser's keyboard shortcuts and extensions don't work”.

    Maybe it’s just a peculiarity of Coghead way of implementation, but Shift+Insert doesn’t insert text in editbox, only through Ctrl+V one can insert it, Ctrl+Z (Undo) – doesn’t work at all. One can find a lot of examples. It’s just when you got used to do something automatically and didn’t pay attention to how it worked before. But then suddenly you realize it doesn’t work the way you want it to.

    For example, I can’t use the spellchecker, as well as copy/paste screen parts – one should take the screenshot of the whole screen. What I am trying to say is that I am deprived of the ease I got used to.

    And few words about “I hate "Loading" screen” – I think that this is the problem of many systems out there, not only Flex based, but also trendy at the present time AJAX based. Using such system I can’t get rid of the feeling that it’s slowing down and can’t keep up.
    Even though I understand that it must work faster than page reload, but visually (just the way of my perception) this constant loading is so annoying! I have such a feeling that the system is cumbersome and slow. And I simply can’t help it.

    Hope, I cleared up why I don’t see the point to use Flex in data driven apps.

  3. Nice suggestion... I completely agree with you...

    saas application development