Toobler @ Adobe Launch Event, Cochin

Toobler and a couple of its employees have been active promoters of Gods Own Developers, the Kerala Adobe User group since its inception. The group has until now organized many meetings and successfully brought together more than a few developers and designers who share a passion for technology. I have always been proud of my position as the user group co-manager, heading such a group of industrious and passionate people. And I am even more proud now, as the group conducts its first major public event.

The Kerala Adobe users group will be conducting a launch event for Adobe’s latest product and technology releases at Hotel Woods Manor, Cochin on April 10. The products and technologies in focus includes the Flash builder 4, Flex 4, Flash Catalyst and ColdFusion Builder.

I am also proud of the participation of Toobler and its employees in the organiztion of this event. Toobler employees have actively contributed to all aspects of organization of this event from the very beginning. In fact, one of the speakers at the event will be Thazleem Ali, a  ColdFusion expert at Toobler  who will share the stage with Mr.Harish Sivaramakrishnan, Adobe evangelist. Mr.Harish will speak about the Flash Builder 4, Flex4 and the Flash Catalyst while Thazleem will introduce the ColdFusion Builder. The limited seats event is completely free with sessions on all the Adobe’s latest technologies and products. Food and refreshments will be made available to all participants for free. More details of the event are available on http://godsowndevelopers.com/kad/launchevent/

The event will also mark the first time that Cochin is included as a destination in its worldwide promotional tour by Adobe. We believe this is another mark of Cochin’s rising superpower status in the IT world. And we at Toobler are ready for it.

Flash Builder 4 and Flex 4 SDK final release – A quick peek

Today, Adobe released the final versions of both the Flex SDK and Flash Builder 4. I have been dabbling with the beta versions for some time now and so I thought this would be a good time than any to note down a couple of things that I found interesting about the two.

Flex 4

  • Spark – The main change in next version of this completely open source framework extraordinaire is no doubt, Spark, the new component architecture introduced in this version. At first it was a bit daunting, and I didn’t even know why Adobe felt the earlier Halo components needed tweaking. However, after reading more and with just a little effort, the advantages were obvious. Spark was designed to completely separate appearance from behavior, and achieves just that. New users of Flex, not used to MX, will find Spark much more easier to learn.
  • States – This is one change I’m sure no one will complain about. The earlier implementation of states in Flex was something archaic and one that always felt out of place. The new process is much easier and simply speaking, makes much more sense.
  • FXG – A new format that helps exporting project files within the platform. Developers/designers who use multiple tools will definitely like this. I used it when testing out the Flash Catalyst.
  • Easier binding – Throw out the [Bindable]. Welcome ‘@’.

Other new or improved features in Flex 4 include a new video component and wrapper, an ASDoc tool and support for the text layout framework. The text layout framework is a highly powerful framework that greatly enhances our text display capabilities. Something I’ve experienced in an earlier project. Now it comes built-in.

Flash Builder 4

  • Automatic getter/setter generation – The surprise would have been if this wasn’t included.
  • Network monitor – Something for which I had to rely upon third party tools, and that too in a non-direct methods. Extremely useful in testing and optimization. The built in network monitor helps easily identify which part of my Flex application eats up network resources so that I can modify it and make it more efficient. The feature is doubly useful when you are also in charge of the server side.
  • The data/service model – What I would rank as the best new feature. The data/service model and related features incorporated make development of client-server architecture solutions rapid and mind bogglingly easier. We can now view all the server side logic listed as a tree, what are the required parameters and the output types. We can now even unit test with test data each function and view the output. And if you are feeling lazy, it can even develop some server side Coldfusion or PHP classes for you on properly defining the database tables. A very helpful feature for developers who hate working on anything other than ActionScript. This feature is so powerful, it’s hard to believe that it’s a standard part of the IDE. I would have hardly minded throwing out some more money just for this feature alone.
  • Package explorer – You no longer have to make do with the old Flex Builder explorer which was just a file explorer posing as a package explorer.

Some of you might say that I missed the most obvious and most hyped introduction, the Flash Catalyst based work flow. It does simplify things, and definitely speeds up the process, but it still is a separate tool. Extremely useful for coders who have a designing handicap. Again, Flash builder 4 also features many other enhancements and features and also many under the hood changes such as improved debugger and others.

Trouble with CFChart – Image expired

Thanks to the few users who acknowledged my last post on the topic of CFChart. I hope it has been (and will continue) useful to even more people. One particular developer, delta_mu, commented on a problem he was having when using the CFChart as explained in my post.

When a user reaches a page with cfcharts in flash format by clicking the browser ‘back’ button, instead of the original flash chart, an image that says “Image expired. Please refresh the page to view the image” is displayed.(Sample image shown below) Very clearly, not desirable.

The problem occurs for two reasons.

  1. Lack of session management.
  2. Short image caching duration.

When we use the cfchart tag to create a chart, coldfusion creates a temporary SWF or JPG or PNG image for display. If no session management is enabled, the cluster manager will send the user to a different server each time and hence there will not be any image to display. This can be prevented by enabling session management and the process is called session affinity.

However, in this user’s case, I doubt whether this was the case as he most probably uses a developer edition for such purposes and hence no clustering is involved as it is a single server setup. Thus it must be reason number two – The cache.

Once a request has been made, by default, the images will only kept for a duration of 5 seconds in the cache. Hence when the user hits the back button, the request no longer exists. This duration can be extended by following the few simple steps listed below, courtesy Prayank’s blog.

  1. Stop the CFServer.
  2. Open coldfusion x.x\lib\webcharts3d.xml
  3. Find and change the values “minTimeOut” & “maxTimeOut”.
  4. Restart the server.

Thats it. You are ready to go. But please remember that this solution is inefficient when you have a large number of charts to display.

Flight Delay Predictor for Android

The Android and mobile development team at Toobler has just made a small addition to it’s portfolio – the Flight Delay Predictor. Flight delay predictor is a nifty little Android application that helps user’s keep track of delays in their flight, if any.

Completely developed in house and primarily for test and research purposes, the flight delay predictor uses an API provided by FlightCaster and has now been made available on the Android market as a freeware.

Flight delay predictor will be a very handy tool for all frequent fliers. It helps users to search for any flight by entering the route(From and To airports) or by flight names. On inputting your flight, flight delay predictor displays chances of how late your flight is/could turn out. The service currently covers all flights flying within the United States of America. The delay prediction is based on live air traffic data by flight caster and calculation will start six hours prior to scheduled departure time from source.

The Flight delay predictor features a very simple and elegant, easy to use interface that stays true to Toobler’s focus on user experience. All information and features are easily accessible and usage a complete delight.

The application also includes a “my flights” feature that lets you save any number of flights of your choice for easy access later. The flight search feature can also be used to get list of next available flights between two airports.

We hope you enjoy using it as much as we enjoyed developing it(We always do). And please don’t forget to give us your feedback and suggestions.

Using Cfchart for charts and graphs in Coldfusion

Coldfusion makes it really simple to create and insert any kind of charts and other displays with the CFChart tag. While this is really an old feature(Available way back in ColdFusion 5), and little has been added to it in later versions, what many people don’t know is that it has now become much more efficient and actually holds its own against using client side JFQuery, CSS and other flash techniques. Cfchart is highly customizable and hence requires no need to involve designers or other javascript expert friends/colleagues whom you might need if you go for other methods. Below are some sample charts generated using CFChart with little styling options applied.

Now lets have a look at the code required to generate the above CFCharts.

<cfchart format=”png” name=”mychart” title=”Fruits Harvest” showlegend=”true”>
<cfchartseries type=”pie”>
<cfchartdata item=”Mangoes Harvest” value=”5000″/>
<cfchartdata item=”Oranges Harvest” value=”4000″/>
<cfchartdata item=”Apples Harvest” value=”3000″/>
<cfchartdata item=”Grapes Harvest” value=”2000”/>
</cfchartseries>
</cfchart>

The result of a query may directly be converted to a chart by using the code below. Coldfusion will generate the chart data items on its own from the query

<cfchartseries type=”bar” query=”data” itemcolumn=”name” valuecolumn=”sales”/>

Cfchart and Cfchartseries have a large number of attributes which maybe used to customize chart. You can check the complete list on Adobe Livedocs at http://bit.ly/cjiRPs and http://bit.ly/b3pioP

The type attribute of Cfchartseries is the most important among the list. It lets you choose from a wide array of chart types such as bar, line, pyramid, area, horizontalbar, cone, curve, cylinder, step, scatter and pie.

But what really takes the pie is the amount of styling options Coldfusion gives to the developers. Instead of setting each of the attributes, I found an easy way of doing this by modifying the built in style files in the folder cf_root\charting\styles and saving them under a new name to access. The style files are simple XML files and modifying them is really easy. One of the coolest attributes was the “show3D” attribute, which gives the chart a 3D effect. The appearance maybe modified to such extents that people will have a hard time figuring out it is custom generated and not designed by a web designer specifically.