Tom Lauck’s Deseloper.org

InsideRIA Blog Post: Silverlight Development for the Flex Developer

author:

I have recently had the privilege to contribute as a guest blogger to InsideRIA.com. In my first post, I chose to expose various interesting aspects of Silverlight to the Flex and Flash community. Even though Silverlight does not have a penetration rate that competes with Flash, Silverlight has features and advantages that make it worthwhile for an RIA developer to know about. When looking at technologies to leverage for your next project, you may not want to leave Silverilght out of the mix. Decide for yourself.

Mar 25 2009

It’s the Age of the Deseloper

author:

Having a non-conventional title to this journal has been somewhat of an interesting journey.  The responses regarding the title always vary and are at times, very amusing.  Surprisingly enough, about three (3) times out of ten (10), informal interviewees cannot decipher the meaning of deseloper within a reasonable 30 seconds.  Ironically, the percentage of users that did not immediately grasp the word deseloper is about 30%.  This is in fact roughly the same percentage of users that still use IE 6.  While I blatantly discriminate against IE 6 and its users, I do not and will not discriminate against users who not understand the word deseloper.  So to add a portion of understanding to all of my readers and for general education purposes, I thought it would be beneficial to examine what exactly a deseloper is in today’s workplace and if they truly have value.

Definition of Deseloper:
  • one who has the ability to produce both web design and development at high fidelity.

To dive a little deeper, deselopers can go one of three ways in there area of focus, either favoring the left side of the brain, the right, or more of a balanced approach.  Typically, these individuals can do it all.

How do you go about creating the design (look & feel, user experience, information architecture) of your applications?

  • I do it myself 58.6%

InsideRIA

As one can imagine, this is extremely valuable in small or freelance settings.  In a larger corporate setting is there still value?

At first pass the answer may be no.  Typically large corporate environments have two sides of the house, design and development or IT.  A designer or developer having an understanding of the other side becomes more of a bonus rather than a requirement.  However, with the emergence of sophisticated UI technologies such as Flex, Silverlight, AJAX, should leveraging these technologies be left to the designer or developer?

I would argue to say both.  Take for instance the continual drive to allow better separation of logic and presentation in Silverlight. Flex, or AJAX.  This is evident by the many Microsoft developers exited over Sliverlight, but are not ready to be Silverlight developers. If there is a Silverlight developer, they are faced with the serious lack of Silverlight designers. Therefore, in order to execute on a Silverlight app, either a designer has to learn XAML and C# or the developer has to try be a designer. And we all know how that usually turns out. So, we find ourselves in an area where the true separation of developers and designers for these front end or UI technologies has not happened yet.  Enter the deseloper.

Until an adoption of these front end technologies happens for application developers around the world, or designers learn how to effectively use the other side of their brain and produce rock solid code, there is a valuable niche for the deseloper.  Because customers, clients, or management is always looking for the latest and greatest, deselopers are willing and ready to execute.  So perhaps the deseloper may someday in the near or far future be a rich internet application developer or rich internet application designer (as opposed to web designer or web developer).

On estimating value in the workplace :

A skilled, quick professional stands out these days. The people who shine are the people who get the new world – a no nonsense approach, courtesy, and most importantly, speed.

ReadWriteWeb

The deseloper gets the new world.  And with a full grasp of all the tools on hand from both a design and development standpoint, the deseloper can strike like lightning.  Yes, in whatever title or role the deseloper is morphed into, the deseloper is certainly here to stay.

Mar 16 2009

It’s A Walk Off! Flex MVC Frameworks Settle it on the Runway

author:

After years of using a homegrown approach to MVC for Flash and Flex, it was time to take look at the various frameworks for Flex.  I figured “I might be of service,” David Bowie style.

This will be a Straight Walk Off, Old School Rules

Zoolander parodies aside, there are half a dozen characteristics that could be expected of a good MVC framework.  The approach was to gather a pulse on what frameworks are being discussed, download and view the source, and work with some examples.  The following criteria will be used throughout:

  1. Simplicity
  2. Minimal Footprint
  3. Maturity
  4. Scalability
  5. Active Community
  6. Some brains behind the operation (its subjective, but ‘done the right way’)

Arp Framework

Arp is(was?) Aral Balkan’s attempt at MVC for Flex. Although originally created for ActionScript 2, at Flash Forward in Austin, this looked promising. Then again, Flex was just gaining traction, so everything was looking promising. Aral has done a great job with his projects, OSFlash.org, <head> Conference, Pistach.io, and his many contributions to the Flash and Adobe community. Unfortunately, however, it seems that Aral has since stopped actively developing Arp, thus eliminating Arp as an option.

Score
1. 2. 3. 4. 5. 6. Overall
B B D N/A F A C

Guasax

Ángel Blesa owns this project, and as one may easily surmise from his name the project is Spanish. Therefore, it is difficult to speak to the quality of the project. But, if you do speak Spanish, then this may be something to look into. However, for an English-only speaking developer, Guasax is a hard sell. Even the video tutorials are in spanish. Another quirk that factored into Guasax not making the cut was the run-time XML config files.

Score
1. 2. 3. 4. 5. 6. Overall
C C B C C N/A C

MVCS

At first glance, MVCS seems more like a blueprint than a framework. But, Joe Berkovitz is smart (#6 Some brains behind the operation). Joe has some interesting thoughts on Flex application architecture, and is well worth the read. It is difficult to find an active community and it is really more of an approach rather than a framework. Luckily, a framework is included in the example code. Overall, MVCS’ approach is an interesting one, however, not fully applicable if searching for an MVC framework.

Score
1. 2. 3. 4. 5. 6. Overall
A B C A C A N/A

Adobe Cairngorm

Cairngorm is one of the original Flex frameworks, and it certainly has a very large backing in enterprise environments, especially since it is sponsored by Adobe. It could be said that if you are developing Flex in the enterprise, you are/should be familiar with Cairngorm. Cairngorm also has a relatively small footprint. However, Cairngorm is not a silver bullet. Although Cairngorm serves its purpose, it is a little too complex in most scenarios. Thus, if the point of a framework is to become more efficient, the complexity of Cairngorm can do quite the opposite. This is especially true for those who aren’t familiar with frameworks.

Score
1. 2. 3. 4. 5. 6. Overall
C C A B A A B

PureMVC

Given the issues Cairngorm, would it not be nice if a framework took the good of Cairngorm and corrected the bad. A huge proponent of Cairngorm since it came out, Cliff Hall set out to do just that. PureMVC has gained a lot of steam since its creation, has a small footprint, is scalable, and simple. PureMVC has also been somewhat future-proofed. By keeping the concept simple and generic, PureMVC has been ported to almost every useful language. Furthermore, it is easy to find very informative documentation, overviews, and best practices. Although still relatively young and smaller community compared to Cairngorm, PureMVC seems to be evangelized among the developer community at the moment, and rightfully so.

Score
1. 2. 3. 4. 5. 6. Overall
A A B A B A A

Time Will Tell

After looking at several frameworks for Flex, PureMVC hits the criteria stated at the outset almost perfectly. As such, I am developing with PureMVC on a current project and have been very pleased thus far. Yet, time will tell if PureMVC sticks as the de facto standard Flex MVC framework.

To the readers, I would love to hear about your findings with Flex frameworks. Perhaps you have used a framework not listed here? Or do you have a different observation or opinion?

Nov 6 2008

Time is Money, Platform Matters

author:

Moral of the story, choose your platform wisely.  When I drafted this post in the spring, the intent was to showcase the power of highly developed platforms like ASP.NET as opposed to Ruby.  I was then going to throw all the RoR people under the bus for jumping on a bandwagon :) [prepare for getting hit over the head by Ruby people]

But now that I am in an environment where I am constantly confronted with a heavy Java back-end, this comparison seems so much more powerful. [prepare for getting hit over the head by Java people]  Granted process has a lot to do with the excessive production time some companies face, however, language and platform choice clearly has a significant impact.  In large corporate environments, elevations to production can creep on several years of work.  Platform choice, along with process management goes a long way in cutting down on time it takes to elevate.

Below is a collection of 4 screencasts from betterwebapp.com that I found on Viddler depicting a “bake-off”.  Essentially developers were given the same task of building the same basic web application.  The results were recorded and put side by side.

ASP.NET, Ruby, Java, Perl Side by Side Comparison

In the end, if time is money the findings show that it would be logical to use ASP.NET.  In many cases, this could be attributed to Visual Studio as an excellent development tool.  The intellisense available in VS is very different and far better from almost ever other tool/editor I have used.

To add more in favor of Visual Studio being a winning tool, this screencast was completed before jQuery began shipping with Visual Studio.  jQuery has transformed the JavaScript world, and coupled with beefed up support for JavaScript intellisense in Visual Studio 2008, development time is cut down dramitically.  

One can argue over intricacies of the languages, however, the speed of C# and RAD capabilities in Visual Studio make the VS/.NET combo a robust and rapid web development platform.

And I Digress…

While slightly off topic, this also serves a nice message to Adobe.  Flex is a step in the right direction, but Visual Studio 2008 is a far better development tool than Flex Builder is in its wildest dreams.  If Silverlight begins to get better market penetration, Adobe will be forced to innovate, and perhaps Microsoft would even create a development tool for Mac.  The reality is, Flex will have the Mac market so long as Visual Studio is Windows only.  If Adobe is to keep their choke hold on the RIA market for years to come, they need to take some lessons from VS2008.

Oct 29 2008

Pre-Caching Flex Applications Using YUI

author:

I thought a little scenario might assist in prefacing this post.Bob has built a cool Flex application and it now time to show it off to the world. Bob is a web guy, so like most web guys, he uses YSlow to see the performance on his pages. Flex application and YSlow in hand, Bob uploads his files to his web-server. He then realizes that he forgot to ask himself one very important thing, “how big is this Flex application anyway?” To Bob’s dismay, the final size is almost 2 mb! Bob has some options:

  1. Not caring – he has some decency.
  2. Revisit code – he has a deadline to meet.
  3. Play around with RSLs – now he’s getting on the right track.
  4. Pre-caching the application – getting warmer.
  5. Pre-caching the application and the Flex framework – tada.

Now back to me…Bob’s best options here are 3, 4, 5. And more specifically 3 and 5. If you aren’t familiar with RSLs (Runtime Shared Libraries) in Flex, I highly recommend them. By implementing RSLs, it becomes possible to cut down the initial file size of the application, only loading libraries when needed.But one still has to load the swf libraries, even if RSLs are utilized. In many scenarios users visit a specific page or URI before accessing or launching a Flex application. For instance, a search page followed by Flex search results. To take advantage of this, why not take employ AJAX? After all, its primary purpose is the asynchronous transmission of data, so AJAX seems like the perfect tool for the job.I chose YUI for this example, but you could use jQuery or something of the like.

//Caching methods using YUI
var flashCache = {
	handleSuccess:function(o)
	{
		this.processResult(o);
	},
	handleFailure:function(o){ },
	processResult:function(o){ },
	startRequest:function(url) {
		YAHOO.util.Connect.asyncRequest('GET', url, callback, null);
	}
};
var callback = {
	success:flashCache.handleSuccess,
	failure:flashCache.handleFailure,
	scope: flashCache
};

//Cache the swf and swz
window.onload = function()
{
	flashCache.startRequest("flexApplicaiton.swf");
	flashCache.startRequest("framework_3.0.189825.swf");
	flashCache.startRequest("framework_3.0.189825.swz");
};

By asynchronously loading the Flex application, Framework while the user is taking a preliminary action, you basically take the 2 mb Flex application (although hopefully it is less because you are using Runtime Shared Libraries) and turn it into 12-40k. Otherwise known as the size of the page which the swf file is embedded. (The photo below is not a real representation of the scenario, but illustrates the difference in cache.)

YUI Cache

It is understood that most users who visit your site have an empty cache. However, if you have instances where the user will spend some significant amount of time (enough to load the swf), you and Bob (from the outset) can rejoice in the now optimized speed and total score benchmark you will receive in YSlow…2 mb Flex application included.

Mar 19 2008

« Older Entries