Wednesday, December 21, 2005

Why couldn't Windows rip off menu placement from Mac OS completely?

It's no secret that Windows "borrowed" the menu bar from the early Mac OS, but moved some stuff around so that it wasn't an identical layout to Mac OS, just like using someone else's term paper in college. There are two cases I want to mention where having an application menu, like under Mac OS X, and Windows not copying the Mac OS menu layout exactly is a usability disaster. On Windows, Tools -> Options makes no sense at all for user selectable settings for the application. Are they Options for Tools or the whole app? When Mac OS developers port their apps to Windows, some seem to refuse to relocate their former ApplicationMenu -> Preferences to Tools->Options and instead put it under Edit->Preferences. Come on people, if you want to get paid by the man and his minions, at least completely follow the crowd and don't further confuse the sheep by moving the prefrences/options window out from under Tools. Same thing with Help -> About on Windows. Why the f*#K would a user ever think to find out about the application under Help? On OS X, you retrieve information about the application under the application menu. Applications -> About Application. If you have been tracking Windows Vista, it looks like MS is giving up on consistancy entirely. Cruise Paul Thurrott's Vista December 2005 CTP (build 5270) excellent screenshot galleries: Gallery 1 Gallery 2 Gallery 3 Gallery 4 Gallery 5 Some applications, IE 7, have a menubar placed in a strange location, other applications don't have any menubar, and still others have menubars somewhat like current versions of Windows. Apple may have three different application window themes now (PinStripes, BrushedMetal, Platinum) but unless my memory fails me, all applications use the menubar at the top of the screen and the menu choice placement actually makes sense. Yes the web has taught us that users can understand many different types of application layouts. But good websites define a layout that works for the whole site and stick with it. All I want is for both MS and Apple to make their OSes internally consistant, but it seems like MS has quit and it makes me sad. I am holding out hope that Apple unifies all application display themes in OS X 10.5 so that you can pick and choose the skin you want and it affects all the display windows. Interestingly enough, it seems Windows Vista is going to offer this feature.

Launching Adobe Reader faster on Mac OS X or Windows

An article was posted on Macworld, Mac OS X Hints: Create a lean, mean Adobe Reader machine, which I immediately following to get Adobe Reader to launch as fast as a browser. Adobe Reader launch speed is one of those annoying things you might never really do anything about, but it probably affects you on a daily basis. To improve launch speeds on Windows, I couldn't find any information on how to do it manually, but luckily, someone has written a donationware utility Adobe Reader SpeedUp 1.34 that does what the Finder does in OS X. Adobe Reader 6.0.4 on Windows now launches in about 3 seconds, comparable to Adobe Reader 7.0.5 on OS X after the plug-ins the Macworld article suggested.

How does it work?

Adobe is not strickly necessary on OS X because of the built-in PDF, Preview, which works extremely well. Because Adobe Reader was so slow to load and a view other things, I prefer it to Adobe Reader. But occasionally, a PDF has been created in Adobe Acrobat that follows a new PDF version, so you need to the latest version of Adobe Reader. This happened once or twice, so I keep it around and having it launch as fast as possible is a huge bonus. Making Adobe Reader launch faster is done by disabling Plug-ins most users don't need. On OS X this was simple because it is built-in to the Finder's Get Info window (Apple-I) for the Adobe Reader application with a Plug-Ins section. On Windows with Adobe Reader 6.0.4, from within the application I can't manage plug-ins at all, and Windows has no concept of application Plug-Ins that show up in the Properties window. If you look at the folder structure of Adobe Reader, there is a plug-ins folder that has the same naming of Plug-Ins as I did see in the Finder Get Info window. So perhaps you can just remove the Plug-Ins from the plug_ins folder on Windows (this could be what's happening in OS X as well, just the whole Bundle abstraction for application contents hides this away, I didn't look at the Bundle contents because disabling plug-ins just worked). The Adobe Reader SpeedUp 1.34 utility on Windows moves all but 5 Plug-Ins to from the ReaderInstallDirectory\plug_ins to ReaderInstallDirectory\optional. I don't know if it tweaks any application settings, I am not that interested in firing up Filemon and Regmon from to figure this out. The utlity release notes say that Adobe Reader will load all Plug-Ins in the optional folder on demand, which seems like how Adobe Reader should be configured to begin with anyway! Adobe, hello, get a clue that the fast majority of user's don't need the eBook Plug-In launching by default along with the 37 OTHERS I counted in the optional folder. I have to check OS X to see if the Plug-Ins manager in the Finder does the same thing. My guess is that is does, since it looks like the reader is developed on OS X and ported to Windows. The tell-tale sign is usually the Edit -> Preferences to get to user options instead of Tools -> Options.

Tuesday, December 20, 2005

Madden 2006 PSP Final Solution to Franchise Mode bugs

EA posted on 12/19/2005 the Long Term PSP Solution to the Franchise Mode bugs in Madden 2006 PSP. They are going to replace the existing discs for free and give you some coupons to spend more money with EA through their online store. LOL. I will be surely be sending the current version of Madden back for the new bits, once my Franchise hit the playoffs and the previous work around for the franchise mode stops working, I just got tired of the crashes and gave up after I "won" the Super Bowl. The saddest thing about this whole experience is that my NY Football Giants might be out of the playoffs before I get the game back from EA (see the details of the long term fix for the timeline). I wonder if I send in the game am I implicitely letting EA off the hook for liability if they ever got slappd with a lawsuit for these shenanigans. Oh well, at least I can ebay Madden 2006 PSP SP1 and advertise it like that...oh, and it took EA 2 months from the last official update to get a new build out and post the final solution in their forums. LAME.

Monday, December 19, 2005

Microsoft Denies Changes in Vista Graphics

Mary Jo Foley says that Microsoft Denies Changes in Vista Graphics. My last post was in response to the TechWorld article that spawned the Mary Jo Microsoft "report". I never read the article as if MS was changing Vista suddenly to pull the graphics subsystem out of the kernel. Instead I read it as if they ALREADY had to improve stability compared to Windows XP, that it was designed that way to begin with. I wonder how many people read it like I did vs. how many MS thinks read it like? Microsoft reponse channeled through Mary Jo says the TechWorld report is wrong, but the MS response is a bit misleading. I think it goes out of its way to suggest that more is business as usually in Vista with regards to graphics as compared to XP than is in motion. The Windows Longhorn Display Driver Model - Details and Requirements PowerPoint I linked to off of Microsoft's site makes it pretty clear that there is significant change to DirectX and the driver model in Vista when compared to XP. DirectX 10 is the native version in Vista and requires new hardware, so I think this should be read as for the "advanced mode" cards I blogged about in my last post. Those DX10 APIs are not backward compatible with any previous version of DirectX. Previous versions of DirectX are "implemented" on Vista. Here is a nice summary post with links to the info that came out of PDC05. Download the slide decks that this article is linked to. These decks where used during the PDC and re-iterate much of the information in the slide deck I linked to above, but with some interesting new details. The Vista Desktop will use Direct3D from DirectX9! This is on slide 16 in the PRS311_Balaz.ppt deck. So this is the "existing DirectX APIs", but its really Direc3D from DirectX9 Extension. This is what "implemented" means because they took the DX9 stack and it runs side by side with the DX10 stack, but they made D3D9 work with the new driver model, with the division of driver labor in user mode and kernel mode. What's really interesting is that MS thinks this is serious enough to issue a press release through Mary Jo. Graphics in Vista are not business as usual compared to XP, and this is what got a lot of people excited on Thursday, including yours truly. The level of change compared to XP and the way Vista has been designed to work has escaped a lot of people's attention, and I think once people started to realize this, they are either scared of MS getting this right (check) or scared what it means to there existing hardware and games. I have been saying since the PDC03 that Longhorn was going to be so huge a change you are going to want new hardware to support it, and this information only reinforces that view.

Thursday, December 15, 2005

Microsoft removes the graphics subsystem from kernel in Windows Vista and the relationship to OS X Tigers Quartz 2D Extreme has linked to a story on that states Microsoft is going to remove the graphics subsystem from the Windows kernel and move it back into user mode according to Microsoft infrastructure architect Giovanni Marchetti. I guess I must have missed this news, but it's huge. Here are some links I got from Google: Vista graphics drivers to be more stable than XP drivers, ATI says - This article actually speaks to the driver model going to user mode Graphics Hardware and Drivers for Windows Vista - Really no insight, but this is the top hit for Longhorn Display Driver Model. Windows Longhorn Display Driver Model - Details and Requirements - PowerPoint - Look at slides 7 and 8 for the comparison between XP and Vista. This has a lot of information about exactly what MS is trying to achieve and what the benefits are. Don't get confused though, this isn't a reversal of moving the graphics subsystem into the kernel in Windows NT 4.0. That was done, if I remember correctly, to increase performance of GDI over Windows NT 3.51 since the number of context switches to get graphics work done was so costly that running heavy video apps or games was not practical. This is the now infamous move of Win32K.sys. Windows XP maintained this model, offloading a bit of work through GDI+ to the graphics card, but this was just a band-aid, GDI was showing its age and doesn't work modern graphics hardware and the way applications are being used. Don't misunderstand, I am not a kernel engineer, but the trial and tribulations of this architecture have always been interesting to me. I also have read all the Windows Internals books, nee Inside Windows NT in the Helen Custer days, except the latest. Here is the book on Amazon to that (thanks Mark R. again). Vista doesn't revert to the previous NT 3.51 style model. The graphics subsystem in Vista is a complete brand new. Look at slide 9 in the PPT file, GDI commands are now rendered in SOFTWARE. The Vista graphics subsystem attempts to treat the GPU and video memory just as it treats the CPU and RAM. Multiple applications can access the GPU simultaneously and video memory is virtualized just as RAM is. These functions are contained in the kernel and called by DXGkrnl. DXGkrnl still calls a IHV piece of code, but the way I read this the footprint is significantly reduced and IHV code is less likely to be a cause for hangs. Most of the IHV work is done by the UMD, and I think that means user mode driver. Take a look at slides 18-20 Here is why you should wait until Vista and probably 2nd generation video cards are out to support the OS. Until the hardware is built for it, GPU scheduling is done in software instead of hardware. That means slow and will hit the CPU. In this slide deck, you really want hardware that supports the "Advanced" model. The article states this brings Windows up to par in terms of graphics subsystems with Mac OS X and Linux. Ars Technica has a very good explanation of the OS X graphics subsystem, called Quartz, in 3 pages of information created when Mac OS X 10.4 Tiger was launched in April: Mac OS X 10.4 Tiger - Quartz Mac OS X 10.4 Tiger - Quartz 2D Extreme Mac OS X 10.4 Tiger - QuickTime 7 Apple's Mac OS X Quartz Feature The only problem with moving all the work onto the GPU in Tiger with Quartz 2D Extreme is that it's disabled. The code is in there, but it's not turned on. Reasons for this have never been explained, the only information that has come out is in the About 10.4.3 Software Update, which states: Disables Quartz 2D Extreme—Quartz 2D Extreme is not a supported feature in Tiger, and re-enabling it may lead to video redraw issues or kernel panics. So I think the graphics subsystem in Vista is going to surpass the capabilities in Tiger, at least until a post 10.4.3 software update either enables Quartz 2D Extreme or OS X 10.5 comes out. The strange thing is you can still enable Quartz 2D Extreme, but I thin the 10.4.3 update note is to discourage those on the bleeding edge that they are doing A Bad Thing(tm). I would love to know what problems where encountered that Apple decided to disable the functionality in Tiger. One of the things I am wondering about is the Vista "Advanced" mode video cards. Is Apple going to use these? If so, are they going to change OS X to utilize the hardware based scheduling features? Even though Apple has been using hardware accelerated compositing and VRAM virtualization in OS X for years now, is Apple going to have to change their implemenatation to get closer to the way Vista is handling graphics operations to use the new video cards? What is the patent situation with the capabilities of these new cards? Is MS licensing these patents to ATI and Nvidia? Are Nvidia and ATI effectively just manufacturing cards for MS to spec? MS and Apple cross license patents, I wonder if MS is using any Apple patents to do the Vista graphics subsystem, or vice-versa if Apple is using MS patents for Quartz. Games on Mac OS X perform slower on similar GPU hardware than games running on Windows XP, see World of WarCraft as an example. I wonder how game performance will be now that the entire UI and all applications are sharing the GPU as a virtualized resource. Do games perform on Vista on par with OS X, are they as fast as XP, faster than XP? I haven't really seen anyone talk about this yet, even the XP to Vista comparison. Does MS have a special "games-mode" hack in the graphics subsystem to make it all work faster? The Vista 1.0 graphics subsystem scares me from a backward compatability and Vista native app stability perspective. My money's on at least 2 Service Packs before the Vista graphics subsystem is solid. Of course I could be wrong and Vista is taking so long to get it right, but MS has done nothing to prove it won't take 3 versions to get this right. I don't think MS has been very forthcoming about the "advanced" model video cards, perhaps to prevent an Osbourne effect for this holiday season on PCs or graphics card upgrades. Just a theory, but I am glad I am not in the market for either upgrade until the "advanced" approved video cards are out.

Monday, December 12, 2005

Yet Another Way to Subvert Windows Security

Once again Mark Russinovich of has dove deeply into Windows internals and found something disturbing. Certain Group Policy settings can be circumvented by Limited Users. Go read Mark's article, I'll wait. Back? I was designing AD forests on Windows 2000 back in my sys admin days, always thought Group Policies were one of those killer features for admins. Deploy settings to whole batches of machines, lock down users to what apps they could run, and how they could run them. Frankly, I am surprised that it has taken nearly 6 years since Active Directory and Group Policies were publicly released for the Software Restriction Policies (SRP) to get cracked. This always seemed like a juicy target. There probably isn't a lot of immediate exposure to corporate networks. As with most digital protection mechanisms, the bar doesn't have to be to high to stop the normal user. But there will be those intermediate to advanced users that have been restricted using application blacklists instead of whitelist that will want to subvert the SRP blacklist through a proxy application. If any media that normal users might read, PC Magazine comes to mind, start to pick up on this, it may be a big deal. Of course, this all depends on how many corporations are using SRP. When I was deploying AD back in the day, I only betaed SRP, never implemented, nobody wanted to do ongoing management of it, no one wanted to become the application police.