Category Archives: Adobe

Peter Elst recently posted the Sneak Peeks session from the Adobe MAX conference this year. It shows some really good projects, that as the disclaimer strongly advises, may or may not be featured in future releases of the various Creative Suite software:

Serge Jespers presented Nitro, a platform to design, build and distribute Flash widgets ‘on multiple screens’ – i.e. multiple target devices. Intended to create a coherent work flow and end-user deployment environment of ‘widgetized’ Flash content.

There’s a nice demo of pulling a widget directly from a browser to the desktop, detected by the central Nitro widget ‘dock’ which simultaneously synchronised to a mobile device and television. If it’s even half as simple as the demo suggested, then delivering widgets recognised as solid portable, ubiquitous single-purpose applications rather than kitschy or novelty desktop ‘toys’ could very soon be far easier realised.

Meer Meer is a virtual laboratory of browsers, basically a Flex app that runs a variety of coded browsers (of multiple operating systems) on a single server and centralised into a one application. Integrated directly into Dreamweaver, you can render all your local files in each browser with one click of a button. Not only does it offer split-screen views, but an onion skinning mode to overlay browser images without the need of endless screen grabbing (as I currently do) if you play to the pixel. This makes my browser testing posts (1, 2) completely useless, excellent. :)

If none of that interests you, just watch Rufus Deuchler presenting Shai Avidan’s Infinite Images and Infinite Panoramas – I won’t even try explaining – you need to just watch, starts around the 55 minute mark.

Also featured was RTMFP Application-level Multicasting, which broadcasts live video with P2P-style distribution methods; Durango, a Flex/AIR framework to easily create mashup applications almost code free; LiveCycle services in combination with CS4; and running server-side Actionscript seemingly without Flex or Flash – the demo didn’t really work out.

I’ve recently started playing with Adobe Alchemy, a beta project for compiling C/C++ libraries into Actionscript.

I was having problems compiling the sample app – the GCC couldn’t find the Actionscript libraries and I was seeing a duplication in the path:

cc1 error: /usr/lib/alchemy/usr/lib/alchemy/avm2-libc/avm2/AVM2Env.h

I posted it up on the Alchemy forums and it would seem I wasn’t the only one experiencing this problem.

Turns out it’s an unnecessary Perl hack, in the hacks.pl script in the /alchemy/achacks/ directory.

Commenting out the following lines of the pfix function:

$p =~ s/(^|^-[-\w]+=?)(\/usr\/include\/)/$1${home}\/avm2-libc\/include\//;
$p =~ s/(^|^-[-\w]+=?)(\/usr\/)/$1${home}$2/;

and it stops the incorrect ‘fix’ of the file path.

Try again, and the SWC compiles. Who says forums don’t work? There’s a lot of excitement about this project, glad to see them so active.

Adobe recently beta released a new project codenamed Alchemy.

Alchemy is basically a research project that allows you to compile C and C++ code to run on the Actionscript Virtual Machine (AVM2), essentially, enabling you to utilise compiled C and C++ libraries, ‘as Actionscript’, in all your web applications:

Alchemy is primarily intended to be used with C/C++ libraries that have few operating system dependencies. Ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation.

It used to be called FlaCC, and was previewed at Adobe MAX last year. Although it’s not intended to produce complete applications, it can run up to ten times faster than Actionscript – although still slower than native C/C++ code.

The Alchemy site at Adobe Labs offers a promising ‘Getting Started’ guide with tutorials for Windows, Macintosh and Linux now that each platform – Flash Player 10, Adobe Air, the Flex SDK and the Alchemy toolkit – are all cross-platform and open source.

I decided to give it a go, working with my preferred development environment running on Ubuntu 8. However, in following the seemingly quite simple steps to compile my first library, I ran across a number holes in the guide and problems in the toolkit.

Alongside my efforts, Tim Crook tried the same on Machintosh.

Unable to get any success from Adobe’s instructions, we took following steps to get Alchemy up and (almost) running:

Set up your environment – make sure you have up-to-date versions of Java, Perl and GCC. Then download the latest Flex SDK and add the bin directory to your system path. If you’ve not done this before, you’ve basically two methods. Firstly get the path to the SDK, mine is at:

/usr/lib/flex_sdk_3/

Then, to add the bin directory for the current session, execute:

export PATH=$PATH:/usr/lib/flex_sdk_3/bin

Obviously change the path accordingly if yours isn’t in the same place. But you’ll have to do this with every new session you create, because the append is only temporary.

Instead, to add the path automatically you’ll need to modify your login script or bash profile – depending on your system. On Ubuntu 8, I add the above line to the end of of my bash startup file, which I find at:

/etc/bash.bashrc

There are different ways to add directories for various user types – whether for single or multiple users, for the root user etc – there’s a troubleshoot here. You can check whether either method was successful by calling:

echo $PATH

You should see the path appended – there’ll most likely be other directories listed too. Test the path and SDK by running:

adt -version

You should see output similar to:

adt version “1.5.0.7220″

Which is just your Air Developer Tool version number. You’ll need to restart the session if you’ve modified your bash script rather than modifying the path temporarily.

Then download and extract the Alchemy toolkit, again, mine is at:

/usr/lib/alchemy/

Run the configuration file by navigating to the folder using the cd command and execute:

./config

As you’ll be prompted, there’s a set-up that needs to be run every time you login. To achieve this automatically, open up the bash profile again and before the path modification add:

source /usr/lib/alchemy/alchemy-setup

If you’ve followed the ‘Getting Started’ guide – it’s all the same up until now, but here’s where we begin to differ. Restart your terminal session. As far as we found, you’ve no need to modify your path any further. To check whether the set-up did run successfully, turn Alchemy on and check which GCC you are using:

alc-on
which gcc

You should see something along the lines of:

/usr/lib/alchemy/achacks/gcc

The Adobe instructions say you’re now ready to compile one of the sample libraries. Navigate to:

cd /usr/lib/alchemy/samples/stringecho

Then run:

gcc stringecho.c -03 -Wall -swc -o stringecho.swc

And you should see some ouput. But I didn’t, neither did Tim – ours both die silently. :(

After a lot of head scratching a Googling we found a forum complaint that there are some bad symlinks in the current release of the toolkit – and we found them too. There’s two symlinks in /alchemy/bin:

llvm-g++ -> /usr/lib/alchemy/bin/llvm-gcc4-ubuntu-install/bin/llvm-g++
llvm-gcc -> /usr/lib/alchemy/bin/llvm-gcc4-ubuntu-install/bin/llvm-gcc

These go nowhere, so created new links to the correct compilers as follows:

ln -s /usr/lib/alchemy/bin/llvm-gcc4-ubuntu-install/bin/g++ llvm-g++
ln -s /usr/lib/alchemy/bin/llvm-gcc4-ubuntu-install/bin/gcc llvm-gcc

Then try again.

For Tim, success – for me, not so much.

There’s obviously something in the Linux toolkit that’s not in the Macintosh version. Amongst the output I do get though, is the following line:

cc1 error: /usr/lib/alchemy/usr/lib/alchemy/avm2-libc/avm2/AVM2Env.h

So it’s another path issue somewhere that’s causing the duplication – I’m just yet to locate it, or find a way to resolve it. I’m working on it.

This whole project could be incredible, Adobe are strongly encouraging developers to share ported libraries and support the open source ethos.

If anybody has run into the same problems as I, or even fixed them – get in touch!

Update (03.12.08): I’ve since found the fix.

A couple weeks back I spoke about Adobe’s possible development on a new Flash platform for the iPhone.

This week the Guardian has an interview with Shantanu Narayen, Adobe CEO, offering some comments on Apple’s position:

“Everything that goes onto the iPhone when it’s shipped needs their cooperation. What we really want is Flash built as a plug-in to Safari on the iPhone. But it’s working; I’ve seen demos of it.”

Hopefully then there’s more promise in the idea rather than just being the product of the rumour mill that it almost looked like before.

As the article says, it would be a significant turnaround for Apple. If the device supports the Flash plug-in, it could potentially offer a future implementation where iPhone applications can be developed in Flash. I know it’s an intimidating task for web developers to look at programming Cocoa and Objective-C.

His comments aren’t the main focus of the interview though, Narayen instead airs his views that Microsoft are muscling in on Adobe’s online video market, accusing them of ‘opening their checkbook’ in a failed attempt to convert companies from Flash to their new Silverlight player.

I’ve not developed with Silverlight, or really have any pressing desire to – and the most recent Flash vs. Silverlight stats probably point to not having to for the majority of clients any time soon, either. The latest statistics post Flash video at an 86% market share against Silverlight at 13% (though US based).

It’s no coincidence that Microsoft released Silverlight 2 so close to the Flash Player 10 launch last month. But can it compare? Some people love it, others are undecided - but if anything, Silverlight need to stop losing big companies. BBC have changed to Flash, NBC quite notably for their NFL coverage too.

Then last week, the New York Times reported:

A Microsoft official cited on Tuesday improvements planned for the company’s Silverlight platform for rich Internet applications, including intentions to run Silverlight applications outside of a browser.

If Microsoft want to get competitive with Adobe, they need to do this – assuming of course they maintain cross-platform support. Then they really can go head-to-head.

They bring with them a mass of .NET and WPF developers. Breaking out the browser, with these, could potentially shadow Adobe AIR in the desktop RIA market – which is still relatively basic in it’s file system and native platform/OS integration.

It would seem the time has come. Paul Betlem, Senior Director of Engineering at Adobe, ‘confirmed’ earlier this week that Adobe are developing a Flash Player for the iPhone. It’s left the Flash community buzzing since the announcement was made at Flash on the Beach on Tuesday.

As a rumour, it’s been bounced around the Web for a while now (1, 2, 3), and Serge Jespers implores it’s nothing new. Perhaps it’s simply the next logical progression in the growth of the iPhone, or an inevitability in attempting to cure Steve Jobs’ Goldilocks syndrome.

His is a stance is one I can completely understand, I agree with the quote Mike Downey finds from Shantanu Narayan, Adobe CEO, in his belief that Flash is synonymous with the Internet. Poor support in the restrictions of Flash Lite could spoil the (otherwise, almost faultless) iPhone experience, or otherwise not be worth the effort that would be involved in it’s integration.

If this does come to fruition, I doubt it’ll be an upgrade for the current second generation iPhone anytime soon, it would certainly be too CPU intensive for it’s predecessor.

Sarah Perez at ReadWriteWeb though, asks a different question – Do We Care?

Looking at the comments and the poll results, apparently we do. Personally, I think it could offer almost boundless opportunity for current Flash developers.

Diggnation this week covered a story of rags-to-riches, posting the iTunes App Store as virtual gold mine for indie developers. Steve Demeter, developer of $5 iPhone game Trism, announced he made $250,000 in profit in just two months. The immediacy and simplicity in getting your application visibility on the app store means any project, like the effort from Demeter’s four-man crew, can contend an equal playing field – an ‘exciting new landscape’ as opposed to today’s overcrowded world of dot-coms, as the article puts forward.

Cut loose like a deuce another runner in the night.