Interview with Neil Cowburn and Chris Tacke
By Chris Forsberg, December 04, 2003.
Print version
Summary
Interview with Neil Cowburn (hereinafter NC) and Chris Tacke (hereinafter CT), both Co-Founders and Advisory Board members of OpenNETCF. They are also both Microsoft MVPs focusing on .NET CF and well known in the community. The interview is taken by Chris Forsberg (hereinafter CF).
CF: You are both Co-Founders and Advisory Board members of OpenNETCF, so could you please tell us a little about OpenNETCF. What is it, who are you guys, when did you start and why?
CT: Shortly after the release of the CF, it quickly became evident that there was a lot that wasn't included that many people wished was. Since we were already posting a lot of code in the newsgroups and in the Forums at InnovativeDSS, I came up with the idea that the embedded MVPs should form a more formal organization that would focus on complemeting the Comapact Framework with shared source libraries.
Let's face it, the CF team does a great job, but the fact that they are in a large corporate environment means they cannot respond rapidly. They have to do a lot of reviewing, testing and validation. OpenNETCF doesn't have those constraints, so we can produce and release code rapidly. The trade-off is, of course, that we tend to have, well let's call it "less-tested" code. This is mitigated by the fact that we can incorporate bug fixes and re-release quickly, which Microsoft cannot do.
Basically my philosophy on software development lies in the idea that nobody likes to reinvent the wheel. When given a solid foundation of classes, great applications can be architected and implemented quickly. Nobody likes doing the grunt work - we like making applications that "do" stuff. OpenNETCF.org takes care of a lot of the grunt work.
NC: As Chris has pointed out, OpenNETCF.org started out as a central location for .NET Compact Framework samples and code snippets. In the early days of the .NET Compact Framework beta program, there were a lot of good samples being posted to the newsgroup by a handful of regulars. These were moved to the InnovativeDSS Forums, and then a significant change happened. Instead of posting the samples to the newsgroup and then reproducing them in the forum, we all started posting them in the forum and then posting links to the forum in the newsgroup. This quickly increased the traffic to the IDSS Forums, and it became clear that we needed our own identity.
Some of the samples were just a few lines of code. Some were full class libraries. Remember when we wrote our own registry class library, Chris? Of course, that's changed now to match the full .NET Framework's Registry class library. Some of smaller samples were expanded into classes and things grew from there. We looked at what was missing from the .NET Compact Framework, and at what people were asking for in the community. The community's voice is loud and clear about what they want.
The whole .NET paradigm is based on a few caveats. One of these is the increased level of abstraction the .NET Framework brings to the table. This enables developers to concentrate more on business logic and less on the plumbing that makes it all happen. As good a job as the .NET Compact Framework team did (and they did do a good job), much of the plumbing still had to be done. Working with the other MVPs, I started to fill the API space left behind by Microsoft. Also, there are a number of classes from Microsoft that we have extended. I believe these results in a better experience for developers.
CF: The OpenNETCF just released a beta of the OpenNETCF Smart Device Framework. Tell us the story behind it and why it's needed?
CT: Everything but the kitchen sink? No really, it's an amazingly robust library, especially when you consider that it was put together by a few people in their spare time with no real motivation other than personal insanity. We have classes for audio recording and playback, serial communication, registry and clock manipulation, notifications, environment setting and an extended marshaler. To that we've added over 10 controls with designer support including a Button, CheckBox, GroupBox, ColorDialog, LinkLabel, StatusBar, owner-drawn ListBox and SignatureCapture control. I'm sure I've missed some others as well.
NC: Wait! I have a kitchen sink we can squeeze into the SDF. Seriously though, the SDF contains everything available on our website now. We've also been working very hard on a whole bunch of new controls and libraries, as Chris pointed out. There are some seriously smart people involved with OpenNETCF.org and the SDF would not be what it is without their help and contributions.
CF: How do you look at the future of the OpenNETCF Smart Device Framework? I mean, as Microsoft add features to the core .NET CF, will you compete with your own framework or will you remove the parts that are overlapping and keep complementing the core framework?
CT: We're working pretty closely with the CF team to minimized the potential overlaps because I don't like duplication of effort - I'd see us continuing to complement the CF, never competing. That said, I don't see us ever removing anything in the SDF, even if there is overlap. Marking methods as deprecated will happen, but breaking compatibility is a big no-no.
NC: Microsoft has been fantastic in the moral and technical support they have given us at OpenNETCF.org. I think we all feel it would be wrong to compete with them. Anyway, none of us have the time to write our own execution engine. The Smart Device Framework is our collaborative effort to bridge the gap between .NET Compact Framework v1.0 and v2.0. In some ways, we were surprised to see some of the features we have in the SDF in the feature list for .NET CF v2.0. In other ways, I for one wasn't surprised. I knew Microsoft had been listening to us. Over the next year or so, the SDF will evolve and include features that won't be available in .NET Compact Framework. The complimentary nature of both frameworks is some we consider with great importance.
CF: What do you miss the most in SDF currently? Could you please let us in on your list of "most wanted features"?
CT: Like most anyone who's used the Compact Framework, there's so much that I'd love to see. We're trying to fill the most obvious holes in the CF without doing too much that will become obsolete when version 2 of the CF is released. I'm currently working on a Pocket Excel library and toying with a database engine, but I'd really like to see more robust Bitmap and Threading classes.
NC: Phone API, TAPI, MAPI, COM Interop, Messaging (it's in the works), RAS, SOAP, WSE... I could go on. I'm very much into communication and interoperability. How about SDF in ROM? Now that would be nice!
CF: Yeah, now about that! When do you plan to release SDF?
CT: Current plans are for January 1, 2004.
NC: We're gathering a team of beta testers right now and will ship the bits in the next week or so. Show-stoppers pending, we hope to release on January 1. Is it a good start to the New Year, or a late Christmas present? You decide.
CF: Will SDF or parts of it ever be a commercial product?
CT: Depends on what you consider "commercial." Will it ever cost money to download, use or modify? No. We are dedicated to the free exchange of core knowledge. Will it ever be of a quality it can be used in commercial applications? Absolutely. I hope that version 1.0 will be sufficient, though I'm a realist and I know that there will be bugs.
NC: The answer is an emphatic no. Of course, we would love to do this full-time, but that requires funding we don't have. We're lucky in that our overheads are ridiculously small. This is because of the distributed nature of the OpenNETCF.org team and the fact that we work on this in our spare time. We incur costs that we can cover, so there's no reason for us to charge for our framework.
CF: Thanks for your time, and keep up the great work! We will keep up-to-date on what you are doing! Anything you would like to add?
CT: I'd like to say that even with the amazing collection of talent we have, OpenNETCF wouldn't be much without support and interaction from the development community. Bug reports, fixes and feature requests are all evaluated and appreciated.
We've now had over 20,000 binary and source downloads of our individual libraries, so I can only assume that the code is making it into some actual applications. If anyone has a working application that makes use of any OpenNETCF libraries, we'd love to hear about it.
NC: I love reading the all the emails of thanks we get from the community. This is our driving spirit to carry on doing what we do. So thank you for believing in OpenNETCF.org. Let us know what you want and what you think of the Smart Device Framework.
Related resources:
Discuss
Discuss this article.
Here you can write your comments and read comments of other developers.
|