Dead vs. Done

Back through 2009 and 2010, Damian Edwards and I worked on a project called Web Forms MVP.

It grew out of a consistent problem that we saw across multiple consulting engagements. We got tired of solving it multiple times, so we wrote it as a framework, released it open source, and then implemented it on client projects (with client understanding). Clients got free code. We got to use it in the wild, with real load and challenges. We got to re-use it. The community got to use it too.

It has been downloaded 20k+ times, which is pretty big considering it was around before NuGet was. (Although, we were one of the first 25 packages on the feed too.)

In the last 12 – 18 months, I’ve started seeing “Is Web Forms MVP dead?” being asked. This blog post both answers that question directly in the context of Web Forms MVP, but also discusses the idea of dead vs. done.

Here’s a specific question I was asked:

I am a little bit worried about the fact there is not code commit since sept 2011. Will you continue the project or will it fall in the forgotten ones?

And here was the answer I wrote:

I have a mixed answer for you here.

On the one hand, we cut seven CTP builds, then a v1.0, then a 1.1, 1.2, 1.3 and 1.4. That means we developed the library, tested hundreds of millions of production web requests through it, reached a feature point we wanted to call 1.0, then iterated on top of it. In the 15 months since cutting 1.0, there are only six issues on the Codeplex site: one is a question, one a misunderstanding, one a demo request, and one a feature request that I don’t really agree with anyway.

At this point, Web Forms MVP 1 is “done”, not “dead”. I’m just slack about closing off issues.

Now, that opens up some new questions:

If you find a bug with 1.4 that you can’t workaround, are you left out in the cold? No. First up, you have all the code and build scripts (yay for open source!) so there’s nothing we can do to prevent you from making a fix even if we wanted to (which we never would). Secondly, if you send a pull request via Codeplex we’ll be happy to accept your contribution and push it to the official package.

Will there be a Web Forms MVP 2? At this time, from my personal perspective, I’ll say ‘highly unlikely’. As a consultant, I haven’t been on a Web Forms engagement in over 2 years. That’s not to say there isn’t still a place for Web Forms and Web Forms MVP, but that I’m just not personally working in that area so I’m not well placed to innovate on the library. Damian has lots of great ideas of things to do, and since starting Web Forms MVP has actually become the Program Manager for ASP.NET Web Forms at Microsoft. That being said, his open source efforts of late are heavily focussed on SignalR.

Should there be a Web Forms MVP 2? Maybe. It’d be nice to bring it in line with ASP.NET 4.5, but I’m hard placed to know what is needed in this area considering I’m not on a Web Forms engagement. Without a clear need, I get rather confused by people calling for a new version of something just so they can feel comfortable that the version number incremented.

I hope that gives you some clarity and confidence around what is there today, what will stay, and where we’re going (or not going).

Some projects definitely die. They start out as a great idea, and never make it to a release. I find it a little sad that that’s the only categorisation that seems to be available though.

I hope I’m not just blindly defending my project, but I do genuinely believe that we hit ‘done’.

From here, Web Forms MVP might disappear into the background (it kind of has). The community might kick off a v2. A specific consumer might make their own fork with a bug fix they need. Those are all next steps, now that we’ve done a complete lifecycle.

In the meantime, people are asking if the project is dead, yet not raising any bugs or asking for any features. This just leaves me confused.

Tech.Ed AU 08: The Ugly, The Bad, The Good

Bugger it. Despite being ridiculously exhausted, I’m going to write this now because I can’t sleep. I’m also doing it in reverse order to finish up on a vaguely positive incline.

The Ugly

I got rightfully slammed in my presentation evals for ARC402. 44% of the audience were Very Dissatisfied. That placed me with the 6th worst scoring session at the conference.

The general trends were:

  • I represented a knowledge of the subject (42% very satisfied – a positive here!)
  • My presentation skills were satisfactory (47% satisfied – neutral)
  • The information presented was bad (42% dissatisfied with usefulness)
  • The presentation was ineffective (42% dissatisfied with effectiveness)

Armed with an array of comments to analyse, what did I do wrong? Thinking out loud, this is what I’ve come up with:

  • I was put off by the noise from the neighbouring room and the mobile smackdown. I shouldn’t have been affected by this as much as I was.
  • I rushed the content, when I was by no means under time pressure. I generally covered this content as a 20 minute segment at the end of a more holistic ASP.NET MVC presentation. While I had added additional content, and that is generally a rushed 20 minutes, I certainly shouldn’t have been rushing here.
  • I lost the structure. I didn’t introduce myself (which people highlighted in the comments) and somehow I even forgot to ask for Q+A at the end, even though there’s a whole slide that prompts me to do just that.
  • I focused my content too much on the blurb which came from Tech.Ed US instead of thinking myself about the wider architectural considerations. There’s a lot more too it than IoC and some attributes.
  • Despite being crowned the Australian Annual IT Demonstration Champion this same week, my demo crashed and burned. Massive fail here.
  • I’m still not good at dealing with non-developer audiences. This was something that also affected me at Web on the Piste, and is something I need to actively work on. As much as I am a fan of minimal slides + heaps of live code, if the people ask for high level content in an architecture track, it’s what you’ve got to give them.

Summarising:

I failed to identify the key differences between the demands of this session and those demands of previous talks I had done in this technology space. I was over confident in the content and thus failed to properly prepare and update my content for the latest release, the audience and the timing. I’d like to apologize to those who attended and expected more, the content owners who trusted me to be there and the community who supported me in getting there in the first place.

– Tatham Oddie, not-so-demo-champion

The Bad

I’m forever fighting with a balance between helping and helping too much. I was a key person on the Dev.Garten project this year, having done a significant amount of work pre-event including meeting with the client and developing infrastructure. Once the event actually started I began to realise the shear number of things I’d committed to doing throughout the week and that I was being stretched. While there were plenty of great people to keep the project moving, I could have done a better job of documenting the directions I had started and ensuring a smoother handover.

The Good

Despite this post starting on a decidedly (and deservedly) sour note, there were some amazing this that happened during the week.

My other session (TOT352) about Software+Services had a particularly small audience, however came out with 100% of the evals saying the demos were effective and 100% saying the technical content was just right. Ok, so the data is only working off 2 evaluations because there were only about 12 people in the room, but it’s better results than above either way.

I won the national final of the Demos Happen Here comp. Among other things, this means I’m off to Tech.Ed Los Angeles in 2009 and will shortly receive a shiny new Media Centre PC. When I made the original entry video it was an 8 minute demo, however by the national final I had it down to 4 mins 50 seconds which is a real testament to the quality of Windows Server 2008.

I built a Surface application. Amnesia own the only two Surface devices currently outside of the US and were kind enough to let me spend a day and a half playing on it before they took one to the event. It was my first time ever compiling a line of WPF or seeing the Surface SDK but in that 1.5 days I managed to get an application working which would pull session data out of CommNet and display it in response to a conference pass being placed on the table. The Surface team should be really proud of the quality of SDK that they have achieved to make that possible and I look forward to when we finally get to see a widespread public release of the bits.

The table achieved quite a bit of interest throughout the week:

surface5

Photo: Ry Crozier

On Wednesday I had lunch with Amit Mital who is the GM of Windows Live Mesh. Six of us (him, 2x MS, 2x others, me) spent a good 90 minutes discussing some of the longer term visions for Mesh. The original plan was for us to ask questions and him to answer them, but it became more of a discussion between ourselves about scenarios we wanted to see / achieve and him (relatively) quietly taking notes. In the end this was a better approach because it allowed him to walk away with some real world scenarios and didn’t result in us constantly asking him questions he wasn’t allowed to answer yet. PDC sounds set to deliver some exciting changes as we see the release of the Mesh SDK.

Friday lunchtime I was invited to present with Lawrence Crumpton about open source at Microsoft. We were presenting to a lunch of open source alliance and higher education administrators trying to demonstrate that Microsoft aren’t actually evil. Lawrence’s full time job at Microsoft Australia lies around open source and it was amazing to hear some of the things he’s involved in. I jumped on stage after his talk to demonstrate PHP on IIS7 as a first class citizen and talked about leveraging the platform with functionality like NLB. (This may or may not sound very similar to my DHH demo.)

Tech.Ed week is also a big week for Readify because it’s the only time we get to have almost all of our people in the one place. It’s a strange feeling knowing a whole group of people but then meeting them for the “first” time. It was particularly good meeting our new WA gang (Hadley Willan, Jeremy Thake and Graeme Foster) as well as catching up with the out of towners and management teams again.

Friday night was the Readify Kick-off party followed by a company conference / meeting on Saturday.

Who’d have thought I’d get to see my Principal Consultant gyrating his hips on stage with Kylie? I’ve had a quick look around Flickr and Facebook but I haven’t found any photos of the night online yet. I look forward to our resident photographers catching up on their uploads early this week. Update: Links at end of post.

Rog42 came along as a guest speaker on Saturday and delivered a great presentation about some new approaches for community. In a demonstration of how a little information goes a long way, the pizza thing is now pretty superfluous having seen his presentation but I think we can keep the jokes going for a little bit yet. 😉 It was encouraging to see the level of Readify involvement in Tech.Ed.

Overall it was a great week and another well executed Tech.Ed on Microsoft’s behalf. I was privileged to be invited to participate in lots of different ways, albeit with different qualities of outcome. It’s been an eye opening week which has highlighted needed work on my behalf, but also being rewarding for work I’ve already done. I look forward to the next event, and all of the other things that will need to be tackled between now and then.

Update 7-Sep-08: Photos from Thursday night courtesy of Catherine Eibner:

Update 8-Sep-08:

Reply to "Google’s photos of Sydney go all fuzzy" – SMH August 13, 2007

http://www.smh.com.au/news/web/googles-photos-of-sydney-go-all-fuzzy/2007/08/13/1186857396182.html?page=fullpage

In the event that Asher Moses searched out the facts, he may have learnt a number of things.

The article justifies it’s technical position with a technical misconstrusion – “satellite views as close as 25m above the ground”. While aerial imagery resolution is generally expressed in terms of metres, this has no direct correlation to an elevation above the surface. Instead, the measurement represents the physical distance represented by each digital pixel on screen. While this isn’t a point that needs to be conveyed to the general public, it could have been represented with a statement along the lines of “but now maps of the CBD are blurry even when zoomed out to 1/12th of their previous level”.

The author may also have noticed that the imagery is provided by DigitalGlobe, TerraMetrics and MapData Sciences (an Australian company). Perhaps the author could have contacted any of these companies prior to pestering security taskforces with superfluous conspiracy theories.

It is disappointing that in this day and age, journalism has dwindled to the extent of monitoring Google Maps for Orwell-inspired stories, backed up by references to Wikipedia and general technical inaccuracy.