Archive for July, 2008

Liquid Nitrogen CPU Cooling

// July 31st, 2008 // No Comments » // Computer Hardware

If it can stop the T-1000 (at least temporarily), then surely it can assist in the performance of our computers.

These young gentlemen at Tom’s Hardware apparently managed to get a 2.4GHz processor clocked up to 5.1GHz to set a new record.

Flex Spotlight: Streamzy.com

// July 28th, 2008 // No Comments » // Flex, Web Development

I came across this site the other day and instantly recognized the interface. I also recognized the fact that it had a lot of thought put into the way it was designed. It’s a small, minimalist interface under which you can achieve a lot.

The idea of Streamzy is that you enter search criteria into the box, it returns streaming music in audio OR video form, and you can add and manage playlists (and save these if you choose to register and sign in).  And by “return” it’s not simply providing links, it will play the audio and video streams in their respective custom players.

Kudos to the makers of Streamzy, it’s a very easy to use and useful (albeit probably temporary, see: copyrights) tool to search music while hardly lifting a finger.

Footnote: I was impressed by what I thought might have been a custom Accordion control holding the content grids on the page, but it was in fact a WindowShade control courtesy of the flexlib library.

Workaround for Cached URL Images in Flex

// July 21st, 2008 // 3 Comments » // Flex, Web Development

Just this past week I had found myself wrestling with a Flex application that can crop images on the fly, and display in two different places and two different sizes, a thumbnail of the new image.

One of the biggest headaches in the process was Flash’s caching of the previous URLs when another one has been added in its place. Clearly this causes an inconsistency in ‘what you see is what you get’ (WYSIWYG). So I had to find a solution.

The Image component in Flex has a cachePolicy property (inherited from UIComponent) that will ensure the component’s bitmap values are not cached, but straight URLs are not affected by this.

However, I found a workaround after a good deal of searching the net, and poking and prodding through the nooks and crannies of Flex.

Initially I was going to generate a bitmap of every image brought into the application, but the overhead would have been outrageous, and the simplicity of the program is the service call to generate the new cropped image and return the URL. But it turns out that by adding a random-numbered query string to the end of the incoming URL, the extra value will force the retrieval of the new image.

It worked like a charm, and the only drawback is that all images, changed or unchanged, are re-retrieved with every refresh of the display (in my case, when a component is set to visible, it makes a service call to populate data).

In my case, the value for the URL is kept in in a value object and in the get accessor for its value, I did the following:

1
2
3
4
public function get urlValue():String
{
return _urlValue + "?" + Math.random();
}

Lessons in Graphical UI Design

// July 16th, 2008 // 2 Comments » // Web Development

Developing an application to administer content on a site or internal web application is relatively basic. You have a set of functional requirements sitting in front of you and the tasks to complete them are often  straightforward. In a web-based PHP or ASP.NET application, the possibilities in arrangement of controls and convenience for the user are fairly constrained.  They need to fit in a standards compliant way and in a good application, there needs to be as few page loads as possible. In a Rich Internet Application (RIA) using Flex, we can utilize Flash to build an interface in practically any way we want and allow as little or as much to be shown to the user at one time. Understanding the resources to accomplish this may be difficult, however.

A few things need to be considered when developing the user interface for the RIA.

First, finish developing the functional requirements for your application. Don’t start rearranging and skinning components that might lose their usefulness or be removed entirely by the end.

Second, you need to know your audience. The users of your program are the ones that are going to be using it the most and you will need to cater to whether they are skilled computer users, novice, or a mix of all types. This will help determine the complexity of your screens and the “lingo” you might use.

Third, research the “common method” for developing a user interface with the tools that you’re using. In the case of Flex, there are a series of subclasses on the Container class which are used to order and arrange child components in a meaningful manner on the screen. Classes like Accordian and TabNavigator can be crucial in organizing many different components into one area.

And lastly, and most importantly, take the time to actually use the application. I don’t know how many times my perception of a design (or lack thereof) has changed after actually sitting down and going through the motions on the application as if it were my daily routine.

It also really helps to sit down with an end user or a stranger to the design and go through a mini-training session. Within the first 20 minutes of this process you will immediately know what is going to be used the most, and what will be used the least. This can greatly help the manage the appearance of these controls by prioritizing access to them.

Domestic Abuse PSAs: It’s all in the delivery

// July 14th, 2008 // No Comments » // Comedy

There are a couple of Canadian Public Service Announcements that were released by an organization called Home Front that use an extreme circumstance to illustrate the fact that physical and emotional abuse is unacceptable against strangers, and therefore the logic is that it is unacceptable against those you love.

Obviously, the message here is very serious; domestic abuse is wholly unacceptable in this day and age and there is no excuse for it.

However, the skits in the videos released by Home Front to illustrate this dramatic message are so completely unpredictable and outrageous that it’s downright hilarious.  Here they are, full of comedic shock that would’ve made even George Carlin blush.