I’ve been playing around with Microsoft’s new, yet to be released, search engine (bing.com) for the last couple of days. Miguel Carrasco has done a pretty detailed review of it’s capabilities here. I don’t see the point in me re-hashing his findings so I’m going to point out some things that I’ve noticed and liked.
Image Search Paging
The best thing about the paging model on image searches is that there isn’t any. Yah, no longer do you have to click through the page numbers or “Next” button/links on the bottom of the current page. Instead, with Bing you just scroll down and it will fill in the next set of images for you. Scroll down some more and it will fill in the next batch for you again. Personally, I think this is a fantastic way to navigate through results.
Web Search Paging
Unfortunately, the people responsible for the web search results didn’t work closely enough with the image search people to get the same paging model implemented. You still have to click “Next” or a page number to see more result. This is a fail in my mind. So close to success, but a usability miss.
Hovering over a search result allows you to move to the far right of it and expand out a preview of the content in the web page that contains the term you’re searching for. Too often I search for stuff and find that the previews provided in search results don’t let me understand the context of the terms use. This looks like it could help with that
Grouping of Information
If you look at this search for Ferrari you see that there are groupings for content such as “Cars”, “For Sale”, “Dealers” and more. The more that I use the search engine, the more I wish that this would be expanded to other search terms. For example, searching for “NHibernate WCF” doesn’t bring back results that are grouped. Why not have them grouped under headings like “Blog”, “Magazine”, “Provider Content”, etc? I think this would help people to better decide what trust level to assign certain content. I know it would certainly help me to focus on the areas that I think provided better content value.
It’ll be really interesting to see how Bing turns on. Maybe Google’s search really isn’t all that. Maybe it was just the best that we had, but it could be improved a lot. Maybe Bing does this. Time will tell.
As part of my recent changes to the WCF-NHibernate code I have, I declared that there wasn’t going to be a way to handle automatic transaction rollbacks when WCF faults were going to be raised. I wasn’t even sure that I wanted them in tool. Andreas Öhlund pointed out that rollback could be handled quite nicely using the IErrorHandler interface within WCF. After some toying around with the idea and some proof-of-concept implementations, I decided to add this ability in.
Currently you identify a WCF service as using the NHibernate code by adding a [NHibernateContext] attribute to the *.svc.cs file. I wanted to keep that syntax, and the rollback capability, as clean as possible. Rather than adding another attribute, I parameterized the existing one. Now you can indicate that the service should automatically rollback the NHibernate transaction when WCF Faults are being raised simply by attributing the *.svc.cs file with [NHibernateContext(Rollback.Automatically)]. The default [NHibernateContext] requires manual rollbacks and exists as such for backwards compatibility.
More information can be found over on the wiki (http://www.igloocoder.net/wiki) and the code can be grabbed from the svn trunk (https://igloocoder.net:8443/svn/IglooCommons/trunk).