Some interesting Longhorn and .NET articles for developers appeared on MSDN:“Introducing the New Avalon Graphics Model“: Introduces the new Avalon rendering and composition technology, and provides details about the new programming model that allows user interfaces to be defined declaratively. More info here and here.
“Drawing Rubber-Band Lines Using the .NET Framework“: Dr. GUI describes how to draw rubber-band lines using the .NET Framework. Related drawing article here.
“Coding Best Practices Using DateTime in the .NET Framework“: Writing programs that store, perform calculations, and serialize time values using the DateTime type in the Microsoft .NET Framework requires an awareness of the different issues associated with time representations available in Windows and .NET. This article focuses on key testing and development scenarios involving time and defines the best practice recommendations for writing programs that use the DateTime type in Microsoft .NET-based applications and assemblies.
“Indigo TV Show“: “Indigo” is the codename for a set of .NET technologies that enable applications to communicate with each other using secure, reliable, transacted messaging. In this episode of the .NET Show John Shewchuk discusses how “Indigo” applies to the architecture of the applications you are designing today, and how it will become a core component of the applications you are planning on developing for Longhorn. Steve Swartz then walks us through some code examples to illustrate the programming model for “Indigo”, and how easy it is to add support for its various features into your applications.
Interesting but Microsoft could find they are releasing features available on other platforms for a year or more when 2006 rolls around.
More interesting will be how they combine security with the clueless userbase. Will users just turn off the whole security model once they are prohibited from clicking on an attachment?
It would seem that Microsoft wants to get this out the door by early-mid 2005 or they will be in a catch-up cycle they won’t be able to close. I don’t see that happening though. This is a huge window (no pun intended) open for MS competitors. They basically have two years in which Microsoft will make no significant (I don’t count XP reloaded as significant) response to their moves in the market.
I have to give it to Microsoft. Even if you aren’t a fan on their operating systems, you have to at least acknowledge the msdn.microsoft.com site. This site has some really great articles on programming Windows.
I don’t quite understand the big advantage of using xml to specify a UI. The following xml is used to rotate some text, why can’t it be specified simpler using:
Canvas.Rotate (‘Hello’, 45) ?
I presume, and hope, that as developers we won’t have to write the xml by hand (it’s looks long winded and tedious), presumably it will all happen behind a decent rad tool?
<Canvas xmlns=”http://schemas.microsoft.com/2003/xaml/“>
<TransformDecorator>
<TransformDecorator.Transform>
<RotateTransform Angle=”45″/>
</TransformDecorator.Transform>
<Text>Hello!</Text>
</TransformDecorator>
</Canvas>
I don’t quite understand the big advantage of using xml to specify a UI. The following xml is used to rotate some text, why can’t it be specified simpler using:
Is it just me or is xml generally overused for simple things a lot of the time.
The following xml is used to rotate some text, why can’t it be specified simpler using:
Try to imagine LOTS more of XML code in the transform decorator, maybe you’ll understand it then.
You don’t have to use the XML. The XML just provides a mapping for declaritively initialising a whole tree of .Net Avalon objects. Everything you can do with XAML you can also do in any .Net language at run time.
its not quite as simple as:
Text tx = new Text(“Hello!”);
tx.Rotate(45);
its more like:
Canvas ca = new Canvas();
TransformDecorator td = new TransformDecorator();
RotataTransform rt = new RotateTransform(45);
td.Child = new Text(“Hello!”);
td.Transform = rt;
ca.Children.Add(td);
or something like that
It still looks complicated but thats because they are using the decorator design pattern for everything. Instead of the Text object having to implement all the possible transformations you can apply the transformation to the simple Text type by wrapping it in a TransformDecorator object. Avalon seems to have been designed to be very well factored and extensible.
One of the ideas of using the XML is to split the job of UI design between a programmer and a graphic designer. The designer can work with the XML notation which is conceptually similar to their experiance with HTML and the programmer can wire up event handlers for user interaction using a .Net language.
And yes, by the time Longhorn comes around there will be a WYSIWYG editor plus Xaml exports from the major vector graphics products.
With the right GPU, your machine should speed up. If you don’t want to upgrade your GPU, you can use the compatability mode and have the same graphics experience you do now.
Also, who says you can’t have the Windows classic theme while taking advantage of Avalon? There isn’t much point other than visual preference, but it’s doable as long as MS or a third party provides the theme.
My guess is that XAML is/will be related to SWG (or was is WVG ?) which in turn will be about 90% compatible with SVG.
The xml example does bare some resemblance to SVG IMHO.
So are these things going to work correctly with GDI? Will one be able to see a standard GDI32 app in the background of a transparent window?
“Also, who says you can’t have the Windows classic theme while taking advantage of Avalon?”
Microsoft actually. They claim that the old Win2k look and feel will be available only under the old GDI system. I’m looking for the link.
If this proves to be true, then 3rd parties (like Stardock) can provide a “retro” theme just as they provide other themes now. It just won’t be rendered the old way unless you’re in compatability mode. Also, to clarify, Avalon is just the Presentation Framework. The actual UI experience is Aero.
“I don’t quite understand the big advantage of using xml to specify a UI. The following xml is used to rotate some text, why can’t it be specified simpler using:”
Is it just me or is xml generally overused for simple things a lot of the time.
Well, it is all part of this webservices, application service providers, XML, SOAP buzzword feastival that happens at Redmond and other places. There is this assumption (in some cases true) that if they mention, “SOAP” and “XML”, you’ll have PHBs from every corner of the globe rushing to buy your software.
As for XML GUI, there are already a number of places where it is done, you have XUL from Mozilla, Glade from GNOME and KDevelop from KDE.
Microsoft … claim that the old Win2k look and feel will be available only under the old GDI system.
My world is fast coming to an end.
As for XML GUI, there are already a number of places where it is done, you have XUL from Mozilla, Glade from GNOME and KDevelop from KDE.
I don’t mean to take this on a tangent, but the XUL interface has always been my biggest gripe against Mozilla. I was bewildered why the hell they chose to do that. I just use native interface Gecko browsers.
Its interesting that they put so much work into developer support when 90% of the dominant software for Windows is produced by Microsoft itself (Adobe seeming to be the only significant holdout). They are as bad as Apple these days…they are the only ISV of merit for their own OS.
Microsoft … claim that the old Win2k look and feel will be available only under the old GDI system.
My world is fast coming to an end.
YOu ain’t kiddin’ .. that theme is the only one I could stand to use for more than a week.
The Watercolor theme is pretty nice too. Hopefully, the author will do a Longhorn port. Hell, I’d like to see a KDE port while he’s at it
Its not just you. I think XML is used too many places too. I like my configuration files to be Turing-complete
But XML isn’t a bad idea in this case. It makes it really easy to edit the UI without recompiling your application. That makes a whole host of things, from UI design to UI lockdown, much easier.
Delphi uses a separate file to specify the UI. Luckily one never has to mess with the file directly, the RAD environment takes care of it. The .net code that was given earlier seems overly complex. Since we can make pretty rich interfaces now (just look at games apps and some of the high end graphics apps) why is it necessary to make it more complex? If one adds complexity then the gains should be greater.
Vector based dynamic UI ? That’s equivalent to the kind of UI you have with Macromedia FLASH isn’t it ?
That sounds good…Think about it, a whole desktop looking as good as some Flash websites you find on the web…hmmm…
Mono is 2 years behind MS right now.
Subject:
RE: My (Initial) Two Cents
From:
“PenoChoi” <[email protected]>
Date:
Sat, 21 Feb 2004 07:56:16 -0800
Newsgroups:
microsoft.public.windows.developer.winfx.aero
As someone previously mentioned, the current GUI is just a placeholder. I know you guys can’t realize this now but try to take into consideration that you haven’t even seen a TENTH of what’s to unfurl with LH. I mean, not even the PDC demos are an accurate portrayal of what’s going on internally, and ultimately, what’s to ship. Let me put it to you this way:
When longhorn ships, if you’re not happy with the GUI or themes that come standard in it, you’ll be able to develop your own theme, or perhaps even develop your own shell replacement with the greatest of ease. The theming system will be totally revamped. Of course, it’s always in your best interested to stay within the terms stated in the EULA (i.e. no decompiling, disassembling, etc.). : ) To put it in another perspective for some of you, Longhorn is in the same stages as Whistler was around build 2211. There’s a WHOLE lot left to come folks.
At any rate, your opinions are always taken into consideration. The think to keep in mind here is that you haven’t seen a fraction of what Microsoft has planned for all of you. Did you take to heart when I said that Microsoft takes your opinions into consideration? Keep the comments coming everyone.
-PenoChoi