| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 29 | 30 | 31 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 | | 12 | 13 | 14 | 15 | 16 | 17 | 18 | | 19 | 20 | 21 | 22 | 23 | 24 | 25 | | 26 | 27 | 28 | 29 | 30 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Search
Navigation
Categories
Blogroll
|

Thursday, June 02, 2005
Upgrading To The Redmond Public Services Universal Subscription
My wife and I recently went to China for a week. While we were gone, the burglar alarm was triggered in our home. We have a security monitoring company, who called the home, then my wife, then my cell. Since we were in the air at the time, we didn't answer. Their next escalation point was the Redmond Police, who informed them that they refused to check out the home since we hadn't paid the annual $10 "home with a burglar alarm" fee. I was a little annoyed at this--partly because of the fee (which we weren't aware of at all), partly because the alarm company didn't disclose this info nugget at the time of our contract signing. The Redmond Police were nice enough to send us the form in the mail after rejecting our monitoring company's plea for help. Unfortunately, they didn't mail it to April, 2005, so there's not much we can do besides pay it and hope there is no more red tape for next time.
Most of the people I've told about this have said things like "you have to pay the police extra money to do their job!?!" The reality is that we didn't know about it, but that doesn't absolve us. But what really annoys me is that they could have served and protected in a much more effective way if they had checked out the house this time and sent us the form afterwards. If we didn't pay the fee, then they could refuse next time. I wish there was a way to ensure we were covered in all the ways we take for granted (hence the need for a RPS Universal subscription). Now we need to contact the fire department to make sure they would check out a fire alarm, etc.
We happened to be lucky and weren't missing anything--if someone had tried to break in, they were probably scared off by the alarm. If you're in a similar situation, you might want to make sure you're covered.
6/2/2005 9:18:47 PM (Pacific Standard Time, UTC-08:00)

Friday, May 20, 2005
HOWTO: Getting Fired From Your Spokesperson Job
As many folks are probably aware, Netscape launched a "super secure" product that turned out to have a significant number of security holes. That sort of thing happens from time to time, so I'm not going to harp on it. However, one thing that really stuck out was a quote found across several articles (for example, http://news.zdnet.com/2100-1009_22-5715360.html):
"We had been misinformed by an external security vendor that the Firefox security issues did not affect us," Netscape spokesman Andrew Weinstein said Friday. "Within hours of discovering that the vendor was not accurate, we had addressed those issues and posted an updated version of the browser."
When I was at Microsoft, one of my responsibilities was briefing the technical management of major customers on Longhorn with respect to application development. Given that these organizations included Fortune 500, government contractors, the US military, etc, these briefings usually included a significant security discussion. It got so common that I would begin each briefing with 3 slides on Windows XP Service Pack 2 (in development at the time) just to address the things they most cared about today. If I *ever*, at *any* time, implied that Microsoft wasn't responsible for the security of its products--whether in reference to past or future versions--it would have caused tremendous damage to our credibility with that customer.
The way I translate the above (putting the de-PR hat on) is:
"We built this product and wanted it to be secure. Since we don't have the ability and/or inclination to verify its security, we paid this other company to figure it out for us. They told us it was okay, so we slapped an installer around it and posted it to the Web. We didn't verify their results ourselves, so don't blame us!"
Like I said, I understand that things like this happen, but I just think that passing the buck is unacceptable for a company like AOL. Then again, the spokesperson may have been misquoted, which does happen. For their sake I hope it did, in which case they better get their PR org inline for letting this post as it is. Even when you say stupid things to the press (which I have done too many times) good PR people (which I always had the best of) can get your statements clarified to avoid embarrassments like this.
5/20/2005 12:46:57 PM (Pacific Standard Time, UTC-08:00)
Welcome Chris Mason To The Blogosphere
Chris Mason, one of the devs here at SharpLogic, has begun blogging at
http://www.sharplogic.com/blogs/cmason. Chris is doing the early working on one of our commercial endeavors, which means he's pretty much not allowed to talk about the details of his day job. This will definitely change soon (I don't know how soon) but needs to be kept this way for the time being due to IP and disclosure reasons. In the meantime, enjoy his wit and insight from the perspective of an experienced QA engineer turned dev.
5/20/2005 1:58:37 AM (Pacific Standard Time, UTC-08:00)

Tuesday, May 17, 2005

Monday, May 16, 2005
The Internet Sure Has Changed Things
I remember being back in the schoolyard saying things like:
"I looked up 'ugly' in the dictionary and your picture was there".
Now I find myself saying things like:
"I looked up 'bastardized' at dictionary.com and there was a Google Ad for 'The Dukes Of Hazzard' movie".
Life sure was simpler back then.
5/16/2005 11:04:01 AM (Pacific Standard Time, UTC-08:00)

Tuesday, May 10, 2005

Sunday, May 08, 2005
Why Navigation Is *HUGE* In Avalon
I came across Chris Anderson's blog and he raised the question of "why did web navigation really add value?" This question really echoes the question that comes up from lots of briefings I've given on Avalon: "Why is navigation important in Avalon?"
One of the messages Microsoft has driven regarding smart clients and Avalon is that they combine the "best of Windows, best of the Web". Although I've never been a huge fan of that specific way of describing the benefits, it's definitely the most concise way of describing the goals: take Windows client programming (the *best* client offering in the industry) and integrate features of the browser-based programming model (often incorrectly referred to as "Web" programming) to provide something better than either independently. By the way, when I say "browser-based" consider a blanket include for HTTP and HTML.
While there are tons of sexy features coming in Avalon, my money is on navigation as the single most important feature. Sure, the MIL, simple 3D, styling, declarative design, great tools, interop, etc, are all cool, but navigation is what Windows client programming is most sorely missing today and will benefit most from in Avalon.
The benefits delivered by navigation support in the browser were really a happy accident. If you look at how the Web works, it's a "Web" because of the way you can hop from one site to another and criss-cross your way from anywhere to anywhere else. The integration isn't complex--it's basically HREFs, POSTs, and GETs. What these enable, however, is a way to write large systems to address business needs in such a way that they are really a set of smaller building block applications that can be glued together (often dynamically). The typical login functionality of any given site can be treated as a distinct application that has a set of preconditions and postconditions. Although you would be able to use it standalone, it would deliver little value on its own. However, you can still see some sites, such as Microsoft's Passport, that are able to offer authentication as a standalone service because the navigation support in the browser makes it that easy. The net result of all of this is that an end user can easily do whatever they need to, regardless of the underlying technology.
In contrast, Windows client programming today (Win32, .NET, J2SE, whatever) has a programming model that is much less conducive to integration.
First of all, browsers are great because they provide an easy way for you to build an app that never requires the user to leave the window. For client apps, there is no comparable support. The most obvious workaround is to recreate the current window to look like a different part of an app every time the user would "navigate" to use different functionality, which is something nobody wants to do. As a result, you'll find that almost every single app will require a new window in order to accept login credentials for an end user. Why is this? Partly because nobody wants to write and test the code that hides all the existing controls and replaces them with new controls just so the user doesn't have to deal with a new window. Windows also doesn't provide a way to replace the existing window's contents with a new set of contents without doing the work by hand. The closest thing is to use a wizard, but wizard support didn't make it into the .NET Framework. Even with wizards, they're not great for branching as much as a set of unique pages and a navigation infrastructure would be. Avalon will address this by providing a way to develop standalone pages within an app that you can navigate to and from.
Second, today's Windows applications are heavily "stack-based", meaning that there's no such thing as fire & forget with UI. Every event handler is like a clingy ex-girlfriend--they will need closure before you can get on with the rest of your execution. The transfer of control from one part of the application to another is tightly coupled to the internal implementation and the idea of having one app transfer data and control to another is all but impossible (the command line is the only thing that pops into mind). As a result, application UI components can be partitioned into windows/forms, but they're still not standalone components and are at the mercy of their caller. While browser apps are made up of individual pages that are pretty much service-oriented with the way they have very defined boundaries in their interaction with the end user, client windows in the same app are very tightly coupled and inaccessible to other applications. Navigation in Avalon addresses this by providing a clean break between different parts of an application. You can take a page and treat it as a standalone application (in many respects) and develop for it in the same way you would a Web page today. Unfortunately, I don't believe there will be support for integrating across applications in the same way, although I will admit that it's been months since I've spent serious time with bits and am very open to happy surprises.
Lately, I've spent a lot of time using Microsoft Money 2005. If you build smart client apps today, it is well worth your time to get a copy and play around with it. Although it obviously wasn't built using Avalon, I think it best represents the benefits early Avalon apps will deliver. The best part of the app--and perhaps the best indication of a smart client--is that you can use it whenever you want to and will always get the best experience available. If you're offline you can work off a local store. If you've got Excel installed, you can export to it. If you want to integrate data from online bank or credit card account applications, you can do it without having to leave the shell. Its homegrown navigation support is not used as extensively as I'd like, but it's very well done.
5/8/2005 4:56:19 PM (Pacific Standard Time, UTC-08:00)

Saturday, May 07, 2005
I Hate Rebates
I picked up a small switch last week to expand our network and accomodate more test machines. I had a choice between two functionally similar products, both from reputable manufacturers, although one was $20 cheaper than the other (after a $30 rebate). Trying to be fiscally responsible, I bought the one that was a better value "in the long run". As I went to fill out the rebate today, I noticed that the $30 was actually a combination of 2 rebates--from the same manufacturer--that each required the original UPC and could not be combined with any other offer. To top it off, they both need to be sent to different addresses, so it's not like I can lump them both together in the same envelope and let the rebate center sort it out.
Has anyone run across this? Is there some clever way I can screw "the man" back? The top suggestion will receive $40!*
*-checks will not be honored (heads-up, this is an *audio* link)
5/7/2005 4:42:02 PM (Pacific Standard Time, UTC-08:00)
Welcome Ezju (aka Edward Kranz) To The Blogosphere
Ezju, SharpLogic's graphic and design guru, has begun blogging at http://www.sharplogic.com/blogs/ezju. Among other things, he's been rebuilding our Web site, which will be up shortly. If you go to http://www.sharplogic.com and it still sucks, then his work hasn't been published yet.
Also check out his personal site at http://www.nosuchanimal.net where his paintings are available for sale. His coffee-based painting are truly unique--he uses coffee as the paint for the pictures (yes, I know I'm not doing the sophisticated process justice).
5/7/2005 11:27:20 AM (Pacific Standard Time, UTC-08:00)