Miguel de Icaza Debates Avalon with an Avalon Designer 419
Karma Sucks writes "In an interesting debate with a Microsoft employee, Miguel points out some crucial flaws in Microsoft's Avalon strategy. Perhaps the most shocking revelation is the absolutely horrendous inheritence hierarchy exposed by the Avalon API. Miguel himself is clearly not amused, saying 'We do not want to waste our time with dead-end APIs as we are vastly under-resourced, so we must choose carefully.'"
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Re:As far as I understand... (Score:5, Informative)
1) Microsoft isn't porting anything to Linux.
2) Miguel doesn't work for Microsoft, and never has.
3) Miguel works for Ximian, a company he founded, and which is now owned by Novell.
Re:Joe Beda talks the talk.... (Score:5, Informative)
Btw, there is already a new graphic API, kind of a predecesor of Avalon, it's called GDI+. Notice that it is class based and supports ARGB format (like DirectX), but it can be used without having to do a bunch of DirectX setup calls. I am currently using GDI+ and it is much easier to use than the Win32 GDI functions.
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Um... say what?
Ok, to begin with Avalon doesn't support SVG, which is one of the things Miguel was blasting them for.
Secondly.. 2D rendering is not 'pixel based' today.
It's never been 'pixel based'. Windows has had device-independent 2D rendering since.. well, forever. (Windows Metafiles ring a bell?) So has just about everything else (Mac, Atari) too, (X doesn't, but the Unix platform tended to use PostScript for that stuff).
What is new here is the support of more advanced things like compositing (something you couldn't do device-independently before). OS X already has this of course in Quartz.
Re:As far as I understand... (Score:3, Informative)
He doesn't improve their ideas anyway, he debates with M$ employees on their ideas. Also, improving the ideas of the competition is a significant part of said competition. Competitors routinely improve on another company's products to steal their customers.
Nor has Novell *recently* announced any co-operation with Microsoft, as the two right now are essentially competing in the OS wars.
Re:Joe Beda talks the talk.... (Score:3, Informative)
The big benifit for at least game developers is that combining GUI with 3D graphics should be less of a pain in the butt.
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Except that Microsoft does not follow the SVG standard. So it's not SVG, it's just similar.
As for 2d rendering, it has always been pixel/bitmap fill based and not vector based.
Again, you are wrong. Although you seem to believe it, SVG isn't the first vector graphics format in existance. Not by a long shot. (PostScript is from 1984) Nor is Avalon the first device-independent 2D-graphics API.
Providing a ref to the SVG spec doesn't make it true.
Ok? Now, I've contributed fixes to Apache Batik, (an SVG library) and I've also written PostScript generators, and most recently I've contributed stuff to the Java2D library for libgcj. (another 2D library which is not 'pixel based')
I do believe I know something of vector graphics.
Re:Joe Beda talks the talk.... (Score:5, Informative)
Qt4 will also fill this gap - any QT widget can be drawn on top of an OpenGL canvas, and it will be OpenGL accelerated.
Re:look at those URLs... (Score:3, Informative)
Re:Joe Beda talks the talk.... (Score:3, Informative)
Re:Joe Beda talks the talk.... (Score:5, Informative)
http://slashdot.org/~miguel [slashdot.org]
Re:As far as I understand... (Score:2, Informative)
The fake Miguel de Icaza posts. (Score:5, Informative)
Just wanted to point out that the inflamatory
comments that are being made in my name are someone
else's idea of fun. Some guy decided to squatter
the login `Miguel de Icaza'.
Miguel.
Re:look at those URLs... (Score:5, Informative)
Re:Avalon is SVG based so its rendered in 3d (Score:1, Informative)
90% of anything the average user does daily is RASTER. Window decorations. Pictures. Buttons, all this shit is raster (meaning that the image displayed is stored pixel for pixel in some way shape or form) The only way vector graphics are used by the average computer user is in the form of fonts. Most fonts are vector fonts. Not all, but most. Maybe this will change. I doubt it will for a while, though.
#2) I wouldn't say that X11 dosen't have vector graphics, if I were you. X11 has a whole fucking slew of primitive objects, from squares to circles, elipses, and all that groovy stuff, by default. Yeah, maybe it dosen't have beziers, or cubics, or whatever. But loosely, it does have limited vector support. And many toolkits make use of it. (Motif, for example)
Re:Miquel de Icaza is a terrorist sympathizer... (Score:3, Informative)
From the site:
Q: What principles guide your work?
EI: EI is committed to communicating the realities of life on the ground for ordinary Palestinians and challenging myths and distortions about them in the commercial media through analysis and our own reporting. EI is independent of any political, factional, ethnic, or religious affiliation, and bases its view of the conflict on the foundation of universal human rights and international law. The Electronic Intifada condemns all attacks on civilians, regardless of the perpetrators, yet encourages people to examine the structural roots and dynamics of violence in the conflict and the imbalance of power that perpetuates these dynamics.
EI seems to be about the spread of information not violence.
Re:Hmmm... (Score:1, Informative)
It has microkernel features, but itself IS NOT A MICROKERNEL.
MS said it was a microkernel because microkernels were considured the future and people loved the idea, even though it has had severe technical limitations. But it was never a microkernel.
You have a similar situation with OS X's kernel design. Part of the kernel uses the Mach kernel (already obsolete years ago, btw) but combined it with aspects from the BSD kernel to create a dual natured thing.
NT and Linux are very different, to be sure, but both are monolythic kernels, irregardless of what MS has to say on the subject.
Re:Joe Beda talks the talk.... (Score:3, Informative)
They didn't realise this when they created the open source open office, and the original makers of open office contacted them on this issue and the compromise is to call the project "Open Office.org". And hence OO.org
Re:MFC (Score:3, Informative)
I think
Re:Hmmm... (Score:5, Informative)
NT design 101: On the bottom, there is the kernel, then the executive, which includes the object, configuration, process, VM, I/O managers, the security ref monitor (a runtime to create tokens, check ACLs) and the local procedure call provider. After that, device drivers. After that, everything is in user mode with one exception. Then there are the intrinsic subsystems: the session manager (the init process, aka smss), the local security authority (lsass), the security accounts manager (SAM), winlogon, and the service control manager. Then the environment subsystems, namely win32. The entire syscall interface is exported to user mode by the Nt* functions in ntdll.dll. Environment subsystems translate calls from their API into native calls. Win32's environment server is hosted in csrss.exe. With NT4, the meat of win32 was moved into kernel mode (win32k.sys) to reduce context switching overhead; win32 was not then and still isn't integrated into the kernel itself. The kernel doesn't care what environment subsystems are running. After that, you have the shell components; these all run in the security context of the logged on user (subsystem components run as SYSTEM). The shell includes Internet Explorer and the start menu. On top of that (usually) are applications.
Each layer only cares about the one immediately above and below it at most. To the kernel, Internet Explorer is just another user mode program. A hole in IE cannot escilate beyond the user's privledges in the process's security context. Your machine be hosed by a hole in IE if you are running it as Admin (just as a hole in Mozilla if it was running as root), but not if it is running as a normal user. You need to exploit a local vuln in the kernel first, just like any other OS.
Look at the entire syscall interface [sf.net] (the Nt* functions). Tell me which functions are "directly tied into the lowest levels of the operating system".
Re:Hmmm... (Score:3, Informative)
There are tools available, such as runas [microsoft.com], SUD [espci.fr], and psexec [sysinternals.com] that let you run only specific programs (usually those that need admin access for no reason) as admin.
Re:Avalon is SVG based so its rendered in 3d (Score:5, Informative)
Re:PDF like? (Score:3, Informative)
When I worked at NeXT and then Apple during the merger and a year afterwards, we had the big financial decisions to rip out Display Postscript which NeXT co-developed with Adobe on the basis that Adobe would not negotiate on terms regarding the licensing fees they charged to use Postscript.
So Engineering designed Quartz to utilize all the Postscript primitives ala PDF and since Adobe already opened up PDF the financial issues were resolved. The addition of compositing and all the fancy Quartz Extreme capabilities came from years of Window Server development at NeXT and Apple.
Hands down the most brilliant and accessible group of people to work with and learn from. If California wasn't so damn expensive I never would have left. I have not remotely been around such talent since leaving in mid 98.
Has anyone tried out Athene desktop (Score:3, Informative)
I have tried out Athene and it is very fast - they claim over 25% speed increase to X11.. This is a complete alternative to X11 but can also run X11 apps.. Try out the free version http://www.rocklyte.com/athene/ [rocklyte.com]. You can run games on the desktop using SDL.. they have a version of Doom and Quake available for download as well.
I was very impressed with both the desktop as well as the underlying technologies - the desktop is scripted using an XML-like language called DML..and the engine used is called Pandora.
The graphics driver technology is based on SNAP graphics from SciTech and seems very easy to manage.
My two primary gripes with the system were that the licensing seems a little restrictive.. and also, the package management software seemed very weak (if you are using the OS).
But other than that - a very polished desktop.. and underlying API. Most impressive.. Definitely the most innovative and cutting edge Linux desktop and distribution around.
Also wonder if there is a move to implement Windows Forms (for Mono) using the Pandora Engine SDK.
Re:Hmmm... (Score:5, Informative)
Yes it is. If you remove "all traces" of IE then presumably you are also removing things like wininet, urlmon, hhhelp and the other million and one components of the OS that are shipped and developed as part of IE and on which applications depend.
Believe me, you pull IE and all kinds of random stuff breaks. I've spent the last two years working on Wine and one thing it's taught me is that there is no way IE can be disentangled from the OS (unless you could deleting iexplore.exe, which achieves nothing). Too many programs expect it to be there and will break if it's not.
Re:.NET (Score:3, Informative)
However, I suspect that line of thought comes from a lack of understanding of how little Win32 really does
Re:Ease of use and elegence with GUI toolkits (Score:3, Informative)
Er, Windows Forms has layout management [microsoft.com].
It's not as powerful as e.g. Qt's [trolltech.com] but it's easy enough to handle from the form designer and simple enough to understand.
Rik
Re:Hmmm... (Score:3, Informative)
Display driver, not GUI subsystem (Score:3, Informative)
I knew it was a bad idea, and I'm sure that there are those at Microsoft (Dave Cutler, probably) who thought it was a bad idea too. But it's a tradeoff, and at the time the business risk was considered acceptable because they had a driver certification program, and they were going to make sure that drivers would behave themselves.
Chip H.
New reply (Score:3, Informative)
Re:same old same old (Score:3, Informative)
Yeah, except this isn't one of them. Look here [slashdot.org] for the real Miguel.
Re:Display driver, not GUI subsystem (Score:3, Informative)
This [microsoft.com] talks about the transition between the NT 3.51 userspace model and the NT 4 kernelspace model for GDI and the such.
Re:Hmmm... (Score:3, Informative)
Re:Ease of use and elegence with GUI toolkits (Score:3, Informative)
To sum up: in GTk+, a "layout manager" is just a widget with other widgets contained in it, while in Java a layout manager is a special construct separate from widgets which is assigned to any widget which is a generic container.
In practice, I generally prefer GTk's approach, but I see merits in both approaches.
IMG is a bad example (Score:3, Informative)
IMG was added for Mosaic in one of the first short-sighted decisions which led to the mess that was later called HTML 3.2. When submitted for peer-review (your so-called "proper channels") people suggested that maybe it would be better to make a more general embedding element and that it should be a container so that backward-compatible content could be included inside. The ALT, element, if you think about it, is useless for this because no previous browser knew to look there! Also, it can only support plain text, so more "rich" alternatives such as a link to another document or even just a few paragraphs of text are not an option.
Mosaic developer said "tough luck, I've already written it" and released it as it was. Since Mosaic was the biggest browser at the time people quickly sucked down this new IMG element and everyone was forced to co-operate.
To me, this sounds like exactly what Microsoft is doing. IMG was a quick hack with little forward planning just to get images into web pages as quickly as possible. Mosaic and then later Netscape continued this trend by adding poorly-considered features such as FONT, APPLET, EMBED and framesets which are now, thankfully, deprecated in current W3C specifications in favor of better thought-out and more general features. Sadly, W3C's versions have buggy support in most current browsers. (They haven't replaced frames, but I suspect that's because it was a pretty bad idea in the first place, so the best thing to do is just to avoid it.)