Embedding Fonts part 3

I ran through this one more time today to get this ironed out once and for all. Seems folks are still having issues identifying fonts and targeting them for use in sub movies from externally loaded libraries.

I’ve attached a .zip with two FlashDevelop projects which uses the FlexSDK to compile. You should really be using FlashDevelop if you’re on a PC — it’s bar none the best IDE for Flash out there. If you’re on a Mac, you can use FlashBuilder which does much of the same thing but is missing a few key features that I really love about FlashDevelop. It’s the only reason I still use a PC over a Mac.

Okay, here’s the run down on how I built out the pieces:

First there’s a project called ‘FontTester.as3proj’ that compiles a simple font library swf. There are two embeds in that file and in the constructor it registers those fonts for use by the static Font class. They should already be registered but what I’m doing is forcing it to redo the action in the parent swf when it loads this swf file.

Compiling this project generates the file ‘FONTLOADER.swf’ in the bin.

The second project (‘FontEmbeddingAS3′) is the shell app that will load the library swf and take all the fonts from that swf and make them available in the shell:

First thing I do is make sure everything is loaded and ready.

Then I load the library swf and wait for it to load.

Next is the great part; in the function fontsloaded I enumerate the fonts that are now registered in the system and reregister the fonts in the current application domain so that they’re available for the current domain to use.

This happens in the very terse line:

Font.registerFont(e.currentTarget.loader.content.loaderInfo.applicationDomain.getDefinition(f.fontName) as Class);

You’ll need to do this in a level that is accessible by the current application domain. If you find that the fonts are not showing up in a specific domain level you’ll need to repeat this process there.

For example, you’ve created a movieclip at some point and are attaching text fields to the movieclip. If your creation happens before your loading and attaching the fonts (always possible in an asyncronyous environment) fonts will fail to be available. Timing is everything so to ensure that the fonts are ready you really should put your font library loading as a first step before your application launches.

Here’s the source:

Find unicode ranges here. I’ve got part of the line commented out for the setting of unicode ranges for example.

For non latin fonts you’ll need to use a non latin font for embedding (arialuni.ttf for example). Luckily in Flash 10 this isn’t an issue any longer but it does come up occationally.

Here’s the FontEmbeddingAS3 source.

Posted in Uncategorized | Comments Off

My own view on Steve Jobs letter to Adobe ‘all your bases are belong to us’

I took a bit of an offense to father Jobs trying to explain the reasons why we don’t deserve free games and such on Apple devices. I totally get that they want to make as much money as possible and will sue or crush any possible competitor to the extent that law allows and bad patent overview enables. They threaten and bully all their ‘friends’ with all kinds of litigation to protect their so-called intellectual property.

Apple has a long relationship with Adobe…

In general, this has nothing to do with Flash, as Flash was developed by Macromedia for at least 10 years and Adobe has only released 1 full version of the flash player since acquiring flash from their purchase of Macromedia. How does the technology actually relate to the relationship with Adobe in the long term?

I wanted to jot down some of our thoughts on Adobe’s Flash products so that customers and critics may better understand why we do not allow Flash on iPhones, iPods and iPads. Adobe has characterized our decision as being primarily business driven…

Which is true. Flash has been on mobile devices longer by four years than the IPhone OS. One of Apple’s biggest threats to their animated ‘look’ has been the multimedia model that flash brings to the other mobile devices in the market. Apple has built their devices around OpenGL (or their proprietary version of it in any case) for rendering the user interface, but the majority of their creative direction was defined by what was already happening on other devices in the market (with the Flash Lite player on many standalone devices and Microsoft already coming up with some pretty interesting touch interactivity that had much of the interface feel and interaction that the Iphone OS incorporates. The only creative thing Apple did was take the Microsoft Surface prototype interface and replicate it on a mobile device.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

I agree that the flash player is a closed product, but the flash format specification is open and you can write your own player for any device without having to use the Adobe sanctioned one for support of much of the abilities that the swf file format brings to the table (as long as you clean room it or license it for use on your device). You can choose to build a swf using an opensource SDK and opensource tools to build and deploy your applications. Where are your open source SDKs, tools, IDE’s and environments Apple? Last time I checked, to be able to build an IPhone app you needed to buy a Macintosh, sign up and pay for an Apple Developer program membership, use proprietary tools and libraries that only ran and were available on the Macintosh platform (and by most counts are far inferior to other application development environments available) and had to deploy whatever you created through the cross-your-fingers that you’ll be blessed system of the ITunes App Store.

Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript …

HTML 5 is essentially a joke — there is no standard when none of the players in the market agree to which video codec, audio codec, or any other element of the specifications they will adhere to. For example, Apple and Google (they both use Webkit based on KHTML) support H.264, but no one else does in the market. IE cannot embed the H.264 codec or playback component without exposing Microsoft to huge risk since the H.264 codec is patented (and besides, they have the VC-1 codec to use anyway which can be considered a better alternative) (a correction as of April 29, 2010 — It appears that the IE team has stated that in future versions of IE the product will support H.264 in IE9). What appears to be forming is the risk that was exposed by usage of MP3 technology in the past; billions of dollars of legal disputes for those that assume that H.264 is free. If Apple were serious about open platforms they would adopt a truly open codec like Firefox has, but there’s some good business reason to support a patented format in the end. I’m a little concerned with downstream licenses for content encoded in H.264 — is this going to be a future issue for content developers that retain content on their sites for users to consume which is not licensed?

Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products.

By small they mean the KHTML part of Konqueror, a primary browser on Linux. Not much effort there to get that to work on OS X since it’s basically Linux too (BSD but you know what I mean). They had no choice but to make it open since WebKit was based on a fork (derived from) KHTML, an open source project. Generally open source projects are licensed such that you must make derivative work open source as well. Thanks a lot Apple for doing what you had to to benefit from free R&D.

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads.

First, H.264 as supported on Apple devices are not the same as the H.264 video assets that exist in the wide world. But boy are they missing a lot! 85 of the top 100 websites use flash in some way, usually to track users without generating cookies in the browser. Is this a bad thing? Somewhat. Almost all ad revenue generated on the web is derived from Flash ads that appear on commercial sites and pay for your access to the content of that site. If those ads are ‘blocked’ as such that Apple is proposing, the revenue for those sites is reduced and thus makes the sites reconsider their free content model. In advertising there are huge industries built around distributing flash ads to consumers and what apple has done has basically built their product such that those sites may reconsider allowing Apple products to use their sites by restricting their access to areas where the user is considered circumventing their ad revenue model in the market (through the need to generate revenue for the bandwidth you are consuming). This hasn’t fully impacted the market yet but at some point it sure will. The future of advertising on Apple devices is animated GIFs because most ad vendors will not custom develop an ad unit to support HTML 5 Canvas (only supported and defined by Apple in general) – welcome to 1996.

Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.

For one, if this is not such an issue, why did Apple remove the blue Lego that used to indicate that content was not available on your device because you didn’t support embedded objects (ActiveX in IE, netscape plugins in all other browsers).

And the free thing. Recently the IPad model changed the pay scheme to $7 from $1 as the baseline for the products on the ITunes store for apps. For each device you own you need to purchase the app for that device. I don’t think this is going to reverse and as such the consumer will be trapped into a pay model that isn’t sustainable by a consumer model where there is not the level of disposable income that will build a long term market. Is there long term sustainability in apps? Apps are essentially just widgets rather than true applications.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.

This is essentially untrue. Symantec has a tendency to backtrack on all their statements at one time or another. Flash is no more exposed to security issues than Javascript (and because Flash has the ability to execute javascript this is where the security risk actually comes from). Adobe has been very aware and dedicated to patching holes in the Flash player as they were identified by their major partners early on (mainly MySpace and YouTube where the primary proponents to the integration of ‘allowScriptAccess’ and ‘allowFullScreen’ tags, and the modifications to the player to allow site managers to restrict executions to those areas that the flash player has rights to through the use of a crossdomain policy file). Flash fails on a Mac under OS X because the mac operating system is randomly withholding data requests to the flash player for random durations at random times — probably related to the over zealous deferred thread model on Mac OS where the OS seems to have primary rights to all threads before any application. I’ve seen this many times on comparison between the same sites on the mac and the pc. Generally, if you deny a request or mismatch the order of the data and request cycle you can kill any RIA (Ajax, silverlight, activex, java or even Flash). Here’s a good example. The video player on this page works fine on a PC, but because the Mac OS mismatches requests and response to data return timings to the flash player you end up with a null pointer exception (for you Java folks out there, you know what that means). Basically the data shows up later than the browser has indicated that the data has arrived (a 200 response is executed before the 200 should have come).

In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it.

Funny, I have an LG Envy uses Flash for its user interface and applications, and has for three years. The battery life isn’t that bad. Hmm, sounds like you might be misinformed. Maybe you should take a look at the iPhone store for a few examples. You can build to any environment if you’re good.

To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264…

So, provide Adobe access to the hardware layer and let them play video in the object using hardware accelleration, or is that too much to ask — it’s how Adobe does it now with hardware accelleration in the Flash player on the primary platforms. Any software based playback of image sequences are expensive in terms of processor utilization and power consumption of course. It’s odd that apple only support three specific video cards on their systems for hardware accelleration of H.264 video playback – those with other video cards in their macs will get very poor video performance (10-15 fps) viewing H.264 in an HTML 5 video instance (Like the Quad Core XEON desktop with the GeForce 8800GT video card — terrible video performance viewing HTML 5 video).

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. 

You mean of course that the H.264 decoder on your devices is proprietary and not compatible with most of the H.264 video on the internet and that everyone else should reencode their assets to your format which is not compatible with all the other sites such as vimeo, hulu, etc on the internet.

When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.

Um hum, have you ever used HTML 5 for playback unless you have one of the ‘blessed’ video cards on the Mac? It’s horrible! (Use Google Chrome). Also, in general HTMl 5 consumes 3X the processor utilization that the equivalent video does in a Flash container. I know that these things will all change over time but right now this technology sucks.

Flash was designed for PCs using mice, not for touch screens using fingers…

I guess you really don’t know much about Flash at all. The whole purpose of the development of Flash was to provide a lightweight drawing api for mobile devices.

Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.

This is partially true but not true. What part of rewritten does that mean? 5% redeveloped? 2%? But developers have been doing this for the embedded Flash devices so there’s a workflow that has been optimized over the last 5 years.

We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform.

On the other side, most of the UI enhancements over the last 14 years has been based on creative people doing creative things with Flash that the OS merchants would never have thought of. After all that visual R&D, you get OS X and Windows Vista/7, the mobile device interfaces we have today and just about all the UI advances that we enjoy. Without a lot of very creative people doing very creative things with a very powerful and flexible system like Flash we’d all be using devices with Windows 98 and OS 9 interfaces. I have to say that until there’s a robust and powerful IDE for HTML 5 Canvas like the Flash IDE for Flash or Microsoft Blend for Silverlight you have vapourware in your hands and only a very small group of developers will actually be able to build content for that system (which seems to be why apple has dedicated to provide production services to Advertising agencies who pay to join their ad network – there’s no workflow and they will be building on the fly from funds received from advertising agencies – maybe they could become the biggest advertising agency out there through this by taking all the work from agencies and doing it themselves for brands directly?).

This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

Like Apple XCode and the Apple Developer Network?

Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

Kind of silly really — Apple can’t decide what their system will support from one year to the next. At one time Carbon was the shizzle. And having your developers have to redevelop for every whim that Apple has with regards to hardware versions and modifications to their system.

Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.

In conclusion, Apple’s evil quotient is increasing. Take out all the rubbish in the statement and you have ‘all your bases are belong to us’

Posted in Uncategorized | Comments Off

Super easy external font loading in AS3 Flash

Here’s a super easy way to build out a project with external fonts in separate swfs for flash.

I use FlashDevelop and the FlexSDK so most of this is related to that usage, but you can just as easily do it with Flash using Library Symbols in lieu of the embed tag for embedding the font.

First, built a font swf:

package
{
 import flash.display.Sprite;
 import flash.text.Font;
 
 /**
  * …
  * @author Bela Korcsog
  */
 public class MainFont extends Sprite
 {
  
  [Embed(source = "../lib/metaboo.ttf",fontName="MetaRoman",mimeType="application/x-font-truetype")]
  public const FontClass:Class;
  
  public function MainFont():void {
   Font.registerFont(this.FontClass);
  }
 }
}

There’s lots of functions related to the TTF font embedding ability and you can restrict the Unicode ranges for non-roman characters using this embed:

[Embed(source="../lib/arialuni.ttf", fontFamily="ArialUni", fontStyle = "normal",advancedAntiAliasing="true", mimeType="application/x-font-truetype", unicodeRange = "U+0000-U+2019,U+0002-U+201d,U+0004-U+303f,U+0068-U+312c,U+0108-U+31bf,U+0140-U+9faf,U+21052-U+faff,U+ff01-U+ff60")]

You need to use TTF fonts for this as that’s the only format that the compiler will recognize. You can use an online tool for converting fonts to the correct format (there’s a lot of them out there but search for online font conversion tool).

In the parent swf, you’ll need to reregister the fonts for use in the main application. Although the Font Class is static, the Font symbols are not available outside of the registered ApplicationDomain for the swf requesting the Font, so this process is important to complete for the fonts to be recognized and rendered:

Here’s a snippet that will register the fonts correctly:

package
{
 import flash.display.Loader;
 import flash.display.MovieClip;
 import flash.text.Font;
 /**
  * …
  * @author Bela Korcsog
  */
 public class Main extends MovieClip
 {
  public var fontloader:Loader;
   
  public function Main():void
  {
   if (stage) init();
   else addEventListener(Event.ADDED_TO_STAGE, init);
  }
  
  private function init(e:Event = null):void {

   removeEventListener(Event.ADDED_TO_STAGE, init);
   fontloader = new Loader();
   fontloader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.fontsloaded);
   fontloader.load(new URLRequest(“FONTLOADER.swf”));
  }
  
  private function fontsloaded(e:Event):void {
   e.currentTarget.loader.removeEventListener(Event.COMPLETE, this.fontsloaded);
   for each (var f:Font in Font.enumerateFonts()) {
    if (e.currentTarget.loader.content.loaderInfo.applicationDomain.hasDefinition(f.fontName))
     Font.registerFont(e.currentTarget.loader.content.loaderInfo.applicationDomain.getDefinition(f.fontName) as Class);
   }
  }
 }
}

Next you need to create some text fields to present the font values and use ‘embedFonts = true’ on the text field.

et voila.

Posted in Flash, Flex | Comments Off

After 100 Flash based iPhone apps, Apple pulls the plug

Adobe has been working on iPhone export from CS5 for quite some time. It was announced in Oct 2009 and in general beta testers have been producing apps using their beta product since that time.

Here’s a short list of iTunes store apps that have been approved already:

http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

Now, as of Friday Apple has changed the SDK terms to deny these types of applications from being produced for the iPhone. Apple understandably is concerned with performance and I tend to agree that there should be some level of quality control but in general when you limit an environment to only one type of development environment you end up with a homogenous development path. There are some really well done things in Flash, and some very poorly developed things but without the freedom to experiment then the environment become stale pretty fast (I know that Objective C is not for every developer). When you have such great tools like Visual Studio and C# to work in why would you want to restrict users from building a pipeline from that environment to the apple one. The concern that I have is that Apple is not being totally honest with it’s developer network in how it ‘sells’ the XCode compiler — there must be some level of background control that is determining that this product is the only ‘authorized’ way of coding an iPhone app. It’s very similar to how PocketPC development was handled but Multidmedia used to have a pocket pc packager that allowed me to build flash based apps for pocket pc in 2003 so we really aren’t out of the environment of reality when you consider that very often these types of apps allow marketing firms to deliver their message in a more cohesive way than having to go through a ‘store’ metaphore — where’s the benefit of marketing to a store when the ROI is so limited to your marketing costs? And then you have to assume that folks will want to use your limited scope marketing product. The CS 5 iPhone Flash app packager was a godsend to marketers but in the end will fall short. I guess marketers with their deep budgets will have to turn to the other 80% of the smartphone market that will have this ability in the next six months. And don’t forget the Windows 7 operating system for smartphones coming at the end of the year — it’ll be using on silverlight (Microsofts Flash equivalent plug in architecture) and that will be something to watch out for — for once Microsoft may actually get something other than PC operating systems right.

Posted in Uncategorized | Comments Off

More Apple investigations

HTML Canvas is Apples proposed replacement to Flash / Silverlight. Interesting.

http://www.8bitrocket.com/newsdisplay.aspx?newspage=36134

More Flash hater points of interest:

http://www.flashmagazine.com/community/detail/everyone_to_their_bases_-_flash_is_under_attack/

Why Microsoft will NEVER support the HTML 5 video and audio tag as they are currently defined (one word — PATENTS):

http://www.internetnews.com/dev-news/article.php/3828901

Some more details about HTML 5

http://www.webmonkey.com/blog/W3C_Drops_Audio_and_Video_Codec_Requirements_From_HTML_5

A quote that concerns me the most:

“Now that the web has been elevated to a more powerful computing platform by HTML5, Berners-Lee says it has also given rise to complicated security issues.

“You got a piece of code from site A, and you’re person B running a browser you got from company C, and that code wants to access data stored with company E for the purposes of printing it on a printer owned by company D — How do you build that so that it’s not susceptible to all kinds of nasty attacks?” 

http://www.webmonkey.com/blog/Tim_Berners-Lee_Sees_Promise__Challenges_in_HTML5

At least Adobe would release new versions of the Flash player when security issues were identified in record time — explain to me how the HTML 5 spec will change to adapt to issues of security if it’s taken them 6 years so far and they still can’t solidify the spec.

Posted in Flash | Comments Off

Apple hates Flash?

In all the hub-bub about the iPad (needlessly btw — it’s a hobbled consumer toy and nothing more) Apple has been proposing that the Flash Player is the biggest cause of crashes on the Mac.

Recently I’ve been seeing remote data requests randomly dropping when requested from Flash Player based swf content. I’m sure that Adobe could enlighten me about why these requests would fail but in general if you request an image or some other element, in Apple’s operating system you may receive the ‘response’ that an image has been received prior to the image actually being delivered as data. This would cause any flash movie coded to load data to fail if the Event request returns COMPLETE but the actual data is null until a period of time has passed (I’ve seen 206′s and 200′s returning data AFTER the request has completed). In fact if you code poorly in Flash (handling the Event.COMPLETE and ignoring the content that is returned — just adding the Loader class to the display list using addChild and when the actual data is received the loader will display the data) then you won’t see the issue — but during this weird issue you may see the beachball of death on the Mac if the swf has been coded with the reasonable expectation that the returned data will not be null. If a Flash Player can cause stability issues this is not a problem of a plug in for the browser but it indicates an inherent issue with the operating system that doesn’t do proper process blocking and multitasking. The flash player is a simple dll process and if you have such a poorly built operating system that a dll can crash it then you’ve got real problems and are masking them by blaming folks for coding to your specs and expecting that you’ll get a good experience.

In a regular browser experience this isn’t an issue since the request isn’t as intelligent as a request from a Flash Player based request. There’s no validation generally to whether the image has been received and data loaded into the img src of an html page since that doesn’t really factor into the equation.

What does this mean? Well, this has been a progressive experience issue, that Apple has modified over a period of time rather than immediately.

Is this on purpose? I have no clue, but it does appear to target experiences such as those of Flash and Silverlight as opposed to the browser img loading experience. It just seems odd that they would announce that the Flash Player is the biggest issue for stability after introducing these kinds of changes and recording these issues. I wonder if they would go back in time to an earlier version of the flash player prior to introduction of Mac OS 10.4 and show us the results of the Flash Player experience prior to introduction of the Apple experience of the iPhone where they first targeted the Flash Player as an item that would be considered an experience issue.

I’m just posting my observation since I use both Mac and PC operating systems and have switched to the PC from the mac cause at least the PC doesn’t have these issues that the Mac is experiencing.

Funny, two years ago I would have said the opposite.

I’ve got an example of a link that works great on a PC, but fails on a Mac and it appears that randomly the slate image will return a null value:

http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000410491&tag=googhydr-20&hvadid=4644437547&ref=pd_sl_76g5frn7c1_b

Check it out.

Posted in Flash | Comments Off

AS3 Netstream Video stops during seek

I’ve noted this in other areas but there is a serious bug in the netstream class or i’m not doing it right.

Here’s the deal — during the seek of a low keyframe video asset the netstream may end up sending a stop even if you try to seek to a point in the video after the last keyframe. It’s pretty consistent and very irritating.

During seek events this event is fired:

  • NetStream.Seek.Notify

And at some point during interaction with the video player the netstream will fire a series of Flush and possibly a Full event.
At this point, if you seek to a point past the last keyframe you’ll generate a:

  • NetStream.Play.Stop

and end your interaction arbitrarily.
Continue reading

Posted in Flash | Comments Off

Calling a JSON service function from Flash AS3

Here’s a quick way to call a JSON request without loading a bunch of Classes and wrangling Adobe’s methods:

Continue reading

Posted in Flash | Comments Off

Firefox 2 mac / pc and errant empty navigate/getURL requests

I had a bug that was nagging me for a while, mainly because it only shows up on Mac and XP machines (neither of which i use for development) and i thought i’d share it here since it’ll show up again for someone somewhere.

Continue reading

Posted in Flash | Comments Off

Dataservices — What to chose when running a client/server application and flash?

I was looking for data on which backend implementation of data services was the best to use in flash, and everyone is talking REST these days and just straight xml data.

But there’s still much to be desired in using a more optimized pipeline, especially when dealing with large amount of data or many concurrent connections or heavy bandwidth utilization. Does the service really scale? Is REST really battle tested? Doesn’t KISS still apply when it comes to online applications that really need to be responsive to the user of the system? I deal with architects with many odd and varied bias’, but in general if you can show them real world tests they’ll come around generally.

I came across an excellent example of many great tests being run realtime at James Ward’s site:

Example of many of the popular data services available today to flash developers
Example of many of the popular data services available today to flash developers

Try it yourself here.

Posted in Flash | Comments Off