It’s that time of year again. “Give good food to your Mac” is back with another set of software to choose from. The twist is the more you buy, the cheaper it gets, literally. Choose 3 apps, save 30%, 4 gets you 40% but 5+ gets you 50% off. It’s time limited, so 10 days to go.

Last year I purchased 10 pieces of software for the price of the 1 piece I actually wanted (Unity 3D). In that package I also got an impressive casual 3D modeler, Cheetah 3D. It won’t replace Maya or MAX, but for a lot of tasks it’s perfect. Yes some of the apps on there are a little gimmicky, some of them you may never use, but it really doesn’t matter if you’re getting the other apps for free (in my case anyway).

So what’s on this years list? My picks would be:

  • Cheetah 3D – Fast 3D modeler, raytracer renderer and animation.
  • Toon Boom Studio – A well known fully featured animation package.
  • Hydra Aperture Plugin – HDRI images done fast.
  • Scribbles – One of those lovely little quick to use apps (see video).
  • MacPilot – Access 900 power-user/hidden Mac features, e.g. show hidden files (better than the AppleScript alternative perhaps.
  • Renamer – If you’re not a Terminal Guru, or want to save some braincells you might like this batch file renamer, if it saves you 30 minutes, ever, it’s likely paid for itself.

If you’re in the market for any of these or one of the other utilities on there you might consider the 50% off a deal clincher. Disclaimer: I have no affiliation with this site nor its creators.

One of the little pet peeves I seem to share with other Flashers is the frankenstein-like html/flash settings manager pages that you have to access via Adobe’s site. This is the thing you see when you right click a Flash movie and choose “Settings” -> “Advanced”. It allows you to trust certain locations on your hard drive, delete “Flash cookies” (LSOs) , auto-check for player updates and other tasks.

The thing is this thing really looks and feels old now (it’s an FP6 file and it shows), it seems strange I have to be online and visit a site to delete files the Flash Player creates on my hard drive… if it’s a chore for a Flash dev, what’s the chance someone else can use it, particularly if people are storing sensitive info in there (bad devs!). I just got pinged a link to a Silverlight site and as I had to update to 2.0.something so I thought I’d check out the new settings panel (below, click to view full size):

Silverlight 2 Settings

I think you’ll agree much better all round. Very clear, and more importantly I don’t have to browse to another website to use it. Adobe, can we see an updated version of the settings panel for Flash Player some time soon? Perhaps a column to sort by usage/date too so you can quickly delete older LSOs. Perhaps there’s a really good reason for it and I’m just missing the obvious.

Just a quick note for future reference. When you are using getDefinitionByName(“ClassName”) inside a SWF that is being loaded into another SWF, it might not find the symbol from its own library (see ApplicationDomain and LoaderContext for why).

The solution is to get a reference from the ApplicationDomain of the SWF being loaded using the getDefinition() method. So the code:

var mySymbol:Class = getDefinitionByName("MySymbol");

becomes…

var mySymbol:Class = loaderInfo.applicationDomain.getDefinition("MySymbol");

Hopefully that resolves any issue you had with getDefinitionByName(). Of course you’d use a similar mechanism to work the other way around, and get at classes inside a loaded SWF. In this case it would be loader.contentLoaderInfo.applicationDomain.getClass()… however this depends on what ApplicationDomain you’ve loaded your child SWF into (see LoaderContext class).

In my case I wanted to attach a different “scroll thumb” symbol for each section SWF in the site I’m working on, so I couldn’t just use a single runtime shared asset.

Just got news from the guys at Xuinet that they’re running a big competition with a cash prizes totaling $10,000. You need to submit SWFs via email by November 3rd 2008 and multiple entries are allowed. Looks like a good opportunity to re-purpose your Flash Lite 2 content.

Prize categories include:

  • Blogs and Social Networks
  • Games
  • Images/slide-shows
  • Sports (scores, trivia, fantasy league)
  • On-the-go (travel, weather, news, etc.)

I must admit I haven’t seen Xuinet before. It appears to be a distribution platform for Flash mobile applications. By the looks of it the files are converted into a “Xui” which runs Flash 7 SWFs in a custom player on Windows Mobile devices. I’d be interested to hear from anyone who’s tried out the SDK to confirm the implementation details.

Best of luck to anyone entering the competition.

I’m just watching the seminar (recording here) about Sony Ericssons project Capuchin. It looks incredible. Ask anyone that’s developed with Flash Lite and they’ll tell you that distribution is one of the biggest problems they face.

The problem is that traditionally SWF files have been treated by some as nothing more than animated gifs (this is particularly the case with a lot of the older Sony Ericsson phones), and treated by others (for example Nokia) as applications that run standalone (and more recently as a web plugin). This makes it tricky to classify how to treat a SWF when it comes to getting it on a phone, particularly when you haven’t been able update your software anywhere near as easily on mobile as on the desktop. Do you run it from a browser link? do you bluetooth it from a PC or to a friend like an image? or do you go ahead and “install” it somehow, to get an application icon? Of course until now every manufacturer has dealt with the problem differently.

Trying to give guarantees regarding how many and which phones it will work on to the people holding purse strings is heart-wrenching, particularly when they try to transfer a SWF to their own phone that doesn’t support Flash Lite and get nothing, no message telling the user what they need to do. When money is involved this is usually only circumvented by sniffing the handset on a server or asking the user to select the exact handset. Handset support is still something of a weakpoint with Flash Lite. It has been a little bit like the pre-PC home computer scene, with you producing products for specific machines only.

Enter project Capuchin. In a nutshell you can turn a Flash app/game into a JAR file that installs as would any Java midlet, but it also provides lots of extra functionality that up until now people have typically achieved by running a separate local socket server written in Java or Symbian native… alternatives have included SWF2SIS applications for certain flavours of Symbian smartphones (S60)… ugly and problematic.

I’m still waiting on whether this will be Sony Ericsson only, they’ve announced so far that one supported handset is coming out in October and that all future handsets should support it. So we may need to take another step back in terms of penetration, but let’s hope that the trend holds out, tackling the problem once and for all. Of course Sony Ericsson is a big market, but in marketing you’re insane to cut out any audience voluntarily, so fingers are crossed more handset manufacturers jump on board as collaboration and sharing of technology has been mentioned previously.

Meanwhile I’ve just received my Nokia E71… hands down the best phone I’ve ever owned, it’s truly marvelous. The Wifi, HSDPA, GPS maps and location based services are extremely useful. Best of all it syncs with Macs and acts as a bluetooth modem, on an unlimited data plan that’s a cheap alternative to a USB dongle. I’ve had to wait this long for Nokia to finally slim down their smartphones (after putting up with an N70 for a year and later abandoning the brick for something more stylish). So this phone comes pre-installed with Flash Lite 3 and I’m keen to try out some of the new content the community has been producing.

Read more about Capuchin here (PDF).

I’m still a firm believer that technology will make a programmer out of us all due to the “standing on the shoulders of geeks” principal (discussed here), this is where the collective intelligence/skillset of web users as a whole is easily leveraged by those less able through the creation of modularised cloud-based tools and massive simplification of those tools. It’s nice to see those steps are being made here by the Ubiquity plug-in for Firefox, from Mozilla Labs.

This plug-in adds a natural language (for now English) input to Firefox for performing a wide variety of tasks. These include updating your Twitter status, opening a map in Google maps, viewing/adding to your gCalendar and more. I imagine it’s also possible to leverage XUL when certain commands to add a drop target for services like Flickr. See the video below for a visual walkthrough.

In allowing a user to perform a task, there’s always a balance between how much the user needs to know in order to reach the goal (specifically, “commands”), and how quickly they reach the goal.

Mouse interactions like buttons and drag and drop are fantastic metaphors for simplifying certain tasks, but in simplifying what a user is required to do for an operation they can in-turn require a lot of individual steps, not to mention the extra design considerations and screen real-estate. In contrast, a command-line is perhaps the most venerable of user input devices, to many it is the fastest way to get a job done, yet it has suffered from the problem that the user must reach an expert level of knowledge over the commands available to become proficient.

Our collective skills evolve far slower than our technology, and so it’s down to the aforementioned geeks to bring the bar down to a more attainable level, of course that is what software aims to do on the whole. Step in natural language, which is a platform already familiar to most, and an application independent way of performing many of the “commands” we need to know in order to get by on the web today.

Let’s just hope the language engines have come a way since “dig ground with spade”… “ok, use spade on ground” ;)

Over the weekend I received a copy of the first issue of Unity Developer Magazine, thanks to Charles Hinshaw. I had high hopes for this magazine, largely because Unity has an incredibly vibrant community of developers and artists. I was not at all disappointed.

Unity Developer Magazine

The magazine contains a variety of features, including an in depth look at a big budget Edutainment game “Wolfquest”, incredible artwork created in Unity itself, an illustrated introduction to vectors, A* Pathfinding, creating dashboard widgets and a look at some of the hottest Unity productions from a selection of studios and independents.

I’ve lurked on the Unity forums for a long time, and one thing you seem to find with some 3D-coding oriented communities, (and that goes for the mailing lists for Director and Papervision/Away3D too,) is that there are really passionate technical discussions going on along with the layman questions. There are real 3D gurus on these lists, talking about things that are frankly way over my head, but it gives you a sense that there’s real progress being made here, that they are all striving toward improving the platform and hopefully making 3D on the web another staple tool rather than a rare thing to behold.

Having said that, Unity is aimed at making it as easy as possible to get 3D out there on the web, desktop and other platforms, using JavaScript or C# and integrating very well with, free (Blender), low cost (Cheetah) or high-cost 3D tools (Maya). I can’t help but think Unity would be hugely successful if the IDE ran in Windows too (especially as it uses Mono), but I’ve read the reasons the dev team have for keeping it Mac only.

So all in all if you’re into 3D I’d pick up a subscription to this magazine. It completely encapsulates the grass-roots feel of the community, particularly with the regular snapshot of someone’s workspace, yet it remains professional and high quality throughout. Congratulations on getting this first issue out and I wish the magazine every success.

Like many other Flash devs I’ve been following the discussions surrounding the ECMAScript 4 decisions and the Harmony project quite closely. There are a few bloggers out there that appear to be stating that ActionScript will become divorced from the standards. To be honest only Adobe can decide that, but either way, that’s only half the story. In particular, it does not mean that ActionScript will not be able to inter-op, and that’s key…

Here’s a Google Spreadsheet containing the votes by Adobe, Mozilla, Google, Apple and most controversially Microsoft regarding the various features of ECMAScript 4, such as the notion of packages, new operators, and so on. So clearly everyone not in agreement, everyone with their own valid opinions and vested interests. And you can see already that there are rejections in the feature set of ECMA4 that AS3 has already implemented.

So does ActionScript 4 have to take a side step (and maybe a step backwards) to get in line? It doesn’t really matter. Whilst it’s nice to be able to jump between languages without having to change your mindset at all, it’s not a big deal. What is essential is that you can call functions and pass objects between those two VMs, or indeed, share the VM. And forgive me if I simply don’t understand enough about how this sort of thing works (very likely), but this is still possible.

Indeed right now we can very easily inter-op between the very old JavaScript 1.5 and ActionScript 3 via ExternalInterface. Yes there are limitations, but both environments (Flash and HTML) have many unique features and extensions that simply don’t cross the boundary very well. For example the HTML DOM (having said that you can still control it, see AIR), or in the case of Flash, cutting edge features like 3D, Adobe Pixel Bender (Hydra), or even simple Bitmap effects. Now I know these are not language features at all, but they are part and parcel with how we as developers use our language every day, and so there is no harm at all in having extensions that are unique to one environment, as long as they do not conflict with a similar feature of another. One example here is packages and namespaces… AS3 has them, it doesn’t look like JS will get them, but so what, as long as the code is similar enough to understand, porting code can be automated, and at the very least inter-op can still be easily achieved the fact that they differ is small fry.

Personally I would say the challenge now for Adobe will be to continue to develop ActionScript into a feature-rich language, whilst making sure it doesn’t begin to conflict with the ECMAScript standard it runs in parallel to. The nature of JavaScript following the committee-led ECMAScript standard means this is going to happen again and again, the process is simply too slow. Adobe (and now Microsoft) have set a new pace for the web.

I just caught this site via the blog of Iain Lobb (head of interactive at Bloc Media) who commented on my last post. It’s an incredibly slick site developed using the Great White branch of Papervision3D. The site is (for) a TV and online cartoon series, providing a nice cross media experience.

The main things that stood out for me were the production quality of the games and the audio which is very high quality and just as importantly, very well integrated.

Shock to the System

There’s a game for each episode, the “Shock to the System” game is the last item in the Episode 2 menu, and reminds me somewhat of Tron. (Speaking of which, Tron 2 looks like a must see!).

You can read more about the development of the site over at Iain’s blog. Congratulations on the great work.

I just visited the (new?) JavaFX site in order to keep up to date on how the new kid to the Flash/Silverlight/”Rich” block was doing, and I was presented with an interesting site indeed. Make sure to click some of the “Resource” links on the right to get the full experience.

The whole thing is built in HTML and JavaScript, with the odd Quicktime player for good measure. Unfortunately the site creeks along at 100% CPU with jerky transitions, ugly styling and flickering madness as the browser can’t figure out what to render, with Quicktime movie’s and HTML Divs strobing in and out of existence as you drag panels around. So far not a great impression given.

I understand it’s possibly too early for them to have built the site in JavaFX itself perhaps, given that the examples all launch using Java WebStart, that archaic and most user-frightening of technologies. But there are technologies out there that would do this job better and hopefully more successfully demonstrate a platform that is meant to be fluid, powerful and rich. As a result the site left me slightly frustrated as it potentially gets in the way of the information it presents.

So is this a successful demonstration of Sun’s new rich technology, or perhaps this site is a hindrance? I’m very keen to see how JavaFX fairs against such strong competition, for developers it is rarely a bad thing to have more choice. It’s particularly interesting to note that whilst Adobe have strong desktop and mobile offerings, and also server side counterparts in BlazeDS and LiveCycle; both Microsoft and Sun have also got -or at least have committed to having- full stack offerings that range from mobile through desktop and server; and having your various teams all talking the same language is quite a strong driver in choosing your technologies when human resource is the most expensive factor.

Visit JavaFX.com and decide for yourself.