Tuesday, 30 December 2008

ConnectNow

It's been available for a little while but we've only just started using Adobe's ConnectNow service in anger very recently and I thought it was worth a blog post.

Essentially, it's a desktop sharing tool with some additional collaboration features around it but it's very slick and the best one I have personally used for quite some time - and considering I was commissioned to do a study of such tools for a large bank a year or so ago, I'd say it's doing well. One of the beauties of ConnectNow is that there's no installation required - the browser is the client - and another is that you don't need to have an account to use it. You need one to set a meeting up, but not if you've simply been invited - this makes ad hoc meetings that much easier, especially if you want to invite anyone outside of your organisation.

Additionally, it offers built-in video and audio conferencing facilities (I'm not sure about numbers here), shared chat and shared notes, and the standard control sharing - a good set of collaboration tools. What would be nice is a facility for recording the session - or at least the audio conference - but most such tools don't offer it and none do it particularly well.

Go have a play around with it - it's free - and see what you think.

Thursday, 11 December 2008

Aspect sponsor Chris Dymond

That's right; Aspect have gone motor racing, the FIA GT3 Touring Car Championship to be exact. We now have a deal in place to sponsor Chris's Jaguar XKR for the final race of this season and the whole of next season.

The final race of this season, in Dubai, has just passed with Chris, and his team mate Stuart Hall, finishing a very commendable 17th from 32 cars. Unfortunately, just as they seemed to be getting up some momentum, Race Two was abandoned on the Saturday due to extremely heavy rain. Even so, roll on next season!

We hope to have some photos up from the race soon.

Chris Dymond: AspectVision.com

Adobe and Synbiotix on board

In what's been a manic couple of months, we've taken on contracts galore, the big ones being Adobe and Synbiotix. Unfortunately the Adobe project is under wraps at the moment but Synbiotix, technology supplier to the NHS, have us working on an internal system to manage surveys at their hospitals in the South East.

Tuesday, 25 November 2008

AS3 - Careful with Loader.load()

On a recently finished project for Wunderman - All New Ford Fiesta - I made an odd discovery about Flash Player 9's inbuild flash.display.Loader class.

The Fiesta site's flagship feature is a customisable Flickr feed that is pushed through an algorithm to form the shape of the car. This feed updates based upon your likes and dislikes of particular content, it's all pretty cool, but that's another post. This meant plenty of loading pain with many a thumbnail - there is a queue that streams in around 400 images to initially populate the car. Now, as this was quite a load bandwidth-wise, this had to be done whilst the user was interacting, to keep the interest alive; this proved to be a whole world of hell. Essentially, what I found was, rapidly loading content using Loader.load() has a surprisingly large processing expense. Extremely high, in fact. So much so that once we got to around the 70-80 image mark, the application ground to a halt.

Wednesday, 16 April 2008

InfoWorld loves Adobe AIR

Over at InfoWorld there is a nice testimonial to AIR and its capabilities. Here's a little snip:

"But the weekend before I was due to deliver my working prototypes of the Windows Sentinel Web and mobile front ends, I saw that the Adobe AIR SDK and the companion plug-ins for Dreamweaver and Flash had just been released for download. I figured, "Let's see what AIR can do." Less than two hours later, I was able to essentially export my mobile Web pages into desktop widgets. Better, Adobe AIR produces a single executable that runs on Windows XP, Windows Vista, and Mac OS X Leopard - and, soon, Linux."


View it here.

If you have a requirement that you think could be solved by Adobe AIR, as you know, we are the specialists. Get in touch.

Tuesday, 15 April 2008

Adobe AIR makes top 10 emerging technologies of 2008

Over at Technology Review, our preferred - and, of course, recommended - development platform has made their top 10 emerging technologies of 2008 under the heading "Offline Web Applications".

Somewhat unsurprisingly, Silverlight is nowhere to be seen.

Read more here

Friday, 28 March 2008

Corona

Our second main undertaking with Adobe AIR is in development and this time it's personal. No, really - I mean this is an idea we came up with ourselves and started working on it a couple of weeks ago.

You'll know by know that I'm the secretive sort so I'm not going to give too much away. It's being written in C# and Adobe AIR (so you'll spot it's a client-server application), involves some nice RESTian APIs, will obviously be cross-platform, and does some things that the market's been crying out for.

Our illustrious Chief Creative Officer came up with the name "Corona" - for reasons unknown to me - so that's the current working title and, who knows, might be what we release it as; we shall see.

Thursday, 21 February 2008

Flex 2 (maybe 3) - scrollbar skinning thickness

Upon skinning a Flex ScrollBar recently, using symbols from an external assets SWF, I came across a bit of a conundrum: Flex appeared to be resizing the skins to almost half their size. "Why can this be?", I thought. Quickly rummaging around Google and the Flex lists, I found that a few poor souls were having the same issue.

Whilst rooting around the ScrollBar source, it turned out there is a THICKNESS constant defined. A bit more sifting uncovered the fact it wasn't referenced anywhere: ScrollBar, VScrollBar, Canvas; nowhere. Until I found its one lonely existence: mx.skins.halo.ScrollArrowSkin - in its measuredWidth and measuredHeight getters.

It seems that, if you define less than the four - up, down, over, disabled - skins, at least one will be using the above Halo class, meaning all will be reskinned to the magic 16 defined in THICKNESS. Defining the remaining of these four states corrects the problem; in my case, just the disabled.

Magic; or so it seems.

Sunday, 10 February 2008

Flex and tabbing - get to anything...

Flex developers need to be aware of accessible content these days, and that includes the infamous tabbing phenomenon. Always been a bugbear with the Flash Player. Flex takes most of this pain away, but any custom components could have you tearing your hair out.

For instance, create custom button class extending Canvas; set buttonMode to true, set focusEnabled to true. Still nothing.

Step in IFocusManagerComponent. Interestingly, UIComponent implements this interface, which is what the FocusManager looks at to decide whether, or not, to focus your component. All you need to do is explicitly tell Flex that your component implements it, and you're away:

<?xml version="1.0"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" implements="mx.managers.IFocusManagerComponent"
buttonMode="true" focusEnabled="true">
...
</mx:Canvas>


Hopefully that'll clear this up for some people as this drove me round the bend several times.

Monday, 4 February 2008

XMLList length() gotcha

I thought I'd pass on a tip on traversing nodes in E4X. Consider the following common array loop:

[as3]
for (var i:uint=0; i&lt;myArray.length; i++)
{
// do something here
}
[/as3]

Now, take a similar approach to E4X:

[as3]
var myChildren:XMLList = myXML.item;
for (var i:uint=0; i&lt;myChildren.length(); i++)
{
// do something here
}
[/as3]

On the face of it, there's nothing wrong with the above code. It compiles fine, it works fine. Until you traverse 1,000-or-so nodes. Not so good.

Investigating this shortfall, you'd be forgiven for believing E4X isn't as quick as maybe you thought it was. But simply, calling length() on the above calls it 1,000 times, meaning E4X has to run through and count its children, 1,000 times - whereas an array.length is just a simple property - comparing it with the current state of i. So the following is a far more efficient way to go about it:

[as3]
var myChildren:XMLList = myXML.item;
var myLength:uint = myChildren.length();
for (var i:uint=0; i&lt;mylength; i++)
{
// do something here
}
[/as3]

This cuts down processing of 1,000 nodes to 20% of its original timings.

Monday, 14 January 2008

BT Visualisation Tool

Description
Build a visualisation tool for BT in Adobe AIR, following in from an earlier proof-of-concept.

Milestones
13.12.2007 | Contract Awarded
14.12.2007 | Development Started
14.01.2007 | Development Complete
18.02.2007 | Sign-Off Received

Notes
Will open-source the code, which BT's are happy for us to do, and make the .air available for download in due course.

Friday, 11 January 2008

I'm a smo.oth.ie; are you?

Aspect New Media Ltd has secured the rights to use the oth.ie domain.

Unlike .com and .co.uk domains, .ie domains are strictly controlled by the Domain Registry of Ireland and they have some stringent criteria for assigning domain names so our capture of the domain is a big thumbs-up to our plans for it - namely, smo.oth.ie.

We're not going to reveal too much to you on the project just at the moment but expect to see plenty on it in the not-at-all-distant future. Watch this space.