How to tell MSIE8 to render your pages in MSIE7 compatibility mode

Wednesday, 2 April 2008 15:46 by joelevi

First of all, I really don't like MSIE7's rendering mode, but it is better than that of MSIE6.

MSIE8 (Beta 1) is expected to ship in "standards mode" by default, in other words, "not compatible with MSIE7 pages mode." That could be a problem.

I use Yahoo!'s YUI CSS libraries to "zero out" all the discrepancies between browsers so I have a clean slate on which to build. Most of the time it works pretty well -- until MSIE8.

Even in "standards mode" MSIE8 renders my pages MUCH differently than MSIE7, Firefox 2/3, and Safari 3. Why? No idea yet. In the meantime, here's how to make your pages load the same way in MSIE8 as they did in MSIE7.

Add the following meta tag to your header:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Common Name Compatibility Mode Value
"Quirks" Mode IE=5
IE7 Mode IE=7
IE8 Standards Mode IE=8
Always Use Latest Mode IE=edge

Of course that's not the "fix" but it will get you by until you can get to the root of the problem.

You can thank me later.


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   MIX08 | Web Technology
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

MIX08 The Aftermath: Connections and Contacts

Wednesday, 12 March 2008 12:30 by joelevi

One of the objectives of MIX (as evidenced by its name) is to allow business decision makers, designers, and developers to meet up and come together for a common objective: improving the current web.

This year I did a much better job of meeting up than at last MIX. Here's who I met up with:

Did I miss anyone?


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MIX08 The Aftermath: MIX09 Announced

Monday, 10 March 2008 14:11 by joelevi

I almost forgot to mention, MIX09 will be held at The Venetian in Las Vegas Nevada (same as always) March 18th-20th, 2009.

(Hat tip to Laurent Duveau for this nugget of information!)


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MIX08 Day 3: T10 Lighting up your AJAX Applications with Silverlight

Friday, 7 March 2008 10:57 by joelevi

 

 

  1. Two ASP.NET server controls
    1. Both ship in SDK: System.Web. Silverlight.dll
    2. Deploys to /bin folder
    3. Available at design-time within Visual Studio 2008
  2. MediaPlayer control
    1. E-commerce sites are going more and more to media right inline inside the store
    2. No more need for RealPlayer or other (proprietary) players
    3. Training on an intranet becomes much easier with rich media
  3. Client customizations
    1. hook various media events
      1. embedded media markers
      2. media start/stop
      3. chapter events
    2. javascript type provides access to "VCR" (should that say "DVR") - style controls

If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MIX08 Day 3: T19 Accessing Windows Live Services via ATOM Publishing Protocol (APP)

Friday, 7 March 2008 09:46 by joelevi

Using Windows Live Services and Astoria-style syntax, you can easily authenticate a user to their Live Spaces and allow direct interaction into and out of it.

This demo showed authentication, displaying folders in a dropdownlist, creating a new folder, displaying a list of images in the folder, and how to create a datasource that you can then bind a gridview (or other bindable control) to interact with the stuff in Live Spaces (edit, delete, etc. directly from an asynchronous gridview)

The demo provided ways to do all this using string building as well as LINQ. Very cool stuff.


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , ,
Categories:   MIX08 | Web Technology
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

MIX08 Day 2: UX07 Creating Better User Experiences, Design Methods

Thursday, 6 March 2008 16:21 by joelevi

(This was a hands-on session, so not much time to blog.)


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   MIX08 | Web Technology
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

MIX08 Day 2: CT07 Advanced Cross-Browser Layout with Internet Explorer 8

Thursday, 6 March 2008 15:31 by joelevi

Scott Dickens, Lead Program Manager, MS

  1. MSIE8 will render in most standard mode by default; goal is predictability across browsers.
  2. Trident (MSHTML) is Microsoft's rendering engine.
    1. better platform for typography
    2. designed with CSS 2.1 spec in-hand
    3. deprecation of hasLayout
      1. blocks had layout, other stuff didn't
      2. it's gone now
  3. Tenets
    1. Better support for web standards
      1. css2.1
      2. Javascript
      3. OM improvements

To make your page render in IE7 Standards mode you need to add a meta tag to your header"

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Common Name    Compatibility mode value

Quirks                 IE=5

IE& Standards     IE=7

IE8Standards       IE=8

Always Use Latest Mode IE=edge

How to check what mode a given page is using

<script type="text/javascript">

document.write ("This page is using ");

document.documentMode + " compatibility mode");

</script>

User Agent Strings

Make sure your UA sniffer strings are written correctly (MSIE8 >= MSIE 7).

Conditional Comments

CCs have been revved to include MSIE8 <!-- [if gte IE 7] > ...

JavaScript Fixes

Fixes now in GetElementByID, so if your JS is using that, it might be broken for you, too.


If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , ,
Categories:   MIX08 | Web Technology
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

MIX08 Day 2: Keynote

Thursday, 6 March 2008 13:54 by joelevi

If your bag of goodies wasn't good enough for you, pick up some additional bits at https://content.visitmix.com/content/thebits.aspx

The Johnny Cash singer (Vince -- didn't catch his last name) is only 15 years old! Wow!!

MIX09 will be held March 18th through March 20th 2009!

Guy Kawasaki and Steve Ballmer

  1. Why do you want to buy Yahoo!?
    1. MS wants to be a very serious player in the search and advertising online
    2. Search is the killer application of advertising
    3. "We've got a long way to go ... Yahoo [is a way to accelerate] that"
    4. "We've made an offer... and... we've made an offer"
  2. Do you have to "do Google in"?
    1. they have to be a player
    2. I can say "google"... Google google google google...
    3. Google isn't there on desktop (Apple, Linux, yes)
    4. Google isn't there on servers and databases (IBM, SAP, yes)
    5. Google isn't in entertainment
    6. Google IS online...
    7. ... yeah we're the underdog
  3. Is apple the chihuahua that you kick in the morning?
    1. Apple does a decent desktop machine
    2. Apple has a real good music player... again there, we're the underdog
    3. Apple has a new phone... we sell more phones than Apple
  4. Facebook?
    1. It's all about the online presence
    2. We decided to partner with them
    3. We only put in a few hundred million
    4. I'm a Ford guy (no Lexus)
    5. MS is making $60 Billion a year in revenue
  5. What drives you?
    1. I love what we do
      1. I'm pretty jazzed up about Silverlight 2
      2. Being at the forefront of changing technology
    2. Working with the smartest, funnest, more energetic people in the world
    3. Challenge
  6. Describe your day...
    1. Customer days: 11 hours a day then on a plane and repeat the next day
    2. The doctor is in: one meeting after another after another
    3. Personal day:
  7. How much email?
    1. About 60 a day
    2. No personal assistance filtering messages
    3. steveb@microsoft.com
    4. I'll probably get more than that tomorrow (laughter)
  8. What about Silverlight?
    1. in the past you've had a choice, a rich application, or a web application; Silverlight is the bridge that makes it so you don't have to compromise
  9. What's the deal with Vista? Seriously. The one that you get no choice of getting... (pulls out the Macbook Air)
    1. You mean the second most popular OS in the world?
    2. That thing is missing 1/2 the stuff of my Toshiba...
    3. and it's heavier too... (picks up the Air, falls to the ground descriptive of it's "weight")
    4. We made the choice to improve security and compatibility suffered... customers have been made us very aware of that
  10. Let's talk about Firefox and IE...
    1. FF has certainly built position over the last couple of years
    2. I expect you'll see a lot of browser innovation from us in the near future
    3. No MSIE Mac, how come? Better to focus efforts on the larger market share than to bring another browser to the Mac
  11. Social Networking
    1. It's not a fad, it's here to stay
    2. MySpace, Facebook, XBOX Live
    3. MSN Messenger, Live Communicator
    4. We have openness with our business customers with Sharepoint, etc.
  12. It's a different Microsoft today
    1. Thanks, I really appreciate that.
    2. But if I get 150 to a thousand emails from this group tomorrow, don't expect an answer

Questions from the audience

  1. What about Adobe?
    1. What ~about~ Adobe, to repeat the question using a little different body language
    2. Offering rich tools or developers
    3. Supporting them now and in the future as an ISV
    4. PDF still important
    5. Driving interoperability, while still competing
  2. .NET, Since .NET has gotten better and better over the years, how come Internet Explorer got left out of the development platform
    1. Some mistakes and good learning
    2. we're now having to really hustle
  3. If Microsoft takes over Yahoo, what are you going to do with all those PHP apps?
    1. We shouldn't have two of everything, two mail services, two search services, two messenging services; whatever technology comes will have to have infrastructure behind it; if that day comes I'm sure you'll still have some PHP running live and and in the future
    2. I guess we'll be a PHP and an ASP.NET shop
    3. Windows Server runs PHP applications really well... not that we'd make that change right away
  4. What synergies would you have with Yahoo and how could you push it through the anti-trust process
    1. I'll pass on the second... or Guy will just say I'm giving a PR answer
    2. The more ads are served, the more revenue comes in, the more revenue the more there is to reinvest
  5. What about FastSearch?
    1. Fast sold their web search to yahoo years ago
    2. They still have the technology to search on websites and in corporations
    3. Still in regulatory review
  6. Virtualization Platform, Amazon Cloud...
    1. We have the technology through Hyper V to let anyone build server farms
    2. Will we ever offer the service (Ray Albun said we would yesterday)... it's definitely a great interest
  7. With apologies to this audience, what are your plans/thoughts on the Supersonics?
    1. With apologies to you and the Seattle Times, I'm not going to talk about that today
  8. Silverlight on the iPhone?
    1. Wouldn't it be great if Apple let open development tools run on their platform instead of charging, what the most expensive development platform in the world?
  9. Danger
    1. Danger is part of the strategy to do applications and services on Windows Mobile
  10. What phone do you use?
    1. I'm constantly rotating between them
    2. Do I want to give out my phone number here, too? No... No I don't (laughter)
  11. When will Silverlight come to other Microsoft properties?
    1. When it's appropriate to do so
  12. Microsoft in Healthcare?
    1. What's it gong to take to bootstrap consumer health, and how does that help me as a consumer
    2. How does my doctor tie in to all that
    3. HealthVault
    4. We don't have anywhere near all the ideas out there and look for innovation from 3rd parties
  13. BluRay?
    1. We don't make drives
    2. We thought HD-DVD would be the winner, it was first to market, had a larger share, etc.
    3. We had an HD-DVD drive for XBOX
    4. We will support Blu-Ray in ways that make sense, windows drivers, etc.
    5. Its probably less important to think about the format of the disc when you look at the whole HD content delivery. Now it's important to have an optical drive in your laptop, in 5 years I think it will be less so
  14. Can you show some love for Web Developers?
    1. Web Developers web developers web developers!
    2. If that guy behind you just gave you a buck, I want 50 cents of it
  15. Thank you for DreamSparc, Channel 8, Student Tools. Now that we have the tools, what can you do to help with the infrastructure?
    1. Will we have some kind of service based utility to enable to do this? See the answer earlier. Will we have student discounts, who knows.
    2. Students -- and everyone else -- can view all of the content on the MIX website, Microsoft.com, and I'd love for you to use Live Search
  16. Apple announced today that it's licensing ActiveSync to connect with MS Exchange, how is that going to compete?
    1. We'll be glad to see iPhone participate and take advantage of Exchange
  17. What are our plans for RazorFish?
    1. ...

If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MIX08 Day 2: T34 Building Great AJAX Applications from Scratch Using ASP.NET 3.5 and Visual Studio 2008

Thursday, 6 March 2008 10:55 by joelevi

Brad Abrams, Group Program Manager, .NET Framework, http://blogs.msdn.com/brada; http://blogs.msdn.com/brada/archive/2008/03/06/mix08-session-overview-building-great-ajax-applications-from-scratch-using-asp-net-3-5-and-visual-studio-2008.aspx

  • Visual Studio 2008 has a MUCH better way of letting you interact with your CSS (even in  external documents)
  • real-time preview of your css rules -- at last!
  • handles on your elements (in preview mode) let you dynamically resize divs and automagically wire your css ruls accordingly -- FTW!
  • the automatic preview in VS2008 uses a custom rendering engine that is supposed to be uber-compatible mode (not using the IE7 or even the IE8 rendering engine)... makes me wonder why IE7/IE8 isn't using this engine ;)
  • Use the solution's property page to change the target framework between.NET 2.0, 3.0, and 3.5
  • .NET framework 3.0 and 3.5 are layered upon .NET 2.0 which makes multi-targeting easier, and easier for hosts
    • future versions of the CLR will be completely separate
  • NEW CONTROL: List view
    • rather than using a repeater with an unordered list, List View lets you do the same thing, but gives you a LayoutTemplate (which looks like a combined HeaderTemplate and FooterTemplate...
    • you just have to nest an <asp:PlaceHolder in the LayoutTemplate,
    • and reference the LaoutTemplate in the ItemTemplate attributes
  • LINQ: A common way to work with data
    • Embedding tSQL and stored procedures in your code is probably not the best thing
    • in the .dbml file you drop in your tables, and you can rename any element (just in case your DBA named things kind of screwy)
    • same syntax to talk to a SQL database, Oracle, MySQL, XML, Flickr, Amazon a9 (?), Google (?), in-memory data objects, etc.
    • You can tier your LINQ statements, to pull in a big chunk of data from the data source, then run another LINKQ statement against that in-memory data set (to reduce load on the database and time to return the data)
  • var:
    • new variable type, lets the compiler decide what type it should be
    • good for prototyping and initial developing, but you should go back and type it correctly
  • NEW CONTROL: DataPager
    • Fields
      • <asp:NumericPagerFields
  • UpdatePanel
    • An AJAX control that defines an area that can be updated asynchronously
    • ProgressTemplate to show when the panel is being updated (if needed; if you're on a fast connection and the time to render is very short, the progress indicator won't be shown -- avoiding unnecessary distractions)
  • Javascript debugging
    • No more need to do "Alert" style debugging!
    • Can set breakpoints
  • Extenders (from the AjaxControlToolkit)
    • extenders are now available via hover in design view (easy, fast, sweet)
    • no need to manually wire up extenders to (say) textboxes, use the wizard and do it fast

Open thoughts:

  1. Why not extend the existing components (datalist, datagrid, etc.) to include AJAX update properties (such as Async=true and a Triggers collection
  2. Why not add a "AddBrowserHistory" flag to maintain "back" functionality of the browser

If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , , , ,
Categories:   MIX08
Actions:   E-mail | Permalink | Comments (3) | Comment RSSRSS comment feed

MIX08 Day 2: T16 Real World AJAX with ASP.NET

Thursday, 6 March 2008 09:31 by joelevi

Nikhil Hotari

  • ASP.NET provides for partial page rendering. The AJAX Control Toolkit is an open source project available from CodePlex
  • Web services (to expose JSON, etc.)
  • Script Framework
  1. AJAX in the real world
    1. AJAX has become mainstream
      1. users expect it
      2. subtle use of AJX is usually effective
      3. don't have to go overboard with lots of AJAX
    2. it's about creating better UX
      1. fluid UI
      2. rich data viz
      3. intuitive data entry
    3. it's not just about updating page content
  2. AJAX Challenges
    1. script complexity
    2. indexability and SEO
    3. navigation an bookmarkability
    4. increasing user expectations
    5. diagnostics, tracing, and monitoring

Takehomes

  • Keep your code clean by using templates
  • pull data into your page on load for non-script users (like search engines), but use a script to css-hide the "stuff" that will by displayed richer by your scripts (since it's a script you won't get the hide rule unless you have scripts on)
  • use css rules to hide/show, the css engine is much faster than the script engine, so your page will act faster

If you liked this post, please be sure to subscribe to my RSS Feed.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   MIX08 | Web Technology
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed