Skip navigation

Category Archives: adobe

Last month I talked about Ted Patrick‘s “Facebook on The Flash Platform“, an Adobe eSeminar discussing development with the Facebook API using Flash. In particular, I pointed to an open source Actionscript API library to work with in the absence of Facebook themselves offering ‘official’ support as they (then) did only for PHP and Javascript development.

This week though, Adobe and Facebook announced a partnership they’d managed to keep neatly under wraps and have now released a new official open source client library for Actionscript 3.

This joint effort is intended to be a complete resource supporting all Facebook APIs, including Facebook Connect, for all Flash and Flex applications for Facebook.

Over on the Adobe’s Facebook Developer Connection, Adrian Ludwig (Adobe) and Josh Elman (Facebook) talk about the library and the partnership. There’s also documentation, example applications, quick starts, inspiration and code.

Adobe Flash Platform - Facebook Platform | Adobe Developer Connection

In his post, Serge Jespers points to a nice quick start by Danny Dura that uses the library to set up a simple connection to Facebook in about ten minutes.

You can tell both Adobe and Facebook are excited about this, adding social elements to games, user experiences or interactions makes them endlessly more engaging, it almost goes without saying. But now that these experiences can be as easily enabled – and in my opinion, enhanced – by Flash, I hope will prove to facilitate some great applications.

It’s equally beneficial for Facebook and Adobe. It means even more applications for the Flash platform and an easily entry point for yet another set of developers to integrate with the Facebook API.

And to help kick that off, Rich Tretola at InsideRIA has announced a new series of articles covering development with the new AS3 library, authored by Mirza Hatipovic – an ambitious 20 articles, from a simple Hello World to advanced PHP and database-supported applications.

I’m particularly looking forward to seeing and playing with the Facebook Connect API – not sure if InsideRIA will cover these – but hopefully whatever I do get up to, I’ll get round to writing about.

Advertisements

Another really cool thing Lee Brimelow spoke about at Flash Camp on Thursday was his London edition of the ‘Master Collection dead drop’.

As he did in Amsterdam and Boston before that, Lee hid a copy of Adobe CS4 Master Collection (worth almost £2,000) in an anonymous location in London and left a string of complicated clues and puzzles for anyone willing, to try and decrypt them.

London CS4 Master Collection dead drop

Yesterday Lee posted a video walkthrough, explaining how all the pieces fitted together. It’s quite complex – here’s how it went:

1. Lee posted an article explaining the dead drop had begun, hiding an unstyled link in the final full stop of the paragraph that this to this wav file.

2. As you might think, it wasn’t just noise – using an editor like Adobe Soundbooth you can see a spectral view of the file where Lee had written in a URL and ‘LEE FLASH’ into the sound levels using Adobe Audition.

Spectral view in Adobe Audition

3. At that URL, enter the username ‘LEE’ and the password ‘FLASH’ you’ll find GPS co-ordinates (51.508034630224635, -0.13934612274169922) and told to ‘Get a coffee and look out the window’ – and there are three form fields to fill in.

Looking out the window - Office To Let phone number

4. This location is a Starbucks in Picadilly, looking out the window you’d see an ‘Office to let’ sign – the phone number of which (020 7935 1653) goes in the above form.

5. That’ll give you a link to an AIF sound file, a flat tone. In spectral view isolate and remove that tone and amplify the very faint remains – Lee reading a link to an image file.

Bush

6. The image was of a bush, zooming in very closely with an image editor like Adobe Photoshop reveals some more GPS coordinates hidden amongst the grass (51.502250, -0.137883) – which is the actual location of this bush in St. James’s Park.

7. Inside that bush was an envelope with another URL and login credentials, which took you what looked like an Apache 403 error, but in fact was a SWF file.

8. When decompiled, this SWF file had an unused image in its library – a satellite image with more co-ordinates in St. James’s Park (51.50635, -0.142883) – the location of the software.

I thought this was brilliant!

The video going through all the clues on his blog is worth a watch – the best dead drop yet.

Ted Patrick has posted a recording of his Adobe eSeminar “Facebook on The Flash Platform” that he presented last Thursday.

Josh Elman, Facebook Platform Project Manager, joins him – offering a little technical history and strategy behind the application platform and Facebook Connect also.

Facebook on The Flash Platform

It’s a good introduction to building Flash applications using the Facebook API. It’s clear that building on the Facebook platform grants developers an equal opportunity to create powerful and successful social experiences.

As Ted and Josh describe, by utilising Facebook users’ social contexts and by the ease of which you can distribute through the social graph, applications can generate a huge amount of traffic – and as Josh puts it, developers can profit wildy. 😉

Ted gives a simple overview of the architecture of a Facebook application, the various application states and talks about FBML, Facebook’s XML mark-up – and shows how to build a simple single-component Flex application that really demonstrates how easy Facebook have made the information retrieval possible via the API.

The Q&A is worth listening to (it starts around 37 minutes), Ted and Josh discuss important development aspects outside of the actual coding – how hosting is managed, handling session keys and such.

But Ted also points to a promising looking Actionscript library designed for Facebook application developers, simply called The Facebook Actionscript API – which definitely sounds worth checking out (no pun intended).

As yet, Facebook only ‘officially’ support their PHP library, but continue to work with developers in the community to support the other languages. Josh claims this will only improve over the next couple of months and through the year – hopefully (it sounded) to develop similar ‘official’ library counterparts.

Ted’s also posted his Facebook on The Flash Platform sample files.

Yesterday I visited Flash Camp London ’09, an all day community-run Adobe sponsored event on all things Flash Platform.

Last September I attended Flex Camp ’08, (essentially the same, but obviously focused on Flex) so I expected much the same – cool demos, sneak previews, maybe some insight to what Adobe have in the pipeline for the future – and got pretty much exactly that.

Flash Camp '09

Serge Jespers‘ opening keynote held a lot of optimism and promise for the future of the Flash Platform, quoting the huge number of downloads to date and pointing to the constant growth in market share that the Flash Player and AIR are enjoying – throwing in a couple of digs to the various doubters in the sums while he was at it.

He spoke about the Open Screen Project and Adobe’s ongoing aim to achieve a level of open portability across multiple platforms – not only in the browser and onto the desktop, but to mobile devices too and television platforms. On the subject of the mobile platform, he discussed prototype versions of Flash Player 9 (and 10?) running on a few devices he had to hand (though unfortunately no demo) and expressed Adobe’s wish to have those ready for manufacturers by the end of the year, with intention to have them consumer ready for the end of 2010.

Seb Lee-Delisle was first up, showing off some of the Papervision work he’d recently completed with his agency. He also had some nice demos of the augmented reality tutorials that have been going around lately. These usually use nice applications of the ARToolKit, but Seb pointed to a Flash port I hadn’t yet come across called the FLARToolKit. Presumably with which, you have full control via Actionscript. The Papervision blog has a pretty cool example of the kind of things you can achieve with it.

Next up was Michael Chase, Senior Creative Developer at AKQA. He presented his latest work, Nike Football, which involved a lot of work with Pixel Bender – the new video processing and visual manipulation platform available with Flash Player 10.

Pixel Bender is a non-destructive way to manipulate the pixel data of images and videos by means of developing bespoke plug-ins that function in Flash in a similar way to the various visual effects and filters do in Photoshop or Illustrator.

He demonstrated the Pixel Bender Toolkit, the GUI software used to create these filters. It’s purposely almost identical to every other program in the Creative Suite. Adobe are really pushing for seamless integration across the whole family of software for creators – the vocabulary, workspace, tool sets – all feel very familiar.

For the Nike site, Michael basically developed one filter for use across all video and image content. This seems straightforward enough, but it’s an brilliant advancement only made possible by using Pixel Bender. This way, there’s no need to render of every piece of video with the filter on – or subsequently re-render when the filter is inevitably tweaked (which, of course, could only be the case if permission was given to manipulate supplied video footage in the first place). It also means the video filter doesn’t have to be designed by a creator skilled in After Effects or other video editing software – as said, the Toolkit handles very much like Photoshop, which most designers are fluent in – I think Michael said you could actually use Photoshop to create filters anyway.

It also means you can change the single filter once and apply the changes to all the assets rather than having to edit every piece individually – and as he suggested, not having manipulated the source material means the un-filtered source can be reused elsewhere. And of course because it’s just Actionscript before it’s compiled, the whole plug-in script can be manipulated by a Flash developer.

It was good to see this in use, I’d only really seen the default demo ‘Swirl’ effect that a lot of others there also seemed only to have seen (I’m not sure of the real name). That ‘swirl’ is so drastic it seems to have no possible use case, so I’d not really considered Pixel Bender since. Here though its use is subtle, well executed and well placed – I’ll have to give it a go.

Mike Chambers then discussed ‘Scripting with Actionscript 3.0’. Though relatively well-covered territory for the developers, he set about debunking popular misconceptions of Actionscript 3, going through the benefits of migration and giving some examples.

He started with a little background on the new Actionscript version, discussed how the Flash Player was hitting the limits of performance that AS2 could achieve, that Actionscript 3 was heavily driven by the need for application development – which by that point a lot of (the now) RIA developers were forcing into Actionscript 2. They also had Flex in mind.

As I agree with him, ultimately, AS3 isn’t that different to AS2, but it is just different. It’s not harder, or ‘slower’ per se. On a language level, the syntax is still simple and very much the same – it’s the APIs that might present more difficulty for those migrating. The APIs in Actionscript 2 grew organically, expanding where needed, but unfortunately did so inconsistently. It’s that realignment that’s a larger change to overcome.

Arguably, any developer with OOP experience, where consistency is promoted, wouldn’t struggle. He suggests that learning Actionscript 3 is future-proofing yourself for new languages that will be far more digestible now that Actionscript contends as a stronger language.

The Timeline is not Evil!

With that in mind, he did admit that the way Adobe present Actionscript 3 can be somewhat intimidating to those without that kind of basic knowledge. The documentation is very much aimed at developers – the code examples are in class and package structures, assuming programming experience where the previous help documentation never did.

Timeline coding is still possible, easily, but it isn’t documented anywhere near as much as class structured code. With one or two caveats, it actually works in almost exactly the same way.

As well as the ‘future-proofing’ mentioned, Actionscript 3 heralds a whole load of other advantages. It’s more verbose (probably where the argued ‘slower development process’ claim lies) but in that, offers better debugging – the compiler can be set to be more strict and to detect errors earlier, even – and it’s also the language for new libraries and APIs (think Papervision, Alchemy, the many tweening engines) both from Adobe and efforts from the community.

Richard Dean presented his work on the EA Spore microsite, specifically his efforts built using the Inverse Kinematics and 3D of Flash CS4 – demonstrating some nice timeline-based animation effects, the use of the new ‘Bone’ tool to build character skeletons (more about this later) – as well as some handy tips and best practices.

James Whittaker‘s presentation ‘Your First Custom Chrome AIR App With Flash CS4’ delivered exactly what it said on the tin. He offered a walkthrough on how to build your first AIR application, how to design a custom chrome and the various provisions that must be made in doing so, up to publishing an AIR application file and customising the various settings in the new CS4 GUI. He also spoke about handling icons, digital signing, then creating a nice installer badge at the end. His presentation files are already up online.

Lee Brimelow had a huge amount to say about the new CS4 version of Flash – apparently trying to cram a whole day session into his 45 minute slot. He spoke about the new animation model in Flash, how it’s more like After Effects now – again, the overlapping of software uses in the Creative Suite – how even the timeline in the standard workspace is at the bottom of the screen, more along the lines of video editing software.

So much more of the animation process is automated now, to great effect. Motion paths are automatically constructed, even for simple tweens. The path can be treated like any other line in Flash thereon, allowing curvature, adjustment of Bézier angles. Adding a keyframe and point in the middle of a tween no longer creates an awkward corner, but a curve to compliment the original motion path.

There’s far more control. The tween itself is handled as a unique object, so moving or resizing or changing the length of an animation is much easier and also independent of the clip being tweened – there’s no more clumsy attempt to select multiple frames to modify a complete tween.

Again there was demonstration of the native ‘3D’ in Flash Player 10. Lee couldn’t emphasise enough though, that these is intentionally simple 3D effects for transitions and such – not for full 3D immersive environments, for which he recommends to look to Papervision or similar. When the 3D tools are in use though, it’s seamless. There’s a tool to rotate by the Z-axis as simply as there is one for the 2D axes – in doing this, Flash starts to look like 3D rendering software.

These renders are possible because of the ‘notorious’ inclusion of a constantly-running Flash Player on the stage – it’s how Adobe have addressed differences seen in author-time to run-time. In having an constantly running instance of the Flash Player, there should be far fewer discrepancies – although, as they are fully aware of – is a memory hog.

Lee also pointed out the code snippets panel Flash CS4 offers – something I thought Mike Chambers would have mentioned. They’re basically small templates of handy bits of code that anyone unfamiliar with Actionscript (or Actionscript 3, for migrating developers and designers alike) to add common bits of functionality – mouse or frame event handlers for example.

Again we saw Inverse Kinematics – these are great for character animations and (I think perfect) for mocking up prototypes when realistic proofs are required but perhaps the resource isn’t available to fully code them. They’re very quickly put together but equally very effective. Simply constraints applied to skeleton joints create faux-physics that look very convincing. Have a look here if you’ve not seen these in action.

All of that is possible with zero code. Also, all the drag-drop manipulation possible at author-time can also be translated for the user to play with at run-time with the tick of a box – still, with no coding.

Finally Lee demonstrated the new motion editor, which has also has given a huge amount of control to the author compared to what was available before. The complexity of a tween (whether an ‘x’ position or alpha value or whatever) can now be broken down into multiple channels of manipulation.

For example, previously the complexity of control over a tween was determined (and limited) by the tweening graph. This remains, but now different types of easing can be applied to the different parameters within that graph. Say a clip was moving diagonally across the stage – the horizontal movement could have an ease out whilst the vertical direction may have an elastic easing (or obviously any combination). All the tiny tweaks and nuances to animations that couldn’t be easily achieved in previous versions of Flash, or even those only achievable by code now look entirely possible on the timeline at author-time. Lee’s tutorial is a must-see.

Finally, Serge returned to discuss ‘Flex workflows with Flash CS4’. He demonstrated some good techniques in working across Flash and Flex within single projects – firstly how to use Flex metadata tags in Flash, then how to create classes using the Flex SDK and compile those as Flex Library Projects to use as SWC files within Flash (and the Flash CS4 use of SWCs is so much better – adding files to the library rather than to the classpath list) – then likewise compiling components in Flash to handle in Flex. The latter also maintains coded methods on the Flash components that can be handled within the Flex projects, easing the workflow between Flash and Flex developers no end.

Similarly, to ease the workflow between developers and designers (and as I thought would get a mention), Serge ended by demonstrating Flash Catalyst (previously ‘Thermo’). He created Flex components from Flash graphics, multi-layered PSD files and Illustrator assets – all of which generated MXML code that a developer can play with later.

All in all, a great session – Chester and the guys were never going to disappoint. 😉

Various content online can be found in a number of places if you look for the ‘flashcamp_uk’ tag – there’s a whole heap of conversation on Twitter, I expect photos on Flickr and videos on Youtube and Vimeo will surface soon enough. I’ll also put up links to presentations files and source code as and when they find themselves uploaded online.

Update (09.03.09): Serge now has a video tutorial over on his blog demonstrating how to use simple Flex Library Projects in Flash.

Exactly how search engines deal with the content of Flash-based websites and information in SWF files has notoriously been a bit of a grey area for a long time. Historically, website creators had to battle with clients as to whether the aesthetic potential of Flash was enough a pay-off against their judgement of the importance of this new idea called ‘SEO’.

In July of last year, Adobe announced a collaboration with Google (1, 2) and Yahoo! to develop a new Flash Player technology specifically to enhance the search results of dynamic content in Flash – ultimately, to make the SWF searchable.

But it was unclear how it worked, what it actually did and what provisions the Flash developer or content creators would have to make.

Peter Elst aired his thoughts and agreed as I did, it looked like a ‘backup’ or intermediary solution. There also lacked a standard or recommended approach to deploying the content for this new technology – presuming this new platform hadn’t just become instantly intelligent to all possibly methods of delivery.

Adobe later published an FAQ, but still it wasn’t very technical, so a few developers started experimenting. After seeing Peter’s attempts, Ryan Stewart announced a Flex SEO Contest – an outright declaration that we’re confused but determined to find out what exposure our content has. As well as being a bit of fun. 😉

Dominic Gelineau constructed fourteen test cases, essentially finding every possible way you could contain a simple text string in a SWF file (see 1 – 7 here, 8 – 14 here). He used both static and dynamic TextFields, populated them in various ways, MXML components, standard Flash UI components, whether to use states, etc – covering all the bases across Flash and Flex.

Initially he concluded Google wasn’t really finding anything new, but in a later article for InsideRIA he listed his principle observations:

  1. Most of the content that was on the stage/timeline at compile time would be indexed even if it was outside the viewing area.
     
  2. The TextArea, Text, ViewStack and custom MXML component in Flex would get indexed if they were in the MXML (the Flex equivalent of being on the stage) but the Label component would not.
     
  3. Until October, SWF files embedded in the HTML using JavaScript (SWFObject, AC_RunActiveContent, etc) could not be found on Google.
     
  4. Again until October, anything related to the ActionScript 3 method addChild would not get indexed. As an example, adding a MovieClip from the library with static text in it using addChild method would not show up in Google’s search results. In the same way, using states in Flex wouldn’t work. My guess is that since states uses addChild in its MXML syntax, once compiled it would get converted to the addChild method in AS3.
     
  5. Finally, any content loaded externally from the embedded SWF file wouldn’t get indexed, but was clearly stated by Google.
     

Fortunately, Jim Corbett, Flash Player Engineer at Adobe offeres some much-need clarification, answering many of these questions at the Adobe MAX conference this year. The video can be found at Adobe TV, (I’m having problems embedding it with WordPress) – it’s lengthy, and gives a good insight into the Player’s search mechanics.

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.

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