Published on Monday, April 30, 2007

Keynotes - Major Announcements

I was busy writing up all of the announcements from the MIX keynote, but Josh Holmes has an extensive write-up on his blog that does a better job than I could have (I know because he was sitting next to me in the keynote).  Some of the highlights are:

  • Expression Studio (Blend, Web, Design and Media) all are shipping
  • Silverlight 1.0 will ship this summer and includes all of the neat stuff announced at NAB
  • Silverlight 1.1 is available in Alpha form on http://silverlight.net/ - the major feature .NET code on the browser in all  languages (see next item)
  • Welcome Ruby to the .NET Language family in the form of Iron Ruby, if you are running .NET on a Mac, that is an obvious choice.
  • Silverlight Streaming a new service "in the cloud" will allow you store store media on the Microsoft datacenters for free (in many cases).  Video that will run in Silverlight will be the obvious first use.

Ray Ozzie and the Chief Architect Role

There was lots of good announcements at MIX07 and I can't wait to dive into all of the bits and get to understand what we can do with them.  But there was another theme that ran through the keynote that I would like to share with you and that was Ray Ozzie's role as Chief Architect at Microsoft.

I was surprised when Ray mentioned that Mix07 was the first time that he had spoken before a developer audience at a Microsoft conference.  Ray has held the title of Chief Software Architect for close to a year and has been very busy learning his job.  He said that his focus is on Software and Services, which means a particular emphasis on the developer and designer audience.  It is obvious that Ray is enjoying spending time working with the developer crowd, because he said "As you can tell, I am having a blast".

"Of course I am living in the shadow of my predecessor" was another quote based on the question posed by Michael Arrington of Techcrunch.  I appreciated the humility in his response, after all he is replacing one on the most well known people in the technology industry (my mother knows who Bill Gates is, but there are a lot of developers and architects who has never heard of Ray Ozzie).  Bill Gates started a small software company and through his technology and business guidance made it one of the largest companies in the world.  Those are big shoes to fill. 

But Ray does not have to start a small software company and make it one of the largest companies in the world, that has been done.  Ray only has to guide Microsoft through its next evolution - from a software company to a software and services company.  He seems to be uniquely equipped to do that and you can see that the company is starting to re-tool and re-invent itself.  Just look at the number of sessions at MIX that are focused on Windows Live.

I am sure that I will have lots more to share with you about Mix over the next couple of days.  Stay tuned.

Technorati tags:
#    Comments [0]
Published on Monday, April 30, 2007

Dave Bost introduced me to Twitter a few weeks ago by showing me his account.  Yesterday I signed up for my own account: http://twitter.com/larryclarkin.  I will be updating it frequently while at MIX.  Add me as a friend if you are already on Twitter or check it out if you are not.  It is such a simple and cool idea!

#    Comments [0]
Published on Friday, April 27, 2007

Over the last 10 days or so Microsoft has released beta versions of two of our forth coming products: Visual Studio "Orcas" is now Beta 1 and Windows Server "Longhorn" is now Beta 3.  This is probably old news to anyone reading this blog, but I thought I would post a little blurb about each one and share a story with you.

Visual Studio "Orcas" will support the next major version of the .NET Framework (which looks to be called 3.5), but I think the more significant story with it is that it will be the first upgrade to Visual Studio since .NET Framework 3.0 was released.  This means that we will be getting a native designer for WPF (it is code named "Cider") and more native integration with the other 3 components of .NET 3.0.  It is also the first version of Visual Studio since the AJAX libraries were released and we will see a lot of love for web developers in this release, including my favorite feature JavaScript Intellesense.  You can get it at http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx

Windows Server "Longhorn" is the server edition of the Vista operating system.  It comes with a ton of new features that are too long to list, but you can read about the high points here.  I am most excited about some of the cool features for developers that are included with this release.  IIS7 is a total re-write of the web server and helps deliver on the original vision of ASP.NET (ASP.NET worked in IIS 5 and IIS 6, but it always felt like an add-on and often required you to make setting changes in 2 places).  Now we get true XCOPY deployment of our web sites, including the configuration information.  You can get it at http://www.microsoft.com/getbeta3.

Note:  This month's Devcares program is about IIS7 and I will be attending the one in Brookfield, WI today (as an audience member, not a presenter).  Say hello if you are there.

My Story

The last time that Microsoft released an operating system Beta and a development environment Beta about the same time was the summer of 2001.  Windows Whistler (now known as XP) was the operating system and Visual Studio .NET 2002 was the development environment (I can't remember which beta numbers it was).  I installed both of them on my laptop.  Not my "test" laptop, not my "second" laptop and not my "spare" laptop.  And no it was not on a second hard drive.  I took my primary machine that I used day in and day out and slammed beta software on it.  Oh, did I mention that I was a consultant working at a client site on a major project?

I got away with it.  I am not quite sure how, but I never had a problem running the Beta / Beta combination.  I also never got caught by the IT guys at the consulting company that I worked for or the IT guys at my client site (there would have been hell to pay from either group had they found out).  To be fair we were doing "to be" proof of concept work at the time and we were looking at .NET as the strategic platform for the client.  The client was trying to make a major leap forward and we wanted to have a clear path into .NET as part of that leap.  That was going to be my excuse if I ever got caught.

I am the only person that I have ever met to have gotten away with running Beta software so cleanly.  I have met plenty of people with horror stories about what Beta software did to them when they put it on production (or everyday) machines.  I still feel sorry for the presenter that I saw years ago running the Beta of Windows 2003 on his Dell laptop.  Evidently the "FUNCTION - F7" combination that would allow his laptop to send video to the projector was not implemented yet.  He wound up giving his demo in notepad.

Don't do what I did.  When I pulled my stunt we did not really have Virtual Machines yet (VMWare had released a version, but few people had heard of it and it was expensive as all get out).  Extra hard drives were also expensive.  I think I can buy a whole machine now with what a second hard drive for an IBM Thinkpad cost then.  Orcas is available was a downloadable VHD image - you don't even have to set it up!  I recommend running it on a VPC or a second machines / hard drive.

#    Comments [0]
Published on Tuesday, April 24, 2007

From the "Inside Office Online" Blog:

Kevin McDowell, a tester here in Office and a graduate of Virginia Tech, has posted a PowerPoint template in remembrance of the victims of last week's Virginia Tech shooting. It features the names of all victims, along with a scene from the campus, in a fitting tribute to those who lost their lives. Download the poster here.

I have known a few people very well who went to Virgina Tech (Hello Kirk, Kevin and Amy) and have met several dozen others who did as well.  One thing that they all shared was a deep sense of pride about Virgina Tech and I know that they are very serious when they say that they are "Hokies for life".  It is nice to see the community of Blacksburg, VA and Hokies all around the nation (and the world) pull together and support each other. 

You can read about other memorials and support at http://www.vt.edu/tragedy/.

#    Comments [0]
Published on Monday, April 23, 2007

This Wednesday I am going to be speaking at the Rockford .NET User Group in Rockford, IL.  The talk will start about 6:00 PM.  Here is the address:

Quantum Design
8400 E. Riverside Blvd. 
Rockford, IL 61111

The topic will be AJAX, but I am going to try and cover it from a design pattern perspective.  There are at least 3 distinct design patterns that you can implement with ASP.NET AJAX or the Control toolkit:

  • Partial Page Rendering
  • Web Service calls from the client
  • Control Extension (not necessarily AJAX at all!)

Don't let all of the discussion about design patterns scare you - it will not be just a PowerPoint show.  I will get down and dirty with a couple of examples.  Based on feedback from the presentation I did in Milwaukee I will not spend half an hour showing all the permutations of AJAX using the Fiddler tool.  :-)

#    Comments [0]
Published on Wednesday, April 18, 2007

Multi-player
Originally uploaded by jodieandlarry.

I went to an arcade auction last week and had waves of nostalgia came over me.  I grew up in the arcade era, having seen my first arcade game (Space Invaders) at the age of 10 and spending the next 6 years (or so) dropping every quarter that I could find into machines.  The auction had some classic machines (Pac Man, Centipede and Operation Wolf) as well as a lot of machines that I did not even know existed (did you know that there was a Coors Light Bowling arcade game?).

Specialized user interfaces

I got to thinking about all of the various different user interfaces that I saw there.  Some of the machines had track balls, some had machines guns, others had multiple buttons and one had an entire motorcycle attached to the machine.  I even took some photos with the camera on my phone if you would like to check them out (sorry about the quality - the light was very low inside the warehouse, next time I will bring my camera).  Except for a few games that were variants of each other (Galaxian / Galaga and Centipede / Millipede) it was hard to find 2 games that had the exact same control set.  The designers of these games knew that they had to create the perfect user interface for each of their games.

When you are writing software for business it is tough to get that creative with the user interface.  We are limited by the basic boundaries of the keyboard and pointing device.  The PC game developers have a little more freedom because they can take advantage of really neat joysticks.  A few mavericks even go so far as designing an input device specifically for their game and shipping with the product.  The results can be great - kids everywhere are playing guitar hero. I know my kids are wondering why they don't have it yet.  :-)

But those of use developing standard business applications can still learn from specialization.  You can specialize your interface based on the type of user and not the input device.  A great example is banking information;  the person browsing their checkbook at home will probably need a different interface than the teller who is trying to pound in transactions as fast as possible because there is a line of people at the window.  The teller will be much happier with her application if it is custom fit to him or her, just like the game player in a first person shooter will be happier with the Uzi style interface rather that buttons to push up and down.

The cost of changing the user experience

On an arcade game the user experience is something that you have to get correct the first time.  You can't ship a 100 units and then figure out that you should have used a joystick and not a trackball.  You can't make a multiplayer game (like the wrestling game pictured) and find that 4 people can not fit comfortably around the console.  The cost to switch out the units would be enormous.  Plus the target audience already has a negative disposition to your game because of the poor user experience.

With web technologies it is very easy to change the user experience if it proves incorrect.  With technologies like XBAP and Clickonce it is even easy to change out rich client applications.  But we should still recognize that changing the user experience has a steep cost, regardless of the technology.  We should approach getting the user interface correct as if it meant scrapping the whole application and starting over (and on occasion it does!)


#    Comments [0]
Published on Tuesday, April 17, 2007

Today Microsoft made a formal annoucement at the National Association of Broadcasters about the product that has been code named "WPF/E" (or WPF Everywhere).  The offical name of the product will be Silverlight and it even gets a cool logo.  To quote the press release:

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web.

So I don't sound too much more like an echo chamber, I will send you over to Scott Fulton's article on the subject (Thanks to Chris Bernard for pointing me to that article).  It also looks like we will see more announcements on Silverlight at the MIX conference.  Stay tuned, I am sure the product team has some more to share about the product.

#    Comments [0]
Published on Monday, April 16, 2007

Limes in the beer aisle
Originally uploaded by jodieandlarry.

I went to the grocery store last night and snapped the picture on the right.  At my grocery store the beer aisle is at the opposite end of the store from the fruits and vegetables.  Also the proximity from the entrance of the grocery store and the cash register means that if you want a lime in your beer that you have to walk across the length of the store almost 2 times.  It is enough to make you say "I will do without the lime".  But my grocery store believes in a pleasant user experience and put a bowl of limes right in the beer cooler.  For completeness sake I will also mention that they put a bowl of lemons as well.  :-)

Putting items next to each other that are often used together is a great way to increase the usability of your software application, not just your grocery store.  Here is a very simple example from the application that I seem to spend most of my time in, Outlook:

This screen snip shows my task list grouped by date when the task list if shown on the e-mail screen.  Right above the task list I have the option of adding a new task.  Why? Because quite often when you are looking at your task list you remember 1 or 2 things that you forgot to add - I do it several times a day.  If I had to jump over to the dedicated Tasks Screen or even to the menu bar to add my task I would be reminded of going back and forth across the grocery store looking for those limes.  The simple and elegant ability to quickly add a new task why I am looking at my current tasks is much appreciated by myself.

Some notes of caution

Some people will have issues with breaking the paradigms in your user interface, they are the fans of CRUD (Create, Read, Update Delete).  They like things organized the way that the code is organized internally.  "We have a customer screen, they should go there to add, delete or modify the customer records".  Tell them to get over it and focus on pleasing your customers.

Some people like orange slices in their beer, so you might be tempted to put those in the beer aisle also.  I have a friend who likes to put a couple drops of Tabasco Sauce in his beer as well.  You can't please everyone and if you try you will wind up with lots of crazy stuff in the beer aisle.  Looks for the couple of things that are most common to put together.

A lot of people also like nacho chips with their beer.  Nacho chips don't keep as well in the beer cooler as limes do (they get soggy and they crush very easily).  Sometimes it will not be possible to put items together and that is okay.  You can look for other ways to improve the user experience, for example put the salsa in the chips aisle.

#    Comments [1]
Published on Saturday, April 07, 2007

We just finalized all the dates and logistics work on the next round of ArcReady events and I could not be more excited about our theme and our special guest speaker.  You can go to http://www.ArcReady.com to register now for the events.  We added several more cities to the tour, including Milwaukee.

What is ArcReady?

ArcReady is our quarterly program that focus on the skills and tools that Architects (and those that want to become architects) need in order to succeed.  We finished our first round of ArcReady programs a little over a week ago.  Tim Landgrave was our guest speaker and our theme was "What do architects do, anyway".  It was a nice introduction to the role of a software architect and how they fit within the organization.  Tim did a fantastic job and the audience feedback was very good.  It tells me that we are off to a good start with the program.  If you missed the sessions you can check out the slides on the ArcReady site.  But I will tell you the slides do not do justice to Tim's presentation.  If you ever get a chance to hear Tim speak, take it!

The Theme

My colleagues (Josh, Denny, Phil) and I kicked around a lot of potential themes: Web 2.0, Services, SaaS, Federated Identities, Composite Applications and lots of others.  Some of those you will see in future ArcReady programs, some you will not.  Josh suggested that we tackle User Experience as the theme for the next ArcReady.  Each of us is very interested / passionate / concerned about user experience.  I have been very concerned about user experience for years - I just happen to be no good at designing a user interface.  :-)

As an industry are just now starting to "get" the importance of the User Experience. A lot of people are starting to see that if the user experience is pleasant it can mean getting more customers and better customer retention.  But it goes deeper than just attracting customers with a cool looking web site.  A good user experience can also benefit you on the cost side of the equation.  Imagine the countless hours that are wasted every day dealing with an unpleasing user experience.

Having a good user experience does not start and end with the Cascading style sheets and Photoshop elements.  Creating a good user experience begins at the architecture of the system and it does not end even when the application is shipped.

The Guest Speaker

Chris Bernard is the Microsoft's User Experience Evangelist for the United States Central Region (Minnesota to Texas and Kentucky to Kansas).  Chris is a designer by trade having spent 15+ years working in the design field.  He gets user experience and design and more importantly he helps other people to understand it (I speak from personal experience).  Chris presenting on User Experience alone is worth the price of admission.  But it does not stop there - we are going to show how you can tie good user experience into your development processes.

The cities where I will be presenting are:

Downers Grove, IL - May 15th
Indianapolis, IN - May 24th
Milwaukee, WI - June 12th

Hope to see you there!

#    Comments [0]
Published on Wednesday, April 04, 2007

A couple of people have asked me some technical questions about this blog (and one of them gave a very glowing comment about the layout).  I thought that it would be a good chance to put in some Shameless Plugs for products and services that I use.  I also want to let people know how easy (and cheap) it can be to set up a blog using Microsoft technologies and some external services.  Note:  I am going to mention several companies and products in this post.  I want to let you know that I have no affiliation or financial interest in them with the exception of Microsoft (who I work for).

Domain Registration - GoDaddy (http://godaddy.com)

I recommend that you register a domain name directly with a domain name provider.  Most hosting companies will allow you to register a domain name when you sign up for your account and some even include the cost of the domain name in your hosting package.  I avoid this because it ties me to the hosting provider to some extent.  Most of them will let you transfer the domain name, but it is a hassle.  I like GoDaddy because they are generally the cheapest register out there and registration is a commodity; they all provide the same service.  I also recommend that you get private registration for your domain (keeps your personal information from being searched).

Cost: About $18/year for one domain

Hosting Company - DiscountASP (http://DiscountASP.net)

There are a lot of good companies that will provide Microsoft (ASP.NET) hosting.  This is a great one!  There cost is reasonable (I pay $10 / month) and they are always adding new features and keeping up on the latest technologies.  Example:  ASP.NET AJAX was installed on all their servers 2 days after it was released and .NET 3.0 within a week.  They also have IIS 7 beta hosting (yeah - you read that right).  I have been with them for several years and have no plans on moving.

Cost: $120/year

Blogging Software - DasBlog (http://dasblog.info/)

DasBlog is a very full featured blogging platform.  It provides "out of the box" functionality for just about everything that you can think of.  One of the best parts is that it requires no database!  It uses a series of XML files to store your site configuration, your content (posts, comments, trackbacks) and all the security settings.  This makes it FTP friendly and true XCOPY deployment.  It is built on the .NET Framework and ASP.NET (1.1).  It features multiple skins (I use the Tricolor one).

Cost: Free (but consider donating to the cause)

Aggregator - FeedBurner (http://feedburner.com)

Feedburner is a service that will poll your RSS file periodically and provide the RSS file to the subscribers from their site.  It provides good statistics about your users many of them free (you can pay to step up to a Pro account that provides even more statistics).  This is also a way to "outsource" the bandwidth demands that the clients polling your site create.  The best part: DasBlog supports Feedburner out of the box, so you only have to add your feedburner name via the configuration page.

Cost: Free or $3/month (Pro Account)

Photo Sharing - Flickr (http://flickr.com)

I will occasionally add a photo that I have taken to a blog entry and most of these are hosted on my flickr account (feel free to check out my other photos).  I think the picture adds to the blog in a nice way and I hope that you do to.   I do not host screen shots on the Flickr account because most screen shots contain copyrighted works.  Flickr's terms of service asks you to not do this (they don't want to get DMCA take down notices and I don't blame them for that).  Flickr is another way for me to take a bandwidth load off my blog (when you see the picture it is served by Flickr not my hosting provider).  The other great thing that Flickr does is that it automatically scales the photos for me.  I shoot with a 6 megapixel and an 11 megapixel camera and you don't want to see photos that large when you look at a blog entry!  Flickr also interfaces with DasBlog that allows me to create a blog entry right from the photo and does so with a very pleasing layout.

Cost: Free or $25/year (Pro Account)

Blog Composition - Windows Live Writer (http://windowslivewriter.spaces.live.com/)

I have to thank Drew for pointing this product out to me.  It is a windows application (sorry Mac and Linux readers) that allows you to create blog entries.  DasBlog is great, but their built in editor is still a web application.  You have to be on the Internet to use it!  I find myself writing blog posts at all hours and in weird places (airplanes and restaurants) and it is nice to have a client application to do that with.  It has a spell checker, good formatting features and supports many blogging platforms (WordPress, blogspot, spaces, etc).  I have quickly grown attached to it to the point where I would have a problem if I could not use it.

Cost: Free

#    Comments [0]
Published on Tuesday, April 03, 2007

Forest Key and S. Somasegar announced today that Expression Web and Expression Blend will be made available to all MSDN premium subscribers.  This means that if you have an MSDN Premium Subscription (with Visual Studio Pro or any of the Visual Studio Team System Products) that you will be able to use these products as part of your development.  As an added bonus to the people that have the Visual Studio Team Suite with the MSDN Premium content, they get access to the entire Expression Suite (Expression Web, Expression Blend, Expression Media and Expression Design).  The best part is this is not just an announcement, Expression Web is already up on MSDN!  I started downloading it before I created this post.

I think this is great news and it was the right decision for the product teams to make.  I have been talking to a lot of customers that are starting to explore the use of these Expression tools as part of their development cycle.  Everyone of them told me that they wanted to see these tools as part of their MSDN subscriptions.  Evidentially I was not the only one hearing this message!

I had an MSDN subscription for more than 5 years before I joined Microsoft and it was always of great value to me to have access to the Microsoft development products (It does not contain all the Microsoft products - you can't get Office for the Mac, Microsoft Money or XBOX Games).  I used the subscription to perform proof of concepts, check against future releases of operating systems and development tools and even some production troubleshooting (Hey the guy is reporting the bug on Windows ME, I wonder if it is something specific to the OS).  This announcement shows that Microsoft is very willing to listen to our customers and that the design tools are taking their rightful place as a part of the application development lifecycle.

#    Comments [0]
Published on Tuesday, April 03, 2007

I use the Netcraft "What's that site running?..." search a lot in my day to day activities.  Whenever I see a site doing something cool I am instantly curious to see what OS and Web Servers the site is running.  There is a wealth of information about a company's web presence available through this tool.

I thought "wouldn't it be cool if I did not have to go through so many steps to search on the Netcraft site"?  Then I remembered that you can add additional search providers to your IE7 search bar (that thing in the upper right hand corner of the browser):

There is a list of about 25-30 search providers that IE knows about, but you can also add "custom" providers that IE does not know about (like Netcraft).  There is a nice wizard that will guide you through adding your custom providers.  All of this is available on this page (link current as of this posting):

http://www.microsoft.com/windows/ie/searchguide/en-en/default.mspx

That is all very well and you could probably go to that link right now and add some custom providers to your browser and be happy with this tip.  What is even cooler is that you can add these custom providers by using the DOM and a little bit of JavaScript.  So you as a webmaster could let you customers add your provider to their browsers programmatically with the click of a button.  Now you can't force your customer to add a provider (the browser will ask them for permission), but you can give them the option to add it.

Create a search provider XML File

The first step is to create an XML File that describes your provider.  The format of the XML file is the OpenSeachDescription specification (currently version 1.1) documented here on OpenSearch.org.  The one for my Netcraft search is below:

<?xml version="1.0" encoding="UTF-8"?>
     <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
     <ShortName>Netcraft ...</ShortName>
     <Description>Netcraft What's that site running provider</Description>
     <InputEncoding>UTF-8</InputEncoding>
     <Url type="text/html" template="http://searchdns.netcraft.com/?host={searchTerms}&amp;position=limited&amp;lookup=Wait.."/>
</OpenSearchDescription>

Call the AddSearchProvider Method

You can call the search provider with something as simple as the onclick method on an <img> tag (Yes - it is very bad form to use the onclick property, but it is a lot easier to show one line of code in a blog entry):

onclick="window.external.AddSearchProvider('netcraft.xml');"

When you call this, you will see a dialog box like this (this is the security feature that prevents a webmaster from forcing a provider on a user that I mentioned earlier):

You can see this in action by checking out this page:  http://www.28thessential.com/AddProviderSample/AddSearch.htm

Did I mention Firefox yet?

Firefox 2.0 supports this same format with only one small tweak (I had to fully qualify the URL).  Isn't it wonderful when everyone follows the same specification?

Some things you will want to do

  • Add error handling
  • Check the browser version so that you don't offer to add the provider to a browser that does not support it
  • Add something to the URL that is specific to people searching from the browser (let's you know how effective it is versus people searching from within your web page)

Let me know if you implement this on your site, I will add a link to it from this article (also let me know if you use it on your intranet site - although I can't link to it!)

#    Comments [0]
Published on Sunday, April 01, 2007

So the title was meant to catch your attention and I hope that it did.  Seriously, if you would like to see several examples of specifications that Microsoft development teams are using to develop the next version of Visual Studio (code named 'Orcas') and Team Foundation Server, check out the following link:

http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx

The teams are releasing these specifications in order to get feedback from the community about how some of the new features in the products will be implemented.  This is your opportunity to look at not only the content of the specifications, but the format of the specifications and to apply them to the specifications that you use within your organization (you do have a spec, right?).  Here are some of the things that I took note of when I was checking out these specs:

  • They are using the proper tools to create specifications.  Lists of items captured in Excel Spreadsheets or Tasks in a Microsoft Project Plan are not specifications.  I am speaking from personal experience and I can show you scars from this one.
  • The specifications are written down.  Oral specifications do not count, they are too subject to modification and interpretation (again I can show you the scars on this one).
  • There is not one mega-specification, but rather lots of little specifications (one per feature as a matter of fact).  The notion that you need to have one huge specification was created to sell 3" D-ring binders.
  • Every one of these specifications can be absorbed and understood in less than 1/2 an hour.  I looked at about 1/3 of these specifications and I did not see one of them over 12 pages (title pages and legal disclaimers aside).
  • All of these specifications followed a consistent format.  After I had read a couple of them the following ones all seemed familiar.  Even when a section did not apply, it was still there (I saw a couple blank no-goal sections).
  • They made liberal use of screen shots and other visual aids, such as state diagrams.  The quote "a picture is worth a 1000 words" is as true in spec writing as it is in photography.
  • Several of the specifications made use of scenarios or story telling.  It is a lot easier to understand what to implement if you know how people will use the system.  "After sifting through some documentation, Mort realizes there is a Script Explorer window. He turns it on and finds that it lists all the client-side documents that IE knows about. He finds the script block he was looking for and is now able to set breakpoints."  Very easy to understand.
  • Issues are highlighted with easy to identify font formatting - they jump right out at you and they are inline in the document, not kept in a separate issues or open items section.  When they are resolved, they are struck out not removed from the document.
#    Comments [0]