9th June 2009

Regular Expressions Book

Coding Horror has a post highly recommending the new book “Regular Expressions Cookbook”. Now, I have mixed feelings about regular expressions and get concerned when I see them since they are often overused and when misused can result in code that is very hard to understand and debug. Having said that, when used in the right situation they can be a perfect solution to otherwise complicated text parsing & validation. But the art of creating them is often a lot of voodoo, so a book that has good reference materials and examples would be very helpful. I’ll report on this one next week after I have a chance to look through it a bit.

posted in Developers, Software, Technology | 0 Comments

7th January 2009

Calling a SOAP Service from PowerShell

Ever had that experience where you go do some work and then stop yourself and think “There has got to be an easier way to do this”?

I’ve been building some stuff that is mostly exposed as a web-service. I wanted to call it from PowerShell so I made a nifty set of Cmdlets that call it. But really each of them is just marshaling pretty much directly into the underlying SOAP service with no logic at all. I’ve got to assume someone already came up with a generic solution for this?

posted in Developers, Software, Technology | 0 Comments

26th December 2008

Winter Break Work

This year we aren’t going on any special trips over winter break so I’ve been “at work”, although given the weather (and the fact that no one is actually on campus) I’ve been working at home.

This is a pretty slow time of the year and it can be hard to get main work items done with so few other people around to coordinate with and get feedback from. Of course this makes it ideal to ramp up on key technologies and I’ve been spending a lot of time learning about Windows PowerShell. As a counter-example to my earlier comments about this time of year at Microsoft the PowerShell team just released CTP3 of Windows PowerShell version 2.0 last week and have had a flood of posts about cool things to do with it on the PowerShell Team Blog.

PowerShell seems like a pretty key breakthrough in terms of managing computers, especially large networks of them as we need to for the SharePoint Grid project. Having said that I’m still all over the place about the right way to approach it- there are so many different ways to get a given thing done that it can be a bit difficult to decide the right approach. I’ll try to post more about some of the options and trade-offs.

posted in PowerShell, Software, Technology | 0 Comments

17th December 2008

Uncanny Valley for User Interface

Coding Horror writes about the Uncanny Valley and User Interface. They illustrate this with a web-based mail client Zimbra, but of course the first example with this was the Exchange 2000 version of Outlook Web Access.

Back in 1999 this was one of the most difficult decisions that we needed to make as a team. Using DHTML we knew we could make a version of Outlook Web Access that looked and worked a lot more like Outlook did on Windows but should we? There was a strong argument made that we should instead design a new user interface that was much more web-like.

From a purist point of view, going with the web-like user interface might have been the right approach. But one of the things that the Exchange team has always had as a real strength is the direct communication channel with our enterprise customers so we asked a bunch of them. The response was unanimous and strong- they all wanted us to make it look as close to the full Outlook as possible. Even with explaining the drawbacks (the browser’s menu bar would be inconsistent, there would be this strange forward, backward and reload buttons), the enterprise IT managers who make the purchase and deployment decisions all felt that as much consistency with Outlook as possible would minimize their training costs and make it much easier for them to adopt the new technology.

The decision was wrenching for our team- at the time it felt like it was maybe one of those times to not listen to your customers and it was very frustrating to limit our design flexibility to copying the existing elements from Outlook. But in retrospect it seems like the decision paid off- that version launched Outlook Web Access into being a major part of the Exchange business and the customer reactions were very positive. In addition I’d say that some of the “uncanny valley” drawbacks have diminished over time- browsers have evolved, getting rid of their own menu bars and other unnecessary UI that was causing some of the problems. Also the OWA team has done a great job improving the product to just work much more smoothly than it did back then and performance has increased, decreasing some of the uncanny effects (like slow responses to right-click and drag and drop).

So in the end, it depends. For many web applications building a new web-like user interface is absolutely the right thing to do. But if your application is really the partner to an existing one, consistency can be very valuable and can be worth some of the drawbacks. As both platforms have evolved over time they continue to converge making the whole issue less of a big deal.

Finally I’d argue that the classic “uncanny valley” effect is also mostly a gut-feel thing, and doesn’t really apply in this case. Yes, the usability of a web application that tries to work like a Windows one might not be great, but it doesn’t have that same sub-conscious uncanny effect the same way certain almost life-like computer graphics do.

posted in Software, Technology | 0 Comments

16th December 2008

ASP.NET Web Service Test Form

ASP.net has this great feature when you are creating web services that it will create a nice HTML form that you can use to test your web-service without constructing a SOAP client. The catch is that by default it only runs for requests from the local machine and I always forget how to turn it on for remote requests.

Here is the trick- add this to your web.config inside the system.web section-

<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>

posted in Developers, Software, Technology | 0 Comments

4th September 2008

Demo Version Problems

This morning I wanted to check out the latest stuff from Nero- I’m looking for some good video transcoding solutions. The problem with this space is that with all the proliferation of codecs and container formats its often pretty hard to tell whether a given product will work for a specific scenario or not. I’ve got the AVS Media tools and they work for some things but not for others, but was hoping that Nero Recode could do the trick.

After a little poking around I see that Nero has a 15-day trial version. Great, I’ll check it out and if it works I’m happy to buy it. I apply for a trial key, download the 150mb installer and suffer through two reboots (one to remove an older version of some Nero stuff another to install the new stuff).

But then I find out that the feature of encoding into MPEG-4 is also removed from the trial. When I checked back on the trial download page, this information was there, but only if you opened a little “Additional Information” tab on the page- basically it was totally hidden.

Creating mechanisms for demo software can be a pain- most of them are somewhat annoying. For this kind of thing you can do 15-day trails, limited encoding length (only 60 seconds?), watermark the output, etc. But the key is that you need to give people a real taste of the software and this particular implementation sucks- the limitations we hidden on their web site so I wasted my time downloading and installing this useless demo, plus I can’t even verify that the functionality I’m interested in works at all.

Oh well…

posted in Business, Developers, Software, Technology | 2 Comments

2nd September 2008

New ASP.net MVC stuff

Scott Guthrie has a post on the latest preview of the new ASP.net MVC stuff. This looks like a huge step forward in the standard model for ASP.net applications- a bunch of us have been ignoring much of the built in controls model and doing stuff similar to this for years, but the new version from the ASP.net team looks more elegant that what I’ve been doing all along and there is always a big bonus when you are using the standard built-in stuff.

I also think its worth pointing out that this stuff is some pretty good validation for the initial architecture of ASP.net. It feels like they did a really good job layering stuff so they had the basic runtime, the HTTP Handler level over that, the ASPX page model over that, and then a specific page processing / control action model. All along its been possible to take/leave various pieces, for example the urlrewriting.net stuff that plugged in and changed URL namespace stuff while the rest continued to work. Now they have evolved the architecture with a really new way to wire up pages, and its still consistent with the existing stuff and as far as I can tell doesn’t break/change any of the basic architecture. Its pretty rare to see a platform evolve so cleanly years and years after its initial version (for example I’d have to say that it seems like the various Java technologies have had a rougher time evolving cleanly).

posted in Developers, Software, Technology | 0 Comments

20th August 2008

DeepRockDrive Is No More

The sad news (not really breaking news but..) is that DeepRockDrive is no more. The site is down and we are all off exploring the next great thing to tackle. It was great fun while it lasted and it was pretty great that we managed to build up about 100k users, and two giant shows (Disturbed with 10k people and Motley Crue with 8.5k people). The new site worked great, and we never had a scalability issue with it. The artists said they loved for format and ability to reach fans in 70+ countries at once but in the end the music industry can be pretty tough and it seems like the numbers just were not working out. If you are curious to check out what it was we have a ton of videos up on YouTube.

posted in Music, Software, Technology | 0 Comments

17th August 2008

Dare on the Essence of REST

Dare Obasanjo posted an excelent description of the essence of the REST architectural style. Very good write up and it includes some good history and theory.

posted in Developers, Networking, Software, Standards, Technology | 0 Comments

29th July 2008

TeeShot Gets a Great Review

MacWorld did a comparison of the golf-scoring apps for the iPhone and ranked TeeShot “Best of the Bunch”.

TeeShot is by my buddy Chris Evans and it rocks. Its great to see how the iPhone provides a great opportunity for talented developers.

posted in Software, Technology, iPhone | 0 Comments