Test the interface, not the implementation

In yesterday’s post, I mentioned that unit tests should test the interface and not the implementation. This is the simplest example I could think of to demonstrate this…

Why write the unit tests first?

At work today, a colleague and I did a presentation to the rest of the team on Test Driven Development. At BrightTALK we’ve been using unit tests for some of our code for a few months now, but it’s been very much a case of writing tests after writing the code. Often, it’s just after (write the code, then write the test) but still, the code came first. A couple of months ago I persuaded the Flash/Flex team to try writing the tests first. They found it difficult for the first few days, but rapidly got up to speed and are now very enthusiastic about writing tests first. So we hosted this presentation/discussion with the whole team, Actionscript, PHP and Java developers, to discuss Test Driven Development. One thing I really wanted to convey to them were the benefits of writing the test first. These are the five main benefits as I see them…

The iPad is not a computer

I waited a few days before writing about the iPad. Apple product launches tend to contain some surprises and I wanted a little time for reflection before commenting.

My considered opinion: the iPad is a revolutionary device, because it’s not a computer. The iPad isn’t for writing, it’s for reading. It’s not for making films, its for watching films. It’s not for developing software, it’s for using software. The iPad is a consumer device. What makes the iPad revolutionary is its single-minded focus on media consumption…

New Year, New Domain

Since I accepted my current job at BrightTALK and closed down my company, Big Room, I’ve also moved my domain. This site is now hosted at richardlord.net rather than bigroom.co.uk. All links to the previous domain should redirect to the new domain – please let me know if any don’t.

This blog was always about my personal work experiences, and will continue to be so. While I will, at times, blog about work we’re doing at BrightTALK, please remember that this is still a personal blog and opinions I express are mine and not necessarily those of BrightTALK.

Have a great New Year.

Smartypants-ioc and As3-signals example

During my recent presentation at LFPUG, Tink was very persistent in suggesting that the event bus used in most MVC frameworks might not be the best solution. This got me thinking about what it would be like to do MVC without an event bus. And so began this little experiment…

Robotlegs example project with source

Any comparison of frameworks wouldn’t be complete without Robotlegs. I included Robotlegs in my session at LFPUG recently, but didn’t post the example project here because the framework was in a state of flux. Robotlegs is now settling down as it approaches its imminent 1.0 release, and the MVCS implementation in it is unlikely to change further, so here’s my example.

For this Robotlegs example I’ve used exactly the same project as in the previous examples for other frameworks. Robotlegs is not prescriptive about your application’s architecture, but it does include a default MVCS implementation for those that wish to use it. I’ve used that default implementation here.

The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source…

Flint Particles 2.1.3 released

Last week, I released version 2.1.3 of Flint Particles. This release includes a new action called TweenToZone. This enables the tweening of particles to random points within a zone, which makes effects like this possible…

Full details of what’s new in this version are on the Flint website.

Parsley example project with source

I recently posted a number of versions of the same Flex project, built using various different frameworks. These related to my presentation at Flash on the Beach this year. I’m repeating that presentation, with variations, at the London Flash Platform User Group in a few days and for that talk I’ll be adding Parsley to the set of frameworks I’ll compare.

As a warm-up to that I’ve recreated the same example as before using the Parsley framework. The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source…

next page