The early
votes are in, and it looks like people want to hear about anything besides my
sump pump...
What is the deal with the MSAvalon namespace? To start, this namespace will (obviously)
change. Generally we are never allowed to ship any product with any cool codename
or team name in the product, so we picked this name intentionally to make it easy
to remove later. Most likely MSAvalon will be renamed to "System" - the idea being
that the classes that constitute "Avalon" will be in the System.Windows namespace.
If you got one of the PDC namespace posters, you will notice that we actually used
System.Windows on that poster.
Why did we use a namespace that is easy to replace? Because we ran out of time.
Depending on who you read and talk to, you may have heard some of the story of the
Avalon team. I'm not talking about the Avalon umbrella term that we used at the PDC,
but rather the group of people that work directly on the team inside of Microsoft
called "Avalon". At the PDC we rolled up a bunch of teams under the term "Avalon"
as a way of talking about all the great client presentation technology that a lot
of teams are working on. A large portion of this work is being done directly on the
Avalon team, however we have determined long ago that 99% of the populate really could
care less about the organizational structure of Microsoft, so we decided to reuse
the name. Fun, right?
Avalon the team was formed almost 3 years ago. It was formed by merging almost 400
people from various teams working on client presentation technologies - some people
from Internet Explorer, some people from User32, GDI32, DirectX, WinForms, etc, etc,
etc... a lot of people with a wide variety of opinions. As the team gelled and worked
on the vision of a unified presentation platform for UI, Documents, and Media they
did a lot of experiments and writing of core fundamental code.
About 2 years ago, the Avalon team really started cooking. They had a shared vision
and were working hard on producing the large body of code to replace User32, GDI,
etc... They began to get some internal customers (a few) and start to actually look
at the developer expierence and really think about what people could do with all this
great technology.
About a year ago, we really noticed some fundamental problems in the design of some
of the components. We made a super hard decision to step back and do a rearchitecture
of some major portions of the system. We revisited the tree model that we had, the
way controls fit together, our styling system, binding, and more. The end result was
a new architecture that was a more holistic view of the entirity of Avalon.
Even with the PDC on the horizon, we made a tough call to begin coding on the rearchitecture,
with the goal being feature complete on the new design for the PDC. A lot of people,
from a lot of teams, put in a tremendous amount of effort to get this work done in
time. However, there were still components that were built on the old architecture
of Avalon, and we couldn't break them with only a few months left before PDC. We decided
to make the old architecture and new architecture Avalon bits run side by side - and
hence we needed a namespace for the new bits. MSAvalon was born.
Once we get the last of the internal customers that depend on the old architecture
bits moved over to the new architecture, we will retire the old namespace and eventually
remove the DLLs from the build. After that, we can do the monster namespace change
to move to the new namepsace.
It was really interesting some of the discussions that we had around this change.
There were really two camps inside of the team - one said that we should ship the
old architecture bits as they were more mature and had more features. The other camp
said that we should push as hard as we can to give the developers at the PDC a preview
of the design that we were moving forward with. There wasn't a perfect answer - the
old design would show more of the intent of what we wanted to accomplish, but the
new design would show more of our developer API.
In the end we decided to push forward with the new design - getting feedback from
developers about our new model was determined to be the top priority. We need to hear
if the explicit styling mechanism, element composition, data binding, logical tree
split, etc, are usable and in the right direction.
There was amazing effort put forth by so many people to make this happen it was mind
boggling. Taking a team of 400 people, and an even larger group of internal customers
and partners, and making a radical design change 8 months before a public release
was an amazing risk... I really hope you all feel that it was the right decision...
Please please please dont settle on System.Windows for the final namespace...
Personally I would vote for Microsoft.Avalon only because I believe the System.* namespace root should be reserved for Base Class Libraries inherent in the Framework... meaning that if you root your namespace as System.*, then I should be able to depend on that library in whatever OS / .NET Framework combo [in the future]...
I just want to start off and say that I feel that .NET is awesome. Your .NET guys definitely deserve some major credit for such a well thought out project, in spite of some of the .NET team's blogs sayings with minor "we screwed up here, but here's how we'll fix it"
Avalon is turning out to be another well thought out design, [I'm excited to see the step BACK to declarative presentation building instead of the current .Net winforms way of building code]
Now as for rooting your namespace as System.*, I dont feel this is a good idea because I'm seeing this trend too often by the groups at Microsoft to root their namespaces as System just because you guys are at Microsoft...
The Yukon team is contemplating System.Data.SqlServer, and I've STRONGLY suggested that is a bad idea too... Why? Because for the novice programmers out there, they might see some code written for Yukon but try to cut and paste it directly to ASP.Net... there's not much there to signify the fact that System.Data.SqlServer ISNT a "Framework level" assembly... Heck its got System.Data as its root... get my point?
I strongly feel that System.* namespace root should be reserved for the Base Class Libraries (System.IO, System.Text)
Incidentally I've made the same assertion to the ASP.Net team... Great product, poor namespace choice
Another thing, I dont want to appear cynical, because I'm just absolutely excited to see all the new bits coming out, I'll bet its been real exciting to work there at Microsoft over the last couple of years, and by some of the things that MSR gets to work on, I feel compelled to give kudos over there to you guys
What is MSAvalon?
The early votes are in, and it looks like people want to hear about anything besides my sump pump...
What is the deal with the MSAvalon namespace? To start, this namespace will (obviously) change. Generally we are never allowed to ship any product with any cool codename or team name in the product, so we picked this name intentionally to make it easy to remove later. Most likely MSAvalon will be renamed to "System" - the idea being that the classes that constitute "Avalon" will be in the System.Windows namespace. If you got one of the PDC namespace posters, you will notice that we actually used System.Windows on that poster.
Why did we use a namespace that is easy to replace? Because we ran out of time.
Depending on who you read and talk to, you may have heard some of the story of the Avalon team. I'm not talking about the Avalon umbrella term that we used at the PDC, but rather the group of people that work directly on the team inside of Microsoft called "Avalon". At the PDC we rolled up a bunch of teams under the term "Avalon" as a way of talking about all the great client presentation technology that a lot of teams are working on. A large portion of this work is being done directly on the Avalon team, however we have determined long ago that 99% of the populate really could care less about the organizational structure of Microsoft, so we decided to reuse the name. Fun, right?
Avalon the team was formed almost 3 years ago. It was formed by merging almost 400 people from various teams working on client presentation technologies - some people from Internet Explorer, some people from User32, GDI32, DirectX, WinForms, etc, etc, etc... a lot of people with a wide variety of opinions. As the team gelled and worked on the vision of a unified presentation platform for UI, Documents, and Media they did a lot of experiments and writing of core fundamental code.
About 2 years ago, the Avalon team really started cooking. They had a shared vision and were working hard on producing the large body of code to replace User32, GDI, etc... They began to get some internal customers (a few) and start to actually look at the developer expierence and really think about what people could do with all this great technology.
About a year ago, we really noticed some fundamental problems in the design of some of the components. We made a super hard decision to step back and do a rearchitecture of some major portions of the system. We revisited the tree model that we had, the way controls fit together, our styling system, binding, and more. The end result was a new architecture that was a more holistic view of the entirity of Avalon.
Even with the PDC on the horizon, we made a tough call to begin coding on the rearchitecture, with the goal being feature complete on the new design for the PDC. A lot of people, from a lot of teams, put in a tremendous amount of effort to get this work done in time. However, there were still components that were built on the old architecture of Avalon, and we couldn't break them with only a few months left before PDC. We decided to make the old architecture and new architecture Avalon bits run side by side - and hence we needed a namespace for the new bits. MSAvalon was born.
Once we get the last of the internal customers that depend on the old architecture bits moved over to the new architecture, we will retire the old namespace and eventually remove the DLLs from the build. After that, we can do the monster namespace change to move to the new namepsace.
It was really interesting some of the discussions that we had around this change. There were really two camps inside of the team - one said that we should ship the old architecture bits as they were more mature and had more features. The other camp said that we should push as hard as we can to give the developers at the PDC a preview of the design that we were moving forward with. There wasn't a perfect answer - the old design would show more of the intent of what we wanted to accomplish, but the new design would show more of our developer API.
In the end we decided to push forward with the new design - getting feedback from developers about our new model was determined to be the top priority. We need to hear if the explicit styling mechanism, element composition, data binding, logical tree split, etc, are usable and in the right direction.
There was amazing effort put forth by so many people to make this happen it was mind boggling. Taking a team of 400 people, and an even larger group of internal customers and partners, and making a radical design change 8 months before a public release was an amazing risk... I really hope you all feel that it was the right decision...
12:01 AM | #Longhorn
11/21/2003 12:43 AM
Right decision... but, just for curiosity, what are the main architectural difference betwee the two architectures?Marco Russo | http://blogs.devleap.com/marco.blog
11/21/2003 7:01 AM
Agree. I believe that the developer focus of all the presented products at the PDC is what made it such a success.John Morales | mailto:john AT zyxil DOT net | john AT zyxil DOT net
12/02/2003 7:06 AM
Please please please dont settle on System.Windows for the final namespace...Personally I would vote for Microsoft.Avalon only because I believe the System.* namespace root should be reserved for Base Class Libraries inherent in the Framework... meaning that if you root your namespace as System.*, then I should be able to depend on that library in whatever OS / .NET Framework combo [in the future]...
I just want to start off and say that I feel that .NET is awesome. Your .NET guys definitely deserve some major credit for such a well thought out project, in spite of some of the .NET team's blogs sayings with minor "we screwed up here, but here's how we'll fix it"
Avalon is turning out to be another well thought out design, [I'm excited to see the step BACK to declarative presentation building instead of the current .Net winforms way of building code]
Now as for rooting your namespace as System.*, I dont feel this is a good idea because I'm seeing this trend too often by the groups at Microsoft to root their namespaces as System just because you guys are at Microsoft...
The Yukon team is contemplating System.Data.SqlServer, and I've STRONGLY suggested that is a bad idea too... Why? Because for the novice programmers out there, they might see some code written for Yukon but try to cut and paste it directly to ASP.Net... there's not much there to signify the fact that System.Data.SqlServer ISNT a "Framework level" assembly... Heck its got System.Data as its root... get my point?
I strongly feel that System.* namespace root should be reserved for the Base Class Libraries (System.IO, System.Text)
Incidentally I've made the same assertion to the ASP.Net team... Great product, poor namespace choice
Eric Newton | mailto:ericnewton76AT NOSPAMhotmail dot com | ericnewton76AT NOSPAMhotmail dot com
12/02/2003 7:18 AM
Another thing, I dont want to appear cynical, because I'm just absolutely excited to see all the new bits coming out, I'll bet its been real exciting to work there at Microsoft over the last couple of years, and by some of the things that MSR gets to work on, I feel compelled to give kudos over there to you guysEric Newton | mailto:ericnewton76AT NOSPAMhotmail dot com | ericnewton76AT NOSPAMhotmail dot com
06/08/2004 8:06 PM
专利 商标 知识产权专利 商标 知识产权 | http://www.kangxin.com/ | linkAT NOSPAMkangxin dot com
06/09/2004 6:41 AM
读卡器读卡器 | http://www.longsuncard.com/chanp/gkduka.htm | linkAT NOSPAMlongsuncard dot com
06/09/2004 6:42 AM
考勤考勤 | http://www.longsuncard.com/chanp/kqin.htm | linkAT NOSPAMlongsuncard dot com
06/09/2004 6:42 AM
门禁门禁 | http://www.longsuncard.com/chanp/lsmenjin.htm | linkAT NOSPAMlongsuncard dot com
06/09/2004 6:42 AM
投影机 等离子显示器 大屏幕拼接 会议室工程投影机 等离子显示器 | http://www.glory-vision.com | linkAT NOSPAMglory-vision dot com
06/09/2004 6:59 PM
英语 英语培训 英语考试英语 | http://www.bjerwai.com/modules/peixun/english.htm | linkAT NOSPAMbjerwai dot com
06/10/2004 11:01 PM
视频编解码器 光纤收发器 视频光端机视频编解码器 光纤收发器 | http://www.gyhx.com | linkAT NOSPAMgyhx dot com
06/10/2004 11:13 PM
律师 法律咨询 律师事务所律师 法律咨询 | http://www.zt148.com | linkAT NOSPAMzt148 dot com
06/10/2004 11:14 PM
oa 网上办公 办公自动化oa 网上办公 办公自动化 | http://www.gotooa.com | linkAT NOSPAMgotooa dot com
06/14/2004 5:25 AM
实验室设备 防静电地板防静电地板 实验室设备 | http://www.anchuang.com.cn | linkAT NOSPAManchuang dot com dot cn
06/14/2004 8:29 AM
发电机发电机 | http://www.zgpt.cn/pro1.htm | linkAT NOSPAMzgpt dot cn
06/14/2004 10:32 PM
进口轴承 轴承进口轴承 | http://www.skf-baijia.com/products.htm | linkAT NOSPAMskf-baijia dot com
06/15/2004 2:18 AM
视频会议 电话会议 polycom 电话会议视频会议 电话会议 polycom 电话会议 | http://www.plcm.com.cn/defaultflash.asp | linkAT NOSPAMplcm dot com dot cn
06/15/2004 4:34 AM
商标 专利 专利代理 商标代理商标 专利 | http://www.bjkhp.com | linkAT NOSPAMbjkhp dot com
06/15/2004 5:44 AM
美容 整形 整容美容 整形 整容 | http://www.51zhengxing.net | linkAT NOSPAM51zhengxing dot net
06/15/2004 7:20 AM
会计会计 | http://www.cfeenet.com/Examzhichen/default.asp | linkAT NOSPAMcfeenet dot com
06/15/2004 7:46 PM
健身器材 跑步机 按摩椅健身器材 跑步机 按摩椅 | http://www.ruilong.com.cn | linkAT NOSPAMruilong dot com dot cn