Showing posts with label Flex. Show all posts
Showing posts with label Flex. Show all posts

Wednesday, January 14, 2009

Adobe Stratus beta launched

Adobe have launched a new communication protocol(RTMFP) and the Adobe Stratus service (beta) to enable the development of applications using the protocol. Real-Time Media Flow Protocol (RTMFP) uses UDP "whose low latency, end-to-end peering capability, security, and scalability make it especially well suited for developing real-time collaboration applications by not only providing superior user experience but also reducing operators' costs". Currently Flash uses Real-Time Messaging Protocol (RTMP) which is TCP based. "Stratus is a hosted rendezvous service" that allows Flash applications to sent media "directly between two Flash Player instances without routing through a central relay server".

Links

Thursday, August 07, 2008

Cairngorm : Makes a few announcements

There has been no shortage of discussion about Cairngorm over the last twelve months. In particular there has been a lot of discussion comparing Cairngorm with the other Flex frameworks that have been, and continue to emerge. But there has been surprisingly few announcements from the Cairngorm team. That all changed yesterday with a lengthy posting by both Alistair Mcleod and Steven Webster. The raw essence of both of these posts is that Cairngorm public face has moved to Adobe Open Source with all the support features that entails (community forums, source code available in a subversion repository, a JIRA bugbase for logging bugs and feature requests). There was also mention of plans for Cairngorm 3 but there were no hints ta how far away that might be. What was most interesting was that both posts read almost like a manifesto, a statement of their philosophy. At no point did they directly respond to Cairngorms quite vocal critics but there were a number of assertion of principles that indirectly dealt with some of these criticisms. The following comment from Steven Webster is quite telling :

"Blog posts that " is evil", " is bad", " sucks" certainly catch a great deal of fleeting attention, but I don't believe that investing our limited time and energy in these debates is the most effective way of advancing the state of our art."

Some other quotes of interest :

Alistair McLeod :

"At Adobe Consulting, we've always had a minimalist approach to Cairngorm; we don't want to add feature for feature sake, add functionality that doesn't belong within an architectural framework, or introduce another design pattern into the mix because it's the latest fad in the software industry. The framework is there to allow us to build well-architected software solutions, and we've only ever added features we truly believe helps us do that."

Steven Webster:

"We have no desire to convolute the framework, to introduce abstraction, or to discourage the use of idioms or techniques specific to Flex, in order that we might create applications that could be ported to other presentation-tier technologies."

"We wish for Cairngorm to encourage best-practice leverage of underlying Flex features, and we are keen to ensure that we never add something to Cairngorm that is better suited to the underlying Flex SDK."

"One of the things we'll look to lock down as we go forward from here, is a simple charter by which we measure suggestions; this has been very implicit and shared understanding amongst the Adobe Consulting team, but we need to document and agree this with the community as we go forward. But in essence, it's as important to decide what Cairngorm is, as well as what it isn't, both now and in the future."

Wednesday, July 23, 2008

Frameworks : Cairngorn, Mate, Swiz & Gaia

Just a quick post to share a couple of useful and interesting recent posts relating to Flex Frameworks. First up Andrew Powell has written a big picture overview comparing Cairngorn, Mate and Swiz. He notes :

"I think that Cairngorm will make more sense to developers coming from the Java world. Developers coming to Flex from ColdFusion would probably be much more comfortable in Mate, due to its tag-based nature. Does this mean that any one is more right for you than another? No. As with anything else in this field, it depends on the task, the developer's skill and comfort levels with different technologies, and the time you have to learn something new."

Secondly, "calm in the chaos" has written a few insights into their experience using Gaia. At one points he says :

"In essence it’s a Framework that takes a lot of the leg work out of creating page based Flash sites. By Page based I mean sites that have a fairly standard navigation hierarchy. It can be used for more complex projects, though I found I struggled against the Framework more than it helped me some of the time."

Friday, July 18, 2008

Drupal Services & Flex

A current project at work is integrating Drupal & Flex together. There are a number of benefits to using these systems together. For me the main one is that you can offer the usability richness that Flex allows and the accessibility that standards based CMS's like Drupal offer without a lot of extra work.

The Drupal modules that make this possible are Services and AMFPHP. With these two modules enabled you get login and node access/saving functionality as a RemoteObject service in Flex. The other nice thing is that any Views (essentially UI developed queries for Drupal newbies) you define are also available as a Service. You can also develop additional Services utilising all the functionality Drupal has to offer. Finally, all these Services can be tested in the Drupal interface.

From that you can probably guess that I'm pretty enthusiastic about Drupal/Flex integration. But I have a caveat. We actually had a problem getting the Node and View Services to work. We kept getting a RangeError fault when trying to access these services. We finally found a workaround but we haven't had time to find the source of the problem. The workaround involves defining the fields you want returned as an array and passing it to these Services. Within the Drupal interface the fields parameter is optional and you get all the results you'd expect with or without it. But as soon as you add Flex to the equation you get an error. I assume it has something to do with the AMFPHP module as the Drupal Services page doesn't require AMFPHP but Flex does. I've posted this in the AMFPHP module issues and if you find a better solution that's probably a good place to post your discoveries.

I first heard about Services from a Friends of Ed book "Advanced Flex Application Development". My response to the book was mixed but it definitively got me thinking about Drupal Flex integration. Below are some links that proved useful getting this up and running:

Wednesday, July 16, 2008

Gumbo (Flex 4) goes beta


Adobe has just released a beta version of Gumbo, the next version of Flex. Gumbo is being developed around three primary themes:

Design in Mind
provide a framework meant for continuous collaboration between designer and developer
Developer Productivity
improve compiler performance and add productivity enhancements to language features like data binding
Framework Evolution
take advantage of new Flash Player capabilities and add features required by common use-cases

Improvements include :

  • enhanced states syntax
  • revamped component architecture
  • FXG : Adobe’s new graphics interchange format. "FXG is a defined subset of MXML...Most skin classes in the Gumbo framework are MXML documents which primarily use FXG tags to describe the visual appearance of Gumbo components."

These improvements are at least in part aimed at laying a foundation for integration with Thermo; a new designer focussed tool aiming to simplify the workflow from design to finished application.

For a good overview of Gumbo you should take a look at Matt Chotin's presentation. ScaleNine has a good summary of the design related changes and Ely Greenfileds video (below) provides an excellent introduction to skinning components using FXG.



Wednesday, May 07, 2008

OzFlex May Meeting

The Melbourne based OzFlex User Group will be holding their next meeting on Monday 12th May at the Loop Bar. The night will feature a Adobe AIR presentation and they will be giving away a full copy of Flex Builder 3 Professional. Doors open at 6.30 for a 7 PM start. You can find out more and register at OzFlex.

Thursday, May 01, 2008

First AIR Application : hiding the FlexChrome

Yesterday I started work on my first real AIR widget.  I've had a play around with it in the past and enjoyed what I've seen.   But it's not until you have a real project that you start  to really appreciate a new technology.  The widget  I'm building is going to need multiple windows so I spent a fair bit of time getting used to the AIR Window mechanism.  What I learned is that your life is going to be a lot easier if you can use mx:Window to create new AIR windows rather than the NativeWindow.  What I also learned is that getting rid of the Chrome in mx:Window is not as obvious as it first seemed.  The Chrome refers to the framing of the window  (i.e making it look like all the other windows the OS  creates).  It's easy enough to set the SystemChrome to none.  But that just means the window will use the FlexChrome (i.e has the features of the NativeWindow but with styles defined by Adobe).  The FlexChrome is nice but it's not suitable for our design so it has to go.  The problem is that it's not that obvious how you make the FlexChrome go away.  I finally found the answer among the mx:Window styles.  You need to set showFlexChrome to false.  The best way to do this is through CSS.  All of our windows will need custom chrome so I created a style for Window (see below) and the job was done.  It's one of those things that seems obvious now I know but that took me way to long to find.
Window
{
    showFlexChrome:false;
}

Saturday, April 19, 2008

AdvancedED Flex Application Development : Book Review

Book Cover : AdvancedED Flex Application Development

AdvancedED Flex Application Development offers a well written extended case study on the details of developing the Rich Media Exchange (RMX). The RMX was built using Adobe Flex and numerous OpenSource tools (i.e. Drupal, OpenAds).

Now straight off any book that talks about Drupal and Flex is going to get my attention. At work we are currently looking into the best way to use Flex and Drupal together for a range of projects. From my perspective having Drupal provide accessible access to content for all users while using Flex to provide rich usability for most users is a great solution. It also means less time spent with CRUD and more time spent on the user experience. Consequently I approached this book with great interest.

The first few chapters did nothing to quell my interest. They provided an engaging perspective on web 2.0, the Flash platform, their planning process and the OpenSource technologies used.

Unfortunately my interest abruptly stalled in chapter 5 (Flex styling) and only intermittently recovered throughout the rest of the book. The problem for me is that this book tries to do too much. If you’re ready to start developing applications on the scale of the RMX there is a good chance you’ve already spent quite a few hours on the Flex learning curve. You don’t need chapter after chapter of detailed code examples and their explanations.

Essentially I think the RMX is almost two good books. The first book is for developers who are relatively new to Flex and are interested in a cookbook style book of common problems and techniques for solving them. The RMX case study would make these examples more real and therefore engaging for that audience. Add a few chapters to introduce Flex basics and you would have an excellent intermediate level book. The second book is for developers who are familiar with Flex and would be interested in the processes and thinking behind building a larger Flex application and integrating it with OpenSource tools.

This is a well written book and if the individual chapters were available online as articles you would read and cherish some of those articles. Unfortunately, I feel the concept gets in the way of, and ultimately lets down, the writing. There will be developers who are at the right point in the curve to appreciate the whole book. Less experienced developers might eventually grow into the whole book. Experienced developers should borrow the book from a friend and cherry pick the bits they need.

Blogged with the Flock Browser

Tuesday, April 15, 2008

Talking about Cairngorm

There is a lot of informed and intelligent debate around Cairngorm and it's dependance on "Singletons". We have been using Cairngorm for the last six months and while we are aware of it's faults we also feel that it offers many benefits. It's not my intention here to get involved in an argument about it's strengths and weaknesses, I've made a few posts touching on this already. Instead I want to use this post to collect some of the better posts on this topic:

Blogged with the Flock Browser

Wednesday, March 19, 2008

Actionscript Reference for RIA Development

Adobe have released the Actionscript Reference for RIA Development.  This free pdf provides an alphabetical reference for all native Actionscipt API's for Flash, AIR and Flex.  The reference is very clearly laid out making it very easy to identify the relevant platform for each API as well as available properties, methods, interfaces and superclass.
Blogged with the Flock Browser

Tuesday, February 26, 2008

Flex 3 : Module Optimisation

In my last post I mentioned that the must have feature for me in Flex 3 is the module optimization. So one of the first things I did this morning after installing Flex Builder 3 was to re-publish an existing project using this feature. This project uses 25 modules to manage the various elements of the system. Prior to optimization the size of the published modules was between 140 Kb and 470 Kb. After optimization the size was between 24 Kb and 180 Kb. You can do the maths on the actual percentages but however you look at it's a very significant difference for very little effort. You can see a video of Tom Lane explaining this new feature here.

Blogged with Flock

Flex 3 Released

This is the obligatory post for everyone who breathes, blogs and uses Flex : Flex 3 has been released. You This is an exciting new release of Adobe's RIA juggernaut. From my perspective it is a must have release just for the module optimization features. But there are no shortage of great features to make our lives easier. You can find a full list of features with some videos here.

Blogged with Flock

Wednesday, January 16, 2008

Melbourne Flex 3/AIR Pre-release event

Added 18/01/08 : Demand for this event has out stripped expectations and the number of registered attendees has exceeded the venues capacity. If you registered prior to this addition then you should receive an invitation confirming you've registration and providing venue details.

Last week I posted regarding the possibility of Danny Dura coming to Melbourne for a Flex 3/AIR Pre-release event. Well it's confirmed now. This will be a great opportunity for the uninitiated to discover what Flex has to offer and for Flex developers to see first hand the many new features of Flex 3. Attendees will go in the draw for a copy of CS3 Web Premium and Flex Builder 3 Professional.

If you'd like to find out more about Danny Dura then take a look at http://www.danieldura.com/.

Event date and details removed; these will be provided in an invitation email.

Blogged with Flock

Thursday, January 10, 2008

Melbourne Flex/AIR Event

There is a good chance that Danny Dura , an Adobe Platform Evangelist from Adobe U.S.A, will be coming to Melbourne for a Flex/AIR presentation on the evening of Tuesday the 29th of January, 2008. This is an excellent opportunity for developers keen to find out more about Flex and AIR and for existing Flex developers to get some pre-release insights into Flex 3. Currently they are requesting expressions of interest to gauge the level of interest for this event. If you are free and interested head on over to TechEvents and register your intent.

Wednesday, December 19, 2007

Why Yahoo Maps chose AJAX

Ted Patrick has posted a very frank and thoughtful post discussing the reasons why Yahoo has moved from Flex to AJAX for the latest version of Yahoo Maps. To summarize he identifies 3 main reasons for the shift :
  • Shortage of Flex developers
  • Problems integrating Flash advertising into Flex applications
  • Complexity of migrating from Flex 1.5 to Flex 2.0
Despite these points it seems an odd decision in a year when so many great Flex applications have emerged.

Monday, December 17, 2007

Silverlight vs Flex : the hype and the search trends

There has been no shortage of hype about Microsoft's Silverlight during 2007. But I was playing around with Google Trends the other day and started wondering how well the hype translated into user interest. The graph shows the relative number of Google searches on the terms Flex and Silverlight. The most interesting things was that although Silverlight wasn't far behind in terms of news reference it was a very different story when you looked at actual searches, even when there were news spikes for Silverlight. Obviously search trends aren't the ultimate indicator for market interest but they are still help to give some idea of whats really happening among developers. These results can also be skewed when a search is done on terms that may have alternative contexts. For example, my original search included AJAX and it seemed that The Netherlands were obsessed with AJAX. This seemed odd until I looked at the news items and realised there was a soccer team named AJAX.

Sunday, November 11, 2007

Flex Effect Problem : Check your Alphas

The Flex feature I use less than any other is the Effects. This is because most of the time I am focussed on how the user interacts with the applications data rather than transitioning between states. Part of the reason is that effects are so easy and flexible to use. Infrequent practice means that I forget one really important difference between Flex development and Flash (AS1 or AS2) development : alpha values. In the old days you could set an objects alpha between 0 (invisible) and 100 (opaque). But in AS3 the alpha value can be set between 0 (invisible) and 1 (opaque). Consequently, setting an alpha value of 100 on the alphaTo property of the Fade Effect means you won't get any sort of fade. This has happened to me a few times now and it always results in a short period of intense frustration (an excessive period of time when you consider the scale of the problem) until I remember that I need to use 1 rather than 100.

Monday, November 05, 2007

Adobe CS4 : RIA Premium ?

This post is a consequence of a number of things I have been thinking about since Adobe Refresh last week. It came together while I was posting about using Illustrator to create Flex symbols. I was thinking about how little use I have for the Flash IDE at the moment. I had been using it to create an assets.swf with static skin elements. But I realise now that it is easier to use Illustrator for this.

At the moment Flex developers are disadvantaged by Adobe's packaging options. If we buy CS3 Web Premium we still need to go out and buy Flex Builder. What would be better is if one of the collections contained Flex Builder. In fact, what if there was a collection focussed on RIA development.

I had been thinking about this a little since seeing some demos of Thermo. Thermo is essentially a Flex for Designers that will integrate with Flex Builder (Flex for Developers). So lets imagine a studio with a designer and developer working on Flex based projects. Ideally we could have a CS4 RIA Designer Collection and a CS4 RIA Developer Collection and they could look a little like this:

CS4 RIA Designer Collection
  • Adobe Photoshop
  • Adobe Illustrator
  • Adobe Thermo
  • Adobe Dreamweaver
CS4 RIA Developer Collection
  • Adobe Flex Builder
  • Adobe Flash
  • Adobe Dreamweaver
  • Adobe Fireworks
Finally, for the developer/designer we have the Premium collection:

CS4 RIA Premium Collection
  • Adobe Photoshop
  • Adobe Illustrator
  • Adobe Fireworks
  • Adobe Flex Builder
  • Adobe Thermo
  • Adobe Flash
  • Adobe Dreamweaver

Using Illustrator Symbols in Flex

The most useful thing I took away from Adobe Refresh last week wasn't something new. In fact it's been there for months and I hadn't discovered it. In a nutshell; Illustrator objects (or groups of objects) can be turned into symbols. Exporting your Illustrator file to an .swf format makes those symbols available within your Flex application. For example, if we create an up state for a play button, create a symbol called play_btn_up and export our Illustrator file as assets.swf. Then we can style our play button using css :

.playBtn{
upSkin:Embed("assets.swf#play_btn_up");
overSkin:Embed("assets.swf#play_btn_over");
downSkin:Embed("assets.swf#play_btn_down");
}

Creating the Symbols within Illustrator is as simple as opening the Symbols panel and dragging our object onto the panel. You'll probably want to rename the symbol to something simple. But otherwise the job is done. This is ideal for us as our designers have been developing all our Flex comps in Illustrator. Until seeing this we'd been importing the relevant objects into Flash and exporting from there. Oddly enough publishing from Flash is much more work than exporting from Illustrator (because you need to setup your Library items if you want to use them as Symbols).

Thursday, November 01, 2007

Melbourne's Adobe Refresh : debrief

Yesterday I attended Melbourne's Adobe Refresh event. This event gave you a little bit of that excitement you get when you attend an event like MAX. Sure all the news had been blogged a month earlier. Personally, I looked at some of that news in detail and some I'd just glanced at. Refresh was about making some time to hear and see what matters in detail. We do a lot of Flex work. So it was the Flex related stuff that got me excited and there wasn't much that wasn't Flex related (in one way or another). The most interesting project for me is Thermo. The demo we saw showed a Photoshop comp converted into a working Flex application by selecting graphics (or groups of graphics) and telling Thermo what sort of component they are. This included creating a horizontal scrolling List and adding states and effects to the component. All this is done in the same format as Flex development so the converted comp will be ready for handing over to the developer (and back to designer for tweeks if necessary). This could make a very real difference to our workflow.

A lot of the other exciting things they demoed related to applications built with Flex ; things like Adobe Share, Buzzword, Adobe Media Player to name a few.

With Media Player they demonstrated some in player advertising. In case you've never seen it Media Player allows you to subscribe to video feeds and then watch selections from that feed when you are ready. One example feed they had was for CSI. Great idea but I found the advertising a bit invasive. I can see how the media owners might find this attrative but I wonder how comfortable the end user will feel. There are some very compelling alternatives out there for accessing TV shows. Media Player offers a very painless alternative as long as it isn't over-burdened with distracting features.

Some of the things (i.e Pacifica) seem like they might take a while to have an impact. But that doesn't mean I didn't come out churning over the potential these offered for the future.