Recently I had the opportunity to spend an hour of time with Dave Winer to talk about Visual Studio and the community integration we are working on. I didn't take really great structured notes but here are the fragments of the conversation I remember well. Dave can fill in if I mis-represent anything or missed something cool.
Dave has the same problem with Visual Studio that I've been told about since I was on the academic team... There is no learning curve, there is a learning cliff. We throw new users into an environment that is like a 747 cockpit when all a majority of users need/want is a reliable sedan... OK maybe a cool sports car that they can add on to and expand later on. I talked to him a bit about our Express Sku plans. I believe these will be great for people looking for that stripped down environment and cool starter kits, but I still think we need to address the learning curve problem in our higher end sku's as well.
This led into an interesting conversation about how you can tell most IDE's are written and designed by developers because of the unnecessary levels of complexity that you can often find. Sort of like die hard unix guys who just want complexity for job security and fear simplicity because it means they'll have to find something more creative to do with their time.
We talked about sharing community code snippets. I envision a site where there are code snippets attached to framework classes ala the www.pinvoke.net site. People could submit their own, consume them directly from the IDE via search or an RSS feed, and even modify existing ones for the better. Of course there would be the problem of moderating this resource and somehow we would have to help users determine good versus bad code. Dave personally wasn't to interested in this concept because he believed that it wouldn't really lead people towards generating elegant code that could be used to build platforms, but he saw it filling the need of a VB type developer who just needed examples to get work done.
This led to a fun discussion about elegant pieces of code. Those central pieces that are so good in a great platform that only a few people are really trustworthy enough to develop and maintain them and generally do a great job withstanding the test of time. This is often a common complaint about Visual Studio. We don't tend to lead people towards the development of "elegant" code because we focus so much attention on simply getting the job done. IMO, it could also be a reason why "hardcore" developers will often prefer another tool to Visual Studio. In reality, a tool is what you make of it, but it would be nice if we catered more towards the needs of the elegant coder to improve their satisfaction with our experience.
As mentioned above, I'd like to see developer blog sites capable of embedding code snippets (we store them in XML format for whidbey) into RSS feeds automatically. Then, Visual Studio could always have up to date code snippets from your favorite blog authors. Of course, you'll need a tool (why not just VS) to publish these special feeds, but if done right I think it would be really cool to "subscribe" to your favorite developer bloggers snippets feed. Dave saw this as a good use for RSS.
I'm not sure I could gauge his interest in other potentially "built-in" community features like having IM integration with VS. Like any other feature it might just be adding to the already complex set of menus and tool-windows unless there were some clear values provided to the consumer beyond just having their contact list visible while editing code. Besides, who wants to be bothered when you are on a roll writing good code?
We also talked about how blogging has taken off at Microsoft. I'm of the mind that it's a culture thing. It takes a bit of arrogance and feeling of self-importance/pride to have ones own blog. While newsgroups offer a community channel where everyone is equal... a blog is about the main post and the author first, then comments second. It's this sort of mentality that enables a movement like blogging to take off here. People here have a LOT of pride in their work and blogs provide a great opportunity for them to share their passion in a way it gets the right amount of attention. We both agreed that this was, so far, only leading to good things for Microsoft. I've been amazed at the growth rate of blogs.msdn.com. I just hope the culture keeps people interested for the long haul and it's not just the flavor of the month.
In the end I really enjoyed our conversation and look forward to meeting him again. I hope he could say the same and that I didn't come across as just some punk kid who wanted to stuff more buttons into the cockpit. 🙂