Web Applications are Changing Part 1: Debunking for myths about Web Applications

by allen 6:11 pm Wednesday, 29 September 2004.

Web applications are changing. The page-based and browser-based applications of the web’s infancy are transforming into the responsive and sophisticated Internet desktop applications of today. It is difficult for many of us to get an angle on these changes. Old frames of reference and previous assumptions blur our understanding.

This is a time of investigation. A time where we sift through the information available and see how we can upgrade our investments.. But before we explore the future, let’s dislodge some old assumptions. Let’s debunk the myths about web applications.

Myth No. 1: The Web is unreliable, slow and cannot scale, making it impossible to use for business-critical applications.

With the growth of rich client technologies like Macromedia Flex, it is possible to improve the response of web applications, turning them into Internet Productivity Applications - applications that feel like desktop applications but with the broad reach of the web.

Myth No. 2: Application functionality loss is a given when "Webified."

The first generation of web applications could not compete with the rich client applications of the client server era. This is mainly because the tools had yet to evolve. This is not the case anymore; with platforms like Macromedia Flash, Flex, Lazlo and other rich client frameworks, the limitations of early web applications are no longer a hindrance.

Myth No. 3: I have to develop two versions of my application: a desktop version for doing the heavy-duty “real” work, and a web version that does simple reporting.

This depends upon the specific needs of the presentation layer. By using a structured n-Tiered architecture, different presentation layers can be deployed depending on the needs of the enterprise. The same database and business logic may be presented by a web browser, mobile phone, or desktop application. This is the promise of Internet 2.0 technologies - ubiquity across devices.

Also, the web is not just about web pages anymore. HTTP is a protocol that delivers more than web pages. Today, browsers can deploy whole desktop environments, digital dashboards, and data navigation software for doing sophisticated productive work. That’s a lot more than reporting.

Myth No. 4: The web is a proven infrastructure for business applications. I want to use the web for all my applications.

Internet Productivity Applications, like those we are developing for the Media Sector in the  UK , go beyond the capabilities of web applications. They are, to use old Microsoft terminology, ‘Data-Centric’. The data is there and you move around it - like you do in Microsoft Outlook . The business data is central, and the application provides different views of the data and supplies tools to manipulate it. In most cases, data-centric applications are easier to use and don’t “get in the way” of the work that needs to be done.

Forrester Research found that investing in the user experience can deliver as much as a 250 percent return on investment (ROI) in online commerce applications. Research also suggests that it can significantly lower the cost of deploying enterprise applications.

Ignoring these new developments and relying solely on traditional web applications, may leave you behind.

 

Myth No. 5: The No. 1 challenge when using the web for business applications is its lack of a rich user interface.

That may have been true with page-based web applications, but it is not true now. In fact, the web is merging with what used to be strictly desktop applications and turning into a new platform. A more important challenge when using IT for business applications is choosing the best presentation platform to use. Once you decide on a presentation platform, the next challenge is designing it so that it is usable and doesn’t get in the way of the important work.

The Internet is only starting to fulfill its promise. Traditional web applications can only go so far. Internet Desktop Applications is the upgrade for traditional Web Apps. The upgrade will be performed by the most qualified - the thousands of talented Web Application developers who built the first big wave of online Business Applications.

Comments (0)



Oh No, Not Again!

by Niklas Richardson 2:13 pm Tuesday, 21 September 2004.

An alert to anyone not already aware - the new continuation of the Hitchhikers Guide to the Galaxy Radio series starts today at 17:30 GMT on Radio 4 (internet streams available as the programme starts)

And in conjunction with this, the BBC have reworked the classic Infocom Hitchhiker Adventure Game into a 20th Anniversary Edition using flash!

Comments (0)



Flex Customer Relationship Management Demo

by allen 6:06 pm Monday, 20 September 2004.

I just saw a demo of a very interesting CRM written in Flex for managing customers. It’s only a screen cam demo but it still is very interesting..

"Optimal Payments, Inc. is a global provider of payment processing
services, and used Flex to develop a single interface that combines
their existing Customer Relationship Management system (CRM) and an
internally developed change management system. The application
eliminates installation and maintenance headaches associated with their
previous thick client solution and boosts productivity by streamlining
internal processes and reducing data duplication. The application took
30% less code than JSP to build."

It seems to be integrated into their company extranet. For the most part it looks like a standard website so it took a while for me to see the points of Flex integration. Then the demo moved into the customer support management system This was clearly a Flex application. Logging in we see an outlook type interface with a standard datagrid listing customer interactions. Support tickets can be created and managed. There seemed to be some nice call history and attachment support.

Very similar to the work we are doing for a Print design company here in London and another example of the direction of business applications.

The advantages of this business intranet flex application are clear. If feels like a focused customized outlook for managing customer support. I would be surprised if most web applications wouldn’t see immediate ROI by upgrading to a Rich Client platform. How do you guarantee the investment?

Comments (0)



Using Flex in a Portal Environment

by allen 5:27 pm Tuesday, 14 September 2004.

Thanks again to Macromedia’s Christophe for writing a fascinating article on using Flex in a Portal Environment.

His example shows Flex being used in a large real-time financial portal. This is definitely the way of things to come.

"The portal page represented above features five Flex-based portlets (notice that, as described in the integration scenarios below, Flex-based portlets can also coexist with HTML-based portlets):

Mutual Fund Selector Portlet: Provides an example of rich user interactions. This portlet allows the user to specify selection criteria using sliders and other controls. The mutual funds that don’t match these criteria are automatically faded out. Details about a mutual fund appear as the user mousse over the symbol.

Real Time Market Data Portlet: Provides an example of a portlet that has a connection to a real time market data feed. The lines of the chart automatically adjust to reflect new data received from the data feed.

Portfolio Portlet: Another example of a portlet featuring some rich user interface components: the DataGrid (fully sortable and editable if required), the Accordion, etc. When maximized this portlet allows you to get stock quotes and to drag-and-drop stocks in your watch list.

Video Portlet: The MediaPlayback component allows you to stream video in a completely integrated manner within you portal. No third party player required.

Chat Portlet: Another example of data pushed from the server to the client."

The first step of the RIA technological wave will be the transforming of Web Applications in the rich client metaphors that Flex affords. The second will be in the aggregation of these applications into high order portals of multiple applications (portlets) working together.

I have always thought that Microsoft Money represented this new wave of data dashboards years ago.

In essence, this is what we are attempting with our current project and I hope that future versions of Flex make this portlet style application framework a breeze.

I’m also very interested in what the Longhorn equivalent of this will be.

Comments (0)



Test Driven Development with CFCUnit

by allen 6:25 pm Thursday, 9 September 2004.

CFC Unit is where we are spending most of our server-side time lately. It is the best Unit Testing framework available for ColdFusion hands down. We like it much better than the CFUnit package that was released in one of the DRKs a year or so ago. Thanks to Paul Kenney for his work on setting this up. It runs on MACH II - the latest incarnation of FuseBox - which to you Java folks is a CF equivalent to STRUTS.

Based upon the JUNIT framework, CFC UNIT allows you to set up regression tests and unit testing frameworks which are the foundations of test-driven development and refactoring. We are still waiting for some structured unit testing for our Flex applications. It seems that something will be coming out in the near future.

Our only complaint with CFC UNIT is using CFCUnit and CFDUMP to debug within our unit tests. We use the following code inside of our unit tests, but due to the ABORT it breaks the test and thus prevents the teardown from being called. Oh well - maybe LogForCF is our solution? Anyone game for writing it? See the below code for a sample ColdFusion unit test with CFC Unit and how we try and debug with it.

<cffunction name="testDeleteItem" returntype="void" access="public" output="false" hint="">

<cfscript>
contactDelegate = CreateObject("component", "net.intranet.business.contactDelegate");
contactVO = contactDelegate.deleteItem(contact = this.struct_contactVO);

assertTrue(IsDefined("contactVO"));
assertTrue(IsDefined("contactVO.contactId"));
assertTrue(IsDefined("contactVO.homeAddress"));
assertTrue(IsDefined("contactVO.homeAddress.addressId"));
</cfscript>	

<cfdump var="#contactVO#">
<cfabort>

</cffunction>

Comments (0)


Older Posts »