Other killer service based on “F” platform idea? Seems that YouTube was just a beginning

I think it is time for new YouTube type of service based on Flex/Flash platform. That one has to take on making application service for masses. That’s right – time to take on big guys like SalesForce.com (1st step) and SAP (next target). Any takers?

Flex is a rich client for new incarnation of client/server platform. This time around it is “rich client/Web paltform”. And flash/flex AMF3 and rtmp protocols that offer unique advantages that are not well known to decision makers. As a matter of fact, most decision makers do not know how bad XML might be for business applications – till it is too late.

Do not take my word for it – check out example on James Wards site ( http://www.jamesward.org/census/ ) and plug in few numbers – like increase number of rows to favorite 20,000 or build your own test and increase number of columns.

I spent last week doing small pilot for yet another SOP (save our project) case. While fixing client-side performance and memory issues became routine procedure in the last year, I finally stumbled on the case of business application with extensive Rest/WebServices/XML processing.

Unlike typical J2EE or server environment I had almost no control as the back-end was SalesForce.com – AJAX application platform that claims to be software provider. With Flex serving as a client though, it is mostly database sandbox – all the functionality is in rich client. With necessity to proxy data due to security restrictions all it gets you is slow database with limited metadata and language restrictions.
There are few cases where XML is very helpful – primarily integration tasks. But in daily business automation it is not even a fair game. Who knew that current 21st version of SalesForce (coincidentally the number of the century we live in) would not support transactions? That used to be commodity last millennium. Has anyone tried to stream XML lately? Is it doable and can it be made generic? What about memory and bandwidth and cpu – how much can your user tolerate? Is business user willing to wait 10 times longer for data to appear? What are the redundancy and robustness of the XML HTTP protocol compared to dataservices?

After spending a week with SalesForce development I feel very strongly that a service with embedded Flex doing communications and metadata for both Flex and AJAX is a boon for developers and users.

Sincerely,

Anatole Tartakovsky

8 thoughts on “Other killer service based on “F” platform idea? Seems that YouTube was just a beginning

  1. Thank you for the link, James. I will gladly use it with our benchmarks and also will complement with the test cases handling GZIP for xml – there are few bugs in the routers software and nasty one in wininet that causes exponential loading time/memory increase due to memory reallocation on streaming/stream size.
    I believe I mentioned on the other blog that census like software is the must for any enterprise to optimize / evaluate protocols timings and reliability – great that it is available to public.

    Regards,
    Anatole

  2. Hi Anatole,

    Great blog. I like your vision about RIA over the long term, but would make a couple points related to Salesforce (SFDC). SFDC is in fact transactional and the next generation APEX scripting language will support COMMIT / ROLLBACK of batch transactions.

    GZIP compression is key to achieving performance, but I suspect optimized caching and using selective opportunities for writing back data will produce the greatest gains for your “SOP” case (to use your term).

    Salesforce offers a balance between “reach” and “rich” that cannot be achieved by pure Windows apps or Flex apps *today*. But web-accessible RIAs to CRM and other business applications are most certainly on the horizon (as is mobile, but that’s a whole different story).

    But RIAs for commodity business information can only be justified when the end user lives in the app for 4+ hours per day, or the data must be visualized in a non-standard way. I think hyrid-client business apps will be the norm as RAD tools will get developers 80% of the way on several clients rather quickly.

    Regards,

    -Mike

  3. Anatole,

    My company, OneLinq, is doing exactly what you just mentioned. While we are not thinking of directly taking on Salesforce or SAP, we are building fairly robust RIA on top of them and augmenting them with some serious sales methodologies.

    Trying to create a pure Flex GUI on top of salesforce is going to be pretty frustrating to people given the speed (and transaction restrictions) of Salesforce.com. However, putting a real transactional database in the middle with bi-directional synchronizaton….:)

    Hope you guys are doing well. Can’t wait for your dynamic reporting components.

    Keep up the good work.
    –Steve

  4. Mike,
    Thank you for comments. I am aware of the APEX and believe it desrves much credit. Adoption of it is a different question and staying with more commonly used technologies will be a serious consideration for app developers.We have been doing exactly what you suggesting about 7-3 years ago and we had serious issues with bandwidth and reliability in real-world cases.

    Unlike AJAX Flex provides rich and reach networking out of the box – with industry leading robustness and error handling. SalesForce can remove few layers of pain right away – and gain some developers in exchange:

    1. Open up crossdomain or have separate trusted subdomain servers for deploying/hosting Flex applications.

    2. Let those servers to access the same databases by providing shared security/login/context. That will solve transaction, state management and customization issues while keeping the synergy of multiple applications provider. With Flex application state is on the client, you should be able to run very reasonably sized infrastructure and offload most of the large datasets.

    3. RADs for AJAX and Flex are very different – you might want to look from a different (client/server or Web 3.0) point of view – looking at the current application code I should say that most of the generated code was counter productive if you consider full application cycle. Instead, integrated Flex/Eclipse RAD can provide help in the development process and generate code and UI in the same time.

    Sincerely,
    Anatole

  5. Hello Steve,
    Has been a while – last time we talked you were at SilverStream. It might be a good idea to take a look @ the “bunch of the plugins” post – I believe we are opening up wider beta next week. DaoFlex does all code generation (Java and “DataWindow” DataGrid) that has stateful collection implementation that can be used transparently with remoting and dataservices, transactional gateway (JTA based) and bunch of Flex goodies. Will also have Form on the same “shared DataWindow” bus to present next month / on 360Flex.

    It’s coming great, please let me know if you would like to get plugins – (Eclipse 3.2.1/Flex 2.0.1 on the outside server only) – and I will email it to you along with license files.

    Thanks,
    Anatole

  6. In my tests GZIP doesn’t always improve performance. And in many cases makes it worse due to the latency associated with it. But I would love it if someone added a GZIP test to the Census benchmark suite so that we could have real proof. :)

  7. Pingback: As A Service

Comments are closed.