[On Reflexion]Cool Flex Theme

How easy is it to skin a Flex application? As an experiment, Eylon Stroh[On Reflexion] tried to create something that looks like the Napkin L&F for a simple Flex app.

The application is a slightly modified version of the DataGrid sample from the Flex 2 Component Explorer. Here are the “before” and “after” screenshots (click on the screenshot to see the app):

Before:

Scraw1

After:

scrawl4.gif

So, was it easy? He has break it down into three separate stages. The first stage involves adding CSS styles and graphical skins to the app; the second stage involves using programmatic skins; the third stage deals with subclassing Flex framework classes in order to achieve fine-grained control of the look-and-feel.

Great Work!!!

[Read More | Demo]

Vertical MenuBar Component

[dougmccune.com] Doug had posted a really good component in his blog – A Vertical MenuBar. This is really good as we now have one more navigation model other than the Accordion that can be docked on the left or right side of the application. check it out 🙂 . He also has a slick demo over there.

Someone on the Adobe Flex forum asked a question about being able to have vertical menus using a MenuBar component. The response from Peter Ent from Adobe was that no, Flex does not include a MenuBar component that can handle vertical menus, but feel free to make one yourself and post it <hint, hint>.

After I read that it felt like a challenge, so here’s the solution: a Vertical MenuBar component. It extends MenuBar and works the same way, except the Menu items are stacked vertically and the menus open up either to the left or to the right of the menu bar. I’ve included the full source, it uses two classes, one that’s an extension of mx.controls.MenuBar, and another one that’s an extension of mx.controls.menuClasses.MenuItemRenderer. You can specify whether you want the menu to open to the left or the right by using the new direction property of the new component.

[ Read the original post | Source ]

Yippppeeee!!!!!! We are now in MXNA!

My inbox had a pleasant surprise for me today morning. I recieved confirmation from Christian Cantrell that Flexed has been added the Macromedia XML News Aggregator! 🙂 Thanks Christian.  Now, stuff that we post will have better readership 🙂 . Boy! Am I happy! 😀 Wait. Lemme get my trumpet!

Re-Skinning Flex Apps

We have been working on reskinnng our application during the last week. Today, I stumbled on this post on re-skinning. This is pretty informative. I would write out a post on the experience we had during the re-skinning process 😉 .

[ Read more.. ]

Apollo nearing launch

Here’s a list 15 facts about apollo from the flex blogosphere 😉

So, by way of a follow-up to an earlier post: “Adobe Apollo nearing launch”, here’s a list of 15 things about Adobe Apollo:

  1. The ability to install web applications as desktop applications. So the web applications exist outside of the browser and are browser independent.
  2. Applications that work out of Apollo don’t have to be connected to the internet to function.
  3. In addition, Apollo applications can have access to your files and your network.
  4. Real time notifications can be sent via the Apollo framework.
  5. Adobe’s PDF file format is a peer format, which is of huge strategic significance.
  6. Apollo will work on Mac and Windows to begin with, Linux support to follow.
  7. Because of the technologies underpinning Apollo, the emphasis is clearly on ‘mashups’, which web applications created from loosely coupled APIs belonging to other web applications.An example given was a media player that made use of the Amazon API to pull down music artwork and a visualize that made use of Flickr images.
  8. Although the guy from Adobe, chief software architect Kevin Lynch, tried to play down the significance of Apollo and the fact that Apollo is Adobe playing Microsoft at their own game, Apollo is as significant a strategy that Adobe could hope to conceive.A strategy that will no doubt come under immense scrutiny over the next near, not least scrutinized by Microsoft’s own web strategy people.
  9. Apollo uses the WebKit web rendering engine built into Apple’s Safari web browser and the Nokia S60 platform.
  10. Over time, Adobe hope to bring JavaScript, ActionScript (a derivative of EMCA script, which is essentially JavaScript, but used inside Adobe Flash) and the JavaScript used within the WebKit, into ‘one VM’ or Virtual Machine, which is a piece of software that executes code and reinterprets into another language more ‘native’ to the device, in this case, the computer.
  11. Whereas it’s clear that Microsoft aren’t all that bothered about customers running older platforms, Adobe’s Apollo will be more compatible with Windows than, err .. Windows! Essentially, pre Vista and pre XP computers will be supported.Again, this is because of the totally open nature of the technologies that underpin Apollo and allow for compatibility with a huge swathe of differing versions of operating systems.
  12. While this wasn’t directly mentioned in the Podcast, what Adobe are working towards with Apollo is something that one could imagine giving birth to the Widgets used in Apple’s Dashboard.It’s clear that Apple have their own ideas about how a Widget ought to take shape. What with Apple looking to release Dashcode, which is IDE (Integrated Development Environment) for developing Widgets used in Dashboard.However, I wouldn’t be at all surprised if both Apple and Google didn’t get their heads together on this issue and work with either Adobe or OpenLaszlo (an open source framework of similar intention and purpose as Apollo) to help establish a standard practice.Meanwhile, the World Wide Web Consortium have moved to establish the Widgets 1.0 Working Draft:

“The type of widgets that are addressed by this document are usually small client-side applications for displaying and updating remote data, packaged in a way to allow a single download and installation on a client machine. The widget may execute outside of the typical web browser interface. Examples include clocks, stock tickers, news casters, games and weather forecasters. Some existing industry solutions go by the names ‘widgets’, ‘gadgets’ or ‘modules’.”

However, when asked about how similar Apollo applications sound to Apple’s Dashboard Widgets, Kevin Lynch confessed that he hadn’t given the idea much thought.

I’m not going to speculate on whether he had or he hadn’t, but he didn’t dismiss the ability of Apollo of being able to produce such things.

Indeed, Apple’s own Widgets are built around exactly the same open standards and technologies as both Apollo and OpenLaszlo.

  • Adobe will make the ‘runtime’ player for Apollo free, much like the Flash player is free. However, the revenue will come from the expected increase in sale of their web development applications, such as DreamWeaver and Flash.
  • While it’s possible for people to develop a whole range of things with Apollo, Adobe don’t want to build too much into Apollo, such as Adobe Reader, which would make Apollo too heavy and not ‘light weight’, which is their specific goal.
  • A public developer release of Apollo will take place some time in 2007, but no fixed, specific date was given.
  • In conclusion

    Personally, I’d think Apollo is big. I’d also say that it’s the logical direction forward.

    What I don’t want to see is Microsoft succeed here, because they will drag the whole thing towards their proprietary hooks & barbs, entangling a really powerful platform of the future on an idea based around a business model of the past…

    [ Read more… ]

    Using ASDoc – Part 1

    AS Commenting Guidelines
    As for our current project requirements, I have been fiddling around with ASDOCs. Trying to get it working and implemented into our project and after almost a few days of fighting with it. Here’s what I have 😉 . Apart from setting up the ASDocs, the developer’s are required to follow a specific commenting/coding pattern to take full advantage of ASDocs. Though ASDocs is still in its pre-beta stages, i think its pretty good to implement in any live project. Here, I am going to first take you step by step through the commenting patterns used by ASDocs. In my next post, I shall explain how to setup ASDocs to work with the Flex Builder. I’ll try to have a sample implementation ready with code snippets :).

    1. Typical Class Comment

    /**
    
      * First sentence of a multi-paragraph main
    
         description.
    
      * <p>Second paragraph of the description.</p>
    
      * @author "name"
    
      */

    2. Standard Function comment

    /**
    
      * Typical format of a simple multiline documentation
    
      * comment. This text describes the myFunction
    
      * function, which is declared below.
    
      * @langversion ActionScript 3.0
    
      * @playerversion Flash 8
    
      *
    
      * @param param1 Describe param1 here.
    
      * @param param2 Describe param2 here.
    
      *
    
      * @see someOtherFunction
    
      */
    
     public function myFunction(param1:String,
    
                                param2:Number):void {}

    PS: Only public function comments are included by AsDocs.

    3. Getter Setter Property – Takes the comment of the getter/setter function to be the comment of the property. Marks “readonly” if getter method alone is present and “read-write” if getter and setter are implemented.

    4. MetaData Tags – When Events are defined, comments are be added before the Event Tag. For Example

     /**
    
       *  login event is dispatched after the login button
    
       *  is pressed.
    
       *  @eventType mx.events.DynamicEvent
    
       */
    
     [Event(name="login",type="mx.events.DynamicEvent")]

    For another example see propertySheet.as

    5. @see, @example Tag – @see adds a “See Also ” text and indicates the related method to look in to. This tag can be used in class, method comments. @example Tag adds an example usage to a class/ method comment.

      /**
    
        *	Conforms to Singleton Design Pattern.
    
        *	@author Eashwar N
    
        *	@see http://en.wikipedia.org/wiki/Singleton_pattern
    
        *   @example The following code gets the value
    
                     of DeviceTime
    
        *	<listing version="3.0" >
    
        *	    CurrentDeviceTimeHolder.getInstance()
    
                 .DeviceTime
    
        *	</listing>
    
        */

    7. To copy a comment from the base class method @inheritDoc tag can be used. In case there is no such relation @copy Tag can be used.

    8. It can render a variety of html tags – <div>,<span>,<listing>,<img>,<table>

    Note: Comments inside // and /**/ are ignored by the AsDoc.

    Tip: Date Constructor

    [darron schall] The documentation for the Date constructor lists the values that you’re allowed to use when constructing a new Date instance. For the values of month and date, the valid range of values is limited to a small subset of positive integers. The month value can be 0-11 (0 = Jan, …, 11 = Dec), and the date value can be 1-31, depending on the number of days in the month.

    What the documentation doesn’t tell you, however, is that you can pass pretty much any number for month and day, and still get a valid date back. This is really useful when trying to figure out some specific date values…

    [ Read Original Post ]