March 19, 2008

Flash on iPhone after all?

Filed under: Adobe,Flash — Steve @ 11:48 AM

Writing about web page http://www.macrumors.com/2008/03/18/adobe-bringing-flash-to-the-iphone/

The plot thickens. I really must get out more…

Adobe made comments today that they will be delivering a Flash client for the iPhone. According to Adobe’s Chief Executive Shantanu Narayen, Adobe has downloaded the iPhone SDK and is planning on building a Flash Player for the iPhone and distributing it via Apple’s iTunes App store.

Which is a bit confusing – wouldn’t an application created via the SDK have to run in standalone mode, rather than as a plugin to Mobile Safari? Also, now that Safari 3.1 is out and contains support for video tags and CSS animation/webfonts, I think it’s fairly clear that Apple has its own view on the future of rich web apps, but unless they’ve sorted out the over-zealous font-smoothing (especially on Windows) I’ll stick with ‘slow’ Firefox.

March 11, 2008

April Flash Player Security Update

Filed under: Flash,Flex — Steve @ 10:27 AM

Writing about web page http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html

This is just a heads-up for myself really – there’s a Flash Security Update coming in April, and one of the changes might affect any uploading functionality we intend to use because we’ll need a policy file to POST and GET with additional headers:

The April 2008 Flash Player update adds a new security feature to perform a cross-domain policy file check before allowing SWFs to send headers to another domain. This change helps improve web site security by helping to defend against malicious HTTP headers sent by content from other domains. The feature will also help to mitigate a potential UPnP issue (VU#347812) in which routers fail to correctly handle unexpected header values. In order for a SWF to send a header anywhere other than its own host, the origin domain of the SWF must have explicit permission from the host to which the header is being sent, in the form of a policy file. The existing policy file model will apply, with the same file locations and ActionScript APIs, but a new syntax will be required. To specify header-sending rights, use this new tag:

<allow-http-request-headers-from>  
.

March 6, 2008

Scoble on Adobe/Apple spat

Filed under: Flash,Flex — Steve @ 11:51 PM

Follow-up to No Flash Player for iPhone? from [Ux]

I knew there was more to it than performance, and while much of the iPhone SDK stuff was genuinely impressive, now I think I was right to say that Apple wants complete control over its vertical sales model. However, multitouch games on iPhone, Spore, EA, Sega, OpenGL, Exchange server support, Cocoa Touch; awesome moves. And with the Nokia S60, tie-in MS is using every available resource and tactic at getting Silverlight adopted. Despite the release of AIR and Flex last week I think Adobe has to move fast to ensure its product line remains dominant. Heady stuff.

On a related note, some people have suggested that Apple is holding onto its $multi-billion reserves in order to commence a takeover of Palm or Adobe. I particularly liked the suggestion that if it took over Palm, they could rename the company Pomme (it’s all in the pronunciation).

March 5, 2008

No Flash Player for iPhone?

Filed under: Flash,Flex — Steve @ 11:11 PM

Writing about web page http://www.appleinsider.com/articles/08/03/05/steve_jobs_pans_flash_on_the_iphone.html

It looks like the iPhone won’t be seeing any Adobe Flash action anytime soon if Steve Jobs’ recent words are anything to go by – I’m not expecting to see any support in the iPhone SDK announcement. Battery life and performance are valid concerns of course, but there many ARM devices available that offer FP9 already (many with lower core specs than the iPhone), and I think there are other factors at work here – one reason might be that because Flex delivers rich applications, enabling Flash Player would essentially enable ‘unsigned’ RIAs to run via the Player. I can’t imagine applications designed for the web scaling well on an iPhone anyway, but you could imagine Flex apps designed for the iPhone screen that offered a similar experience to the native UI. Shoring up Quicktime, HTML5 (when it finally gets here) and WHATWG all probably play a part too, but I think for iPhone users it’s a shame Flash isn’t there – advertising aside there are many great games, application and video sites iPhone users can’t access.

February 28, 2008

Mobile development: moving targets

Filed under: Development,Flash — Steve @ 12:26 PM

Based on an enquiry about video and audio streaming from a mobile phone recently, I was researching what’s available last night and came across www.qik.com. Qik’s platform allows ‘real-time’ streaming (it looks like there’s a transcode to Flash video happening somewhere – ‘near real-time’ might be more appropriate) from a phone to its web site. At the moment the Qik system is available on a few Nokia phones, with additional handset support being added as time goes on.

Whenever I’ve looked at mobile development in the past, it’s been focused on Flash, and I’ve always concluded that the support was either too patchy and that as phones become more capable, the mixture of Flash Lite and ‘full’ Flash 8/9 made it difficult to identify which one to target for maximum coverage and future-proofing. Sara’s recent work and research for Warwick’s mobile site also threw up some interesting issues; when I looked into support for the top ten phones on that list, Flash support was either non-existent or a fairly even mix of the two. Flash Lite or Flash are no good for this kind of application anyway; Flash now supports video on mobile, but only for playback. For capture you need access to the system APIs, and Flash doesn’t have those kind of privileges. For application and system-level access, Java/J2ME or C++ are generally the only option.

Nokia has a good developer site (Forum Nokia), so I thought I’d have a look at what’s needed to write a small application that grabs video from the device and streams it via RTSP. It’s at this point the platform variation problem became apparent again. Even for a single manufacturer (albeit a big one like Nokia) there are a number of platforms and entry points (Symbian, Maemo, Python, S60, S40, S80, Flash Lite, Carbide etc.) which means having to choose from a long list of SDKs and carefully identifying your target device/s, before getting started. Once you’ve done this however, it’s relatively easy to get your chosen SDK into Eclipse (including a nice emulator for testing) and start writing, and I had something basic written quite quickly.

I have no prior experience of mobile application development whatsoever, so I may be completely wide of the mark in saying this, but what strikes me from looking at the Nokia Developer information is that mobile development consists of a high number of constantly-shifting targets. I guess once you’ve written an application for a platform or target device it’s likely that porting it over isn’t difficult, but actually getting started seems to require that you narrow your choice down to a relatively small subset of devices and start there, then work your way across/through your list of target devices, hoping the next generation isn’t too far removed from the current one and doesn’t arrive before you’ve finished. Qik appears to be doing just that, adding devices as quickly as it can port its application, but for a (currently) limited use-case such as mine it seems like a lot of effort. Maybe Android fixes some of this, but then you’d only have to start learning the iPhone SDK as well. Sigh…

February 25, 2008

Flex 3, Air 1.0 and Adobe Open Source

Filed under: Adobe,AIR,Flash,Flex — Steve @ 7:36 PM

Adobe announced a trio of important new products today; AIR is now 1.0 and ready for download, and the Flex 3 framework and Flex Builder 3 development suite were released at the same time. There’s also a new site showcasing the open-source frameworks (FlexSDK, BlazeDS and Tamarin). It looks like Flex Builder 3 will be free for education users, just like Flex Builder 2, but as yet the application form hasn’t been updated.

February 24, 2008

‘I hate Flash ads’

Filed under: Flash — Steve @ 9:31 PM

Writing about web page http://arstechnica.com/journals/apple.ars/2008/02/21/adobe-employees-say-they-know-nothing-of-flash-on-iphone

No Flash means fewer ads. This is a very good thing indeed.

Erm, no it doesn’t. I swear these people actually believe that Flash is solely responsible for the existence of advertising on the internet. Listen up: once Silverlight and HTML5 get here, all those animated ads you can currently (and easily) block with FlashBlock are about to get even more annoying. Wait until DHTML ads properly arrive and you have DIVS flinging about about all over the page, and then remember the days when annoying advertisements stayed in their little square boxes. Flash isn’t just web advertising, and web advertising doesn’t need Flash to be annoying.

Sheesh.

February 13, 2008

AS3 Yahoo Maps API

Filed under: Apis,Flash,Flex — Steve @ 10:25 PM

Yahoo has just released an Actionscript 3 API for Yahoo Maps:

The all-new Yahoo! Maps component for Flex 3 enables you to add a map to a wide-range of web and desktop applications. Included in the API is support for other Yahoo! APIs including the geocoder, local search and traffic APIs along with an advanced marker and overlay manager to allow you to easily represent data on the map. Using the YahooMap component in your Flash, Flex, Ajax or AIR projects gives you the ability to develop anything from a simple map mash-up to full application utilizing Yahoo! Maps.

Adding maps to your project is as easy as importing the SWC to your Flex project, then adding the YahooMap class:


import com.yahoo.maps.api.YahooMap;
var yahooMap:YahooMap = new YahooMap("myMap", stage.stageWidth, stage.stageHeight);
this.addChild(yahooMap);

YahooMaps SWC
API Documentation

Flash debug player reinstallation

Filed under: Adobe,Flash,Flex — Steve @ 8:59 AM

Writing about Flash player issues from Blogbuilder news

We’re having one or two issues with the 9,0,115,0 version of the Flash Player at the moment, and it reminded me that I was going to post something about re-installing the Flash debug Player. If you are using Flex, updating the Player via the normal mechanism will overwrite your debug player and prompt the compiler to warn you that it can’t connect to the debugger.

There are a couple of ways to fix this – the Flex install has a copy of the player under its /configuration/player directory – just reinstall this version over the existing one. A better solution is to grab the latest debug player from the Adobe Developer site, that way you’ll have the most up to date version.

February 8, 2008

Flex/Cairngorm custom event problem

Filed under: Flash,Flex — Steve @ 11:59 AM

I came across a problem yesterday where I was using CairngormEventDispatcher to dispatch an event each time a button was clicked. I defined a Cairngorm event instance then triggered it on the click event:


import uk.ac.warwick.recorder.control.StopEvent;
private var myEvent:StopEvent = new StopEvent();
<mx:Button id="stopBtn" label="Stop"
height="25" width="55" click="CairngormEventDispatcher.getInstance().dispatchEvent(myEvent);"/>

Which seemed to work fine, until I pressed the button again, at which point the debugger threw this exception:

TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@91ce331 to com.adobe.cairngorm.control.CairngormEvent.

The reason for this is that Flash creates an internal clone for an event that has already been dispatched, and importantly the redispatched event is no longer a Cairngorm Event, it’s now just a Plain Old Event. This is true for any custom event in Flex/Flash. One workaround is to generate a new instance of the event type each time it needs to be dispatched, like this:

import uk.ac.warwick.recorder.control.StopEvent;
<mx:Button id="stopBtn" label="Stop" height="25" width="55" click="CairngormEventDispatcher.getInstance().dispatchEvent(new StopEvent());"/>

There are other ways to do this, including overriding the event clone method, but the above solution worked for me.

« Newer PostsOlder Posts »