Wednesday 30 September 2009

App-V and .NET: Pick a bubble, any bubble

Over the past week, I was tasked with investigating some of the "effects" of the .NET framework and related applications with the Microsoft App-V sequencing environment.

For those following the evolution of App-V (from the days of Softricity), the recent update of Microsoft's Application Virtualisation technology (App-V)  to 4.5 and version 4.6 saw a big change in the way that the .NET framework was sequenced with applications.

Life is really complex now, as I will demonstrate in the latter part of this blog, but life used to be simple (ahh, the good old days). Prior to the release of App-V 4.5 (and this includes the latest release of "service pack" update 4.6)  you could be forgiven for sequencing your applications with a version of Microsoft's .NET framework. Meaning that each individual App-B virtualized  "bubble" would include the required application and the required .NET dependency. Forgiven, but not encouraged. 

Given this rather lack state of sequencing Best Practices and rigour; a rather large number of people (and organizations) took the App-V 4.2 challenge and virtualized a good number of their applications. And, a good number of these App-V sequenced packages were .NET applications  that included their required version of the .NET framework.

The result. App-V 4.2 was a round for a while. And, these 4.2 App-V sequenced .NET application packages (including their dependant .NET frameworks) will be a round for a lot longer.

Let's flash forward to today. Flash!

App-V 4.6 is released and Microsoft releases the following update for .NET applications.

"Microsoft has made several architectural changes in the implementation of Microsoft Application Virtualization (App-V) 4.5 to ensure that the product is aligned with our roadmap for future innovation. One such change entailed moving the API intercepts from kernel mode into user mode. This change had a side-effect of changing the App-V compatibility with the .NET Framework from previous versions of App-V."

"App-V 4.5 continues to be fully compatible with .NET applications. The change in compatibility only manifests itself with the .NET Framework."


Now, what this means is that all of the App-V packages that included .NET and were generated in versions  of App-V prior to 4.5 must abide by the following scenarios;

  • Using and deploying applications that include the .NET Framework 3.5 (or earlier versions) is fully supported on Windows XP (SP2 and later) with App-V 4.5 CU1.
  • For all other platforms, the client OS must have .NET locally installed. The installed version must be greater than or equal to the application’s .NET dependency
  • Windows Vista RTM includes .NET 3.0 by default, no additional .NET installation is required unless the application requires .NET 3.5 RTM or SP1
  • Windows Vista SP1 (fully-patched) includes .NET 3.0 by default, no additional .NET installation is required unless the application requires .NET 3.5 RTM or SP1




And to add to this (already complex) matrix , what about Server 2008 (R2)? ?And 64-bit platforms? How are they handled?

I was told by a Microsoft engineer last week, that App-V does not solve Operating system level application compatibility issues. With these kind of deployment scenarios and requirements/dependencies - no wonder they have taken this view.

Whew!

Monday 28 September 2009

Morning - You've got Middleware!

    After suffering through the usual vagaries of Ocado deliveries, feeding three small children and then getting them to school and nursery I got to sit down at my desk this morning in peace and quiet for the 1st time in a few weeks.
    And, now that I am officially a twitter-er (http://twitter.com/changebase), I decided to download, install and use Tweetdeck (a great tool to manage your Facebook and twitter accounts. Tweetdeck can be downloaded from here: http://www.tweetdeck.com/
    I was (kinda) surprised to have to download Adobe's AIR, the new browser-ish based application runtime environment. For those who are new to Adobe AIR, it could be described as a "a cross-platform runtime environment. Simply put, a way for applications to be developed/coded and run on any operating system. The programming languages used to build an AIR application  are Flash, Flex, HTML and AJAX. These are all inherently web-based programming languages. But, using AIR, those languages can now be used to create a desktop application.
    So, AIR is cool because you can now use web application technologies to create and deploy desktop based applications.  This is a little like .NET for non-Microsoft web-heads.
    Not only will Adobe AIR applications look different. They will install differently, as you can see by the installation engine and related dialog box in the following screen-shot.
    I am really keen to determine just how far the promise of "run on any operating system" will go.
    I am sure that you could get good, similar results running across XP, Vista and the soon to be released Windows 7. But how will your application look across Linux, Apple's Leopard and Windows 7? Ohhh, and what about my iPhone and the soon to be released Windows 7 mobile.
    If Adobe AIR get's this "run anywhere" play right - we could see a big change in how applications are developed, deployed and maintained in the future.

Sunday 27 September 2009

Windows 7: An Application Un-Compatibility Update 26 September 2009

Microsoft released a compatibility update earlier this week, relating to how applications should "transition" through the upgrade process for Windows 7.
I was in Redmond the past week working with the App-V team and some members of the Windows 7 deployment team and so I missed out on blogging about the Windows 7 compatibility update.
Apologies for this, I should have commented on this earlier.
I thought that update was pretty intriguing, as it demonstrated that Microsoft has already engaged it Support and Maintenance "Engine" (Patches and Updates) for  an operating system that has not yet even been formally released.

The Window 7 compatibility patch can be found here: http://support.microsoft.com/?kbid=974332
And, according to the Microsoft support Knowledge Base (KB) article, the following applications were updated in this September 2009 update;

Application
Behavior after you install the update
Alcohol 52%
Update enables Windows 7 compatible Alcohol 52% versions to work
Altiris and Symantec Virtual Software up to version 6.1.499.x
Upgrade Block to avoid errors during Windows upgrade
ZoomText version 9.18
Driver hard Block to prevent an error
Dell Printer Driver (Models-V105, V305 and V505)
Upgrade Block to avoid setup failure
Trend Micro Internet Security 2007
Upgrade Block to avoid error during Windows upgrade
Trend Micro Internet Security 2008
Upgrade Block to avoid error during Windows upgrade
Trend Micro Internet Security 2009
Upgrade Block to avoid error during Windows upgrade
YiDongFeiXin version 2.2.x and version 3.5.x
Enables application to work
PGP Desktop up to version 9.x
Soft Block to warn about possible issue after Windows upgrade
Trend Micro VirusBuster 2008
Upgrade Block to avoid errors
Windows Live Photo Gallery
Update Windows Live Photo Gallery to avoid file association issue with Windows Media Player OCX

In addition, there are a number of core SDB files (or SHIM database files) which are updated as part of this update. Here is a screen-shot of my local machine directory structure;



In this case both SYSMAIN.SDB and the PCAMAIN.SDB files were updated. For those of you who don't deal with application compatibility issues everyday, these files may seem a little new/strange/worrisome to you. These SDB files are delivered as part of Windows (and Windows Vista) and contain information in a proprietary database format that details how the target operating system should handle the application. For example, what application SHIM should be used for the to allow YiDongFeiXin to work.
What is interesting update this "compatibility" update is that this is actually a "non-Compatibility" update.

Read the messages for the following applications;

Altiris and Symantec Virtual Software up to version 6.1.499.x
Upgrade Block to avoid errors during Windows upgrade
ZoomText version 9.18
Driver hard Block to prevent an error

These "Update Blocks" for these applications actually STOP these applications from running - so, they won't cause any application or system level errors. This is part of Microsoft's Program Compatibility Assistant technology. You can read more about this here: http://msdn.microsoft.com/en-us/library/bb756937.aspx

I repeat, as part of this Compatibility update, the solution here is to simply stop the applications from starting or our upgrading. With the good intention that this new behaviour will prevent the user from a bad experience.

As Robert Heinlein  once said, "Good intentions are the root of all evil!"

Wednesday 23 September 2009

Virtual Round Table - Part 2

I was lucky enough to be invited to the initial Application Compatibility focused Microsoft Virtual Round Table  session that was televised a few months back.  I really enjoyed chatting with Mark Russinovich,  Jeremy Chapman and especially appreciated Gov Maharaj's  thoughts on application compatibility issues with Windows 7.

Here is a  screen shot the main panelists on the program.


If you missed the 1st session (filmed and then broadcast live), you can catch a replay of the video here: http://www.computertech4u.com/the-springboard-application-compatibility-vrt-rebroadcast-is-live/

Well, I am back again. This time, the boys and I will be discussing Microsoft Virtualization issues.  The link (for scheduling and viewing details ) can be found here: http://www.computertech4u.com/springboard-series-virtual-roundtable-windows-7-application-compatibility-part-2-virtualization/

For this session, we plan to cover the following topics;

  • Microsoft App-V
  • Microsoft Med-V
  • Windows XP Mode
  • Windows 7 Compatibility issues

Should be fun...

Once the video is posted online for this session, I will update this Blog posting.

Monday 21 September 2009

Windows 7: With or without IE

I was reading the Windows Blog (http://windowsteamblog.com) this morning and came across the following article: Windows 7 E Best Practices for ISV's.

Found here: http://windowsteamblog.com/blogs/developers/archive/2009/07/13/windows-7-e-best-practices-for-isvs.aspx

The blog opens with the following quote from the author Yochay Kiriaty:

" we will ship the same version of Windows 7 in Europe as in rest of the world on the worldwide launch date of 22 October, 2009. This version of Windows 7 includes Windows Internet Explorer 8 to help people get the most from their PCs and the Internet."

There is some real confusion on my part here, as the article continues to discuss about the shipments of Windows 7 "E" but I think the core point here is that there are going to workstations out there running Windows 7 and will not include IE8. Whatever they are called; Windows 7 or Windows 7 -E
As a side note, "E Versions of Windows" or more accurately "European Versions" will not contain Internet Explorer 8 or at least the IE feature will not be enable by default. From what I understand, if someone wants Internet Explorer 8 functionality that can enable the functionality through the Turn Windows On or Off dialog box, they could simply enable it through the following dialog box (I bet a reboot will be required);



There is some real confusion on my part here, as the article continues to discuss about the shipments of Windows 7 "E" but I think the core point here is that there are going to workstations out there running Windows 7 and will not include IE8. Whatever they are called; Windows 7 E, Windows 7 No-E, Windows 7 E-Less or my favourite Windows 7 -E, the real question for us application compatibility drones/workers/slaves/enthusiasts, is how should we test our applications?

It appears that there are already a few documented "No-IE" application compatibility scenarios including;

  1. Hard-Coded application references to Internet Explorer will not load the default browser correctly (i.e. shellexecute is bad!)
  2. Explicit references to IE8 API functions will not work
  3. HTML 'Window Open' calls may fail to open a new browser window correctly
In addition, I have the following issues that may be an application compatibility issue;
  1. Application help files (CHM format) rely on the web-browser control - will these work properly?
  2. How will applications get/set their internet proxy settings? ChangeBase AOK could be a victim here. Ooops!
  3. How about applications with embedded dependencies on a web-browser such as Sage, Reuters and Bloomberg?
I think that most applications should work OK - as always it will be the applications that broken previous rules either due to hard-coding references or bad assumptions about the target platform.
There is one benefit to all this though - most Microsoft Patch Tuesday updates relates to security updates Internet Explorer. If you don't have IE on your machine, well, the theory is you might just have a slightly easier Wednesday morning.

Friday 18 September 2009

Windows 7 - Some Overal Compatibility Results

We have been busy!

Over the past few months, we have been working with Microsoft and their partners to get a early view on the compatibility issues that Windows 7 might raise with client application portfolios.

This process was called a Proof of Concept (POC) and covered the following platforms;

     • Windows 7
     • Office 2007
     • Internet Explorer 8
     • Microsoft App-V (Virtualization)

Drawing from clients across Europe and America, the company I work for (ChangeBase) was able to rapidly deliver automated application compatibility assessments for Windows 7, Microsoft’s App-V virtualization technology, Microsoft Office 2007 suitability and Internet Explorer (IE8) compatibility in minutes per client.

Our software was able to generate a comprehensive report on specific application compatibility issues and then automatically fixing a select number of business critical applications. This ensured that these updated application packages were fully compliant with Microsoft and Industry Standards for Windows XP, Windows 7 and Windows 2008 operating system platforms.

And, here is the part you are interested in...

From this large portfolio of applications, the following application compatibility results were generated;


Where Red issues represent non-fixable applications, Amber indicated fixable (manual and automated fixing included) and Green represents applications without reported issues. This means that 92% of applications were ready to deploy to Windows 7. From these results the top application compatibility issues were;



I find these kind of numbers fascinating as it shows that each application portfolio has a large number of applications that need some work to getting working on Windows 7. Most importantly, it looks like these issues can be readily fixed. Making the resultant applications ready for deployment for Windows 7.

For my next posting, I will discuss some of the RED issues; those that can't be easily fixed and may require an application upgrade.

Thursday 17 September 2009

The 1st hit is free.... Ahhh

One of our ChangeBase partners, Arclite is now offering an online automated Application Compatibility assessment service for your application packages.

This service (http://free.appcompat.net ) allows you load an application through a web-page and received an automated assessment of the potential compatibility issues your application package may encounter.

Here is a sample of one of the reports.

And, if you are looking for more detail, the automated application compatibility report provides detailed remediation information including the following detail;

  
This report fully automated and analyses each application for the following compatibility issues;
  • Windows 7
  • Microsoft App-V
  • Office 2007
  • Microsoft Internet Explorer 8

In addition, there is a really useful guide to interpreting the results, which can be found on the Arclite driven Application Compatibility online ship website. 

Found here:  http://shop.appcompat.net/v/vspfiles/assets/images/report%20interpretation%20guide%20v4.pdf

And, as a bonus, it looks like the 1st try is for Free. Give it a go at: http://free.appcompat.net/



Tuesday 15 September 2009

Virtual PC .. Windows 7 ...Sigh...

Spent the day trying to debug an application for compatibility issues. As you would (I am sure you would), I created a virtual machine with a new Windows 7 build. For those less initiated in the fine arts of attempting to get recalcitrant applications to; install successfully, Start, Run, do something ... and then not crash

The last thing you want is to have a machine filled with applications installs that FAIL to do most of the above (I admit, the nature of the result of some of my work). So, I built a virtual machine, as you would, I am sure you would. Note: I am repeating myself - because I have just lost a significant part of my mind, and possibly my soul.

Here is why. Created a Virtual PC machine. Installed Windows 7 as a GUEST build. So far so good. Note: I am doing on this work on a Windows 7 host machine. On the guest (Virtual PC machine) I tried to install the Virtual PC tools and drivers. These are the tools that are shipped with Virtual PC to allow for increased functionality and little things like being able to work across Remote Desktop Session (RDP) and having the ability to Drag'n'Drop files onto a target Guest Virtual machine.

Well, Under Windows 7, installing these default tools, utilities and drivers generated a Blue Screen of Death. So, I did a restore ... Back to the original state . This worked OK.

Thinking about this for a while... I thought to myself... Hey, I should be using the latest Virtual PC software from Microsoft. This thought was also associated with vague hope that "a later version" would solve this issue and offer something new/better.

So, I downloaded the Virtual PC from the Microsoft website (look here: http://www.microsoft.com/windows/virtual-pc/download.aspx)

Hint: I didn't read the instructions.... Oh, now the tale of woe begins...

I rushed ahead and installed the new update (a MSU package) with the drunken glee of a techie with a new download.

Now, this is where life becomes difficult/interesting. As this update is not a MSI, the installation of this new Virtual PC application does not show in the Add Remove Control Panel Applet (ARP). So, wait for it.

You can't uninstall it. Yes, maybe you can - I am just not smart/informed/good-looking enough to bribe someone to help me.

I repeat - You can not Un-install this update. This is important. Besides, breaking all of the principles I hold true about application installations (i.e. Install/update/un-install) this just comes as a nasty shock.

Because, now I have read the instructions on the Virtual PC web-page. You need to ensure that your hardware supports virtualization. There is a simply (but, surprisingly large and complex) application from Intel that will let you know the good or bad news .

Look here for this Intel applet: http://www.intel.com/support/processors/tools/piu/

Does my machine support virtualization? Does it? No! It does not.

Too late...

That's OK, I can just run Virtual PC 2007. It ran before... Just slowly...

This is what I got...





So, with some hope, I clicked on the "Check for Solutions Online" button.

I got...




Meaning now... Both versions of Virtual PC do not work on my machine.

Luckily, I have an inkling on how the Program Compatibility Assistant (PCA) works. It identifies executables through a complex algorithm of filename, header information and file date/time/size data. Luckily, for me you can change the EXE name for Virtual PC and fool PCA.


A simple work-around for the simple minded

Moral: There are two morals to this story:

1) At least passing a wincing eye over the instructions. Especially, if they include words like "Important" or have big orange boxes around them.

2) Be very careful with MSU application installations. I suggest that you install them on a Virtual PC first. :)

Monday 14 September 2009

Windows 7 - BSOD

Ok, I have admittedly waxed lyrical about Windows 7. I think it's the best Operating System Microsoft has ever shipped, with more features, better security and great vendor support. This means that my experience from initial system build, 1st logon and daily use has been quicker, easier and more effective than with Vista or Windows XP. As a result, I have been installing Windows 7 everywhere.

All friends and family have got a new build. Windows 7 is on desktops, laptops and my daughters netbooks.

However, now that I am getting into the 20-30 system range... I am finding some problems. And, very surprising its not application compatibility but more system level compatibility issues - I think. The problem is, I am now getting little hints of that blue gremlin... Blue Screens of Death (BSODS).

Yes, BSODS.

Three separate cases now...

The 1st: A laptop (2 years old), with a fresh install... Was sitting there... Doing nothing for about 3 days. Then during a teleconference, I spotted a flash from the corner of my eye. And, BAM! The machine flipped me with a BSOD. The machine power cycled with repeated blue screens until I powered the poor little guy down and rebuilt it... And, this is Windows 7 RTM.

The 2nd: My laptop. It's a VAIO (which some may think that I get what I deserve). 2 weeks with the RTM build. A Blue Screen, a reboot and then the message, "Install Missing Operating System". That was a bad day for daddy.

The 3rd: The current/latest version of Microsoft Virtual PC hates my copy Windows 7 RTM. I can create a build no problem. It runs fine, until I try to install the Virtual PC support tools. Then 100% repeatably (is this a word??), I can generate a BSOD.

Of course, there are people out there who have the same refrain whenever I complain; "Can you show me an example?"

And, today the answer is, "Yes, I most certainly can"


Friday 11 September 2009

Patch Tuesday Update - September 2009


Here is the update for September Microsoft Security Releases!
September 2009 brings a moderate Microsoft Patch Tuesday update from Microsoft with five CRITICAL Security updates. All five Microsoft Security Updates (MS09-45 to MS09-49) will require system reboots and relate to Remote Code Execution. The ChangeBASE team has raised the system reboot ratings for patch MS09-046 and MS09-047 to "Require a Reboot" from "May require a reboot" due to the nature of the files updated and the impact on standard desktop workstation environments.
The expectation from the ChangeBASE team is that the five September Microsoft updates are not likely to cause serious OS level or application compatibility issues. Sample results from the AOK report generator for Microsoft Office 2003 has been included here;





Testing Summary
  • MS09-045 : Marginal Impact (both Package level and dependencies) detected across portfolio.
  • MS09-046 : Marginal Impact (both Package level and dependencies) detected across portfolio.
  • MS09-047 : Marginal Impact (both Package level and dependencies) detected across portfolio.
  • MS09-048 : Marginal Impact (both Package level and dependencies) detected across portfolio.
  • MS09-049 : Marginal Impact (both Package level and dependencies) detected across portfolio.

<><><><> <><><><> <><><><> <><><><> <><><><>
Patch Name
Total
Issues
Matches
Affected
Reboot
Rating
RAG
Microsoft Security Bulletin MS09-045
<1%
<1%
YES
Critical
Green
Microsoft Security Bulletin MS09-046
<1%
<1%
YES
Critical
Green
Microsoft Security Bulletin MS09-047
<1%
<1%
YES
Critical
Green
Microsoft Security Bulletin MS09-048
<1%
<1%
YES
Critical
Green
Microsoft Security Bulletin MS09-049
<1%
<1%
YES
Critical
Green

Legend:
No Issue
No Issues Detected
Fixable
Potentially fixable application Impact
Serious
Serious Compatibility Issue

Security Update Detailed Summary
MS09-045
Vulnerability in JScript Scripting Engine Could Allow Remote Code Execution (971961)
Description
This security update resolves a privately reported vulnerability in the JScript scripting engine that could allow remote code execution if a user opened a specially crafted file or visited a specially crafted Web site and invoked a malformed script. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.
Payload
Jscript.dll
Impact
Critical

MS09-046
Vulnerability in DHTML Editing Component ActiveX Control Could Allow Remote Code Execution (956844)
Description
This security update resolves a privately reported vulnerability in the DHTML Editing Component ActiveX control. An attacker could exploit the vulnerability by constructing a specially crafted Web page. When a user views the Web page, the vulnerability could allow remote code execution. An attacker who successfully exploited this vulnerability could gain the same user rights as the logged-on user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.
Payload
Triedit.dll
Impact
Critical

MS09-047
Vulnerabilities in Windows Media Format Could Allow Remote Code Execution (973812)
Description
This security update resolves two privately reported vulnerabilities in Windows Media Format. Either vulnerability could allow remote code execution if a user opened a specially crafted media file. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.
Payload
Wwmvcore.dll
Impact
Critical

MS09-048
Vulnerabilities in Windows TCP/IP Could Allow Remote Code Execution (967723)
Description
This security update resolves several privately reported vulnerabilities in Transmission Control Protocol/Internet Protocol (TCP/IP) processing. The vulnerabilities could allow remote code execution if an attacker sent specially crafted TCP/IP packets over the network to a computer with a listening service. Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed.
Payload
Tcpip.sys, Tcpip6.sys, W03a3409.dll, Ww03a3409.dll
Impact
Critical

MS09-049
Vulnerability in Wireless LAN AutoConfig Service Could Allow Remote Code Execution (970710)
Description
This security update resolves a privately reported vulnerability in Wireless LAN AutoConfig Service. The vulnerability could allow remote code execution if a client or server with a wireless network interface enabled receives specially crafted wireless frames. Systems without a wireless card enabled are not at risk from this vulnerability.
Payload
L2sechc.dll, L2sechc.mof, Gatherwirelessinfo.vbs, Gatherwirelessinfo.xslt, eport.system.wireless.xml, Rules.system.wireless.xml, Wireless diagnostics.xml, Wlan.mof, Wlan.tmf, Wlanapi.dll, Wlanhlp.dll, Wlanmsm.dll, Wlansec.dll, Wlansvc.dll
Impact
Critical


Monday 7 September 2009

Apple-Compatibility

OK, I have neither the authority or experience to speak about compatibility on the topic, "All things Mac... Or, Apple".

However, Apple's latest release of their operating system seems to be getting some good press. Apple "pipped Microsoft to the post" with a 2-month lead on their operating system update that could have been a PR disaster or a major coup.

With the Windows 7 release just a few months away, pervasive and serious application compatibility issues with Apple's latest release (Snow Leopard) could deliver Microsoft a real "launching point" for Windows 7. (no pun intended)

Well, so far Snow Leopard, (which is a major upgrade) has had pretty good reviews for application compatibility. CNET's Rafe commented that some applications had compatibility issues ( look here: http://news.cnet.com/8301-30685_3-10319839-264.html). But, given the nature of changes to the operating system, I think that news on application compatibility for this platform has been quite good.

Just like Microsoft did, Apple has posted an update on what applications have been listed as non-compatible with Snow Leopard here: http://support.apple.com/kb/HT3258.

Note: that there are far fewer applications on the Apple list than on the 1600 item strong non-compatible list for Microsoft. You could argue that more applications are available in the Microsoft eco-system that in the MAC world - and therefore this list larger Microsoft list is merely a proportionate representation of applications that will have trouble running or loading under Windows 7 and Vista.

On the "bad news side of things", Stephen Wildstrom posted the following complaints against the Snow Leopard update process; (http://www.businessweek.com/the_thread/techbeat/archives/2009/09/snow_leopard_ho.html)

  • Apple should have provided a pre-upgrade compatibility checker like the one Microsoft offers for Win 7. This would have allowed people to find out what wouldn’t work and then make a choice whether they wanted to upgrade or wait.
  • Apple needed a public beta with a release candidate to detect the sort of problems that are turning up now but apparently did not show up in the tightly controlled betas.
  • Apple did not give third-party software and hardware vendors enough time with the final code before general availability. Microsoft released Windows 7 to manufacturing at the end of July with general availability on Oct. 22. Apple sent out final code about week before Snow Leopard went on sale.

And, Apple does not have the Application Compatibility tool-kit (ACT), which would have solved all of their compatibility issues, now and forever, for everyone, for free, for what ever... (sorry, to be a little mean here.)

Tuesday 1 September 2009

Is your Web-App good enough?

I have been working in Internet Explorer 7 and 8 compatibility issues for the past little while.

And, I am surprised by three things;

How complex getting a Web-App working on both server and client really is
How many companies/organizations are moving a web based application portfolio
The layered stack (OS/Middleware/Security/Application) is more important than I thought

This is a huge topic, for which Microsoft has ladled out copious quantities of documentation on IE compatibility including samples and scriplets. The best place to start is the Microsoft MSDN compatibility "Start Page" located here: http://msdn.microsoft.com/en-gb/ie/dd433173.aspx.

Even better, here is the link for the developer compatibility site for IE8 on Microsoft's Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/dd565632(VS.85).aspx

Having to start somewhere, in determining if your application is compatible with Internet Explorer 8, you can see if your web site is in the "Sin Bin"... Or the more diplomatically, your website has been included in Microsoft's non-compatible web-site list. At last count, there were over 3,400 sites included in this "Bad Web manifesto".

You can download the Microsoft XLS spreadsheet that includes these sites from here: http://go.microsoft.com/fwlink/?LinkId=145413

To find out more about the IE8 compatibility view and this list, look here: http://msdn.microsoft.com/en-us/library/dd567845(VS.85).aspx

This list is updated roughly every two months (apparently in sync with Microsoft Security updates on Patch Tuesday). If you have already installed IE8, then could see the XML representation of this list simply by typing the following URL into the IE8 browser windows; res://iecompat.dll/iecompatdata.xml

Here is a brief sample of the "Bad" websites generated by loading this local RES URL on my laptop with IE8 already installed;

118114.cn
11st.co.kr
120ask.com
1234567.com.cn
12354.com
123flashchat.com
123greetings.com
123hjemmeside.dk
123mua.com.vn
123video.nl
12530.com
126.com
1616.net
163.com
17173.com
17k.com
17kunlun.com