That was a busy day for me at MAX today, rehe
Here are my highlights for the day:
During keynote the name of the product that Thermo project will gave birth to has been announced as being Flash Catalyst and is available on Adobe Labs.
During that same keynote, Kevin Lynch introduced what he sees as current industry trends:
For each trend Kevin gave some concrete examples of what Adobe is doing to address the trend. This includes Flash Player 10 and Adobe AIR 1.5 release (including first production use of Webkit Squirrelfish engine) on the client side and cloud computing AS3 APIs for the cloud part of it. He showed Tour de Flex sample exploring cloud APIs including Amazon, Twitter and Salesforce.com APIs.
Example of social computing interest at Adobe were shown by highlighting Adobe Cocomo in public beta on Adobe Labs that allows developers to easily build collaborative applications in Flex.
Finally on the multi-screen side, several devices were shown running preview of Flash Player 10 including an Android-based G1 phone.
Amongst the various session I attended, the most interesting one was probably "Looking Ahead to the Next Version of Flex" by Ely Greenfield, it was (as usual with Ely) a very interesting session, going into the details of Gumbo component model codename Spark.
If you are attending MAX don't hesitate to stop at the booth and say hello, we are always very interested in knowing what you are achieving with our product! If you missed my session today, you can still attend Erwan's session on Wednesday where he will show how some of our customers have leveraged ILOG Elixir into their applications.
Keynote today focused on Adobe tool chain around the Flash platform, from design & development time to deployment time.
On the design and development sides, several CS4 products were demonstrated including Dreamweaver support of the OpenAjax Alliance metadata to include 3rd party Ajax toolkits into the IDE, relying on these metadata we saw Dreamweaver running jQuery widgets.
In between design and development, Flash Catalyst was demonstrated, showing how easy it is to round trip between designer tools and Catalyst using FXG format.
Other demonstrations of interest to me included:
If I had to highlight one of the technical session I attended today it would be Deepa Subramaniam's one, she well summarized Halo component-model patterns, nothing new for me here, but even more interesting she also started introducing some patterns around building custom Spark components. Very interesting for those would want to start exploring that brand new way of defining components for Flex Gumbo release.
Another interesting session was the session by Andrew Mikkelsen about why choosing Flex for Data Visualization. Andrew briefly shown an ILOG Elixir maps components test-sample he made.
Finally the day ended with the now traditional sneak peeks session (where I am sitting in right now). Peaks are today split in several categories, the first one being the client category. In this category Adobe shown among other things a nice project called Durango that allows one to create a mashup AIR application by drag and dropping components from other applications. The result can be saved to a Flex Builder project for you to be able to modify it afterwards. Peaks are still going on with the tools category, maybe more on this tomorrow...
Today was last day for MAX 2008 and Erwan gave his presentation where several customers feedback, including some from Boeing and Workday, was brought to the audience. If you did not to attend his session, you should be able to watch that session (and other ones) on Adobe TV in the following weeks as Adobe intends to release all MAX sessions on this media.
The technical sessions I would like to highlight for this last day were both about Flex Builder:
See you at MAX EU!
ILOG Elixir 2.0 currently in beta (available here) is introducing a new custom Flex component in charge of rendering gantt task charts. The subject of this post is to see how you can read the output of an MS Project schedule and display it, using ILOG Elixir, into a Flex (or AIR) application.
The steps that are needed to achieve this are the following:
For example you can see below a Flex application displaying Human Resources interview plan.xml (zipped) MS Project file:
The 4th step is of course the more interesting one. It is a bit tricky because, as usual with hierarchical data in Flex, the ILOG Elixir TaskChart expects the data to be already presented in its hierarchical form (i.e. for XML data, it excpects hierarchy children to be XML children of the parent node). However this is not the case of the MS Project XML format that presents all tasks in a flat way. That's why reading MS Project involves our own
The next step I envision would be to use the PercentComplete information in a custom ILOG Elixir task item renderer to display information about progress of the task. You can use this project as a starting point and leverage any information you want from the MS Project data to build a more complex display using the Task Chart component.
If you want to know learn more on the subject and you plan on being at MAX Europe next week, you might be interested in attending my session as I will enter into a bit more details about this example and some other nice examples of enhancing Flex and AIR displays using ILOG Elixir components.
We're back from Milan after 3 days at MAX 2008. During the first keynote, Mark Anders has demonstrated our Tour de Flex heatmap sample which shows earthquakes density over the world. Very nice to see our work on these two very large screens.
Then I attended to Introduction to Thermo and the next generation of Flex.
On the afternoon, Christophe demonstrated some ILOG Elixir tips and tricks and new components of version 2.0. Some photos are on the slide show below.
(First time I host photos on Photoshop.com. Very nice Flex application which use Flash 10 file system access to upload photos from the browser.)
The second day, I attended to:
And the last day I attended to:
Finally, live from ILOG booth, a bonus video of Erwan found on this blog.
Watch it on AdobeTV is you want the full screen option.
I covered both ILOG Elixir 1.0 & 2.0. If you want to try the 2.0 beta, more info is available here.
MAX US & Europe were great and it was very nice finally meeting so many of you I just knew by email :) For our Asian friends, see you soon at MAX Japan!
The goal of this sample is to read an iCal (ics) file, to convert it to an ActionScript model and to display it using the Calendar component available in ILOG Elixir 2.0 beta 1.
This sample has been demonstrated by Christophe Jolif during Adobe MAX US & Adobe MAX Europe.
This application does not support the complete specification but it reads the events of a calendar to be able to display them. Don't come back to me saying that this or this feature is not supported ! ;)
Note that the time zones defined in the ics file are ignored so the dates should be defined in local or UTC time.
This sample takes form of an AIR application. You can drag an iCal file from your file explorer and drop it on this application or add a file using the “Add” button in the right panel.
To install and run the application, you will need the latest AIR runtime available at http
This sample is using the Darkroom skin (by Juan Sanchez), one of the great skins from scalenine.com (not included in the sources, to copy into src/
The nice thing with Flex UI framework is that as soon as you comply with its paradigms you can very easily integrate pieces of components coming from various origins. I've just tried to style ILOG Elixir TaskChart with Degrafa by replacing regular TaskChart renderers (both tasks and constraints) based on Flex/Flash APIs by custom renderers build on top of Degrafa graphics framework and it was just as easy as setting two properties on the TaskChart.
You can see below the result of this experiment, all tasks and constraints are drawn using Degrafa. You will notice that constraints are using dashed lines that are provided through the decorator pattern of the Degrafa framework. Having dashed lines drawn is a common requirement in such displays, so you finally have an easy solution for this by leveraging Degrafa in ILOG Elixir components.As Degrafa is a declarative graphics framework, you can define the rendering of your tasks & constraints inline in your ILOG Elixir application as shown below:
In a similar manner this older post shows how to use Gumbo (Flex 4) FXG to customize an ILOG Elixir gauge. Customizing ILOG Elixir Gauge with Degrafa is easily doable too, I'll try to come up with another post on this subject later on. There is still a little detail I need to sort out about a shifted drawing that occurs with Degrafa in some cases and that looks like a Degrafa bug to me. Stay tuned!
As promised during my MAX sessions (both Europe & US), we will try to post on this blog the examples that were developed for the conference. I started with the sample showing how to display Microsoft Project in Flex, then Damien posted his Google Calendar Reader in AIR, and today I release the ILOG Elixir OrgChart expand/collapse sample.
As explained during the session, this example is leveraging the ability to switch the OrgChart employee renderer by an alternate one. This alternate is just extending the default renderer and adding an expand/collapse button depending on the state of the employee. Then when clicking the button an action is triggered that is either adding back or filtering out the reports of the given employee in the collection that serves as data provider for the OrgChart.
The Flex Builder project is available here. I think it is pretty decently commented, so just have a look at the code if you want to know more how it works.
The result is shown below:
[click on the "plus" image to expand]
The OrgChart editor sample shows how to implement some features that are often asked on the forum:
This sample is based on a previous blog post on editing an OrgChart and has been improved with some new features added in ILOG Elixir 2.0.
In order to build this sample, you will need the ILOG Elixir 2.0 beta.
Drag & Drop Nodes:
Edit 02/02/09: Updated to keep the view position when a node is added or the layout changed.
A second version of the world factbook dashboard with new stuff.
This demo uses 7 components of the ILOG Elixir components suite. Compared to the previous version, new components introduced are pivot charts and indicators.
If you'd like to see new features added, don't hesitate to comment.
"View Source" is enabled. To compile the demo, you will need ILOG Elixir 2.0 beta.
The Calendar is a new component introduced in the upcoming ILOG Elixir version 2.0.
I had the question on the forum on how to navigate in a given month using the week representation.
As a matter of fact, if I set a visible time range longer than 7 days on the Calendar, it will automatically go to month mode.
A solution is to synchronize a horizontal scroll bar with the start and end of the visible time range of the Calendar component.
Adding a scroll bar to the Calendar
The synchronization is quite simple:
Here is the result:
Note: for an unknown reason the scroll may be slow. Clicking on the arrow seems solve the issue sometimes. In a pure flex application the issue is not appearing.
Infinite scroll bar
From this sample, it is possible to create a more complex component: an infinite scroll bar.
The infinite scroll bar allows to navigate in time:
Let's now see how it works:
Here is the result.These examples emphasize the fact that the Calendar is a component and thus can be used and customized in various ways.
So, don't stick to the drag & drop from the component palette to the design view and have a look at the user manual and reference documentation!
ILOG Elixir provides you with two types of Flex-based Gantt Charts:
However ILOG Elixir does not provide you as-is with a 3rd type of Gantt Chart called the Reservation Chart. That chart gives you the ability to mix the task view (i.e. a single task per line) with the ability to display task per-resources as all tasks of a given resource are grouped on the display.
This view avoids the overstepping of tasks that often comes with the Resource Chart while still getting the resource information as a major part of the display. Finally it also brings the ability to display the constraints between tasks on a resource-based view.
Discussing with Emmanuel from our .NET/Silverlight visualization group last week, he explained me how they managed to implement the Reservation Chart based on a Task Chart. Following the discussion I decided to give it a try and see if ILOG Elixir users would be able to get at least a basic Reservation Chart from our Task Chart. Actually it was quite simple thanks to both ILOG Elixir
Let's imagine you have the following data:
[Bindable] public var rese
<ilog:ResourceChart width="100%" height="100%" task
You will get this result (note that constraints are not displayed in Resource Chart view).The first step in displaying these data in a Reservation Chart mode instead of Resource Chart is to switch the
<ilog:TaskChart width="100%" height="100%" cons
and you get this display.You now have a task per line, and constraints are displayed. However if you have the name of the resource listed on the left hand side in the data grid, you don't really have a resource view as all tasks from a given resource are not grouped. So the missing step to get the Reservation Chart is to do this grouping, for that you just switch the Flex
<ilog:TaskChart width="100%" height="100%" cons
Note that we have to explicitely call refresh() on the GroupingCollection after it is configured, otherwise it will appear empty. Here the call is performed in the initialize event of the data grid.
You can also see that I have redefined the default task renderer to make sure summary lines are not displayed. Indeed in Reservation Chart summaries usually don't get displayed. Of course if you want to, you can just use the default renderer and you will get summaries for each resource being displayed.
After these relatively simple steps, you finally get a simple Reservation Chart display.
Next step would be to bring Resource Chart-like interaction to the Reservation Chart (like re-assignment), not sure if that is easily feasible from the outside though. If you are interested in looking at this, you can download the Flex Builder project here. You will need ILOG Elixir 2.0 (public beta on our lab site) in order to compile and run the project.
We know that our next release is eagerly awaited by many of you, judging from the constant flow of emails that we get. We are happy to give you some information on this upcoming release:
We are excited about this release and look forward to discussing with you all! (let's chat on the support forum)
UPDATE: to help you get started with this release faster, here are some links
If you are new to ILOG Elixir and want to know more