Monthly Archives: January 2009

RSL’s? Runtime Shared Libraries are a technology that was introduced in Flex 3.0 that allowed our Flex applications to load much, much quicker. What they really are is the shared libraries that we deploy for ALL of our applications (like the Flex Framework and common controls, or the data visualizations) in a separate download for the end user. The end user will store these common libraries in their player cache after they have been first downloaded. This means that they will "never" have to download those bits again. Your 600k Flex application all of a sudden went to a 200k app with a 450k framework download. However, the next time a user visits your site, they only need to download the 200k app, since the framework will already be on their PC.

Sounds like a good deal, right? If you use the official Flex 3 builds (http://opensource.adobe.com) then this code is digitally signed, and there is essentially no penality in deploying this bandwidth saver. The nice thing too is each version of the framework that the user downloads is stored separately, so you know that if you target your app for a specific Flex 3/4 SDK, that the user will always have that version.

Who should not use RSLs? Anybody who monkey-patches the framework, or has their own build of the SDK should NOT use RSLs. Everybody else pretty much should. If you don’t know what that means, then you’re OK :) RSLs also up the requirement of the Flash player to 9.0.115, rather than 9.0.0, which may pose a problem for a few people that haven’t upgraded in a very long time.

How do you enable it? That’s pretty simple too! All you have to do is right click on your Flex Builder project, and go to the properties menu option. Click on the Flex Build Path node, and then the Library Path tab. Change the Framework Linkage from "Merged" to "RSL". If you don’t want to customize your deployment, that should be all you have to do.

By default, you will be able to deploy your app with any signed bit of code as an RSL. This includes the Framework, the RPC code, and the Data Visualization code. You can customize this by deploying unsigned RSLs, of your own code and modules. This means that certain modules can be separated out and stored on the user’s machine as well. Open the node of the code that you want to enable as an RSL in the Library Path tab, and click on the Link Type node. Click on Edit… to change the link type. In the resulting dialog box, you should be able to change the link type to RSL. You can also choose to deploy the code as a trusted cache (which means that as long as that the SWF’s filename will be used as the verification), or you can enable Digest mode, which is essentially a CRC check on the SWF to make sure it is the right version. I would suggest Digest mode (although there is a very, very small processor penalty to enable it).

So, now you’ve got your project setup for RSL’s, how do you deploy it? You can deploy this project just as you would any other project — by coping over the SWF files to your web serer. The only difference here is you will need to copy a few other sets of files. In your release directory (after you export a release version of your code), you should now see additional files for every RSL enabled bit of code you setup. For example, your framework will now show
framework_3.0.build_number.swz in addition to your normal SWF output. Make sure these files end up on the web server as well. You will see SWZ files for signed bits of code, and SWF files for unsigned bits.

In my own setup I did run into one issue when I was moving my app into production. Apparently recent versions of IIS won’t serve files that don’t have MIME-Types associated with them. After deploying my app to the server, I was getting RSL Digest Error displayed in the the browser when I was deploying. The problem was I was not the one seeing these errors, but rather my customers. Because IIS didn’t have a mime-type setup, it would give 404 errors for the SWZ files for those people who hadn’t downloaded those files. To fix the issue, add a new mime-type of x-shockwave-flash associated with the .swz file extension. Things should work then.

Well, after a long wait, issue 2 of the Flex Authority Magazine is finally out! I’ve a chance to read it in its entirety, and I have to say, I’m impressed. Despite my own article, there is some really good content in there. I applaud Jeff Houser, and the rest of the FA team for putting this thing together.

I am really enjoying Billy Spelchan’s article on writing a game in Flex — it is opening my eyes on a lot of things I never really thought of before. John WIlker’s article is pretty cool too — the planning and programming side of an app that we used at 360|Flex in Atlanta and San Jose.

Of course, my article was about data communications again. This time I talked about making a simple collaboration application using BlazeDS or LCDS. You can even see my awesome attempt at drawing Mickey Mouse using my sample app :). My code samples are available here.

Make sure to check it out! $15 each, or $50 for a subscription. They also have a PDF-Only subscription available for $30, as well.

"I just got back from the xxxx conference, and the word of the conference was ‘Social Networking’. I want to be able to jump on this social networking thing in full force. I need your help so I can do my marketing on this new platform."

This is where I got scared. My customer all of a sudden knows about this brand ‘new’ marketing platform that he wasn’t leveraging yet. Sounds like an opportunity to me, right? After talking to my customer a bit more, he dove into what he wanted. He essentially wanted me to link his web site into Facebook ("or the Book Face" as he kept referring to it as") and Twitter. What he really wanted was for me to modify his sales engine so that if he posted a new discount or sales item that the engine would automatically post a message on these services letting people know about the sale. A speaker at the conference told him that all he had to do was to get ‘followers’ and that sales would just go up. Apparently the Comcast example was brought up (where customers that contacted Comcast via twitter had an 90% satisfaction rating, rather than the 40% rating they had otherwise).

Now, I don’t expect this guy to just ‘get it’, and that’s why he uses me for consulting — I’m there to help teach him this stuff. What really bothers me is the huge following to monetize sites like twitter, and use it solely as a marketing platform. Although the speaker at this conference was excited about these services, he is doing them, and all of us a big disservice. The reason why many of these sites were created was to evolve from the ad-laden, corporate marketed site that we have become numb to. I’m finding more and more people that are following me on Twitter and Facebook that are ‘social media trainers’, ‘social media managers’, and other titles that are really there just to abuse the system.

Why don’t these people "get it?" Why do these businesses feel that this new ‘medium’ needs to be managed, controlled and marketed to? For those of you who have read the Cluetrain Manifesto (thanks Tom & John for the book!), that previous line should sound familiar.

Social Media is medium for people to connect with people. People already plenty of ways to connect with marketing (Websites, Movies, TV, Email, Phones, Billboards, etc.), but this is supposed to be the genuine, person to person, communication. Social Media is a place where a person can open up, and say or post things that are actually on their mind. Marketing is the exact opposite — a way to convince others to think something about you. To use a previous example, Comcast is not using Twitter as a marketing engine — the marketing is happening as a result of Comcast’s work on the site. Comcast (in particular a few of their employees) are using Twitter in a genuine way — to help customers with person to person communications, and this is helping them. Another company, the Lansing City Pulse, on the other hand, has gone down the marketing route, and has posted nothing but filtered marketed information on their twitter feed. They have been fully lambasted by those on twitter because of it.

I see this move as the same as the move for companies to get on the internet. They moved to the internet because they saw it as a way to get their information online. Of course, almost all of them simply put up an ‘internet brochure’ which didn’t have much more information than their address and phone number. I also see this as a movement as businesses seeing email as a great way to communicate with their customers, and potential customers (spammers).

I told me customer that despite what they heard at the conference, the ‘social media platform’ won’t increase their sales by a measurable amount. However, opening your company to the social media world will connect you to your customers on a personal level, and will with that personal touch that is lost on the internet. Adding a personal touch to any relationship will almost always make it more genuine, authentic, and stronger. Given a strong relationship, well maintained, you will most likely get repeat business, and business recommended from those who do have those relationships.

Notice: I do realize that Windows 7, at the time of writing, is a beta release (release 7000), but many of the things I am writing about will most likely hold true with this ‘feature-complete’ beta.

So, yeah, I jumped on the Windows 7 "gotta get it now" bandwagon to see what it was all about. Up to this point, I’ve been watching from the sidelines by reading blogs and watching interviews of people who reviewed the software. The impression everybody is giving so far is that Windows 7 is the best release of Windows to date.

After fuddling with getting the download using my old MSDN subscription account information (yeah, the best way to get your serial number was to do a view-source), and a 2.4Gb DVD download later I was on my way, excited as all heck to see the new OS that would ‘change the world’.

I hooked up a blank hard drive and went through the installation. I was pretty impressed with the installation process. Personally, I like to have more control as to how the OS partitions my drives, but that is the only gripe I really had with it. Install was quick, painless, and didn’t ask many questions. I think it took a total of 15 minutes from the time I turned the computer on with the install DVD to the time that I got the desktop the first time.

Another big surprise is that it actually picked up all my hardware (minus my printer) on the first shot, and everything seemed to work. Even today’s Vista has a real hard time with my ancient video card, but Win7 had no problems with it one bit.

However, that’s where my good experiences ended. The first thing people will notice when they boot up is that this thing really looks and feels like Vista. Vista is one of those crossroads of bad design, and "too simple for its own good", and Windows 7 is just not that different. Some of the things they fixed, like the shutdown menu, were replaced with equally bad decisions like the new taskbar. For those of you who haven’t seen the new task bar yet, they no longer show you each window of an application that is open — they are always cascaded behind the program name. This means that switching between windows will always take two clicks (one of them within a menu) – a real loss of productivity.

Microsoft has not enabled any migration path from XP to Windows 7. Windows 7 requires either a clean slate or Vista. I hope that is something that only remains true for the Beta period, otherwise Microsoft will have some serious blood on their hands. You have always been able to upgrade older copies of Windows from one release to another — even Windows 98 -> XP worked just fine.

Microsoft has also made only minimal changes to the networking stack. This was one of my biggest issues with Vista. In Microsoft’s attempt to make networking easier, they not only candy-coated everything, but they also hid some very important and useful options from both newbies and power users. For example, changing your IP address (which is something I do at least 10 times a day in my work installing IP based phone systems), requires 6, count them, 6 clicks and a restart of the networking sub-system (which means that if you are downloading something via wireless and change your IP address of your Ethernet card, your download will fail). Mac OSX requires only two clicks to do the same thing. Also, if you change your networking settings (like your IP address), Windows 7 will reset your "network profile" which includes things like your Firewall and Sharing settings. You have three pre-defined profiles, and your settings will be reset to one of those profiles (any custom settings, like firewall exemptions do not carry along with these profiles)

The next thing that bothered me is the Indexing engine. While they made some changes to the frequency and priority of the indexing, it is still there. About 15 minutes into me using Windows 7, the indexing engine fired up, and my PC felt like it was dragging for about 30 minutes. Windows decided it wanted to know everything about my documents, photos, and music. I personally really dislike integrated searching engines, as they really don’t offer very many benefits to me, the end user (other than Microsoft’s dream of integrating web search and your personal search in one interface). If the loss of performance is that great when my computer has nothing installed, i hate to see it when I have all my drives hooked up.

And finally, Internet Explorer 8. I’ll start off by saying that when I’m on my PC, I use IE by default. I realy don’t mind it, in all honesty. IE8 is not an application I am happy with though. It took forever to start, and the customization process was really bad. The entire application seems like an advertisement for Microsoft’s online services. "That looks like an address, let me look it up for you on Microsoft Live Maps, even though there is a map right under it." Yeah, like that. Many of Microsoft’s online services are not the best of breed, and to switch away from having them offered ALL over IE8 is like pulling teeth. The other thing I noticed is that certain pages that have lots of information that triggers these "helpers" makes the pages render REALLY slow. Yahoo Yellow Pages is one example — the page took ~8.5 seconds to render (and only 1.3 seconds to render in Safari, according to Safari or Windows). This is a real disappointment. Event switching to "compatibility rendering mode" made no different for these pages. Pages that did not contain anything that would trigger a helper seemed to render as quick as as Safari. (FWIW, I tested via Safari because it uses the standards-based WebKit rendering engine, which is a very good benchmark for these things).

But to end the review on a good mark, application compatibility seems to be right up there with XP. There was only a single application that I was unable to install (VPN Software), because it was being cranky about the windows version number. My Adobe applications, Eclipse, Flex Builder, Office, etc. all installed without a hitch. UAC is still present, but displayed very infrequently now.

Will I continue to use Windows 7? I will keep it around for testing right now, but XP will continue to be my primary OS on my desktop. Windows 7 is no Mac OSX (which is as close as we have come to mastering simple, yet easy and powerful in my opinion). But Microsoft will really need to keep a close eye to the business world. Some of the issues I mentioned about Vista are still present in 7, and may make some businesses think twice about upgrading. I’m sure many are in the situation where they will be forced to upgrade despite any problems that may still exist.

Have a new year’s resolution of "Learn something new?" If you live in SoCal, the guys who run 360|Flex (one of the best conferences EVER), make sure you don’t miss FlexCamp OC! In the spirit of the FlexCamp program, tickets are only $25,
and is limited to the first 150 that sign up. Date is January 31st, and its going to take place in Hutington Beach, CA.

Some of the presenters include Thomas Burleson, Jaun Sanchez and Adam Flater. Yeah, you would get to see presentations from true rock stars on things like Flex 4, Flex Catalyst (Thermo) and Degrafa.