User Experience

How to disable ReSharper for a file: [CTRL + 8]

ReSharper is one of the tools I couldn’t live/code without, but when they designed it they didn’t tested my current scenario: I’m doing the assessment and refactoring of an application made of more than 80 projects (they were more than 200 in the same solution before we started our refactoring), some .cs files are more than 10k lines and some .aspx and code-behind files are more than 1000 lines. When working on this solution sometimes I’ve to disable ReSharper otherwise it would take 3 minutes only to open the file and do the code analysis on that file. But going all...

Twitter upside-down

That's one of the strange things that might happen in a software: why does twitterific write the name upside-down? twitter

Yet another presentation on ASP.NET MVC at DotNetMarche

On Friday I’m delivering my third presentation on ASP.NET MVC in less than one month (actually the 4th because I repeated twice the one I delivered inside Avanade). This time it will be inside the 6th DotNetMarche Workshop on “Applications’ automated testing and ASP.NET MVC”. You can have a look at the agenda of the event (translated by Google). I’ll try and make everything available online after the event, especially the code samples. Technorati Tags: aspnetmvc,event,dotnetmarche

ASP.NET 3.5 + VS2008 SP1 beta

Probably you already read this announcement somewhere else in the net, so I'll not replicate the news here. What excites me the most are mainly two things: Part of the ASP.NET MVC framework are going to be included into the core ASP.NET framework: System.Web.Routing will be included in ASP.NET with the SP1, so around this summer, probably well before ASP.NET MVC is RTW Intellisense will work for Javascript files, and will have support for jQuery, Prototype and other popular JS library out of the box. You can read more about the other improvements on ScottGu blog...

The most used Javascript Library is... jQuery

A month ago a popular CSS blog asked: "What is your Javascript library of choice?" Yesterday, after having received more than 1600 answers, he published the results. The winner is clearly jQuery, with more than 50% of the preferences (actually 52%). The second library is MooTools with 15% and third comes Prototype with 12%. As the author of the survey says, the audience of his website is mainly composed by designers, so the results are a bit biased toward jQuery (which has been designed to port the CSS way of thinking into JavaScript development). But...

Having a crush on jQuery

A few weeks ago I started to play around with jQuery and I already banged my head against some small gotchas of the framework. But a comment made by Jake Scott opened my eyes: I recommend you read (if you haven't already) Manning jQuery in Action, its the best book on Javascript ever :) Even if I might not second the "best book on Javascript ever" part of the comment, I got the book yesterday afternoon and I already read 4 chapter of the book while on the train. I've to say that the...

Feedburner kills all-time stats... no, wait, it was only an error

This weekend, while checking my RSS stats on FeedBurner I noticed that the "all time" option of RSS subscribers was gone. This thing raised a nest of hornets, with some bloggers accusing Google not to communicate with users, other looking for alternatives, and yet other offering hacks to download the historical data. The official forum was full of people asking for an explanation since last Saturday. On Monday Steve Olechowski, Product Manager of FeedBurner, posted a comment saying it was a bug and would have been fixed in the next code update, and the same was done on...

When the case matters: VS2008 hot-fix bug

A few days ago I installed the VS 2008 Web Development Hot-Fix Roll-Up but yesterday I found a strange bug: when I wanted to create a "new web site" I had an empty dialog, with no project templates and all the field disabled. On the original post I found a comment from someone with the same problem and ScottGu told him to send him an email: I did the same, Scott answered in a few hours saying that someone will have handled the issue. A few hours later I got an email from Mikhail Arkhipov from...

New Folder in my feed reader: Computational Art

Computational Art, also known as Algorithmic Art, is a kind of Generative Art, where the masterpieces, usually images or movies, are generated by algorithms: an example is Fractal Art. This is an area I'd like to experiment with: I always wanted to do something "creative" but I've always been stopped by my bad sense aesthetics. But maybe I would be able to have an algorithm help me generating some cool randomness or simulation. The programming language will be Processing, also mentioned a month ago by Jeff Atwood in one of his posts, which is a kind of domain-specific language on top of...

Minority Report-like interaction in WPF

Microsoft Surface and Jeff Han's multi-touch UI seem to be ages behind if compared to Project Maestro, developed by Cynergy, a RIA development company based in Washington, DC. What Project Maestro is?:It's a prototype of a no-touch interface, developed with WPF, XAML and using the WII remote with some custom-built IR gloves. And they say they built it in 8 days. Here is the video of how it works: If you want to do it yourself, here are some pointers to get you started: Connecting the Wii Control to WPF and the Wiimote project. Seems like we are not far from revolutionizing the way...

Silverlight 1.1 renamed to Silverlight 2.0

A lot of talking went on in the last months whether 1.1 was a good version number for Silverlight vNext, the one that will support managed code, a more extended BCL. And almost everybody agreed that, since the "next" Silverlight was a completely different beast from the currently released 1.0, a point release didn't give the feel of the differences between the 2 versions. Today ScottGu announced that Silverlight 1.1 has been renamed to Silverlight 2.0: Previously we've been referring to this .NET-enabled Silverlight release as "Silverlight V1.1".  After stepping back and looking at all the new features in...

Today is a good Silverlight day

... at least for me, at least in Italy. First there is the release of the alpha version of the Silverlight 1.1 Tools for Visual Studio 2008 RTM, which allows me to uninstall the beta2 and go with the VS2008 RTM also for testing out Silverlight development. And second the release of the Italian site of the European Silverlight Challenge, which marks also the beginning of the National phase in Italy. The deadline for submitting a Silverlight 1.1 application is January 28th, so I'd better run and work something out with Daniela which is a UIX. The most appealing prize...

Information R/evolution

How do we store information? On a physical library we store books on shelves, and index their position in catalogues. Since the beginning of the web we started building websites like we were used to build libraries, and at the beginning search engines were catalogs of websites. But digital information is different: it allows content to be reorganized dynamically, and we don't need categories anymore, because we already have heaps of keywords in each document, that can be searched. I just found (thanks to Daniela) via information aesthetics, a cool video that explain in a very easy way why. Made by...

Better late then never: fixed skin for IE6

A few weeks ago, while browsing my blog from a friend laptop with IE6 I noticed that the right sidebar sometimes was under the main content area of the blog, probably the width of some post was too wide for the main column of my skin so, with IE6, the broke the layout. Today I finally downloaded the IE6 VPC image, tested it on my laptop, and fixed it. But if I waited a few more months probably the percentage of users with IE6 would have dropped, since last Friday the IE team announced that from now on IE7 will...

Windows Media Center Development

Two years I developed, for the company I worked for in Milano, a video news website that runs inside the Windows Media Center, in the Italian spotlight section. The site is an Hosted HTML Application: a normal HTML page that can interact with its host (the mediacenter process, not IE) via specific JavaScript API. Today I was listening to the last episode of Hanselminutes about development on the Media Center for Vista, and I found out that the new version of the platform adds a new way of developing application on the Media Center. The old way (XP/MCE) With Media Center...

To www or not to www?

When I started this blog back in December I advertised it as www.codeclimber.net.nz, but given the fact that Subtext always strips the www out of the domain name when building internal urls, my blog was being indexed by Google with two different domain names: www.codeclimber.net.nz since it was the url I was giving around, that was linked from my post signatures and so on codeclimber.net.nz, the url that was generated by Subtext for some of the internal links, and from the rss feed and the Google sitemap So, to avoid shattering the PageRank...

YUI JS Compressor becomes YUI Compressor: now with CSS compression

Julien Lecomte is riding the wave of his YUI JavaScript Compressor and has just released the version 2.0 of the YUI Compressor. This version includes Isaac Schlueter’s regular expression based CSS minifier. Therefore now the YUI compressor can minify both JavaScript and CSS files. Minifying CSS will not help me improve my YSlow score again, but will save a few KBytes per request. Technorati tags: YUI Compressor, CSS, Minification

Dissecting YSlow

In the last weeks there has been a lot of talking around YSlow, the tool that the Yahoo! Developer Network released to check sites against their 13 rules of High Performance Web Sites. Last week I used it against various blogs and I found out that my blog is rated only 36/100. So, also after the challenge started by Mads, I decided to try and improve my score. The final score is a weighted average between the scores for each of the 13 rules. This means that some rules are more important than others and to increase the score of a site...

How Slow is your site (How to improve the performance of your site with YSlow)

A few days ago I posted about Firebug, the Swiss Army Knife of the developers' plugins. Last week Yahoo released an add-on for Firebug: YSlow. YSlow measures web page performance based on the best practices evangelized by Yahoo!'s Exceptional Performance team. Since many of these best practices focus on the frontend, YSlow is integrated with Joe Hewitt's Firebug, the web development tool of choice for frontend developers. After checking your site against the 13 rules of High Performance Web Sites, it rates the performances of your site with an A to F grade. I run the tool on a...

Ajax TreeView

For the project I'm working on I have to display thousands of user grouped by team, company, accounts, resellers and, sometimes, reseller of resellers. And I need to display the hierarchy using a treeview. Unfortunately the treeview control that is available with ASP.NET 2.0 cannot handle so many "nodes" with a decent level of performance, and even if he could, an html page with some thousands of users added inside nested <ul> tags will probably be more than 1 or 2 Mb: not something you want for your web application. Unfortunately the is no TreeView control inside the ASP.NET AJAX Control Toolkit,...

Multi-touch surface computer by Microsoft

There has been a rumor around in the last days that Microsoft would have announced a "top-secret" new product at midnight: a new MP3 player? NO. A new gaming console? No. They released a multi-touch surface computer. Priced between 5.000 and 10.000 USD may not be your next kitchen top or dining table, but it will be probably seen in bar, restaurant, as smart sales table in shops and much more. You can have a look at some pictures and demo video on gizmodo.com and a more detailed explanation on popularmechanics.com. Based on Jeff Han's multi-touch interface, they added some proximity...

How to make a Gmail-like loading indicator with ASP.NET Ajax

At the moment I'm working on making a web application we just developed more user friendly and more appealing to the end users. The application uses a few ASP.NET Ajax controls so I was pretty surprised when the customer sent me an email saying that he liked all the dynamic loading and the fact that he could reorder "things" using drag&drop and saving them without waiting the page to reload, but it took him a while to understand was going on. The first time he clicked the button, and since nothing happened, he thought that something was going wrong, so he kept...

The user is the 4th tier of any application

Are you an architect or developer and do you think the user experience is not something you should care about? Well, you are wrong. I was listening to an interesting series of podcasts from ARCast with Ron Jacobs on why an architect should care about the User Experience, and how to do it. I think the reason why an architect should care about the end user experience is all in the title of this post. If you look at any enterprise application, split in tiers (usually 3 tiers), with interfaces between them, you have to think at the end user as 4th tier of...

Ready to MIX?

Today is MIX07 start day: if you are like me, and you are not lucky enough to live in the US (or to have your company pay for you the trip to Las Vegas) here is the visit MIX from Home blog. It should be a continuously updated report of what is going at the MIX. What are they going to announce at MIX? Here are some speculations: Expression Blend Express, Zune phone, Office and Visual Studio will be in .NET A dynamic language runtime, Silverlight for Linux, Silverlight with a micro-CLR ...

Adobe Flex goes OSS

Today important technology news: Adobe to Open Source Flex. It's a bit late here (4am watching Luna Rossa beating Team New Zealand ) so my neurons cannot work enough to formulate an opinion on what it is going to happen. What is it going to happen now? Will Adobe gain a few points % also in the desktop development? I'm waiting for your opinion. Technorati tags: Flex, Silverlight, Adobe, Apollo