Activities are contextual menu options which quickly access a service from any Web page. Users typically copy and paste from one Web page to another. Internet Explorer 8 Activities make this common pattern easier to do.
Activities typically involve two types of scenarios: "look up" of information within a Web page, and "send" of Web content to a Web application. Consider the example of a user who is interested in a restaurant and wants to see its location. This is the form of a "look up" Activity, where the user selects the address and views an in-place view of the map using a favorite map service.
In an example of a "send" Activity, a user reads an interesting article and wants to blog about it. The user can select a portion of the article and use the blog Activity. This navigates to the user's blog site with the selection already available in the edit field.
Users can access an Activity on selection simply by selecting content and opening the context menu. For example, users can select an address on a webpage and the Activity button appears. Alternatively, you can access selection Activities from the context menu. Activities are also available for the current webpage in the Page menu on the Command bar and for links within a page in the context menu for the link.
Activities are services that the user can install and manage. Users can install them from the Internet Explorer 8 Service Guide or through any website that advertises Activities.
Activities are described using an XML file that provides the interface of how the browser should communicate with the service through URL templates. Web-based services should take advantage of the XML-based Activities since they are easier to create, test, and deploy to users.
This is a simple sample that shows the map Activity that you can host on a website:
Activity XML file – copy the sample code below to a text editor and save it as "GetMap.xml". This code below describes the functionality of the Activity.
Hosting the install button – add this code snippet to the website that you want to advertise the Activity.
WebSlices is a new feature for websites to connect to their users by subscribing to content directly within a webpage. WebSlices behave just like feeds where clients can subscribe to get updates and notify the user of changes.
A WebSlice is a portion within a webpage that is treated like a subscribe-able item, just like a feed. To enable a WebSlice on your website, annotate your webpage with class names for the title, description, and other subscribe-able properties.
Internet Explorer 8 Users can discover WebSlices within a webpage and add them to the Favorites bar, a dedicated row below the Address bar for easy access to links. Internet Explorer 8 subscribes to the webpage, detects changes in the WebSlice, and notifies the user of updates. Users can preview these updates directly from the Favorites bar and click-through to the website to get more information.
WebSlices are enabled by adding HTML annotations directly to the webpage. WebSlices use a combination of the hAtom Microformat and the WebSlice format to describe a subscribe-able portion of a webpage.
The basic properties of a WebSlice are the WebSlice container, Entry Title, and Entry Content.
This is an example of how to mark up an auction item with the link, title, and description properties.
Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing, positioning) to Web documents. Before the introduction of CSS, stylistic properties were set directly within HTML through different attributes. With CSS, authors may separate a page’s data specified via HTML from the display logic, thus improving markup organization and facilitating easier site maintenance.
The W3C CSS working group has made great strides towards converging on a final specification for CSS 2.1. At the time of this writing, the specification is in ‘Candidate Recommendation’. The main goal of this effort is to enable web developers and designers to write their pages once and have them render properly in many browsers. The new Web Developer Toolbar included with Internet Explorer 8 will also help in this endeavor. Internet Explorer 8 supports the latest feature set as defined in the specification.
While one of Internet Explorer 8’s main goals is CSS 2.1 compliance, it is also forward looking towards CSS3. CSS3 is the next step in the evolution of Cascading Style Sheets, and unlike CSS 2.1 which consists of one single document, the CSS3 specification is broken down into different modules in order to increase the speed of converging on clear specifications and implementations of different features. Additionally, CSS3 hopes to further clarify some of the ambiguities in the CSS2.1 Specification while providing new features to web authors. Internet Explorer 8 hopes to implement some of the most requested CSS3 features by web developers and designers.See CSS 2.1 Compliance white paper for more information.
Data URIs offer web developers the opportunity to embed small external resources (like CSS files or images) directly into a URL on a webpage:
The primary use case for data URIs is the encapsulation of a binary file inside an URL (a stylesheet or image). Because the binary file can be represented inline as a string, it may be saved to the local store and retrieved at a later time without needing to fetch anything from the network.
Data URIs also offer an alternative to traditional URIs in that they don’t require a separate download; this is advantageous in scenarios where sub downloads are blocked or unavailable.
Internet Explorer 8’s data URI implementation attempts to balance
security with functionality.
Internet Explorer 8 includes several print enhancements. These form the basis for a full implementation of CSS 2.1 pagination recommendations, and provide authors with more control and functionality in the print medium. In particular, support has been added for the following printing constructs:
These improvements give developers greater control over how content is paginated across finite views. Developers can specify margin area, portions of content that must be kept together or split across pages, and much more. With this in mind, readability of printed Web content can be greatly improved.See Printing Improvements white paper for more information.
Internet Explorer 8 includes tools that Web developers need to efficiently debug their sites directly in Internet Explorer. Developers can immediately debug a site's HTML, CSS, and JScript from within Internet Explorer 8, rather than switch between Internet Explorer and a separate development environment.
In addition, Internet Explorer 8 Developer Tools help developers identify why their site does not render or behave as expected. They do this by providing visibility into Internet Explorer's internal representation of the site rather than just a source view.
Finally, by making it simple to edit any site, Internet Explorer 8 Developer Tools makes experimentation and iterative development easy. This enables rapid prototyping and helps developers improve their skills.See Developer Tools white paper for more information.
Versioning and Internet Explorer rendering modes provide the following; it allows Internet Explorer 8 to remain compatible with today’s web content and provides a mechanism to introduce new features and stricter standards compliance.
Internet Explorer 8 has three different Layout modes:
By default, Internet Explorer will attempt to display content using its most standards compliant mode, the IE8 Standards mode. To allow existing site content to remain compatible with Internet Explorer 8, site operators may designate the correct layout mode for Internet Explorer 8 clients via a new compatibility mode switch.See Versioning and Internet Explorer Modes white paper for more information.
Internet Explorer 8 introduces the IE8 standards mode by default—this lets Web designers use the latest rendering features available in Internet Explorer 8. In addition to layout changes, IE8 standards mode will also affect the behavior of scripted APIs (DOM).
To opt-out of IE8 standards mode, the META tag may be used to obtain IE7 compatibility mode:
Versioning of the DOM APIs introduces additional complexity for Web developers interacting through script with framesets and inline frames, HTC files (element behaviors), and various HTML dialogs that are in different modes. For example, one frame in IE8 standards mode may interact with another frame that is in IE7 compatibility mode. Script authors must understand how versioning will affect DOM APIs that have different behaviors when invoked across document boundaries. The following scenarios illustrate these behaviors.
Other scenarios—such as frameworks and mashups injected through document.write or <script src="framework.js">—are not explicitly handled by cross-document versioning, because they do not involve the creation of a new document. In these scenarios, Web developers must take care to author their content in a way that works well with any document mode.See Versioning and Cross-Document Interaction white paper for more information.
Improving developer productivity is one of the primary goals of Internet Explorer 8. We set out to achieve this goal in part by providing cross-browser interoperability, standards compliance and additional powerful APIs.
Internet Explorer 8 provides a simplified yet powerful programming model for AJAX development that spans browser, webpage, and server interaction. As a result, it is easier for you to build webpages that have much better end-user experiences, are more functional, and have better performance. APIs are based on the W3C HTML 5.0 or Web Applications Working Group standards. Enhancements or novel intellectual property for AJAX will be made available for standardization before the Internet Explorer 8 release.
The following AJAX improvements bridge the gap between browser and webpage to help you provide a better user experience:
Cross-domain communication is an integral part of AJAX development and mashup Web applications. Internet Explorer 8 includes two features to help you build cross-domain communications that are safe and easy to implement:
During Internet Explorer 6's long tenure as the leading market-share holder, Web developers revealed many bugs and inconsistencies in Internet Explorer's DOM. Today, with the Internet Explorer 8 versioning plan, these bugs and inconsistencies are corrected by default, and those customers who choose to opt out of this behavior may enable IE7 compatibility mode.
The majority of bug reports in the realm of HTML/Core functionality involve fixing Internet Explorer's attribute handling, which does not interoperate well with other browser's implementations. These problems can be broken down into two general categories:
Internet Explorer 8 fixes many of the cross-browser inconsistencies in these two areas. Specifically, the following bugs in core areas have been fixed:
Selectors are a query language for searching and “selecting” tags (elements) within a webpage. They are most commonly seen in CSS to “select” a group of elements to which certain properties will be applied:
In Internet Explorer 7 there is no way of "executing" the selector independently of CSS. Internet Explorer 8’s implementation of the Selectors API is based on the W3C Working Draft: http://www.w3.org/TR/selectors-api/See Selectors API white paper for more information.
Internet Explorer 8 includes several changes that improve the performance of Web sites. These changes affect many Internet Explorer subsystems, including the HTML parser, CSS rule processing, markup-tree manipulation as well as the JScript garbage collector and runtime.
The majority of these changes will affect performance only, with little to no functional effect on most Web sites. However, they may expose aspects of Web sites that depend on the timing of operations or performance of the browser. In addition, those Web sites that unknowingly access objects after they are freed may find such access failing in Internet Explorer 8.
Internet Explorer 8's performance improvements affect each site loaded in Internet Explorer 8 regardless of the chosen rendering mode.See Platform Performance Improvements white paper for more information.
Internet Explorer 8 includes improvements to memory management. These improvements mitigate memory leaks that were previously created by circular references between JScript objects and DOM objects.
This feature may affect the behavior of webpages that depend on garbage memory that, only as the result of a memory leak, existed in previous versions of Internet Explorer. In Internet Explorer 8, these pages will reference unallocated memory and generate a fault.
This feature affects each website displayed in Internet Explorer 8 regardless of the site's chosen rendering mode.See Circular Memory Leak Mitigation white paper for more information.
HTML uses elements to represent both structure and meaning in a document. To help developers take full advantage of the elements that HTML 4 offers, and to better provide the semantic meaning intended by Web author, Internet Explorer 8 has upgraded support of the following presentational elements:
Through improved support of these HTML elements, Web developers may build more expressive and accessible HTML markup.See HTML Improvements and ACID2 white paper for more information.
Internet Explorer 8 offers Web developers the opportunity to write standards-compliant HTML-based Web pages that support features (such as SVG, XUL, and MathML) in namespaces, provided that the client has installed appropriate handlers for those namespaces via binary behaviors. (A binary behavior is a type of ActiveX control.)
Internet Explorer 5 through Internet Explorer 7 provides limited element namespace support. (This support keeps the parser from treating namespaced elements as native HTML elements.) By using element namespaces, Web developers can apply behaviors to those elements through special HTML markup (called HTML Components or HTCs), and COM developers can apply binary behaviors. Only elements in a namespace can have binary behaviors applied to them.
Internet Explorer 8 improves its namespace support by reducing the amount of code necessary to instantiate and use a binary behavior. Internet Explorer 8 also continues to support HTCs but has not made any new investments in that area.See Improved Namespace Support white paper for more information.
Internet Explorer 8 makes it easier for developers to programmatically start, interact, and maintain a Protected-Mode Internet Explorer process. Building off of User Account Control (UAC) integration in Internet Explorer 7, the IWebBrowser2 interface provides new process-creation methods that properly conform to user privilege levels. Developers can now spawn and control Protected-Mode Internet Explorer processes, and avoid confusing workarounds, with a low-cost change to existing code.See Improved Protected Mode API Support white paper for more information.