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.
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.
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.
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.