Orcmid's Lair  
privacy 
 
 
 

Welcome to Orcmid's Lair, the playground for family connections, pastimes, and scholarly vocation -- the collected professional and recreational work of Dennis E. Hamilton



Click for Blog Feed
Blog Feed

Recent Items
 
Republishing before Silence
 
… And It Came to Pass
 
Amaze Your Friends: Datamine Unlimited Statistical...
 
Don’t You Just Hate It When …
 
Blog Template Unification: Template Trickiness
 
OOXML Implementation: Can Expectations Ever Trump ...
 
February Frights Redux: Unification for Creative D...
 
Worst Nightmare: OpenDocument Format Embraced-Exte...
 
Abstraction: Einstein on Mathematics+Theory+Realit...
 
Document-Security Theater: When the Key is More Va...

This page is powered by Blogger. Isn't yours?
  

Locations of visitors to this site
visits to Orcmid's Lair pages

The nfoCentrale Blog Conclave
 
Millennia Antica: The Kiln Sitter's Diary
 
nfoWorks: Pursuing Harmony
 
Numbering Peano
 
Orcmid's Lair
 
Orcmid's Live Hideout
 
Prof. von Clueless in the Blunder Dome
 
Spanner Wingnut's Muddleware Lab (experimental)

nfoCentrale Associated Sites
 
DMA: The Document Management Alliance
 
DMware: Document Management Interoperability Exchange
 
Millennia Antica Pottery
 
The Miser Project
 
nfoCentrale: the Anchor Site
 
nfoWare: Information Processing Technology
 
nfoWorks: Tools for Document Interoperability
 
NuovoDoc: Design for Document System Interoperability
 
ODMA Interoperability Exchange
 
Orcmid's Lair
 
TROST: Open-System Trustworthiness

2008-12-06

 

WTF: The Adobe Flash Version 1x Crisis

Had any problems with Flash Player version detection lately?  Try updating to Adobe Flash Player Version 10.  Prepare to be shocked by the poor quality of Flash version detection in the wild.

After upgrading to a clean install of Adobe Flash 10, I discovered that nearly all video sites that worked for me in the past began denying that I had a version of Flash as good as what that they required.  Still other sites deliver Flash video to me just fine and, on occasion, I am able to experience the higher quality HD streaming that some sites now support.   It is amusing to see who fails to deliver video to me and what they have to say about it. 

I leave as an amusing puzzle how one determines what is going on and what the bug is likely to be.  My suspicion is that the bug is hilariously simple yet spread like some sort of plague throughout the Internet.

Adobe is experiencing its own version of the Y2k disaster, only in a simpler and more hilarious form.  As far as I can tell, the problem is not Adobe’s.  The difficulty is that many sites are completely unprepared for this version of the Flash Player.

[2008-12-08T20:37Z update: Further analysis reveals that my particular problem is related to permissions in some way, not simply comparing version numbers incorrectly.  I have no trouble with Flash 10 detection and playing when I am running as administrator.  The difficulties arise only when running as a limited user.  This doesn’t explain why I am successful some of the time as a limited user, and more forensic work is required.  For details on the dissection so far, see “WTF: Umm, Flash 10 Detection Not So Simple.”
 2008-12-07T00:37Z update: Well, the sample Client-Side Detection in the Adobe Flash Detection Kit 1.5 definitely fails to detect Flash 10.  The script is a bit hairy and one problem may be related to how Flash Player 7 and later versions are recorded in the Windows Registry.  Assuming that the version string is found properly, the next problem may be in the logic of JavaScript function DetectFlashVer.]
 2008-12-06T22:43Z update: I put the questions about this up as a teaser on StackOverflow.  I am already seeing a couple of interesting comments.  The frightening prospect is that the bug is in detection code that Adobe (still) recommends.  So, I had to add the eReader page’s failing of its own demonstration of the proper solution, below.  Stay tuned.]

Here’s how I experienced the widespread (for me) Flash 10 detection failure.

Flash Reports Successful Install (click for larger image)

Updating Flash.  On November 24, I encountered a pop-up advising me of an update to the Adobe Flash Player.  This one promised full screen HD playback, faster performance, and security enhancements.  I wanted it.

Because I run as a limited user when on-line, actually installing the plug-in took a little more effort.  Before I was done, I had removed Flash completely from my computer and then done a fresh install. 

On November 25, I had a successful installation in Internet Explorer 8 beta 2.  (No cracks: IE is not the problem here.  Sometimes I need compatibility mode for a site to render properly, and those issues are separate from whether or not Flash will play.  I have Google Chrome, and could try its Flash plug-in except I need to be admin to install it, as usual.)

This display appeared in IE8 when the install succeeded.

If I select updating any time later, no downloading will occur and I see this display near-instantly.  At this time, version 10.0.12.36 is the latest and I have it installed already.

Hulu shows HD of recent Fringe episode (click for larger image)

Successful HD Video.  Here’s an example of the high-quality video presentation available on Hulu, my favorite site for watching movies and television episodes.  This snapshot is a few seconds into the 480p feed of a recent episode of Fringe.

Hulu works so consistently, while so many other sites are failing, that I was concerned that the site wasn’t serving up Flash at all.  To make sure I wasn’t receiving Silverlight video, I inspected the source code of the web page.  Yes, it is using the Flash Player.  The code is in nice AJax structure and I can find where the player is operated, although I can’t determine how the version is checked.  I also see how messages that I need Flash are produced.  That isn’t happening.

The Flash 10 Player is recognized by Hulu, which plays everything just dandy. 

Change.gov little embedded video works great (click for larger image)

Nice embedded play on Change.gov.  On December 4, I also visited change.gov because of an interesting phenomenon there. 

Here’s a simple video in its own frame on the Change.gov site.   The video and audio play just fine.

I don’t know where this particular video is hosted, so I looked for another that was part of the YouTube video collection for change.gov.

This YouTube-branded video also shows up on change.gov (click for larger image)

Change.gov shows YouTube well.  Here’s a larger video frame from a different page on change.gov.  You can see that the video is YouTube-branded in the lower right corner of the video frame.

What’s fascinating about this and any other YouTube video is that viewing directly on a YouTube page will fail, as shown below.

It also fails if I go to Y! Video for the Yahoo presentation.  The MSN Video works just fine.

Kyte has the most-accurate message of all (click for larger image)

The best rejection of them all.  This is the only accurate message that I received.  About Face author Alan Cooper should be very pleased that someone is learning how to present straight-talking, factual messages.

It is valuable that this message reports the only thing that the Kyte site can be sure of.  It doesn’t speculate anything about my computer and what the problem might be.  If you’re going to fail, do it this way.  This is evidence for a level of care that inspires trustworthiness.
YouTube Fails Flash Detect (click for larger image) YouTube the know-it-all.  Here’s brash You Tube guessing what’s wrong with me.  The statement is completely false.  Also, remember that YouTube video that plays just fine from change.gov?

So, somebody is doing Flash Player version detection differently (i.e., properly) compared to most everybody else.  I wonder how we’ll learn what the difference is.

PS 2008-12-06: Ironically, Google Video does play through Flash 10.  Viddler plays beautifully (and that says a lot about Chris Brogan’s relationship to trust).  MSN Videos play as well, also using Flash for delivery.
This particular CNN page reports that it detected Flash 0 CNN Fails Twice in One Blow.  Notice the version it reports that I am using.

At first, I thought the problem was that all of the failing implementations are truncating “10” to “0”, but that would be misleading.

All we know for sure from this display is that the version was truncated in making the message, assuming it is using a detected version at all.

An interesting aspect of the CNN site is the number of different implementations of Flash viewers there are.  I include two more in the rogues gallery below.
Yahoo! Pretends It Is Stuck (click for larger image) Yahoo! wants my attention.  I went to the solutions page. 

Meanwhile, back on the page that had this message, I start hearing audio.   Returning to the tab with that page, I see that the video is indeed playing.  It is a reduced video image that does not play in the full frame of the Yahoo! player on the page, but the video is playing.

It is difficult to get to the AP feeds in a direct way, and I haven’t tried comparisons with other sites that carry AP or other services delivered via Yahoo!
Yahoo! offers this solution while playing he video anyhow (click for larger image) Not so great, Yahoo!  This “solution” is amusingly inaccurate.  It may be true that they require the version they do, but upgrading won’t get it for me.  The fact that the video was playing while I looked at this makes for a rich Internet experience.
The Site for Demonstrating Flash Detection Done Right: FAIL! (click for larger image)

Oh Oh, Adobe FAIL?  This image shows failure of Flash 10 detection on a web page that is proudly showing off the correct way to detect Flash 8 or higher.   I found this in a link on the Adobe Developer Center article “Best Practices for Flash Player Detection.”

The article has some great demonstrations of hubris:

”Well, folks, today is a good day: The search is over. The wheel has been invented. And tested. And taken on a nice, long road trip.

“Say hello to the newest detection script, which you can implement easily using Macromedia Flash 8. Much like the Six Million Dollar Man, it's better, faster, and stronger. And as an added bonus, you can actually rely on it.”


ending with

”Finally, tell every web developer you know about this article. The sooner Flash Player Express Install becomes standard, the sooner we can stop frustrating users and start handling Flash experiences in an effective manner and improving user experiences on the web.”

Apparently, that is exactly what happened.

The late Michael Williams provided, in 2005, an Adobe Developer Center article on “Future-Proofing Flash Player Detection Scripts.”   There are some weird solutions, but it looks like they should detect Flash 10 (but maybe not Flash 26).
The Client-Detection Sample from the Adobe Kit: FAIL! (click for larger image) Adobe’s Example Fails.  The Client-Side Detection example in the Adobe Flash Player Detection Kit 1.5 fails to detect Flash Player version 10.

Examining the JavaScript file suggests a number of ways that DetectFlashVer might go wrong.  Determining the actual defect requires some careful forensic reconstruction.
Adobe Action Script Example Tries Update (click for larger image) Adobe Unhelpful Helpfulness.  The Flash Player Detection Kit also provides an example of an ActionScript detection technique.  This sample will automatically invoke installation of an ActiveX plug-in, but when I allow it to run all it does is quickly report that the version I have installed is present (as if it has installed it anew).

This “10.0.12.36 Installed Successfully” has no impact whatsoever on the already-reported detection difficulties.  In particular, the Client-Side Detection example still fails.

It is time for that careful forensic reconstruction.  I am also curious about the way that the Windows Registry is accessed as part of ActiveX detection activity.
Joi's site reports I have an old version of Flash (click for larger image) Joi’s Wedding-Present Clue.  I have a theory about what is happening here.  It is the kind of thing that is going to embarrass a lot of Web developers while those who got it right are laughing their heads off by now.

[update: The Vimeo video is working fine on Joi’s own site and the link-through to Vimeo.  The full-screen HD rendering is not bad.  But the above message still occurs when I use the direct video link on Joi’s FriendFeed stream.  That makes this a self-contained systems-incoherence demonstration along with the confirmable experience (until they fix it).] 

OK, Let’s Figure This Out, Aye?

I can’t be certain that every detection failure has the same bug, but the odds of a Y2K sort of failure are pretty high.  The way I think it happens is a little different, but it requires having gone from “9” to “10”, giving lots of time for the defective code to be shared among far too many Web developers around the globe.

I’ll leave it at that.  This is a great challenge question for novice developers and experienced ones, the latter probably having committed this one at least once themselves.  I can see how I might have been caught by this myself, although I’d like to doubt that I would simply because I am always aware of representation issues from my experience in early programming languages and machine-language programming.  I am also inclined to over-engineer edge cases, and that might have been appropriate in this case.

Meanwhile, here’s a rogues gallery of other sites that have an unfortunate approach to Flash Player version detection.

CBS insists on Flash 9? (click for larger image) Dylan's Video optional anyhow (click for larger image) 

CNN claims 8 or better (click for larger image) Well, OK, 9 or better (click for larger image)
So 10 not newer than 8?  (click for larger image) Did I leave home without Flash? (click for larger image)
Funny or Die? (click for larger image) Oh, sorry (click for larger image)

There you have it.  I’m sure this is not pleasing for Adobe.  Let’s just hope that the detection problem is not from an Adobe-provided sample of how to do it.  [Update: It appears that the problem has been promulgated in Adobe-promoted materials.] 

[2008-12-06T19:20Z update: I went through and added links to the actual sites and videos where there is narrative.  I also noted some successes where sites simply worked as expected.]

Labels: , , , , , ,

2008-08-30

 

Interoperability: The IE 8.0 Disruption

I've elected to adopt the IE 8.0 beta 2 release as a tool for checking the compatibility of web and blog pages of mine.  I see how disruptive the change to default standards-mode is going to be and how IE 8.0 is going to assist us.  I need to dig out tools and resources that will help me mitigate the disruption and end up with standards-compliant pages as the default for new pages.

Looking Over IE 8.0 beta 2

I avoid beta releases of desk-top software, including operating systems and browsers.  Because the standards-mode default of IE 8.0 is going to place significant demands on web sites, I also thought it time to install one copy of IE 8.0 simply to begin assessing all of my web sites and blog pages for being standard-compliant enough to get by.  I am willing to risk use of beta-level software in order to be prepared for the official release in this specific case.  I'm also sick of having IE 7.0 hang and crash on mundane pages such as my amazon.com logon.  I'm hoping that even the beta of IE 8.0 will give me some relief from the IE 7.0 unreliability experience.  And so far, so good.

With the promotion of beta2 downloading this past week, I took the plunge.  Installation was uneventful and all of my settings, add-ins, favorites and history were preserved.  My existing home page, default selections, menus and tool bars were also preserved.  [I am using Windows XP SP3 on a Windows Media Center PC purchased in September, 2005.  IE 8.0 beta 2 also seems faster on this system in all of its modes.]

I did not review much of the information available on IE 8.0, expecting to simply try it out. 

The IE 8.0 address bar emphasizes the domain name of the site being visited (click for full-size image)

My first surprise was a change to the address bar.  There is a new format where all but the domain name of the URL are grayed.  That was distracting for the first few days and it still has me stop and think.  I realized this is the point: emphasizing the domain name so that people will tend to check whether they are where they expect to be.  I like the idea, even though I have to look carefully and remember the full URL is there when I want to paste it somewhere or share the page on FriendFeed or elsewhere.  I take this provision as one of those small details that demonstrates a commitment to safe browsing and confident use of the Internet.

The broken-page indicator appears any time that a page does not satisfy strict-compliance. What I was looking for, and saw immediately, is the new compatibility-view button.   This "broken page" button appeared on the first site I visited after installation of IE 8.0 beta 2.

Clicking the button causes it to be shown as depressed and the page is re-rendered as a loosely-standard page with the best-effort presentation and quirks renderings of IE 7.0 and earlier Internet Explorer releases.  If you leave the button selected, the setting is remembered and automatically-selected on your next visits to the same domain.  It stays that way until you unselect the button by clicking it again while visiting pages of that domain.  It was this feature that tipped-me over in wanting to check out my own pages using beta2 (although I thought the button was tracked at the individual page level until I read the description of domain-level setting). 

By the way, if a page is detected to require a standards or compatibility mode specifically, no compatibility view option button is presented.The amazon.com site is this way from my computer, and so is Vicki's pottery-site home page.  I looked at the source of the amazon.com site and confirmed that they are not using the special tag that requests that the compatibility view be automatic.  I didn't check the HTTP headers to see if they are using that approach to forcing a compatibility or a standards-mode view.  I know I did nothing of the kind on Vicki's site.  This suggests to me that there is also some filtering going on in standards-mode rendering to notice whether a compatibility view should be offered.  I'm baffled here.  I am curious whether there is any browser indication when the compatibility view is selected by a web page tag or HTTP header.  I suspect not and I'll have checked into that soon enough.

I also checked out the InPrivate browsing feature, which, although popularly dubbed the "porn mode," is very useful when using a browser from a kiosk or Internet cafe and when making private on-line transactions from home.

At this point, I am not interested in special features of IE 8.0 other than those related to improving the standards-compliant qualities of web pages and the browsing experience.  I may experiment with other features later.  My primary objective is to use the facilities of IE 8.0 and accompanying tools to improve the quality and longevity of my web publications.  Once I have some mastery over web standards, I will look into accessibility considerations, another project I have been avoiding.

Disrupting the State of the Web

The problem that IE 8.0 is intended to help resolve is the abuse of Postel's Law [compatibility view offered] that the web represents: "be conservative in what you do, be liberal in what you accept from others."  The abuse arises when what you do is based on what is being accepted, with no idea what it means to be conservative.  The web was and is an HTML Wild West and it is very difficult to enforce conservatism (that is, strict standards conformance in web-page creation).  Since browsers also varied in what they accepted and then what they did with it, loosely-standard pages and loosely-standard browsers have been the norm and web pages are crafted to match up with the actual response of popular browsers. 

Since Internet Explorer is made the heavy in this story, we now get to see the price of changing over to "be strict in what is accepted and be standard in what is done with it."  This is a very disruptive change.  We'll see how well it works.   Joe Gregorio argues that exceptions to Postel's Law are appropriate.  Some, like Joel Spolski [no compatibility view], think it might be a little too late.  There are already some who claim that the IE 8.0 Compatibility view is a sin against standardization [compatibility view offered], no matter that not many of the 8 billion and climbing pages out there are going to be made strictly-conformant any time soon.  With regard to compatibility mode, I think it is foolish for it not to be there and Mary-Jo Foley is correct to wonder how much complainers are grasping at straws.

It was surprising to me to observe how regularly the compatibility-view option button appears and how terribly much of my material renders in IE 8.0's standards mode.  Apparently the button is there because IE 8.0 can't tell whether the page is really meant to be rendered via standards-mode or is actually a loosely-implemented page.  I'm spending a fair amount of time toggling back and forth to see if there is any difference on sites I visit.  This suggests to me that there is going to be a rude awakening everywhere real soon now.  It is also clear to me that I don't fully understand exactly how this works, and I need to find a way to test the explanation on the IE blog and the discrepancies I notice, especially when the compatibility-view option is not offered and I know nothing special was done to accomplish that on the web page I am visiting.  I am also getting conflicting advice when I use an on-line web-page validator.

This change-over to unforgiving, default-standards-mode browsers is going to be very disruptive for the Internet.  In many cases, especially for older, not-actively-maintained material, the compatibility view is the only way to continue to access the material successfully.  There is a great deal of material for which it is either too expensive or flatly inappropriate to re-format for compatible rendering using strictly-standard features.  Without compatibility view, I don't think a transition to standards mode could be possible.  The feature strikes me as a brilliant approach to a very sticky situation.

Although there is a way to identify individual pages as being loosely-standard and intended for automatic compatibility view, that still means the pages have to be touched and replaced, even to add one line to the <head> element of the HTML page.  There are billions of pages that may require that treatment.  Perhaps many of them will be adjusted.  That will take time.  Meanwhile, having the compatibility-view option and its automatic presentation is very important. 

There is also a way to adjust a web server to provide HTML headers that request a compatibility (or standards-mode only) view of all pages from a given domain.  That strikes me as a desperate option to be used only when there is no intention of repairing pages of the site.  I might do that temporarily, but only while I am preparing for a more-constructive solution that doesn't depend on compatibility view being supported into the indefinite future.  The variations on the available forms of control (browser mode, DOCTYPE, HTTP header, and meta-tag) need to be studied carefully.  I expect there to be confusion for a while, probably because I am feeling confused with the ambiguities in my experience so far.

Another problem, especially with regard to IE 8.0 beta2, is that we don't reliably know how badly a loosely-standard page will render with a final standards-mode browser versus the terrible standards-mode rendering that beta2 sometimes makes at this time.  It is conceivable that the degradation might not be quite so bad as it appears in beta2, but there is no way to tell just yet.

The need for expertise and facility with semi-automated tools as part of preserving sites with standards-conforming web pages is probably a short-term business opportunity.   The web sites that may be able to make the transition most easily may be those like Wikipedia, where the pages are generated from non-HTML source material.  (That makes it surprising that Wikipedia pages currently provoke compatibility buttons and compatibility view is needed to do simple things like be able to follow links in an article's outline.)

Mitigating IE 8.0

To mitigate the impact of IE 8.0 becoming heavily used, it is necessary to find ways to do the least that can possibly work at once, and then to apply that same attitude in making the next most-useful change, and so on, until the desired mix of standards-compliant and loosely-compliant pages is achieved.

To find out what tools are available along with IE8 beta 2, these pages provide some great guidance and resources:

That should point you to all of the resources you need to understand how to check sites, how to use the compatibility provisions, and other ways to take advantage of IE8 availability when it exits beta.

I'm looking at a progression that will allow the following:

  1. Have a complete site automatically set to be browsed in compatibility mode (EmulateIE7, in my case), buying time to provide finer grain solutions
         
  2. Modify templates on blogs such as this one to specify compatibility mode on all new and updated pages until I say otherwise
      
  3. Find a way to make bulk changes to pages, adding a <meta> head element that specifies compatibility mode for those pages
      
  4. Decide how to migrate pages so that their results are delivered best in standards mode.  This may be a very long-term approach that doesn't begin implementation until the percentage of old browsers still in use diminishes enough to have standards-mode browsers be dominant.  There should still be a substantial period of time while compatibility mode is grand-fathered by the latest browsers.
     
  5. Even if compatibility modes eventually disappear from popular browsers or whatever comes after the browser, there will be a lasting need for compatibility view of archival materials, or some other creative solution that allows those materials to be accessed in a standards-mode world.
      
  6. There will be future breaking changes in standards mode as updated/successor standards are introduced.  The compatibility view requirement may never disappear, although its future achievement may be accomplished with less disruption.  Unless, of course, we fail to learn the lesson.

I will work out my own approach on Professor von Clueless, since I have definitely blundered my way into this.


This post is also being used to identify the IE8 mitigation required for this blog, along with some other improvements:

  1. It is a prospect for assessment of standards-compliant presentation via IE8 beta 2.
  2. It is my first use of Blogger Labels (Categories in other blogging systems) to archive Orcmid's Lair posts by categories as well as having weekly chronological archive pages and the buckets of individual posts made in the same month.
  3. I am setting up Windows Live Writer image-uploading capability to FTP images to a directory of the blog; the images in this post are the confirmation of that.

When I update the template to force compatibility with the current loosely-standard blog-page generation, this post will reflect that too.

[update 2008-08-30T16:42Z I had a few clumsy bits to clean up, taking the opportunity to elaborate further in some areas.  The disruption with standards-mode web browsing is a great lesson for standards-based document-processing systems and office-suite migrations toward document interoperability.  I'm going to pay attention to that from the perspective of the Harmony Principles too.]

Labels: , , , , ,

 
Construction Structure (Hard Hat Area) You are navigating Orcmid's Lair.

template created 2002-10-28-07:25 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 10-04-30 19:00 $
$$Revision: 69 $