<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>The CIM Flash Team Blog</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/" />
   <link rel="self" type="application/atom+xml" href="http://teamcim.comcast.net/team/flash/atom.xml" />
   <id>tag:teamcim.comcast.net,2008:/team/flash/7</id>
   <updated>2008-04-04T13:32:19Z</updated>
   <subtitle>The Flash and Flex blog of the team at Comcast Interactive Media</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.35</generator>

<entry>
   <title>NCAA Fan a Slam Dunk!</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/04/ncaa_fan_a_slam_dunk.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.2489</id>
   
   <published>2008-04-04T13:31:33Z</published>
   <updated>2008-04-04T13:32:19Z</updated>
   
   <summary>It&apos;s that time of year. Everything looks like a round orange orb, traveling through air on its way toward a peach basket. And here at Comcast Interactive Media we were able to create a version of the Fan that compliments...</summary>
   <author>
      <name>jlacivita</name>
      <uri>http://www.jlacivita.com/hack/</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      It&apos;s that time of year.  Everything looks like a round orange orb, traveling through air on its way toward a peach basket.  And here at Comcast Interactive Media we were able to create a version of the Fan that compliments that old college feel.  In less than a week turnaround our team was able to build a version of the fan that puts college hoops fans in the middle of their own video player.  The code used separated the skinning and content changes from the code base.  So everything works the same internally like the regular Fan you have grown to know and love.  However the appearance of the tried and true Fan player boasts a new appearance that compliments the hysteria that comes with the tournament.  The flexible skinning framework allowed the design team to make all the changes to the CSS file with minimal interaction with the Flash team at.  Future versions of the fan with other skins will be even faster than the week turnaround for the March Maddness skin.  That makes creating the Fan player a slam dunk.  
      
   </content>
</entry>
<entry>
   <title>LogBook, now for pure Actionscript 3 projects</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/04/logbook_now_for_pure_actionscr.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.2442</id>
   
   <published>2008-04-02T15:55:00Z</published>
   <updated>2008-04-02T16:12:46Z</updated>
   
   <summary>A while back we released LogBook, an AIR based application for logging messages from Flex applications. The feedback from the project has been great and the team is constantly working to add features to LogBook. However, as we used LogBook...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="AS3" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[A while back <a href="http://teamcim.comcast.net/team/flash/2008/02/the_logbook_cometh.html">we  released LogBook</a>, an AIR based application for logging messages from Flex applications. The feedback from the project has been great and the team is constantly working to add features to LogBook. However, as we used LogBook within CIM, we kept hitting a couple of issues with the Flex logging framework. One of the main issues was that not all projects we work on are Flex based. A lot of times we work on pure AS3 projects and sometimes even Flash CS3 projects. Using the Flex logging framework here was not really an option. One main reason for the problems was the dependency of the logging framework on other members of the Flex framework, most notably the <a href="http://livedocs.adobe.com/flex/201/langref/mx/resources/ResourceBundle.html">ResourceBundle</a> dependency. In AS3 projects in Flex Builder, including the ResourceBundle swc seems to fix this but that completely doesn't work in Flash CS3. 

Before adopting the Flex framework, within CIM we had our own internally developed frameworks (the AS2 version called Flashcore and the new AS3 version called Pyro. More news on Pyro in a few days as well so stay tuned). The framework had a completely developed logging implementation as well, which is really close to the Flex logging framework (both of ours and Flex's logging implementation was inspired by the logging frameworks in Java, most notably <a href="http://logging.apache.org/log4j/1.2/index.html">Log4J</a>). Today we finally finished the LogBook console for the CIM logging framework and released it all into the <a href="http://cimlogbook.googlecode.com">LogBook SVN repository</a>.

Like the Flex logging framework, the main class here is a class named <a href="http://8.17.86.195/~amathur/logbookdocs/net/comcast/logging/Logger.html">Logger</a> as well. However, unlike the Flex logging framework, you do not request the Logger for an ILogger instance. Instead sending logging messages here is as easy as calling one of the static methods on the Logger class. For example, for logging messages that are at the Fatal level, you call Logger.fatal() method. The first parameter to any of the logging messages is the reference to the source of the message itself and the second is the message you want to log. 

Similar to the concept of Logging Targets (implementing the Flex <a href="http://livedocs.adobe.com/flex/201/langref/mx/logging/ILoggingTarget.html">ILoggingTarget interface</a>) in Flex, our logging classes use a concept of Logging Consoles, implementing an <a href="http://8.17.86.195/~amathur/logbookdocs/net/comcast/logging/consoles/IConsole.html">IConsole</a> interface. Out of the box, you get the <a href="http://8.17.86.195/~amathur/logbookdocs/net/comcast/logging/consoles/TraceConsole.html">TraceConsole</a> and the LogBookConsole (There are a couple of other consoles as well that are not completely tested yet, like a Flex component based on TitleWindow that can float within the application). So at the start of your application's init phase, create a console and set it as the console for Logger. 

So at startup, do:

<code>
var console:LogBookConsole = new LogBookConsole('_localconnectionname');
Logger.console = console;
</code>

thats it, now you can send messages to LogBook by calling:

<code>
Logger.info(this, "Something crazy happened");
Logger.fatal(this, "KaBoom");
Logger.warn(this, "Dont say you haven't been warned");
</code>

Hope this helps. The CIM logging framework swc can be found on the <a href="http://code.google.com/p/cimlogbook/">featured downloads on the CIM Logbook project</a>. Just include the swc in your application's build path. The documentation  can be found <a href="http://8.17.86.195/~amathur/logbookdocs/">here</a> and the source code can be found <a href="http://code.google.com/p/cimlogbook/source/checkout">here</a>. 

Feedback is welcome, and if you are willing to help extend the libraries, drop us a message here.

Cheers. ]]>
      
   </content>
</entry>
<entry>
   <title>Fan 4.2.1 Launched : Save videos to watch later</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/03/fan_421_launched_save_videos_t_1.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.2148</id>
   
   <published>2008-03-16T16:03:28Z</published>
   <updated>2008-03-16T16:47:58Z</updated>
   
   <summary>This week, we launched a new version of the Fan 4 application. The new version includes a new &quot;My Playlist&quot; tab. This entry is a quick introduction to that feature. If you are an active user of the Fan, you...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="Fan4" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[This week, we launched a new version of the Fan 4 application. The new version includes a new "My Playlist" tab. This entry is a quick introduction to that feature.

If you are an active user of the Fan, you know that the Fan lets you queue the videos you would like to watch by selecting them from the browse menu under the player. However a <a href="http://forums.comcast.net/comcastsupport/board/message?board.id=fan40_bugreports&thread.id=75">few people have complained</a> about a couple of features of that functionality:

1) If you didn't want to see the videos that had been selected by the editorial team, you would have to clear all videos by clicking on the "Clear Videos" button on top and then start adding your videos to the playlist. A lot of people missed the clear button as well and ended up adding videos at the end of the editorial playlist but the addition was not obvious.

2) There was no persistence of the user playlist between sessions. You could save a lot more videos to a playlist but end up watching only a few of them at one pass. Coming back to the fan at a later time would not show the videos you had added. 

To address these concerns, we introduced the "My Playlist" tab. Adding videos by clicking on the +playlist button now adds it to your playlist which is completely independent of the editorial playlist. You can choose whether you want to see the editorial playlist or your playlist by clicking on the corresponding tab on top of the player. 

<img alt="myPlaylist.jpg" src="http://teamcim.comcast.net/team/flash/myPlaylist.jpg" width="303" height="207" />

The videos are saved on the browser so the next time you return to the Fan, your playlist shows all the videos you had saved in your earlier sessions. You can remove videos from your playlist by clicking on the 'x' icon in the list or remove all videos by clicking on the "Clear All" button on the top.

Hopefully you will like this new feature.  Happy browsing :).]]>
      
   </content>
</entry>
<entry>
   <title>Say Hello to LogBook</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/02/the_logbook_cometh.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.1651</id>
   
   <published>2008-02-08T21:46:18Z</published>
   <updated>2008-02-13T03:39:14Z</updated>
   
   <summary>Most Flex developers write perfect code ;). However, every once in a while, a bug appears somewhere in your application that becomes notoriously hard to find. Worse when the bug actually appears on a live web application and you have...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="LogBook" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[Most Flex developers write perfect code ;). However, every once in a while, a bug appears somewhere in your application that becomes notoriously hard to find. Worse when the bug actually appears on a live web application and you have very poor visibility into whats happening within your application. In such cases, logging application events can be a blessing. As Flex developers may know, Flex has a pretty robust logging framework. However the default logging target is just the trace window and lacking in functionality most developers need. We hope this tool can improve that.

Logbook is a tool that we developed within Comcast Interactive Media for logging messages from our Flex applications. LogBook is a desktop application built using Adobe AIR, so works on both Macs and PCs. This is the first public build of it and  we have a list of features we are hoping to add in the coming months. LogBook is released under the MIT Open Source License.

<img alt="Picture%2010.png" style="border:1px solid #cccccc" src="http://teamcim.comcast.net/team/flash/images/Picture%2010.png" width="475" height="353" />


<strong>How does it work</strong>
The LogBook application listens on a LocalConnection to messages sent from any application. When you launch LogBook, it will prompt you to enter the name of the connection you want to listen to. On the other end, in your Flex application, you must use the LocalConnectionTarget object in the <code>cim.fx.logging.targets</code> package as a logging target. And thats pretty much it. Now all logs will get sent to the LogBook application.

<strong>Features</strong>
There are quite a number of interesting features in LogBook that make it really useful:

<strong>Color coded alerts</strong>
LogMessages in the LogBook are color coded from gray for simple debug messages to red indicating fatal messages. This makes them really easy to spot when looking through a large set of log messages.

<strong>Level based filtering</strong>
The drop down ComboBox quickly lets you select what level you are interested in. For example, when debugging an application if you only care to see warning, error and fatal messages, you can set your level to "Warn" and all messages below that threshold will not be visible.

<strong>Logger based filtering</strong>
In a typical Flex application you can create a variety of Loggers by calling the Log.getLogger('...') method (see <a href="http://livedocs.adobe.com/labs/flex3/langref/mx/logging/Log.html#getLogger()">http://livedocs.adobe.com/labs/flex3/langref/mx/logging/Log.html#getLogger()</a>). Each Logger created gets listed in the list on the right hand side of LogBook. By clicking on any logger listed there, you can filter data among the different Loggers that are logging messages letting you isolate messages from classes you are debugging from the larger log files. The list supports multiple selections.

<strong>Live Search</strong>
Using the text-input at the top of the application lets you filter on text in messages within your logs to quickly find info you are looking for.
 
<strong>Save to file</strong>
You can even save the logs into a text file on your machine. Log files are saved as formatted text that is very readable using any text editor.

<strong>Text view vs. Grid view</strong>
While most of the time, the grid view works to view log messages, you can even switch to text view if for example you want to copy paste a certain part of the log message. Once again, the text view is cleanly formatted to be readable.

<strong>Open source</strong>
The LogBook is released under the open source MIT license which means you are welcome to take the source code and build on top of it if you wish. However, we encourage you to submit feature requests and code that we can integrate into the core LogBook application so that evolution of this application benefits the entire Flex developer community. 
All code is housed on the Google Code site and bugs and feature requests will be listed there as well. 

<a href="http://code.google.com/p/cimlogbook/downloads/list" target="_blank">Download LogBook</a>
<a href="http://teamcim.comcast.net/team/flash/logbook/LocalConnectionTarget.as">Download the LocalConnection based Logging class here</a>. To use this, see the "Using LogBook" section of this post.

<strong>Using LogBook</strong>

Once you have installed LogBook, launch it and you will be prompted to enter the name of the localConnection you want it to listen to. The example below broadcasts messages out on a channel named _test. Enter _test in the text input. Now in the widget below, put any message in the text input, choose the level you want to send the message as and hit send. In your application, you will immediately see the message appear in the main view. Add a few more messages and play around with the filtering functions in LogBook. 

<object width="485" height="300"><param name="movie" value="http://teamcim.comcast.net/team/flash/swf/logbooktest/LogBookTest.swf"></param><param name="wmode" value="transparent"></param><embed src="http://teamcim.comcast.net/team/flash/swf/logbooktest/LogBookTest.swf" type="application/x-shockwave-flash" wmode="transparent" width="485" height="300"></embed></object>

The source code for the widget below can be downloaded from<a href="http://8.17.86.195/~amathur/logbookexample/srcview/"> here</a>. 

To enable LogBook logging in your application, all you have to do is include the cim.fx.logging.targets.LocalConnectionTarget in your classpath and create a new LocalConnectionTarget object initializing it with the name of your communication channel. Once thats set as your Logger, you should be good to go.
You can use the source code of this widget as a starting point to get into LogBook. ]]>
      
   </content>
</entry>
<entry>
   <title>Sneak Peek: Fan 4.2</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/01/sneak_peek_fan_42_1.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.1506</id>
   
   <published>2008-01-30T02:57:06Z</published>
   <updated>2008-02-08T21:43:16Z</updated>
   
   <summary>The last few weeks the Fan development team has been working pretty hard towards the next release of the video player. The new release revisits some of the UI of the application. We hope the changes make it easier to...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="Flex" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[The last few weeks the Fan development team has been working pretty hard towards the next release of the video player. The new release revisits some of the UI of the application. We hope the changes make it easier to discover other videos from the Fan's library of over 100,000 videos. While the build is still currently in development/bug-fix mode, we figured it would be cool to give a sneak peek of whats coming down the line. So here is the first look at Fan 4.2:

<img alt="fan4_2.JPG" src="http://teamcim.comcast.net/team/flash/images/Fan4_2.jpg/fan4_2.JPG" width="524" height="389" />

<a href="http://teamcim.comcast.net/team/flash/images/Fan4_2.jpg/fan4_2.html" onclick="window.open('http://teamcim.comcast.net/team/flash/images/Fan4_2.jpg/fan4_2.html','popup','width=1048,height=778,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">View image</a>

Comcast High Speed Internet service users can preview the application <a href="http://preview.comcast.net/fan4/">here</a>.

A lot of the design changes have come from user feedback on the Fan forum which the team has monitored closely as well as other user studies performed by the Information Architecture group here. 

One of the biggest changes has been the introduction of the "My Playlist" tab in the playlist area next to the video player. Currently, the Fan is always launched with a default set of videos from the Comcast.net site. However, the list is completely customizable by the user: Users can delete videos from the list by clicking on the x icon at the right corner of each list item, add new videos from the tabbed browse area under the player and drag videos to arrange the list in any order they wish. However, the current design didn't announce those features as well. The explicit naming of the two lists will hopfully get users to create a video experience that works best for them.

Another change in the browse view is bigger thumbnails and paged navigation in the tabbed content browse region. We have also reduced the size of the +Playlist button that adds the video to the end of the user's "My Playlist" rather than play it immediately since most users expected the instant play when the clicked on a list item there. So basically we have maximized the area for the default action. The two arrows on either side of the content browser will allow you to browse through the initial set of videos per category. 

We've also added a little bit of eye candy that makes the user experience a little smoother.  When paging through the navigator at the bottom of the screen, the thumbnails smoothly slide in.  Rollover states are now soft transitions instead of instant color changes, and thumbnails get an animated "play" icon when mousing over them.

Hopefully the new features as well as the design tweaks to the user interface will make the video experience a lot better. Feedback on these new features  is welcome. ]]>
      
   </content>
</entry>
<entry>
   <title>CIM acquires next generation of cell phone technology ;)</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/01/cim_acquires_next_generation_o.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.1295</id>
   
   <published>2008-01-12T04:31:32Z</published>
   <updated>2008-01-12T04:50:16Z</updated>
   
   <summary>A lot of you following this year&apos;s CES proceedings may have seen keynote by Comcast&apos;s CEO Brian Roberts which was followed by a segment by Jemaine &amp; Bret from Flight of the Conchords. For those who missed it, here is...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[A lot of you following this year's CES proceedings may have seen keynote by Comcast's CEO Brian Roberts which was followed by a segment by Jemaine & Bret from <a href="http://www.fancast.com/tv/Flight-of-the-Conchords/95826/main">Flight of the Conchords</a>. For those who missed it, here is the video of the skit.

<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/fkzNOEiW4M8&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/fkzNOEiW4M8&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>

Well, the guys were kind enough to donate their 'prototype' duly autographed to us at CIM. So here is a quick photo before it gets taken away by the technology department ;).

<img alt="photo.jpg" src="http://teamcim.comcast.net/team/flash/images/photo.jpg" width="448" height="336" />

For those who haven't yet gotten into the show, I would strongly recommend it. And you can use our very own Fancast to find out when and how you can <a href="http://www.fancast.com/tv/Flight-of-the-Conchords/95826/at-a-glance">watch it</a>.
]]>
      
   </content>
</entry>
<entry>
   <title>Scary Weather</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/01/scary_weather.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.1234</id>
   
   <published>2008-01-09T01:39:28Z</published>
   <updated>2008-01-13T18:49:12Z</updated>
   
   <summary>The Flash team worked a bit with the team from fearnet.com a while back, integrating video within the site. We didnt have access to the Fearnet content at this time so we were just using the default videos from the...</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[The Flash team worked a bit with the team from <a href="http://fearnet.com">fearnet.com</a> a while back, integrating video within the site. We didnt have access to the Fearnet content at this time so we were just using the default videos from <a href="http://www.comcast.net/providers/fan/popup.html">the Fan</a> to debug the code. Something about this screen made me laugh:

<img alt="blood_weather.JPG" src="http://teamcim.comcast.net/team/flash/images/blood_weather.JPG" width="448" height="336" />

I wonder if weather.com would consider this whenever they redesign their site ;).]]>
      
   </content>
</entry>
<entry>
   <title>Welcome to the Flash Team Blog</title>
   <link rel="alternate" type="text/html" href="http://teamcim.comcast.net/team/flash/2008/01/welcome_to_the_flash_team_blog.html" />
   <id>tag:teamcim.comcast.net,2008:/team/flash//7.1200</id>
   
   <published>2008-01-07T17:01:33Z</published>
   <updated>2008-01-07T19:07:52Z</updated>
   
   <summary>Oh we have so much to talk about... Actually I may be getting a bit ahead of myself here, so lets start again with the formal introductions. Hi, and welcome to the official Comcast Interactive Media (CIM) Flash team blog....</summary>
   <author>
      <name>Arpit</name>
      
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://teamcim.comcast.net/team/flash/">
      <![CDATA[Oh we have so much to talk about...

Actually I may be getting a bit ahead of myself here, so lets start again with the formal introductions.

Hi, and welcome to the official Comcast Interactive Media (CIM) Flash team blog. Over the last few years, we have released<a href="http://www.arpitonline.com/blog/?p=46"> quite a lot of Flash applications</a> and we hope you have enjoyed them. As a team we have always tried to be a little ahead of the curve and deliver the best experiences on the web to you as soon as they appear. 

The team blog here is an attempt to give everyone a little more insight on how we do things and once in a while come up with something that may not be an official CIM project  but may be cool anyway (think data-visualization and unconventional UIs). 

CIM also strives to be a <a href="http://en.wikipedia.org/wiki/Adobe_Flex">Flex</a> center for excellence and we have invested quite a bit into Flex standardizing on it for the next generation of video experiences. <a href="http://www.comcast.net/providers/fan/popup.html">The Fan</a>, CIM's flagship   video player and winner of the prestigious Flash Forward User's Choice Award (Sept, 2006) is now a 100% Flex application and one of the best examples you would see in terms of skinning and MVC pattern based code. Being ahead of the curve, especially in Flex, we have also ended up developing a few tools to aid development and we are planning to release a bunch of them under open source licenses as well.

Whew ! As you can see there is quite a bit here we would like to share with you, so do stay tuned in. 2008 promises to be pretty exciting :). ]]>
      
   </content>
</entry>

</feed>
