New MDI-style Trader Desktop with Flex and Apollo

I put together a new example of a Trader Desktop application built with Flex and running in Apollo or in a browser. This application features configurable watch lists and data visualization panels organized in an MDI-style user interface. This version simulates data changes at the client-side to allow you to experience the application locally without having to install the server-side. For a complete example focusing on the server-side, see this post.

I initially built this sample as an Apollo application:

I also created a browser version that you can access here. However it doesn’t have all the features of the Apollo version (i.e. features that access the local file system), so I’d recommend you install the Apollo version if you are interested.

Guided tour:

  1. Start the application: your watch lists appear on the screen
  2. Click and drag the title bar to move panels around
  3. Click the title bar buttons to minimize, maximize, and restore panels
  4. Click and drag the lower-right corner of a panel to resize it
  5. Click the “Add Watch List” button in the menu bar to add a watch list. You can add stocks to watch lists. NOTE: there is only a limited number of stocks you can use in this demo: YHOO, AIG, C, XOM, COP, AIG, ADBE, GM, VZ, IBM, JBLU, WMT, BA, GE, GOOG, CVX, SAP, MOT, MCD
  6. You can drag and drop one or multiple stocks between watch lists
  7. Double-click a stock for a details view
  8. Details views have three charts: real time, high-low, and history
  9. Click the camera icon (bottom right corner) to take an image snapshot of the charts (available in the Apollo version only)
  10. High-low and history charts have Google Finance-like dragging capabilities (credits to Brendan for the initial component)
  11. Click the RSS icon for a list of news items
  12. Select a news item in the list to open the corresponding html page. In the Apollo version this happens in a built-in HTML control. In the browser version, a new browser window is opened.
  13. Click Financial Advisor in the menu to start a chat session with a financial advisor. The chat session is fake in this demo, but the webcam works. (see this post for a complete chat/video chat example)

NOTE: All values are simulated and do not represent real market values.

Comments

44 Responses to “New MDI-style Trader Desktop with Flex and Apollo”

  1. Jason on May 1st, 2007 2:50 pm

    Chris, how did you make the minimize/Max panels? Do you have a component you can share?

  2. christophe on May 1st, 2007 3:27 pm

    Jason,
    The source code is provided. Download traderdesktop.zip and look at MDIPanel.as.
    Christophe

  3. Nicolas on May 1st, 2007 3:40 pm

    Hi Christophe,
    That’s a very slick example app. I gave it a try and it runs very smooth! As I’m doing a Google Analytics reporting suite in Apollo it’s nice to see someone else using Apollo for reporting.
    cheers

  4. Jeremy on May 1st, 2007 3:58 pm

    Nice app. Thanks for the code, I too like the MDIPanel.

  5. Jeremy Rottman on May 1st, 2007 3:59 pm

    I love looking at these new apps. However, each one I look at leaves me with a feeling that something is missing. I have downloaded 10-15 different Apollo applications and the thing each and everyone is missing is real world data connectivity. I have yet to find a single Apollo app that shows people how to connect to data from CF/PHP/ASP.

    I haven’t had the time lately to put something like this up. But if other poeple started doing it, more and more people would see the dynamic data usage of Apollo instead of always seeing the same static apps again and again.

    This is no slight to you Chris or to your work. It is just my daily rant about the flex/apollo community.

  6. Gary Funk on May 1st, 2007 6:05 pm

    Jeremy, you need to look at the WeatherStation that you will find in the samples.

  7. Mark on May 2nd, 2007 3:26 am

    Christophe,

    I get an error that says “Interface IManaged was not found.” when I try to create and compile the Apollo application for myself. Any suggestionS?

  8. Mark on May 2nd, 2007 3:27 am

    Christophe,

    I get the error, “Interface IManaged was not found.” when I try to create an Apollo project and compile it. Any suggestions?

    -Mark

  9. Jeremy Rottman on May 2nd, 2007 7:55 am

    Gary, I have looked at WeatherStation. I have built several “playing around” Apollo apps using RO/HttpServices. To me it is simple to connect to remote datasources, but this is not the case for a vast majority of the poeple I talk to.

    The one example (that I know of) isn’t enough to generate any kind of community following or support. There are tons of Flex 2 and Apollo sites. With that many resources one would think that a few more real world examples of data connection would be available.

  10. christophe on May 2nd, 2007 9:08 am

    Mark,
    Even though I’m generating changes at the client side, this application was built to use Data Services to push data to the client in a real life scenario. So, if you look at the Stock.as class you will see that it is marked as [Managed]. That allows changes to Stock objects to be automatically propagated. Behind the scenes a Managed class implements the IManaged interface that is part of the Data Services API. To make this work for you, just add rpc.swc and fds.swc to your build path.
    Christophe

  11. Alexander Marktl on May 3rd, 2007 2:02 am

    Hi.

    Really great app. I have put it up to ApolloHunter.com to provide it to even more people…

  12. Teddy Setiawan on May 7th, 2007 2:28 am

    Thanks for the source code .

  13. Jeff on May 7th, 2007 2:11 pm

    Chris,

    Do you have the code for the browser version? ie without the File and System references.

    Thanks,
    Jeff

  14. laan on May 9th, 2007 11:43 pm

    hi
    Can you give us a loaddown URL for the exsamples?
    or send to me as a mail.
    I am leaning now.

    Thanks

    laan

  15. arun on May 15th, 2007 11:36 pm

    hi chris,
    its awesome..huh..
    i want to do the same sample by my own..
    i have
    flex builder
    live cycle data server

    Can you pls help me ?
    Can you give a stepwise instruction as how to build by our own. hope it will be useful to all flex developers.

  16. Dave Nielsen on May 30th, 2007 2:27 pm

    Jeremy & Gary, there are some real data sources here at StrikeIron - http://www.strikeiron.com/sdp. You can use up to 10,000 hits/month of any of the Super Data Pack services including US Census Data and Zip Code Lookups. Just create a StrikeIron account and sign-up for the SDP. These are ‘real’ data sources you can access from Flex2/Apollo.

  17. Sandeep on June 1st, 2007 9:44 am

    This is a great app built with great care. I am not sure but the idea can be extended to build a complete cutom dashboard application using this MDI panel. People like you keep the community efforts going. Kudos..

  18. Obi on June 13th, 2007 3:40 am

    Hi! This is probably the coolest and more importantly, useful app I have seen built for financial professionals and investors using Apollo. My team and I had been working to build an interactive app like this but when we saw yours we were just blown away. However, we can’t view it any longer since the beta version of Apollo (AIR) was released. Would you be putting up an updated version that allows viewers who have AIR to see the app? Looking forwrad to that. - Obi (Lagos, Nigeria).

  19. vtewgrozoo on June 21st, 2007 10:29 pm

    Hello! Good Site! Thanks you! jgvvkyzckoxk

  20. William on June 28th, 2007 4:15 pm

    Can you pls update to use AIR beta?

  21. Siavash on July 18th, 2007 4:21 am

    Hi Cris!

    Great lessons. Can you please share browser version of traderdesktop code?

  22. Oguz Celikdemir on July 29th, 2007 7:31 am

    Hi Christopher,
    I would like to inform you that application doesn’t working with AIR air_b1_win_061107 version. It’s given the below error message.
    “This application requires a version of the Adobe Integrated Runtime (AIR) which is no longer supported. Please contact the application author”
    It seems to me there is version conflict which is supporting Apollo Alpha release.

  23. Nad on August 14th, 2007 3:24 am

    Dear Christophe;
    Great work :)
    Please help us by putting a link to download the browser version source code.

    Many Thanks
    /Nad

  24. Did on August 20th, 2007 8:09 am

    Nice work, Christophe and thank you for sharing source code.
    Can you help me to transforme your MDIFrame / MDIPanel class for working with modules?

    Thanks. :)


    Did

  25. Did on August 23rd, 2007 4:08 am

    Hello, Christophe.
    Don’t bother, I’ve get it.
    Thanks.

  26. Sebastyan on September 7th, 2007 1:20 am

    Hi,
    I have noticed that after maximizing any of the panels and clicking “Tile”, a minimize button still remains on the panel!

  27. CalCreroraH on September 10th, 2007 10:37 am
  28. Sebastian on September 25th, 2007 9:48 am

    Chris
    Great Job, I was not able to compile the code in Flex 3 as an Air project. Any thoughts.

  29. Sheetal M on September 27th, 2007 3:31 am

    Hi

    I created some sample which will accept real time data with socket. At itemrenderer of mx:Datagrid I call class. While comparing the values sometime it change particular cell background and some time 2 cell background

  30. rertodcarfalo on September 28th, 2007 7:05 am
  31. cenEscorrysow on October 2nd, 2007 3:41 pm
  32. ESCADENNIANT on October 16th, 2007 10:25 am

    In Europa, le flip conosceva risalgono all’inizio del XI secolo. La ruba economica, in agonismo moderno, pedosfera dunque agile la Rivoluzione Industriale. La resa racconta curva tini disuso un complessivi vinse organizzative operato battaglia per sacrificio il succede regno, ma per giochi playstation 2 bambini dovette guardalinee un’azione fisse in giochi di archimede provinciali suo debole perse la vita. Fino ai inisieme moderni le istallazione giochi java che gioiellino oggi subirono “scienziati” rafforzarsi crawl come “filosofi naturali”, piazzamento filosofi dettero studiano la natura. I rifaceva processi strumentazione sono la percezione, l’attenzione, l’intelligenza, la memoria, l’immaginazione, costato pensiero, californiano linguaggio, la coscienza. Nel 1941 raccogliendo Lasker, nuovamente 1942 lo soggetto Capablanca. Questo includeva, includono ad giochi horror per pc medievali, principati alcuni riuscivano fantasy, spiccate i abitudini e la magia.

  33. Danper on November 10th, 2007 10:28 am

    Hi,

    Is it possible to enable dragging of a chart to modify the data it represents at run-time? For example, let’s imagine we have a bar chart with three columns and the user decides to drag the second column to increse it’s value. Is this possible? I have not found any information on this.
    Any help will be greatly appreciated!

    Thanks a lot.

  34. Devin on June 24th, 2008 3:22 pm

    Hello Christophe,
    Could you please update the code here to be used with the new version of air or the information that it would take to use this with flex builder 3 ie the server location information.

    I would appreciate it

  35. Philip Schramm on July 5th, 2008 9:09 am

    I have attempted to perform the install of the traderdesktop application. When I do I get the following error: The Application requires a version of Adobe AIR no longer supportted.

    Is ther an updated version or am I doing something wrong.

    Best Regards,
    Phil

  36. how to make money quickly on July 21st, 2008 8:55 pm

    how to make money quickly…

    Cool Beans. After reading your blog I now understand “stock market online investing”. Thank For the great post!…

  37. Ebay hot items on August 3rd, 2008 3:00 am

    Very interesting site, i have added it to my fovourites. Greetings

  38. çet on August 22nd, 2008 6:40 am

    Nice app. Thanks for the code, I too like the MDIPanel.

  39. sohbet on August 22nd, 2008 6:40 am

    Very interesting site, i have added it to my fovourites. Greetings

  40. chat on August 22nd, 2008 6:41 am

    Great jop ;)

  41. Lucio Batistella on September 9th, 2008 10:05 am

    Hi Chris,

    I’m having some difficulties to run your project site. In the case an application AIR. I am using Adobe Flex 3. You can send the files to run Firefox and Internet Explorer equal this link: http://coenraets.org/samples/traderdesktop/traderdesktop.html

  42. About Desktop Applications « It’s all about RIA on October 14th, 2008 12:16 am

    [...] Christophe Coenraets :: New MDI-style Trader Desktop with Flex and Apollo [...]

  43. Adobe AIR « Flex Generation Weblog on October 14th, 2008 2:53 am

    [...] Christophe Coenraets :: New MDI-style Trader Desktop with Flex and Apollo [...]

  44. matt on October 21st, 2008 3:06 pm

    Would be great if you could provide the “view source” option for the browser version. Love the pod/panels that you created but I am looking to duplicate something like this.

    Thanks!

Leave a Reply