App Building

The C# PM team is spending Wednesday-Friday of this week on app building, where we spend time using the product to write real apps. We book a conference room in a building away from our main building, put OOF messages on our email, and then spend our time programming (and reporting the bugs we find). I’m running the build that we’re going to be giving out at TechEd at the end of the month, and I’m working on my GPS tracking project. I’ll need to back-port it to Everett when I’m done, since the project is destined to be featured in a C# column.

Today I wrote a windows forms control that does graphing. The cool part is that it supports multi-level zooming in on the data. Tommorrow I’ll hook it up with my existing app, which uses MapPoint, and then go from there.

This is the first time I’ve used a fairly recent Whidbey build, and I’m pretty happy with the way it feels. The refactoring works well (when I remember to use it), and Intellisense is bothering me less (in early Whidbey versions it was a little too aggressive about coming up).

Finally, the new debugging value inspection is great. I did a fair amount of debugging today, and I didn’t have to go to the watch or locals window the whole time.


Comments (15)

  1. Mark Pitman says:

    Sounds like fun! I don’t know what I’m looking forward to more, the new features in .NET 2.0(like generics) or the new features in Visual Studio 2005! Lucky for us, we’ll get both at the same time.

  2. Luc Cluitmans says:

    I have always been wondering what MS considered to be ‘real’ applications. From the things you read articles about, it seems that Microsoft’s idea of ‘real applications’ is rather different than what I use the .NET framework for.

    I’m happy you mention some items that I can relate to in my line of work, like your GPS tracking tool and your graphing control. You thereby imply that you are testing whidbey for the kind of things I would like to use it for…

    I use the .NET framework mostly for stand-alone winforms applications and console applications, typically involving some kind of signal processing / visualisation / data conversion, and the .NET framework is very useful for implementing those tasks.

    I don’t use any client-server-related stuff, so IMHO, the name ‘.NET’ is simply a marketing blunder in the same category as Borland pushing Delphi as a ‘database user interface design tool’ when delphi was new. Yes, you can write all sides of client-server applications with .NET, and yes, Delphi was great for writing ‘database user interface’ design, but that only highlights a part of their use, and exactly the use that I am NOT interested in …

  3. Eric,

    >> where we spend time using the product to write real apps.

    well, it appears your idea of a real app is either way apart from mine, or you guys are working really really really fast. i mean, _really_ fast. 😉

    if i could write a real app in 3 days, i’d have finished 300 ‘real’ apps in the time it took me to write the one real app i’m currenty working on… and its still not finished. 🙂


    thomas woelfer

  4. Cronan says:

    Do any of you guys have previous experience with refactoring tools?

  5. dom says:

    I agree with Thomas; cool as it is that you guys do this stuff, I think that it could all too easily become lip-service to the idea of dogfooding.

    Hire a couple of good devs to write FULL TIME on your compilers, FULL TIME projects, over months and years, not days.

    That will give you a very different flavour then a few days coding.

  6. Hey, if you guys are looking for apps to build, I can give you some work! I need a vacation.

  7. Mark Pitman says:

    From what I understand, MS already has a group that uses all this technology. I believe it is called CIT or "Commercial IT". This group does projects for internal customers like e-commerce stuff and they use the next generation technologies that people like Eric are working on. Of course, this is something I have heard 2nd-hand, so I may not be absolutely correct on the details.

  8. Hi Eric,

    You say "Intellisense is bothering me less (in early Whidbey versions it was a little too aggressive about coming up)".

    Does this mean less than Whidbey March 2004 CTP? I *love* how it works in that release (the first alpha didn’t seem to be that amazing with Intellisense) — it comes up for keywords and everything, all without ctrl-space! I really hope they leave it like that.

  9. Phil says:

    I agree with earlier posts, another team (maybe part of the test team) should be continually building (or trying to build) real applications with your development tools. The only problem is that a real application (like Outlook) takes months to write, and this is assuming that the development tools have already been built and tested. So we have a chicken/egg problem…

  10. Aditya says:

    care to share what other pepole on the team are writing?

  11. Dave says:

    I think the point of the app building _for developers_ is not about finding bugs – they’ve got dedicated testers. It’s about giving the developers some insight about the software they are writing, in the hope that it’ll help them write it better.

    It’s one thing to create an API, but quite another to use it.

    And bug reports from some black-box tester team can be less than revealing.