Society said:
whiners
Society said:
marsomega said:I'm pretty much sold on this. While everyone has compelling arguments, I think the reason I'm still sold on this is because I've dealt with programming GUIs in C++ and the MFC classes. Also, the pitch I heard wasn't that it's all going to be in cool 3D, the pitch I was explained to first and sold on was that everything would be moving towards the 3D cards making the whole windows GUI Direct X and ditching out the old way of programming the GUI. The new Hardware 3D aspects of it are really just a bonus to working with something much easier and less confusing then Windows GUI.
"Avalon" is the code name for Microsoft's unified presentation subsystem for Windows. It consists of a display engine and a managed-code framework. "Avalon" unifies how Windows creates, displays, and manipulates documents, media, and user interfaces, which enables developers and designers to create visually-stunning, differentiated user experiences that improve customer connection.
* The "Avalon" Engine. The "Avalon" engine unifies the way developers and designers experience documents, media, and UI, providing a single runtime for browser-based experiences, forms-based applications, graphics, video, audio, and documents. "Avalon" is built on top of DirectX, which enables it to unleash the full power of the graphics hardware present in modern computers, and is engineered to exploit advances in hardware moving forward. For example, the "Avalon" vector-based rendering engine enables applications to scale to take advantage of high-dpi monitors without requiring extra work on the part of the developer or user. Similarly, when "Avalon" detects a video card that supports hardware acceleration, it takes advantage of it.
* The "Avalon" Framework. The "Avalon" framework delivers solutions for media, user interface design, and documents that go well beyond what developers have today. "Avalon" is designed for extensibility, enabling developers to create their own controls on top of the "Avalon" engine from scratch or by subclassing existing "Avalon" controls. Central to the "Avalon" framework are controls for shapes, documents, images, video, animation, 3D, and panels, in which to place controls and content. These primitives provide the building blocks for developing next generation user experiences.
* XAML. "Avalon" also introduces XAML, a markup language to declaratively represent user interface for Windows applications, improving the richness of the tools with which developers and designers can compose and repurpose UI. For Web developers, XAML provides a familiar UI description paradigm. XAML also enables the separation of UI design from the underlying code, enabling developers and designers to work more closely together.
For developers and designers, "Avalon" provides a unified UI platform, such that they can learn a single paradigm that provides limitless possibilities of UI experiences. For .NET developers, its framework will be familiar, and it will ultimately reduce the number of lines of code required to deliver optimal user experiences. For designers, "Avalon" offers a platform that eliminates boundaries between content, media, and applications. Most importantly, "Avalon" has been engineered so that developers and designers can work closely together synchronously to quickly deliver differentiated, connected experiences.
One of the most powerful aspects of Java that the only way it could be the same for Windows would be to rip the whole Win GUI system out.
I see WFG 1.0 as not a break through in how you use windows, it's more of a break through in how you design and program GUI's.
Open GL was the homebrew favorite as it's pretty easy to learn (once you get over trying to program a Windows "window" for it, bastardly difficult that most skip that part and just copy some generic window code.) Direct X on the other hand has evolved now where we have homebrew programmers making their 3D visuals (See Humus at beyond3D.)
What if you extended that to the windows GUI? In fact since DirectX is so more accessible then the Windows GUI (by the butt loads) why not just adds the option to bypass Windows GUI completely? Hell why not rip it out, bury it, and pretend it never happened.
Nerevar said:There is nothing more painful than developing a UI for Windows (or anything, really) in Java. Ugh, I hate swing.
koam said:so basically, longhorn is just going to be windows, but with 3d popups and adaware?
Phoenix said:The new paradigm for programming in Windows (Avalon) has more to do with what you're talking about and less to do with Aero which is what the 3D layer is. Yes its great that GDI is going away, its great that MFC is going away, its great that the Win32 API is going away, however those things are being replaced with a set of .Net'able APIs atop which Aero sits. If you're interested in writing code, you really should hit a WinHEC or at least visit msdn.microsoft.com often because I think you're a little bit confused by the different layers of the OS UI.
Phoenix said:Hopefully you're not referring to Swing. While Swing is an elegant API - intuitive it is not.
Phoenix said:Most people skip over it because it doesn't matter how you create. So long as you can get an HWND from a component - ANY component, you can render OpenGL in it. Creating Windows is one of the things you learn in the first 5 minutes of learing about the Win32 API or MFC![]()
Phoenix said:Not sure what you're trying to say here. There are far far far more machines in the world that run WIndows and can use the Win32 API or MFC than there are that can run DirectX.
marsomega said:Creating a window to display my 3D stuff with OpenGL was just painful. And trying to learn it was difficult, the way some of the things worked in the background etc.. Sure I learned what functions to call and what things need to be done, but to grasp of it was another story.
To say it's the first thing people learn in 5 minutes is just useless to say from a constructive stand point. It may reflect on you and thats all fine there are many plausible reasons why you learned in such a way. When you talk about people in general, sure, I can take something complicated tell you do this plus that and WOW, everyone knows this how to do this complicated what not in just 5 minutes. They may know the steps but do they really know what their doing?
Don't know, I not understanding at all what you meant with that comment. My first notion is you're just being jerk or elitist as they're everywhere apparently (computer science is full of them, just what I'm accustomed to when dealing with those jerks). But if your point is just that, and you're familiar with Java's approach why not compare and contrast instead?
<Text>
<Text.TextEffects>
<TextEffect CharacterIndex = "0" Count="1">
<TextEffect.Transform>
<TranslateTransform>
<TranslateTransform.Y>
<DoubleAnimation IsAdditive="True" Duration="10"
RepeatBehavior="Forever" From="-20" To="20"/>
</TranslateTransform.Y>
</TranslateTransform>
</TextEffect.Transform>
</TextEffect>
</Text.TextEffects>
Hello world
</Text>
Well I really stated that comment with the home brewer in mind. Like OpenGL, look at nehe.gamedev.net. Its basically the home of hundreds of kids at home on their PC dreaming of becoming a 3D programmer. I just transferred that interest over to DirectX as well. Now where are the home brewers dreaming of programming with the Windows GUI system? And most of them, not bold enough to say all of them, are slaughtered when they try to create the window to display their helloworld 3D OpenGL projects they created. That's if they even bother with it as now gamedev just gives you the window code.
I'm a computer engineer so you kind of have to work with me about certain things. My mind set right now is on the operating systems grad courses I'm doing. (Working on emulated R2000 MIPS processors emulating a dead OS we have bring back to life with C and C++. They lure you in saying it uses C++ so everything will be fine. But the damn processor doesn't support many of the damn libraries I was taught with. "Namespace, iostream, WTF(udge), they're not supported?")
marsomega said:
Phoenix said:I'll put it this way. Its the exact same approach you take when creating them with DirectX. All the APIs are looking for the window where they are to render. This is described in the HWND. Its the same in DirectX and OpenGL. There isn't any API difference there. You just need to create a window - ANY window and you can render right to it.
Phoenix said:<snip verbosity>
This will produce a nice animating Hello World. To achieve the same effect in Java would require Java2D, some Font classes, a Thread for animation, etc. So in many ways the Longhorn way is going to be a lot easier - if annoyingly full of goddamn XML tags all over the place.
Mozilla is a good preview of an XML driven UI(for better or worse). XAML is almost an XUL ripoff anyway.rastex said:I really hope there's a way to compile the XML into binary so that load times aren't ridiculous.
border said:So how is this going to fit into MS's business OSes? Are they just going to tell companies to stick with XP, or do they really think they can pull of telling everyone that they need to buy new videocards for every system in the office?
This text that you're reading right now, it's interpreted and rawn by the CPU. the only time the video card comes into the picture is just to send the completed desktop imge to the screen.
On the other hand, if you've got a grapics card taking care of your frontend, the CPU would receive the text, but instead of doing anything with it, it could shoot it straight to the graphics card, wich would render that text into a texture, and paste that texture on a flat polygon that would be the internet explorer window and then shoot it off to the screen without bothering the processor.