Hello, World: Getting Started with IE8 Visual Search

Internet Explorer 8 Visual Search "Hello, World!" sample in action

Comments (54)
  1. mike says:

    how about the ability to save the actual image resolution of the thumbnail using accelerators it’s much faster that way. Is this possible to do?

  2. mike says:

    how about the ability to save the actual image dimension or size of thumbnail image using accelerators for example if user mouse over a thumbnail image which is not the actual size of the image the accelerators would allow me to save image with the right dimension.

  3. Mike Vallad says:

    Will this 64 bit really work on my system?  Will it inhance the 3D graphics?

    I cannot wait to see them.


    Mike Vallad

  4. Joshua says:

    Thanks! I’ll have to give this a try for my site =)

    Unfortunetly however visual search doesn’t seem to be working for me? I tried ie8 and it didn’t work… soon after I reinstalled Vista for some other reason and later downloaded the beta again, and it still didn’t work.

    I have no idea why 🙁

    Its not just the visual search, its all the instant search results… i just get "no results" popping up.

  5. Если было ло бы так нужно можно было бы объявить тендер на перевод этого текста

    но видимо тендер не кто не обьявить и текст останется не переведен

  6. Fowl says:

    What’s with the half a mega uncompressed bitmap in this post?

    Even paint can do png’s!

  7. Joe says:

    What’s to stop every site I visit calling the AddServiceProvider function without me clicking a link that I want to add their service? Wouldn’t I end up with loads and loads of these things adding up in my accelerator?

  8. fearphage says:

    This is neat and all, but i’m still waiting for the blog posts about increased standards support. Things like SVG, <audio>, <video>, XHR2 (instead of XDR), addEventListener. Closing the gap between:

     if (/* check for standard objects */) {

       /* do it the right way */


     else { /* ie way */ }

    is always appreciated.

  9. hAl says:


    [quote]Unfortunetly however visual search doesn’t seem to be working for me?[/quote]

    Try setting your first language to [en-US] in tools=>options=>general tab=>languages and remove en readd your search providers (you might have to temporary switch defaults in order to remove them)

  10. George Jones says:

    Will it be possible to send back different results to different users based on a session cookie?  The instance I am thinking of is an intranet app that requires login.

  11. EricLaw [MSFT] says:

    @Joe: AddSearchProvider must be called after a user-initiated action (like a mouse click) and you are prompted for permission before install.

    @George Jones: You will get better results if you use HTTP authentication (specifically NTLM or Kerberos) instead of a session cookie.

    @Fowl: Sorry about the bitmap; we’ll take a look.

  12. EricLaw [MSFT] says:

    @Mike Vallad: No, using a 64bit browser will not improve the graphics in any way.  The primary downside to 64-bit IE is that most ActiveX controls and browser addons are only compiled to run in 32bit IE.

  13. Why is <Query/> sibling to <Section/>? There are reasons that a single static XML might be used for several common query strings related to a page, so putting <Section/> under <Query/> would allow a single XML file to support different query terms.

  14. Brez says:

    Make scroll wheels functional in smart address bar.

  15. Sebastien Zimmermann [MSFT] says:

    @Mike: No, Accelerators do not allow you to do this–accelerators help you send selected text to third-party providers. For what you are trying to do, which is local to your machine, you have to right click, then "Save image as", and the image has to already be a full-scale image.

    @Joshua: As hAl said, the language change might work–this is when some services haven’t yet implemented responses other than for the English language.

    @Fowl: Thanks for letting us know–this was mistakenly saved as a bitmap with a PNG extension instead. This is now fixed, sorry.

    @George Jones: As EricLaw mentioned, you might want to use HTTP authentication. However, session cookies (and cookies in general) should work, yes–just like they do when you browse.

    @Heath Stewart: Thanks for the feedback, we’ll look into it.

    @Brez: Thanks for catching this. This seems to work after you expand a second section in the smart address bar, provided the first one displayed the scrollbars. I filed a bug internally.

  16. FTPS User says:


    I know this is the wrong place to ask, but will IE8 have an FTPS (FTP over SSL) client built into it?  IIS7 supports FTPS.

     Thank You!

  17. Ted says:

    @FTPS user– no, there’s no FTPS client.  If there was, they would have put it in beta-2.  It’s clear that FTP/FTPS isn’t an important scenario for the IE team.  There are better FTP clients that can be freely downloaded.

    @John: Go elsewhere, troll.

  18. BU says:

    Next feature would be a smart favorite center that automatically organize the same website address in groups. Today i just organize my favorite website and put all the same website together(not in new folders but next to each others)now when i browse my favorite center all i see is website with same favicons together its so clean to look at.

  19. BU says:

    In IE 8 beta 2 do we still need to restart the whole browser when deleting browser history

    to refresh and completely delete everything. If not then next features would be deleting browsing history without having to close the whole browser is nice one as well.

  20. Brez says:

    Windows explorer/IE 8 beta 2 smart address bar scroll bar  have animation effect when hovering over it but the scroll bar on the main IE 8 beta window has no animation at all. Can this small thing be fix? IE 7 has this too. I notice FF3 does have the animation scrollbar working.

  21. Chris says:

    When I tried this example, it worked, but the images don’t show up, instead I am given the box with a red cross in it.

    I’ve tried the URL of the face, and it works fine, so any known reason why it won’t work in the search window?

  22. Victoria says:

    This following applied to IE7, where is it in IE8?

     "I want to close Internet Explorer but I have a lot of tabs open. Is there anything I can do to make them re-open the next time I start Internet Explorer?

    Yes. When you close Internet Explorer, you will be asked whether you want to close all tabs. When the prompt appears, click Show Options, select Open these the next time I use Internet Explorer, and then click Close Tabs. When you reopen Internet Explorer the tabs will be restored."

  23. EricLaw [MSFT] says:

    @Victoria: On the new tabs page (URL "about:tabs") click the "Reopen last browsing session" link.

  24. Brez says:

    Is it possible to highlight a sentence/word click the accelarator button to paste the sentence/word directly to any input box. Let say I’m typing a comment in IEblog input box and found a word in the current tab or the other tabs that i want to put in the input box.

    I like the Search in Smart address bar feature but I just hate typing "? xbox 360" in the smart address bar. Why? because i have to press Shift + ? in keyboard. I rather press button . or , or / those keyboard button requires only one push button. Well it make sense to add ? but i rather have one push button.

  25. ajo says:

    What about a Internet Explorer Gallery for other languages? I would like one for The Netherlands.

  26. Mitch 74 says:

    This is not the first time I have to re-post… Am I being moderated, or is there something wrong in the comments system?

    There is a bug in the developer tools, debugger window: when you check the ‘show all properties’ checkbox and then change the object being inspected, the checkbox stays checked but not all properties are visible; you need to manually uncheck the box and check it again to have it take effect.

    Will the bug affecting pseudoframes (rolling back to top on any keyboard or mouse event) be corrected?

    Is there a better way to dynamically change the selected option in a SELECT node than to rewrite it completely with innerHTML on SELECT’s parent, since .selected on OPTIONs and .selectedIndex are read-only properties (or just don’t exist) in IE?

  27. liebe leute wenn ich doch nur englisch lesen köönte mit meinen 72 jahren bitte nur mitteilungen in deutsch oder bitte keine mitteilungen mehr danke

  28. liebe leute wenn ich doch nur englisch lesen köönte mit meinen 72 jahren bitte nur mitteilungen in deutsch oder bitte keine mitteilungen mehr danke

  29. Basicamente, el proyecto Opensearch es de proveer de una manera simple y sencilla busquedas en los sitios web, de manera que lo puedan acceder desde el mismo sitio web. Quizas esta descripcion te confunda, pero lo que hace Opensearch es de proveer de

  30. Sebastien Zimmermann [MSFT] says:

    @Chris: You might have to kill all instances of iexplore.exe. This is a known bug.

    @Brez (1): Which animations are you talking about? I see them working identically between the search box and the smart address bar in IE8 Beta 2.

    @Brez (2): No, this is not possible. Copy/Pasting is available from the right-click contextual menu. We wanted to keep the Accelerators button focused on its purpose.

  31. @Mitch 74

    Thanks for the bug report on the tools!  We have this in our beta bug database.


  32. Kasya says:

    Bug: When i click to Favourites Button it doesn’t work. Tells me Don’t Send or Send Error Report. When i click Don’t Send it opens second time and then closes.

    Suggestion: What you think about making thumbnails of Web Pages when you mouse over it (Like in Windows Vista Aero Glass Style Taskbar Thumbnails)?

  33. john says:

    How do we test this?  I’m trying to use paths without the domain name so that the file will work on development, staging and production machines.  Am I really going to be required to include a domain name in the URLs?  Why can’t it just assume the domain name in use?

    <?xml version="1.0" encoding="UTF-8"?>

    <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"&gt;

     <ShortName>GF Search</ShortName>

     <Url type="text/html" template="/content/search.aspx?searchtext={searchTerms}" />

     <Url type="application/x-suggestions+xml" template="/Content/OpenSearchSuggestions.xml"/>

     <Image height="16" width="16" type="image/icon">http://www.grahamfield.com/favicon.ico</Image&gt;


  34. EricLaw [MSFT] says:

    @Kasya: Crashes when you click on the Favorites button are almost exclusively due to a particular buggy add-on.  

    Please see http://www.enhanceie.com/ie/troubleshoot.asp#crash for information on running without addons.  In your Manage Addons list, do you have a "DriveLetterAccess" add-on listed?

  35. john says:

    Also, how are you going to prevent unscrupulous vendors from naming their search names "Google" or "Live"?  

  36. john says:

    Ok.  I just implemented this.  For reference, you need to htmlencode the URL.  Otherwise, ampersands in a URL will break the XML.  Also, I had to give a width and a height on the Image element, or it wouldn’t show.

    Question: Is there a way for there to be a wait time before the search page is queried?  Right now, it seems like the search attempt is instantaneous when a key is entered.  So, if someone typed "balloon" really fast, 7 searches are made.  This could potentially be a lot of concurrent hits on the server.  There needs to be something like a 100-300ms pause after the last keystroke is made before a search is attempted.  Also, are you caching any results?



  37. EricLaw [MSFT] says:

    @John: Results are cached depending on the HTTP response headers from the server.  To learn more about setting proper HTTP response headers, please see http://www.fiddler2.com/redir/?id=httpperf

    @john: The user is shown information about the origins of a search engine when they’re given the opportunity to install it.  As noted in the dialog box: "Search provider names can be misleading.  Only add search providers from websites you trust."  Of course, trademark law does apply in this case as well.

  38. john says:

    Cool.  You might have missed the question about the opensearch.xml file.  Is there a way to use /content/abc instead of http://server.com/content/abc in the opensearch.xml file?  This way the file could stay the same regardless of whether it was development, staging or production?

  39. EricLaw [MSFT] says:

    @john: Sorry, no, the OpenSearch spec doesn’t support relative paths, and neither does IE.  You can easily write a PHP, ASP, CGI, etc which dynamically generates the XML file based on the current hostname.

  40. james3mg says:

    I’ve been trying to implement this, mostly successfully, and I’ve got two questions:

    (note I’m using the XML suggestions file method, rather than JSON)

    1) If I want to use the common example of providing suggestions for an "xbox" query, how would I have it show the results when only "xb" was entered (that is, show the suggestions when only part of the query had been typed)?  Do I have to set up a suggestion for "x", "xb", "xbo" as well as "xbox"?

    2) I seem to be getting errors when I try to provide suggestions for multiple possible queries.  For instance, if I wanted to provide suggestions when the user typed "xbox", and provide different suggestions when the user typed "microsoft", what is the structure for providing multiple query suggestions?

    Is it:
























    Both tell me "An error has occured" in the suggestions box when I type the second query…I can’t seem to find clear (in my mind) documentation on this, nor can I find any examples that show more than one query!  Could you shed some light on this for me?

    Thanks so much for this article!

  41. EricLaw says:

    @james3mg– The search suggestion format is documented here: http://msdn.microsoft.com/en-us/library/cc848863(VS.85).aspx

    You should only have one SearchSuggestion node as the root of your document.  If you want to match the text as the user types, you would typically use a PHP/ASP/ASPNET page on the server that accepts the {searchTerms} parameter from the url and dynamically generates a QUERY tag with the matching term.

  42. john says:

    I want to go back to caching/performance for a minute.  I understand that Visual Search will honor caching.  However, the first time someone types in "Bariatric", there will be 9 calls to the search page, since the browser doesn’t have cache info for any of the character combinations yet.  Sure, after that it will be pulled from cache, but 9 calls without a keystroke pause parameter is too much.  The person wasn’t trying to get search results for B, BA, BAR, etc., and IE should wait a predetermined time to see if the user is truly done typing and ready to see results.

    Does that make sense?

  43. james3mg says:

    I’m really not trying to be dense, but that’s the document I’ve been trying to follow.  You’ll notice that they only show ONE query: xbox

    Furthermore, SearchSuggestion, Query and Section ALL say they should appear only once in the document.  So I still don’t know what the xml file would look like if I wanted to provide different results for xbox AND microsoft (ignoring my previous question about results for and incompletely-typed query).  I’ve tried everything I can think of, and I keep getting the result "an error has occured".

    Sorry I keep jumping in, John.

  44. john says:


    I might be redundant, but you can’t do anything other than a single query, and the query value in




    has to match what’s in the search box directly.  If you want to do separate queries in a situation like this:


    <Query>microsoft xbox</Query>


    where you return separate results for each word, then you can use the <Separator> element, as shown in this example:

    <Separator title="Microsoft" />



    <Separator title="Xbox" />



    At least then it will be in separate sections in the dropdown.  Of course, your xml/json results generation code will have to do two queries, one for Microsoft and one for xbox, before merging the results into the single resulting xml/json response.

    Does this help?  If not, hopefully the MS people will give the right answer :).

  45. james3mg says:

    Thanks for the help.  So, if I understand you corrently, it’s NOT POSSIBLE to provide search suggestions like so:


    with a static XML file?  The server HAS to create the file at search-time dynamically?  I just have a small site with very few common terms I wanted to provide ‘single-click’ links to, with a hand-created, static XML file.

    So I guess I’ll be off learning some new skills and quit bugging you all.  Thanks for your patience. =)

  46. John says:


    No, it’s not possible.  The browser does no filtering of the results whatsoever, since it expects you to have done the processing yourself based on the passed querystring.  So if you return xml that has search results for microsoft and xbox, the browser will display them as-is.

  47. james3mg says:

    Thanks for the final answer 🙂  I’d assumed when I read this article that you’d be able to have a static xml file with MULTIPLE <query> nodes, and the browser would request the sub-nodes of the query that exactly matched what was typed, and just display those.  That way, there’s no overhead of the browser actually trying to filter it.  Of course, the potential for quite large XML files is probably why they didn’t go that way.

    But, it doesn’t work that way.  I’ll learn to work quite happily within the system the way it does work, I’m sure =)

  48. Jakob says:

    Hi Sébastien!

    Can you <em>please</em> make sure to define and use right  XML namespaces instead of just adding new XML elements or using an ad-hoc XML syntax without namespace? The this message at the OpenSearch mailing list: http://groups.google.com/group/opensearch/browse_thread/thread/a9a8e20ed670619

    Thanks and greetings,


  49. Beta 2 of Internet Explorer has been out for a while now and as you already know one of the new functionalities

  50. I have been running IE8 as my default browser since Beta 2 was released a few months ago and I have been

  51. 이 글은 Internet Explorer 개발 팀 블로그 (영어)의 번역 문서입니다. 이 글에 포함된 정보는 Internet Explorer 개발 팀 블로그 (영어)가 생성된 시점의

  52. Tim Sneath says:

    What is Windows 7 doing at a web conference like MIX09 ? Last week I went along to the above titled session,

  53. topcat says:


Comments are closed.

Skip to main content