Michael Zammuto: Coding to no good

05 October

Moving to MSDN

Now that I am a settled in at Microsoft it is time to migrate to my new blog on MSDN.

If you are consuming my RSS feed then please update that in your reader.

11:11:54 - Michael Zammuto -

27 September

From the field to the mountain

Friday was the employee meeting. Dozens of buses brought 17,000 Microsofties to the Safeco field in Seattle. There was a half day of speakers, starting with Bill Gates and ending with Steve Ballmer and the subjects ran the gamut from the future of technology to the stock price. There were numerous product demos and I can tell you that the Microsoft product pipeline is really impressive. It made me proud to be with such a great company and served to illustrate Microsoft’s leadership in the business. There was a lot of company and product spirit on display and, as a new employee, I was treated to 3rd row seats.

Saturday I signed up at the ProClub in Bellevue. What a great club. It is a fantastic employee benefit. I had a light workout and then had a very tough hike up Squawk Mountain. It is a 1.6 mile hike up but the trail rises 900 feet and I was beat when I got to the top. Sunday I swam at the ProClub and then took a leisurely drive down 202 to go hiking. I stopped at the falls at Snoqualmie, which are magnificent, and then continued on to hike at Denny Creek. The hike was great and the weather was perfect. The creek includes an area of water running over a large rock mass. This makes a sort of slide for the kids to play on. I hiked up the rest of the way to the falls, which was a pretty rocky and rigorous section of trail.

I had a chance to meet a lot more of the team this week. I am traveling to Florida to complete some relocation tasks and to participate in the wedding of a good friend. Chris Capron. I look forward to it.
16:32:34 - Michael Zammuto -

20 September

Touchdown Redmond

I have finally settled down at my new office at Microsoft. I really enjoyed the new employee orientation and am starting to get settled into my new role here. Microsoft has been very professional and, individually, everyone has been very friendly and helpful. I am very excited about my new role and the products that I will be working on.
16:54:06 - Michael Zammuto -

08 September

Hey Vint, you need a winter home in South Florida

The relocation to Microsoft is going very well. Microsoft relocation is really professional and I am amazed at how little of the preparation that I really have to do.

My house is on the market. Here it is on Realtor.com

Now that Vint Cerf is going to Google I am hoping that he will see my house ad and buy it with his signing bonus so that he has a place in Florida to vacation.

You see this sort of thing when a company gets agressive and particularly after they get some public markets cash. I am concerned from the press release that this is as much about Google's red-hot recruiting effort as it is about building the best technology team that they can. I mean really, what is an "Internet Evangelist?" Vint Cerf is a legend and I hope that Google is going to really channel his energies torward something great. The press release says that he will "build network infrastructure, architectures, systems, and standards for the next generation of Internet applications" which sounds kind of thin, or at least vague to me. Frankly, that reminds me of the job description of the last network admin that I hired.

When Microsoft hires a legend such as Anders Hejlsberg, who is brilliant and someone I would love to meet (lunch on me anytime Anders), you know the shareholders are going to get a return through the person's involvement in key initiatives. Anders is a key person in J++, WFC, C# and the CLR, some of Microsoft's family jewels. You see similar product and research contributions from James Allchin, Ward Cunningham, Dave Cutler, James N. Gray, Tony Hoare, Butler Lampson, Ray Ozzie and others at Microsoft. Lets hope Vint's considerable vision is similarly leveraged at Google. But if this is a PR move then, Vint, my house is only a mile or so from the beach.
12:12:38 - Michael Zammuto -

03 September

Help The Big Easy and The Gulf Coast

I have to admit that I have been watching way to much of the Katrina coverage. I am an alumnus of Tulane in New Orleans and have so many fond memories of the place that it is painful to watch. Tulane's web site was down for days. They have put up a basic site with information for administration, staff and students. Here in Florida we have been through our share of these things too, although nothing, not even Andrew, approaches the level of devastation that we see in New Orleans. Please give.
Donate to help the Gulf Coast recover
13:02:59 - Michael Zammuto -

02 September

Goodbye Sapago, hello Redmond

Now that it is official, I can announce that there are some big changes coming.

Over the last five years I have served, primarily as CTO of a startup and a few small companies. When I started Sapago earlier this year, I was driven by the belief that there are huge opportunities to make retail stores more effective and interesting. The applications that I developed focused on extending RFID into art galleries and retail stores and integrating its back-end functions with the sales process. Additionally, I was driven by a desire to do different things and spread my wings a bit.

I am very proud of the work that we did at Sapago. It started off with just me writing some the first few products. These went on to be selected as ‘Best in Show’ by Microsoft at the 2005 Worldwide Partner Conference and were selected as one of ‘5 products your business can’t live without’ by The Craft Report magazine. I was profiled on microISV.com and there were articles about Sapago on RFID Journal, Engadget, Internet Retailer, The Retail Journal, Wise Marketer and others.

Sonata Software of India came in and helped on additional versions of the product. I am grateful for the council my friend Partho provided. The company is incredible, probably the best product development company in India. Sreenu Kaimal worked very hard to add new functionality to the products as I worked on new products, marketing, sales and so forth. Sreenu was a joy to work with and she is a very talented developer. Balu, Narayanan Chelliah, Sreenu, Partho and Hari were an invaluable part of Sapago and even thought they work for Sonata, felt a clear sense of ownership.

My friend Bill Kheel was kind enough to do some design work. Bill is the former Creative Director of Visual Fire and a highly successful freelance designer and illustrator. He did some great work on graphics and developing Sapago’s marketing literature. He is a pro, incredibly talented and a great guy.

Starting a software company is challenging and exciting and rewarding in so many ways. But starting an under-funded software company is difficult enough and selling an entirely new way of looking at the relationship between retailer and shopper was a big goal, too big for my skillet and budget. Unfortunately, without additional funding, I have been forced to suspend Sapago’s business activities.

I received a call from a recruiter at Microsoft a few months ago. The interview process at Microsoft is intense and a lot of fun. After a meeting for a day the hiring manager asked me to stay and meet with an additional group for a day. Over the course of two days I met with about a dozen people and discussed two very different opportunities. It was important to Microsoft that we are comfortable with the prospect of relocating to Redmond and Nancy and I traveled to Redmond to scout that area. Everyone at Microsoft is very smart and dedicated and it is a very welcoming group. Several peers and my supervisor have reached out with offers to help make the transition smooth. All of these things helped make the commitment of leaving family and friends 3000 miles behind.

Starting September 19th I will be working for the newly formed Connected Systems Division which is, in turn, part of the Server and Tools business unit. The division was formed by combining Microsoft's Distributed Systems Group (DSG) and the Business Process & Integration Division (BPID). The DSG oversees the Windows Communication Foundation (aka "Indigo"), Web Services Enhancements (WSE), InfoCard, MSMQ, Active Directory and Microsoft Identity Integration Server (MIIS). BPID includes BizTalk Server, Host Integration Server, Commerce Server, RFID, Industry Standard Accelerators and Windows Workflow Services (aka "Windows OE"). These are fascinating products. I am particularly interested in watching the company move to a unified messaging platform as I expect that you will see some great opportunities there.

It is exciting and sad all at the same time. Saying goodbye to friends and familiar faces, selling our home, changing our daughter’s school. It seems farther away than the 3000 or so miles that the crow would fly. I cannot wait to get started.
14:15:47 - Michael Zammuto -

24 August

Back in town

My wife and I just returned from a fantastic trip to the Seattle area. It was a combination of business and pleasure. We had a great time and accomplished a lot. We had a great dinner with another couple ata restaurant on Lake Washington in Kirkland, one of the trip highlights.

While I was on the trip I found a great book in a bookstore. It is about designing classes in C#. The focus is on writing better code by understanding how various coding decisions impact your compiled code. It starts at a pretty basic level but helps to get more under the hood about the .NET framework. it has some useful tips and will share some here as I make my way through the book.



08:10:59 - Michael Zammuto -

16 August

Generating UI at runtime via metadata

As an ISV, one of the problem areas is creating a flexible and manageable UI. A software ISV’s UI tends to grow more over time than a business application’s UI does as ISVs tend to add functionality at a faster pace than corporate development projects. This is one of the reasons that some ISVs to go to web clients. The MSDN Architecture Center has published an interesting article about storing layout information in metadata and generating the controls and layout at runtime. I met the author of this article, John deVadoss, when I was at the retail developer's conference in Redmond last year and he is a great guy. I can see some problems with this solution that John does not mention but the ability to allow customized UI through client side XML files or to centralize it in SQL Server makes the solution worth exploring.
06:20:05 - Michael Zammuto -

11 August

Travel Redux

I was out of town until last night. I had a great time going to one of my favorite places. More on that later. I really like Continental’s online check-in. You can pick your seat and print your boarding passes or have them faxed to you.

I had this idea on the plane and I will freely admit that it is more of a futurist fantasy than a practical suggestion. My wife chuckled and shook her head, as she often does, but I will let you decide.

Let’s start with the following principals.
1) Airplanes should be airborne as much as possible. Planes on the ground are an inefficient use of expensive assets which should be minimized.
2) Similarly, flight staff is an important resource and they should be flying, training or off duty, not waiting at gates and not waiting for people to board.
3) Taking tickets at the gate and boarding and unloading planes is a serial function which introduces lag in the process, keeping planes from flying. We exaggerate this by having each person place items in the overhead compartments. This costs the industry, and by extension us, money. A single person with a heavy bag should not be able, even for a second, to hold up an expensive, plane, valuable staff and hundreds of passengers.
4) Cleaning planes while they are on the ground is also a misapplication of the economic value of airplanes.
5) The configuration of seats on a plane, specifically the mix of first-class, business and economy seats leads to shortages and surpluses, driving down rate efficiency. One should be able to configure flights on demand and airlines should really be selling these seats based upon the area of plane they consume not their position on the plane.
6) I am tired of running a mile to get from one gate to another because my earlier flight arrived late.
7) Checking luggage, paying people to load and unload the luggage and the space and equipment for baggage claim areas is a waste of resources.
8) Airport space in key U.S. cities is growing increasingly scarce and as its value increases, more efficient use of that space is needed.

So here is the idea. After passing through security, passengers wait to board in the main area of the airport. Let’s call this the mall. There are stores and restaurants, just like common areas near gates today. They are smaller since people will be waiting at airports a shorter period of time. An announcement tells passengers that they should proceed to seating as their plan is on the ground, at the gate and will be taking off in just a few minutes. As the plane that you are going to get on is being fueled and inspected every passenger goes to one central boarding area. It does not matter your destination or airline. Instead of planes they sit in pods or on elevated, self contained seats. The width of these seats varies by their class. Economy seats are X width, business class are X + .5X and first class are 2X, for example, but everyone boards in the same area. Each passenger stores their luggage beneath them or above them. This includes what is today considered checked luggage. Scanning one’s RFID enabled plane ticket tells the system your flight and with whom you are seated. The pods or chairs move on conveyors, tracks or are, perhaps, self-propelled. An advanced system links together people within a party. Me in my first class seat with my kids’ economy seats matted to the side of my chair, similar to the way train cars are attached.

The seated passengers are propelled to a waiting area. Along the way the seats have moved into the relative position that they will take in the plane. The area is much smaller than the parts of the terminals where the gates once resided and the wait there is a few minutes. The waiting areas at gates have been consolidated. Algorithms determine to optimal placement of the seats by their class. When a plane lands it backs up to a dock, which has replaced the gates of old. Planes in this scenario have a large, wide door in the back. It lowers to open, in the same way that a C-130 cargo plane is designed. The door opens and the still seated passengers are automatically whisked along conveyors, tracks, etc. to the central waiting area or to their connecting flight if it leaves in, let’s say, the next 10 minutes. The plane empties in just a few minutes, giving just enough time for maintenance to conduct inspections, ground crew to fuel the plane and for janitorial staff to clean the bathrooms. Nearly the moment the last row of pods leaves the arriving flight, the pods of waiting passengers move in concert, into the plane. Where you sit id a function of your proximity to traveling companions and your usual window, aisle choice. Since these seats are moved automatically onto the plane, by row, we have changed an analog serial boarding process into a parallel, automated process. At the same time we eliminate the need for ground crew to load luggage (which, sitting safely beneath you, now cannot end up on a different plane than you) and eliminate the lost time of people finding their seats and placing items in the overhead compartments. The RFID tagged ticket will ensure that the airport systems whish you and your luggage to the next flight on your itinerary, if any. Under this system you could actually change your connecting flight while you are on the earlier flight.

When you arrive at your destination, the back door of the plane is opened. You and your seat are whisked, luggage and all, to the mall. Your pod moves along a synchronized people-mover, style conveyor (think Disney) so that you can exit your pod and, with the help of staff, place your items on a cart. You are ready to leave the airport, even if you brought luggage. You pod disappears to a back area for cleaning and preparation for its next flight.

Here are some problems
1) Every airport and airplane around the world would have to change for this to work. All would have to adopt a single system of pods. As they must be completely interchangeable.
2) Perhaps the investment to do all of this outstrips the advantages listed above.
3) I assume the passengers are the primary bottleneck. Perhaps there are other things which keep a plane at a gate for an hour, such as maintenance procedures, creating a dependency that this solution does not solve.
4) Any system of transportable mechanical seats or pods and the mechanism to move and sort them introduces mechanical failure points which could disrupts entire flights, perhaps an entire airport.
5) Does this treat people themselves like luggage? I do not think that is necessarily so. It is all in the implementation.
6) First class passengers want to sit next to exclusively first class passengers, that is part of the point. OK, that is something that can be reviewed.

If you have any comments or have other problems you want to add, send ‘em my way. I would love to hear them.
14:54:36 - Michael Zammuto -

04 August

BizTalk Server 2006 Beta

I am tinkering with a MS Speech Server, integrated fax solution for a client. They are a sales organization which relies on faxing and inbound and outbound calls as the key components of their sales processes. I am trying to automate the whole thing which means integration with the call center applications and a sales automation web application that I did in .NET. One interesting challenge will be producing mobile tools for the field sales force, which I will probably build using .NET Smart Phones.

I downloaded and setup BizTalk Server 2006 Beta yesterday. I have been participating in the SQL 2005 Beta for about 10 months and signing up for the BizTalk 2006 Beta was easy.

I understand that the Beta is functionally complete, somewhat unusual for a Beta product. The setup was pretty involved and each new version includes greater integration with other Microsoft products. BizTalk has grown increasingly powerful over the last few releases, with very impressive integration with SQL, SharePoint and, in particular, Visual Studio. The Visual Studio plug-ins alone clearly differentiates this as the easiest and most powerful EAI solution around. The business activity monitoring (BAM) portal utilizes SharePoint and is a great tool for monitoring BizTalk applications. It also uses SQL Notification Services for alerts. There is some integration with InfoPath that I have not tried out yet.
10:33:17 - Michael Zammuto -

03 August

Scotch and servers

Here is a picture from a recent meeting of the Internet Coast CIO Council. We met at the Islamorada Fish Company in Fort Lauderdale. Conversations were lively as we launched two special interest groups, Security/Compliance and Project Management.

Michael Zammuto at Internet Coast CIO Council meeting

Pictured are [ L-R: Jim Bussey-FIU, Eric Horowitz-New Horizons, Michael Zammuto-Sapago, Mike Julson-Ecometry ]
09:04:37 - Michael Zammuto -

31 July

Express Train 2005

The MSDN Lab site is one of my favorite sites. They have the WinFX SDK and the Logidex .NET resources, which is a search technology. This is also where the Express products and resources are found. Microsoft makes available for free download Express 2005 versions of C#, SQL Server, Visual Basic .NET, C++ .NET, J# .NET and something called Visual Web Developer 2005.

The intended audience for these products is supposed to be hobbyists and students. I downloaded and installed SQL Server 2005 Express Editions and Visual C# 2005 Express Edition just to try them out. These are great resources. I typically use Visual Studio Enterprise Architect for development, design and test. The Express product is a lightweight IDE but includes everything one needs to write fully functional Windows Forms, components, ASP .NET, Class Libraries and console apps. It even comes with starter templates to create a screen saver or some kind of movie program. It has design view, all the forms libraries, properties windows, class viewer, database browser, rich debugging and a Code Snippet Manager. Pretty cool.

It is amazing how feature rich these products are. SQL Express is a replacement for MSDE and supports all the things you need for development including triggers, stored procs, analysis services, etc. This version also includes the ability to write stored procs in managed code using C# or VB .NET, just like SQL Server 2005. These are BETA products. My SQL Express installed with SQL Browser service disabled, which may be by design. SQL Express Manager, the IDE manager application is a seperate download.
12:12:42 - Michael Zammuto -

30 July

P.O.P Magazine cover story and design patterns

P.O.P Design Magazine is published by The In-Store Marketing Institute and Hoyt Publishing. It is a great publication that I have always liked for point of purchase display and technology news. The July/August issue features an article about Sapago’s enterprise store systems on the cover. They do not publish most of their content on the web so I have not found anything to link to yet but will if it becomes available.

I started writing an article about software design patterns in .NET about a year ago and keep putting it aside. I got a nice email from somone who liked my Building Fire Breathing Web Services and C# Socket Programming articles which has inspired me to finish it. I hope this patterns article will be the best one yet.
13:25:02 - Michael Zammuto -

27 July

Wise Marketer and ISV resources

A site named The Wise Marketer published an article about the Microsoft Best in Show award this morning. It is a great site with a focus on loyalty programs. The site requires a free registration and activation before you can view articles.

Microsoft MSDN has a great online center dedicated to independent software vendors. If, like me, your interest is in ISV product development and marketing then you should check it out. There are some very good architectural, marketing and sales resources here.
07:53:00 - Michael Zammuto -

22 July

More awards stories

I have been swamped this week. Lots of calls about the Best in Show award and some good sales leads. The .NET Developer’s Journal ran a story covering the Microsoft Partner Conference winners. Sapago is the first one on the list. “CRN/Microsoft Best in Show, Small Business: Sapago Inc.”

You can see stories about the award starting to pop-up all over the place. Here is a short piece about the Sapago award on Demand Chain News.
04:50:10 - Michael Zammuto -