Welcome to MSDN Blogs Sign in | Join | Help

What’s New for CSS in Beta 2 Preview?

We have heard all your feedback asking us for full CSS compliance. With the now public available Beta 2 Preview build on XP, we get a big step closer to this goal. Chris talked about our priorities for IE7 before, but I want to give more detail on our work with CSS.  We had 3 objectives, in priority:

  1. Fix some really nasty bugs posted on sites like positioniseverything.net
  2. Revise parts of our existing CSS implementation to be true to the spec
  3. Add the most-requested new CSS functionality to IE

Fix some really nasty bugs:

In IE7 we’ve been working hard to address the bugs in our engine:

  • We fixed the most of the bugs reported on http://www.positioniseverything.net/explorer.html  (click on the links for detailed explanation of the bugs)
  • We addressed several relative positioning issues (relative positioned elements do not have layout, an internal IE data structure, that sometimes caused calculation errors)
  • We made the HTML element truly independent of the Body (Scrollbars are now belonging to the Canvas and you can align absolute/fixed positioned elements next to them)
  • We addressed the auto alignment issue so you can more easily build 3 column layouts
  • Resolved issues with 1 px borders

Revise existing CSS implementation to be true to the spec:

Our second priority was to complete or adjust our implementation to be in accordance with the CSS spec.

  • We made major changes to our box model to support overflow correctly on non-replaced block level elements and inline-block elements.
  • We enabled :hover on all elements, not just on <a> tag
  • We make background-attachment:fixed work on all elements, not just body
  • We fixed a number of parser bugs like * html, _property and the /**/ comment bug

Add most-requested CSS functionality to IE

Finally, for IE7 we added:

  • Fixed positioning. This allows interesting layouts of sticky menus and sidebars.
  • Enhanced Selector support: first-child, adjacent, attribute, and child selectors
    • As we were implementing attribute selectors we also added support for CSS 3 attribute selectors: prefix, suffix and substring.

Compatibility and our updated CSS behavior

Obviously, we have heard the feedback asking us to be more standards-compliant in our rendering behavior.  We must balance this ask with the need of our customers (and end users) to have their pages not be broken. To find a balance we introduced a strict mode in IE6 that lets authors opt in into the more standards compliant rendering (and, if you’re putting in a modern DOCTYPE declaration, you’re being opted in automatically).  Pages authored under non-strict mode (or “quirks mode”) will not change behavior in IE7 – so the fixes we’ve done to be more CSS compliant won’t appear under quirks mode. However, if your content is under “strict mode”, our behavior is more standards compliant, and your pages may break - for example, if you use some of the CSS hacks or rely on our old incorrect overflow behavior. We understand the pain this might cause in the short term but we believe a move to a more standard compliant implementation benefits everyone in the long run.

Last but not least, big thanks to the community: here on the blog (yes, we are paying attention to the comments), the WASP team and those out on the web reporting CSS issues with IE. We know we have a long road ahead but I am very excited with the progress we are making.

 - Markus Mielke

Part 1: Hello feeds

Hi, I'm Jane. Everyone I know spends their free time browsing the internet… whether it’s catching up on the news, reading friends’ blog, or looking for that perfect web deal, book, person. But scanning a site to see what you’ve read versus what’s new can be tiring. And it’s frustrating to find that there’s nothing new to read after all that work. With the IE7 Beta 2 Preview, we added a convenient way interacting with the internet: Subscribing to feeds. Subscribe to Feeds

Feeds are a different format of the website’s content that allows software to determine if there is something new available. It can range from a new article on msnbc.com, a new movie release on Netflix, or a new journal entry on a friend’s blog. With IE7 Beta 2 Preview, you can subscribe to your favorite websites’ feed and read new updates directly in the browser.

1. Feed Discovery Button – The Feed Discovery button tells you if there is a feed detected on the webpage you’re looking at. It lives on the Command Bar and lights up when a feed is found. Clicking on it takes you to the Feed Reading Page.

Feed Discovery Button

2. Feed Reading Page – This is the view of the feed for reading. When you subscribe to a feed, you can determine the new content versus the content that you’ve seen before. We also have controls for inline search, sorting, and filtering to quickly get to the content that is interesting to you.

Feed Reading Pane

3. Feed list – The list of feeds that are you subscribed sits next to your favorites. A feed is bold if there is new content available for you.

Feed List

There are 4 parts to the feed reading experience: discovering, subscribing, reading, and managing. If you want to find more, read the next two posts and subscribe to the Team RSS blog.

Part 2: Discovery and Subscribe

Part 3: Read and Manage

 - Jane

A New Look for IE

Hello, I’m Max Stevens, and I recently joined the IE team as a Program Manager working on the user experience. In anticipation of our next major pre-release of IE, I’d like to give an overview of some of the great work we’ve done in the UI, especially a lot of the progress we’ve made since Beta 1. For more in depth looks at specific features mentioned here, Jeremy, Aaron, Jane and others will be posting soon.

Main Browsing UI

One of the most obvious changes since Beta 1 is in the toolbar area. We focused on building a smaller, more compact UI that exposes only the most commonly used features, saving space for the content and tab areas. Here’s a screen shot:

Main Browsing Menu

Overall, the key is how the graphics have been cleaned up:

  • The forward and backward buttons are now visually grouped with updated colours to increase contrast and pop out a little better.
  • We heard the feedback on the stop button - the stop button is now back!
  • The refresh and go buttons have been combined and is now grouped with the stop button to the right of the address bar.
  • Favourites have been moved to the left hand side under the forward back buttons, with "Add new favourite" now easily accessible from the main frame.
  • Tabs have seen many improvements, among them that it’s much easier to see which tab is currently active.

Menus

The Command Bar, which appears to the right of the tabs area, is the new main interface to all of IE’s functionality. With it we have built a new command interface that focuses on getting the common tasks done quickly. The top level buttons include:

  • A new home page menu to make it easy to manage your homepage tab group.
  • A printing menu. Printing and print preview has been much improved, including a new "shrink to fit" option – no more wide pages that are cut off when printed!
  • Feed discovery. This button lights up to show a feed has been discovered for the current webpage. This is just one of the many new features added to feeds.

Command Bar

With the Command Bar providing the common browsing commands, we hid the File/Edit/View menu by default. With only two rows of UI elements on by default, the webpage area is maximized vertically to allow you to see as much of the webpage as possible. If you’re used to the old menu structure and wish to display them, it’s easily done either by navigating Tools->Toolbars->Classic Menu, or by simply tapping the "Alt" key. Responding to feedback from you, it now appears above the tabs.

The traditional menus will appear by default if, when you install the Beta 2 Preview, you had a toolbar installed in IE 6. You can still customize the positioning of these toolbars with the File/Edit/View menus, although they cannot at the moment share the same horizontal row as the command bar. If you find the File/Edit/View menu on by default after installing IE 7, I encourage you to hide them and try out the Command Bar!

File/Edit/View

Search

The search box has undergone many improvements from Beta 1, including our new search discovery capability. Similar to feed discovery, sites can now advertise search providers, making it much easier for users to perform searchs on sites straight from the IE frame without first having to navigate to that site. An upcoming post will provide details on how sites can advertise their own search, but in the mean time you can get a list of search providers you might want to install from here.

Search

Favourites Center

New since Beta 1 is the Favourites Center:

Favourites Center

This is a single location where you can access all of your favourites, RSS feeds, and browsing history. It expands out for quick access, or can be pinned in place for frequent access. One great feature here is the ability to quickly open an entire folder of favourites or feeds as a group of tabs – just click on the blue arrow next to the folder name.

Quick Tabs

Another really cool feature added since Beta 1, Quick Tabs displays thumbnails of each open tab allowing for fast switching amongst them.

Quick Tabs

Tab Improvements

The user experience for tabs has been improved in many ways. For example, we acted on feedback from you to add a close button directly on the tab itself.

Tab Improvements

My Favourite Feature

What’s my favourite feature in the new IE?  I’m an old Office hound myself, and so I really love to see Zoom. Available from the bottom right of the main browse window, this acts like it does in Word or Excel – it enlarges or reduces the entire page (text and graphics) to a specific zoom setting.

Zoom

There are many changes we’ve made since Beta 1 and we’re always looking to hear feedback on what you think, so as you start to become familiar with the new look and read a little bit more in depth about the UI changes in coming days, please keep the feedback coming, eh? 

 - Max

PS Seeing as how I’m from Canada, I’m still trying to get the mis-spelling of the word “favourite” throughout the product fixed. Perhaps for our Beta 2 release.

posted by ieblog | 204 Comments
Filed Under:

Security issue in IE7?

We received reports this morning that a security researcher had found a bug in the IE7 Beta 2 Preview release. This issue reportedly crashes IE and is exploitable to execute arbitrary code on the user’s computer. Naturally, we take the security of IE and our users’ safety very seriously, so we investigated immediately. We did confirm that the bug crashes IE. However, we did not find that the bug was exploitable by default to elevate privilege and run arbitrary code.

This bug had already been found during our code review and analysis that is a mandatory part of our development process; it was scheduled to be fixed before our next public release. We do not believe this bug is easily exploitable, and as an extra defense, the /GS flag also catches the overrun. This is a compiler flag that tells Windows to watch for some classes of buffer overflows. If Windows sees a problem, it kills the application, in this case IE, instead of running the exploit code. While this is certainly not our primary line of protection, it does offer defense-in-depth to help keep our customers secure.

At this time, we are not aware of any active exploits taking advantage of this bug. We will continue to monitor the situation and evaluate our response.

Finally, I’d like to reiterate the importance of the responsible disclosure of security issues. We firmly believe that privately disclosing security issues to software vendors is the best way to keep the users of the world secure. To report a security issue against any Microsoft product, please contact secure@microsoft.com. For other feedback on IE7, please use the methods Jason mentioned yesterday.

 - Tony Chor

Windows RSS Platform

Hello, Walter from the land of IE Program Managers here. You might have seen or read about the RSS functionality in the user interface of IE7 Beta 2 Preview. There is a bit more to it then just letting users subscribe and read feeds from the IE7 user interface. The RSS functionality in IE7 is "powered" by the Windows RSS Platform. The Windows RSS Platform API encapsulates 3 main components: Common Feed List, Feed Synchronization Engine, and Feed Store.

The RSS functionality in IE7 is built on top of these components. While we previously announced that the Windows RSS Platform would be available for Windows Vista, we are extremely pleased to announce that the Windows RSS Platform will also be available as part of Internet Explorer 7 for Windows XP SP2, Windows Server 2003 SP1 and Windows XP 64-bit.

The Windows RSS Platform is available to any application. The idea is that applications can utilize the Windows RSS Platform to become RSS enabled without having to re-implement basic RSS building blocks. This can significantly reduce the time and effort application developers have to invest in order to integrate RSS into their programs.

That’s all great, but what does that mean? And why is a Windows RSS Platform a good idea? Glad I asked ;) Let me tell you about that.

Like many of you, I’ve been running several RSS applications (aggregators, pod casters, etc…) for some time and am subscribed to close to 100 feeds. Each time I start using another RSS application I play the "game" of OPML export and import. This quickly becomes a hassle, especially when I lose track of feeds because I subscribed to or deleted feeds in different applications and hence my feed lists are no longer in sync.

This is where the Common Feed List of the Windows RSS Platform can help. Multiple applications can read, add, or delete from the Common Feed List and hence are "sharing" the user’s list of subscribed feeds. IE7 is one such application. When you discover and subscribe to feeds in IE7, it adds them to the Common Feed List and the new subscription is available to other applications. Not only can the user benefit from multiple applications using the Common Feed List, but we expect that over time, online services will provide tools that synchronize the Common Feed List with their services. This will allow roaming of the user’s subscription list not only between applications, but also between computers.

But wait, there’s more!

I mentioned two other components above: Feed Synchronization Engine and Feed Store. Together with the Common Feed List, these components allow application developers to include support for RSS feeds without having to becomes an expert in RSS formats, synchronization schedules, enclosure downloads – or even XML(!).

Here’s what the Windows RSS Platform provides for developers:

  • Support for every major RSS and Atom format, as well as many popular extensions.
  • Background scheduled updates.
  • Support for server-friendly technologies like conditional GETs and RFC 3229 for feeds.
  • Bandwidth-friendly enclosure downloads using Background Intelligent Transfer Service (BITS).
  • API exposing a simple object model for feeds as well as direct access to the raw XML stream.

All of this functionality is available as shared technology as part of IE7 on Windows Vista and down-level. As a developer, including RSS support in your application can be amazingly easy.

I’m sure that many of you are interested in more details of the API, features, and implementation. Over the next few weeks we will post about those on the RSS team blog. Head on over and leave us your comments and questions.

 - Walter

posted by ieblog | 29 Comments
Filed Under: ,

Frequently Asked Questions for the IE7 Beta 2 Preview

Hi, I'm Al Billings. I'm a project manager on the Internet Explorer team. I haven't posted before but you have probably seen comments from me from time to time on the blog. I'm involved in the regular work with it. Today, we have been getting a lot of questions in comments on our blog posts in response to the release of the IE7 Beta 2 Preview. I wanted to try to wrap most of these up in one post so people don't have to hunt for answers to common questions.

Questions

  1. Where can I read more details on what is in the IE7 Beta 2 Preview?

    We will be doing a series of blog posts in the upcoming days highlighting the new features in the IE7 Beta 2 Preview with quite a bit of detail. These will answer a lot of questions about how the new features work.

    The Internet Explorer Developer Center contains additional information for this preview release, including a series of articles on Security and Compatibility in IE7.

    In addition to these, we have release notes for the preview available at http://msdn.microsoft.com/ie/releasenotes/ which detail the changes at a high level, list known issues and discuss installation and uninstallation of the preview release.

  2. What operating systems does the preview work on?

    This release is only for Windows XP Service Pack 2 for x86 processors as detailed on the Beta 2 Direct Page. Other versions of Windows are not supported for this preview. We expect to offer IE7 for x64 and Windows 2003 Server SP1 in a future preview.

    The preview has also only been released for English but can be installed on localized versions of Windows.

  3. If I installed IE7 Beta 1, can I just install the Beta 2 Preview on top of it?

    No, the Beta 2 Preview will not let you install on top of Beta 1. If you are currently running the first Beta, it must be uninstalled first. Beta 1 can be removed by accessing Control Panel -> Add/Remove Programs -> Show Updates and finding it in the list there. Once you uninstall it, you can install the Beta 2 Preview.

  4. Can I run the preview and IE6 at the same time?

    No, the preview is a system upgrade that replaces IE6 on your computer with the preview code.

    As Chris Wilson pointed out, "'IE' is actually a collection of system components - networking, browser hosting, core HTML rendering, printing, etc. When we install a new version of IE, we're installing it for all applications that use these system components - including the tiny iexplore.exe itself." Because of this, we do not support the various hacks that allow side by side running of IE6 and the IE7 Beta 2 Preview. Running with these could cause issues with the stability of a system.

  5. I can't seem to get Windows Genuine Advantage to work for installation. What can I do?

    Please go to http://www.microsoft.com/resources/howtotell/ww/windows/default.mspx and try the steps listed there.
    Our installer for the preview used WGA and this cannot be bypassed. The Windows Genuine Advantage team wants to be sure that Windows users can install their software so they really do want to know about any issues that you may run into using WGA.

  6. How do I uninstall the preview?

    To uninstall Internet Explorer 7 Beta 2 Preview and return to Internet Explorer 6 on Windows XP
    1. Click “Start,” and then click “Control Panel.”
    2. Click “Add or Remove Programs.”
    3. Check “Show Updates” at the top of the dialog box.
    4. Scroll down the list to “Windows XP – Software Updates,” select “Internet Explorer 7 Beta 2Preview,” and then click "Change/Remove."
    If "Internet Explorer 7 Beta 2 Preview" does not exist, run %windir%\$NtUninstallie7bet2p$\spuninst\spuninst.exe. You need to have "view hidden folders" enabled. %windir% is your Windows installation directory, which is normally 'C:\Windows' on most systems.

  7. I am getting an error stating that msfeeds.dll cannot be found. What do I do?

    Some anti-spyware and anti-virus software is known to interfere with IE7’s ability to install. We do not recommend disabling these programs and if the steps below don’t help you, we recommend that you wait until a future release in which we hope to have addressed the problem. Please don’t hesitate to send feedback (via newsgroups, email, or the feedback reporting tool) and let us know which software programs are causing this problem so we can be sure to follow up with them.

    The most common cause is permissions being set to read only for certain entries in the Windows registry. This has been discussed in microsoft.public.internetexplorer.general newsgroup (accessible through the web here) by Stephen Anacker. He gave this workaround for the problem:

    This happened because the permissions on a registry key has been changed. On install we archive all the keys which involves both reading and writing to the keys. Some application has changed the permissions on the .tif and .tiff registry keys to not allow administrator full control over the key. What we need to do is change the permissions to allow the administrator to right and archive the key. This is the workaround, it involves changing registry keys so do this at your own risk.
    1. Reboot your system to make sure any changes made by previous installation attempts are completely rolled back
    2. Go to Start then "Run" type "regedit" in the run box and enter.
    3. In regedit expand HKEY_CLASSES_ROOT in the left pane and the scroll down to the entry ".tif"
    4. Right click on the entry in the left pane, select "permissions..."
    5. In the permissions box select the "administrators" group.
    6. Click on the "Advanced" button at the lower right.
    7. Select administrators and click edit.
    8. In the next dialogue check to allow box for "full control".
    9. Repeat this with the .tiff key
    10. Save and close.
    11. Install IE7

  8. Where can I report issues or give feedback?

    We want to hear your feedback on this release. Jason Watters posted a blog entry on how to send us feedback here. Jason says:

    You can post any questions or problems you have to the microsoft.public.internetexplorer.general newsgroup, either through a newsgroup reader or on the Microsoft Discussion Groups site.

    We also have two ways for you to submit detailed bug reports to us if the newsgroup isn’t your style. The first way to report issues directly to us is by sending email to IETell@microsoft.com. To better equip us to investigate your issue, please include a detailed description of the problem and steps to reproduce the problem (e.g. for site issues, a URL to the website and if possible a screenshot of rendering issues). General machine configuration and installed toolbars or extensions can also be useful as well, and (if you know) whether the problem occurs in IE 6.0.

    Also, please send your report from a valid email address so we can follow up with you if needed. We can’t commit to responding to each and every email we get, but all issues reported will be examined by the IE team in an effort to improve IE7.

    The second way to report issues directly to us is the Microsoft Beta Client Tool, which is a client-side tool you will need to install. Although it may look specific to Windows Vista, it can be used for submitting IE7 bugs. On the first page of the tool, just make sure you choose "This install ‘is an Internet Explorer 7 update on Windows XP’" and set Area to ‘Internet Explorer’.

I hope that this has been helpful to people in answering questions.

 - Al Billings

    Please test your sites with IE7

    I’m very excited we’ve released a public preview of beta2 that everyone can download. I’m also very happy that we’ve opened up a couple of different avenues to take your feedback. As Dean mentioned, there is a great checklist for site developers on the IE7 preview site; I wanted to call out a specific item on that list.

    Markus posted a while ago about the demise of CSS hacks in IE. We heard your feedback in the comments to that post, and we’ve put out a public preview release of IE7. I’d like to reiterate the call to action – if you are a web developer, please check your usage of CSS hacks. In addition to all the improvements in our CSS standard support that I talked about in July, and the other stuff I mentioned at the PDC, the IE layout team – developers, testers and program management – has done some amazing work since my last update and fixed the core of our CSS box model overflow problem (this means content overflow does not need to cause boxes to grow in size). We’re still refining our solution, but this means, for example, that simultaneously 1) the Holly hack won’t work properly anymore, and 2) it probably won’t be applied, because as we said before, the Star-HTML hack is gone.

    It’s a difficult challenge to keep compatibility with sites and apps but break compatibility for standards compliance, and we would appreciate you checking your sites and making necessary changes where you’ve hacked in non-standard stuff for IE in the past. We would particularly like detailed feedback on the work we’re doing in this area.

    We’re all very excited to start releasing. We’re going to try to restrain ourselves from posting dozens of blog posts today, and stop at three. :-)

     - Chris Wilson

    Update: We now have a MSDN article that walks you through CSS compatibility issues: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/cols/dnexpie/ie7_css_compat.asp

    Please send us your feedback on the IE7 Beta 2 Preview

    Hi, I’m Jason Watters, a Program Manager on the Internet Explorer Team.

    As Dean just announced, the IE7 Beta 2 Preview is now available for download. We hope you are looking forward to installing and testing it as much as we are looking forward to hearing your feedback on it. We have several different ways for you to send us your feedback.

    First, you can post any questions or problems you have to the microsoft.public.internetexplorer.general newsgroup, either through a newsgroup reader or on the Microsoft Discussion Groups site.

    We also have two ways for you to submit detailed bug reports to us if the newsgroup isn’t your style. The first way to report issues directly to us is by sending email to IETell@microsoft.com. To better equip us to investigate your issue, please include a detailed description of the problem and steps to reproduce the problem (e.g. for site issues, a URL to the website and if possible a screenshot of rendering issues). General machine configuration and installed toolbars or extensions can also be useful as well, and (if you know) whether the problem occurs in IE 6.0.

    Also, please send your report from a valid email address so we can follow up with you if needed. We can’t commit to responding to each and every email we get, but all issues reported will be examined by the IE team in an effort to improve IE7.

    The second way to report issues directly to us is the Microsoft Beta Client Tool, which is a client-side tool you will need to install. Although it may look specific to Windows Vista, it can be used for submitting IE7 bugs. On the first page of the tool, just make sure you choose "This install ‘is an Internet Explorer 7 update on Windows XP’" and set Area to ‘Internet Explorer’.

    I hope you enjoy the IE7 Beta 2 Preview and we look forward to hearing from you!

     - Jason Watters

    IE7 Beta 2 Preview Available

    If you’re a developer, an IT Pro, or just plain interested, please visit http://www.microsoft.com/windows/ie/ie7/ to try the IE7 Beta 2 Preview.

    What’s a beta preview? It’s a release for everyone involved in making the Internet work.

    Before we release a consumer-focused beta, we want to make sure anyone with a website can look at the changes we’ve made to our layout engine and the stricter user experience around security certificates. Developers should try out their toolbars, ActiveX controls, and applications that host or rely on the IE platform. IT Pros have their own concerns when a new browser is coming, as do domain registrars (especially with the IDN support), network operators, and many, many other groups. The site has some checklists we’ve written to help people exercise IE7 with their sites and applications. If we missed items you think we should call out, please let us know. We’re looking forward to feedback that will help us deliver a great, consumer-focused beta.

    Should everyone install? First and foremost, all the usual warnings about "beta" software apply. Also, while most of the functionality is in place, the user experience is not done. That said -- we welcome your feedback if you try it. The next post will cover the best ways to send us that feedback.

    And in case you haven’t been there, http://www.mix06.com/ is still a good site to check out.

    - Dean

    P.S. Please remember to uninstall any previous IE7 builds before installing this one: Control Panel, Add / Remove Programs, Show Updates, scroll to the bottom.

    posted by ieblog | 97 Comments
    Filed Under: , ,

    Go Seahawks!

    Congratulations to the Seattle Seahawks on their awesome win yesterday and their first NFC championship! (The Seahawks are our local American football team.) We’re thrilled that the Seahawks are finally going to Super Bowl and can’t wait for the big game in two weeks.

     - Tony Chor

    posted by ieblog | 85 Comments
    Filed Under:

    Native XMLHTTPRequest object

    Hello, I’m Sunava Dutta and I am a Program Manager in the Internet Explorer team.

    I’m excited to mention that IE7 will support a scriptable native version of XMLHTTP. This can be instantiated using the same syntax across different browsers and decouples AJAX functionality from an ActiveX enabled environment.

    What is XMLHTTP?

    XMLHTTP was first introduced to the world as an ActiveX control in Internet Explorer 5.0. Over time, this object has been implemented by other browsing platforms, and is the cornerstone of “AJAX” web applications. The object allows web pages to send and receive XML (or other data) via the HTTP protocol. XMLHTTP makes it possible to create responsive web applications that do not require redownloading the entire page to display new data. Popular examples of AJAX applications include the Beta version of Windows Live Local, Microsoft Outlook Web Access, and Google’s GMail.

    Charting the changes: XMLHTTP in IE7 vs. IE6

    In IE6 and below, XMLHTTP is implemented as an ActiveX object provided by MSXML.

    In IE7, XMLHTTP is now also exposed as a native script object. Users and organizations that choose to disable ActiveX controls can still use XMLHTTP based web applications. (Note that an organization may use Group Policy or IE Options to disable the new native XMLHTTP object if desired.) As part of our continuing security improvements we now allow clients to configure and customize a security policy of their choice and simultaneously retain functionality across key AJAX scenarios.

    IE7’s implementation of the XMLHTTP object is consistent with that of other browsers, simplifying the task of cross-browser compatibility.  Using just a bit of script, it’s easy to build a function which works with any browser that supports XMLHTTP:

    if (window.XMLHttpRequest){

              // If IE7, Mozilla, Safari, etc: Use native object
              var xmlHttp = new XMLHttpRequest()

    }
    else
    {
    if (window.ActiveXObject){

              // ...otherwise, use the ActiveX control for IE5.x and IE6
              var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              }

    }

    Note that IE7 will still support the legacy ActiveX implementation of XMLHTTP alongside the new native object, so pages currently using the ActiveX control will not require rewrites.

    I look forward to hearing any feedback and suggestions.

    - Sunava

    posted by ieblog | 81 Comments
    Filed Under: ,

    More on MIX

    The MIX06 site has been updated to provide more details on the many sessions and discussions – for example, the session on “Making Your Site Look Great on IE7”.   The site lays out the content and agenda, including the keynote with Bill Gates and Tim O’Reilly.  It also describes the sessions led by Jeff Barr of Amazon Web Services as well as the content scenario tracks owned by Joe Belfiore (Microsoft, eHome division) and some guy named Dean Hachamovitch who claims to be on the IE team.

    I’ve been helping select the topics for the conference, so I’m looking forward to the final list of sessions (coming soon).  Some of my favorite topics (and my own talks) haven’t been posted yet, so subscribe to the RSS feed to keep up with updates.

    http://mix06.com/

    - Chris Wilson

    posted by ieblog | 57 Comments

    For the SELECT few...

    Hello, I am Kun, the first developer of IE Beijing team in Microsoft. Our team has been working on the Intrinsic Controls of IE in the past year. Among these controls, the SELECT element has been greatly improved. IE6’s SELECT element didn’t support certain properties, like z-index, title, and zoom. In IE7, we have re-worked the SELECT element. This new version has features and fixes that will make IE7 a better user experience. This is work that has long been requested by web developers and it is certainly something that should have been addressed in past releases. In IE7 the work on the SELECT element along with our work on CSS is part of our focus to supply web developers with a consistent platform for great web solutions.

    We are continuing to refine the Windowless SELECT elements and we are very proud of it. This should make web and application developers happier since this will allow them to have the Select control perform Z-order and Zoom the way it was intended to without elaborate workarounds and hacks. If you were one of those people relying on the Windowed Select element in your code, you should be aware of this change so as to make sure your sites and applications continue to work with IE7.

    In IE7, we have taken a feature (SELECT element) that every internet user has run into in some form or another and made it work better for everyone. We did this without introducing new user behaviors or specific programmatic alterations that would force thousands of web developers to have to change their sites. Essentially, if it worked in IE6, it should work the same or even better in IE7.

    SELECT element in IE7 - An Overview

    In IE6, the HTML <SELECT> element was implemented through the Windows Shell ListBox and Combobox controls. Some key features were missing in the old version of the SELECT element, such as proper support for z-index, TITLE support, and zoom. Web developers had to write complex CSS and scripts to workaround these issues.

    In IE7 however, we re-implemented the <SELECT> element to make IE7 more standards-compliant. This new version does not use any Shell controls any more. In fact, it is implemented totally through the MSHTML framework, including styling, UI interaction, and rendering. Thus the SELECT element in IE7 is more of an HTML element than the former legacy control.

    SELECT element in IE7 - Windowless and Z-order

    A big problem of IE6’s SELECT element was that it could not perform z-index.

    Here is an illustration.

    When a user moved the mouse over to the “Mouse Over Here” in figure 1, this triggered the select element. Z-Index=1 should be behind and hidden by the select element (which appears as a yellow box) while Z-index = 3 should appear visible above the select element.

    Instead with the legacy Windowed element you will find these two SELECT elements always placed on top of the floating DIV, even though the DIV has a higher z-index value.

    Figure 1
    Figure 1 IE6 Select Behavior (you can still see Z-Index=1 even though it should be behind Z-Index=2 layer)

    Floating DIV tags (or other block elements) are a common technique used to write DHTML menus. But with this issue, web developers had to be careful not to put any SELECT element below these menus or else they would get obstructed. Although a work around with complex scripts was possible, it was inconvenient and kludgy.

    This issue comes from the fact that the SELECT element in IE6 is a window based control, which always stays above the content of its parent IE window.

    The Windowless Select Element

    In IE7, the SELECT element has been changed into a windowless element. This means that Listbox and the inline part of Combobox are laid out and rendered directly by MSHTML. In other words, they are drawn directly within content flow. This new windowless SELECT element will follow the z-index priority in the markup. The following screen shot shows how the sample markup above will look in IE7.

    Figure 2
    Fig 2 IE7 Select Behavior (Z=Index = 1 is now hidden beneath Z-Index=2 the way it is supposed to be)

    The main thing that you should take away from this posting is that the Windowless SELECT element is coming to replace the Windowed SELECT element in IE7. If your web or application developers adhered to normal HTML procedures in calling the SELECT element, then it should be fine. What worked in IE6 should work better in IE7. If you were using workarounds calling on the Windowed SELECT API, you may need to re-inspect your code to make sure that it doesn’t break on IE7.

    We’d love to hear any comments, feedback or experiences that you’ve had with the SELECT Element or even Z-Order so that we can continue to improve this great feature.

    - Kun Cong

    posted by ieblog | 96 Comments
    Filed Under: ,

    Clear my Tracks: yes please!!!!

    First let me introduce myself. My name is Uche Enuha and I am a recent college graduate hire to the Internet Explorer team. I am a Program Manager working on the User Experience team.
    Now to the main point. There is a new feature in IE7 called ‘Delete Browsing History’ that gives users an easy way to control the data stored by the browser.I am going to answer the three main questions that I think are going through your heads right now, I’ll let you meditate on the information and allow the excitement to naturally evolve.

    Why would I use this feature?
    I am glad you asked this question. Let’s look at an example of how this feature can be used. So you’re trying to buy a gift for your loved one and you know how important it is to keep this mission secret. You’re aware of every site you visit but your machine is aware of even more; the stuff you type, the information you read, even the cookies requested by the site where you eventually buy the gift. You realize how important it is that your loved one never gets hold of any of this information. So you do what we all would, you try and cover your tracks. Now back in IE6, you would have to spend a lot of time looking through various places on your computer to get rid of all the relevant information and possibly still miss some critical information. Now with the ‘Delete Browsing History’ feature, we are giving every person the ability to clear all their browsing information from one location with a click of a button and, the peace of mind that the job was done right.

    What does this feature really do?
    It deletes the following items which are split into five categories, listed below:

    • Temporary Internet Files: Downloaded files cached on the client for quick access
      • Temporary Internet Files cached for quick access
      • Cached files containing Offline favorites
      • Information stored by other applications in the Temporary Internet Files folder (e.g. attachment files stored by Outlook)
    • Cookies: Information persisted by the client on behalf of the server
      • Cookies
      • XML Userdata cache
    • History: website addresses (URLs) stored to enable History/most recently used website addresses
      • Typed website addresses used for Addressbar Autocomplete
      • The list of most recently used website addresses in the Run… dialog
      • URL History entries (excluding ones marked as Offline Favorites)
      • Stored value for Encoding (Code Page)
    • Form Data: User-entered personal data stored by the client
      • AutoComplete form data
    • Passwords: User-entered personal data stored by the client
      • AutoComplete password data

    (Please note, if you’re part of a domain in a corporate environment, an administrator has the ability to disable certain aspects of this feature.)

    The User Interface for this feature provides information about what exactly these types of information are and gives the user the ability to individually delete each type of information or delete all information at once. Here’s what the main dialog looks like:

    Delete Browsing History dialog

    As an added bonus, if cleaning up is taking a while, a cancellable progress dialog is shown. You can ignore the dialog and go back to the browser (or even close it) – the process will continue in the background until it’s done. No more sitting around waiting for your 200MB cache to be emptied!

    Where can we find this great feature?
    Just go to the Tools menu and you’ll see ‘Delete Browsing History…’. Or whilst you’re in the internet options dialog, you can find this feature under the General tab in the Browsing history section cleverly disguised as the ‘Delete…’ button.

    So there you have it. ‘Delete Browsing History…’ will be coming to a computer near you very shortly. Use it and enjoy it. Think of it as your friend that has your back and covers your tracks.

    -Uche

    posted by ieblog | 196 Comments
    Filed Under: ,

    MIX06 conference

    I wanted to give a quick pointer to the conference Microsoft will be hosting in March in Las Vegas: MIX06, a “A 72-hour conversation between developers, designers and business professionals to explore high-fidelity commerce, content, media, services and security.”

    Many IE team members will be there, myself included, and loads of other Microsoft teams involved in web technologies, including the Windows Presentation Foundation, the Atlas AJAX framework and Windows Live!. And yes, Bill Gates will be there too.

    http://mix06.com/

    - Chris Wilson

    posted by ieblog | 67 Comments
    Filed Under: , ,
    More Posts Next page »