That is great and much appreciated. I enjoyed the postings a lot, exactly what I was hoping to get! Sorry if my previous messages sounded unfriendly, I thought a little shaking wouldn't hurt
Keep it up that way!
No offense taken, David. I've posted my own share of unfriendly messages to the Internet in the past, many of them far less polite than anything said here
Let me apologize for not getting to the forums sooner. It's all too easy to get caught up in the 'I don't have time for that, I have code to write!' loop and get stuck there forever. It's good to be reminded from time to time that there's far more to good
software development than lines of code and unit tests...
Well, a couple of us are here now. Does it really surprise you that Piero had to walk down the hall and yell, "Hey programmer goobers. Close Visual Studio for a second and, like, talk to your customers!"
You make a good point here David, one that we're well aware of inside Microsoft. Like any big company, sometimes you get a lot of people doing 'almost the same thing' in different ways. It's always very easy to just justify to yourself (and your team)
"but we have to do it ourself, because Foo just doesn't do what we need".
That said, there are some good reasons and some legacy reasons why you end up with different ways to accomplish similar tasks. Over time we should get these synchronized, but this isn't a simple problem. Our team is constantly talking to other teams working
in the same 'problem space' to see how we can 'split up the problem' and work better together. For instance, in the past few months we've met multiple times with the Groove, MSN Messenger, and Foldershare teams among others to talk about each of our technologies,
scenarios, and how we can work together.
Some duplicate technologies will be there for legacy reasons. For instance, you'll probably always have Windows File Sharing (a.k.a. SMB or CIFS sharing,
\\Computer\Share) around because this is what shipped in Windows for Workgroups so long ago and people use this all the time. That said, it doesn't work very well over the Internet, can't handle NATs and Firewalls, won't authenticate properly outside
a domain, etc. These legacy protocols tend to hang around a *long* time as they slowly go out of use. It's not too long ago that we finally stopped loading NetBIOS and IPX (network protocols that were commonly used before the Internet and TCP/IP took over
everything) in Windows.
We are actively working on collapsing the 'Internet File Sharing' technologies together. You see some of this in Max already such as using Passport to log in which is a choice we made to 'bring us closer' to how MSN Messenger does things. That said, Max is
built on top of WinFX and this gives us quite a bit more capability to create new features because it's so much easier to write code with Indigo (er, I mean the Windows Communications Foundation) than the tools that other teams are using. Because it's easier,
we're working on some pretty advanced scenarios that you won't see in other sharing products for some time to come. Even as we do this advanced scenario work though, we're also working with other teams to share more technologies where we're all solving the
same problems (like NAT/Firewall traversal, IP address registration, etc.)
Does that make sense? Give you a feeling about how (from our perspective) sometimes it's not so easy as 'we should just have one way to share'?
FYI, Max is properly 'localized' from a development perspective. We run fxcop to ensure all our string operations are done with localization in mind and we use resources to make the substitution of other language strings simple.
As we all know, this is just one step in the process though. We have to translate the strings & test on the different language OSes. This is where we ran short on resource and had to make choices.
You've made your point to the right place. While Piero may not write code for a living, he is one of the key people on the team when it comes to arguing for and changing the policy on whether we block installation on untested languages. Hopefully we'll do
better in the future.