Archives

Archives / 2005 / March
  • CSS, Still not there?

    When CSS1 first reared it's ugly head in 1996, it was probably one of the most controversial changes in Web UI history.   Over the years, we've all come to appreciate to some extent, the intended purpose of CSS. In most cases it does as intended and does it well.  But, even after 9 years we're still up to our ears in browser incompatibilities, and until CSS 2 is fully adopted everywhere an un-intuitive way of creating tables in CSS.  We all know how well floating divs works in CSS 1 *cough*.  How can it take 9 years to replace (whatever you want to call it) a simple tag based language (HTML)? 

  • ASP.NET 2.0 Themes/Skins

    I've been doing a fair bit of work with ASP.NET 2.0 Themes the past day or two, and I have to say I'm impressed with it.   If you haven't heard about ASP.NET themes yet, they are a nifty new feature in ASP.NET 2 that allows you to quickly create a Skin/Theme structure for your web interface.    You can skin the controls that ship with ASP.NET and your own custom controls.  Skins can programmatic-ally be set on an application and global level, which is great for an application where the user selects their theme.   We took a set of themes we had done for an application and dropped them into our ASP.NET theme folders and within about 10 minutues had it hooked into the application, very cool.

  • IE7 Wants.

    Recently Microsoft announced IE7, rightfully so as FireFox is certainly gained a loyal following.  On AnandTech 38% of all browsers are Gecko based, while 36% are IE.   I'm still an IE user, have been since IE4.  FireFox is a decent browser, I just prefer IE for some unknown reason.   I've been doing a fair bit of JavaScript work lately, and admittedly I've been using FireFox to do all of my debugging.   FireFox has a wonderful JavaScript console built in, that details the location of the error, including file name for multiple JS files.  It is far and away better than the JS errors IE gives you, "there was an error on line 4 (usually the wrong line number)".   FireFox also does not spawn alerts on JS errors within a page by default, you have to use the Console to view those (the way it should be IMHO). 

  • To Flex or not to Flex.

    Recently at FuseTalk, we did some research on building our presentation tier for an upcoming project in Macromedia Flex.   If you’re not aware, Macromedia Flex is a presentation server that serves up Rich interfaces that are generated by server side XML and compiled then presented in the Flash Player.   Macromedia Flex makes a bold statement that the future of Web UI development is Rich & Ubiquitous.   Having built many an interface using CSS/JS, the day where the developer can forget about the cross-browser issues that plague us all, will be well received. 

  • What Visual Studio 2005 build are you using?

    We're using .NET 2 for an upcoming project, and I've been playing with December CTP.  It's fairly stable minus a few IDE hangs and crashes.  I'm curious what some of you are using, Beta 1? November CTP?  According to MSDN, November CTP is the most current build of Studio and the Framework.   I've noticed that in the December CTP, when you use the ASP.NET Web Configuration, that the Add Custom Provider option is not available.

  • Producing a FullText search query that accounts for RANK and the freshness of content.

    Recently at AnandTech, we decided to rewrite our search mechanisms to take date into account, while performing Full Text queries against Microsoft SQL Server's full text functionality.   By default, when you use CONTAINSTABLE, the search service will return a set of results with a RANK value associated with each row.  The RANK value is based on occurrence, proximity etc.  The problem comes when you order by the RANK value, and have time sensitive content.   What we've been toying with is combining RANK with the Date of the content.  The reason for this is to try and give the user results that are not only relevant but are also "fresh".   We went about this by writing a CASE statement into our query which essentially produces a weight value based on how old it is.  In the example query below, you can see how this works.   Based on how many weeks old the content is, we assign it a weight and that is combined with the RANK value that the search service returns.   Obviously we're still fairly RANK heavy, but date is taken into account.  You can adjust how RANK/Date heavy you want the results to be by changing how much you divide each RANK by at the end of each WHEN clause.