Yes, You Can Get 1080P out of a Mac Mini

As I posted last night, I’ve hooked my new Intel Core Duo Mac Mini to a Vizio 42″ 1080P LCD.

If you read the specs at Apple, it says the Mac Mini, with 64MB DRAM driving it’s Intel GMA 950 video, can support a 1920×1200 based resolution on a monitor.  I assumed that this meant it could drive any 1080P display, which is 1920×1080.

It turns out, there are a few hurdles that could get in the way of succeeding in getting a Mac Mini to drive a 1080P TV display.  Some of the hurdles are simple, but one was quite tricky.

Here is the solution, for all those intrepid Mac warriors out there:

  1. Getting the Max Resolution on the Vizio.  The Vizio display says on the box it only supports 1366×768 for computer display.  This turns out to be the onboard limitation for their VGA port.  If you use a DVI to HDMI cable, you can drive the full 1920×1080 through the HDMI port.  I used a 10ft DVI to HDMI gold plated cable from Fry’s.  (Price $19.99)
  2. How to Get Sound on the Vizio.  I bought a cheap 3.5mm Mini Plug to RCA Red/White 6 inch cable (Price: $2.79).  I then used a standard 12ft Red/White RCA Audio cable to plug connect the Mini to the Vizio TV.  The second HDMI port on the Vizio is paired with an auxiliary set of RCA Red/White jacks, seemingly designed for this situation where your HDMI does not actually carry audio.
  3. How to Get 1080P, not 1080i, out of the Mac Mini.  This is the tough one.  When you go to the Displays control panel on the Mac Mini (Leopard, Mac OS X 10.5), you are given lots of video choices.  However, the maximum resolution says 1920×1080 (interlaced) at 60Hz.  What gives?   I’m not sure, but it seems like a bug.  The secret is to enable the checkbox that says “Show displays in menu bar”.  If you do then, a displays icon appears in the menu bar.  Click it to get a drop down menu of all display resolutions.  Interestingly, there are now two 1920×1080 options, which are labeled identically.  Choose the other one!  You’ll now be driving full 1080P (confirmed by the Vizio).

I’ve searched the web, and this issue is tricky enough that lots of people complain about the lack of the ability to drive 1080P from the Mac Mini.  Most of the debates seem to argue that it depends on the TV.  I don’t buy it.  I think the issue is a bug in the Mac OS display detection in DVI/HDMI scenarios that is somehow hiding the 1080P option.  Either that, or the Mac Mini for some reason thinks that 1080P is too much for it for some other reason, and the drop-down menu is missing that filter to remove it from the list.

I’m not going to spend time on the why.  The point is, if you are looking for the how, you just got it.

BTW Leopard is a huge improvement for applications like this.  The improved network browsing and FrontRow application are incredibly well-timed.   It’s going much better than I expected.

Our Newest Family Member: The Mac Mini

Tonight begins our newest experiment in home computing & entertainment integration.

Yes, I’m proud to welcome a Mac Mini to our household.  This is the first full-fledged computer that we’ve purchased for primarily an entertainment purpose.  While we’ve loved our 160GB AppleTV (and believe me, when your 2-year old makes AppleTV one of their first words, that’s love), the limitations on storage and software have been, well, limiting.

So thus begins the Mac Mini experiment.  Upgraded with a 500GB external USB 2.0 drive, this computer will be plugged into our new Vizio LCD, via HDMI, for full 1080P resolution.   Apple Remote, Wireless Keyboard, Wireless Mouse.  The new FrontRow 2.0 has everything we love about AppleTV, plus we’ll now have ample storage for ripping all of our DVDs to MP4.  In addition, now that Jacob is 3, we’ll be able to start using the machine as a computer as well, using it for kiddie software and educational games.  We can even use it as a DVD player in a pinch.

I’ll have to say, the Mac OS X Leopard start-up sequence for registration is just stunning at 42″ at 1080P, with full stereo sound.  Really awe-inspiring.

We’ll see how it goes.  I don’t know why, but even after setting up literally dozens of Macs in my life, setting a new one is still such a rush.   Literally, it’s like I drank a six-pack of sugar-free Red Bull or something.

Jeff Zucker, Meet Michael Eisner

At least, I believe Michael is the last big studio exec to piss Steve off.  Don’t worry, Jeff.  At least he got a  big paycheck on the way out.

From Valleywag:

NBC CEO Jeff Zucker puckers up to Steve Jobs’s posterior

“We’ve said all along that we admire Apple, that we want to be in business with Apple,” NBC Universal CEO Jeff Zucker said in the Financial Times this morning. Of course you have, Jeff. Except for maybe that time last fall when you told an audience at Syracuse University that “Apple has destroyed the music business … If we don’t take control on the video side, they’ll do the same [there].” What does Zucker’s pirouette mean?

Let’s hope Steve Jobs doesn’t hold a grudge… 🙂

Macworld 2008: Is the MacBook Air the 2008 G4 Cube?

Last week was a lot of fun for me because I got to make my annual pilgrimage to San Francisco for the annual Macworld show.  Unlike other Mac-faithful, I tend to shy away from the full force reality-distortion field.  Instead, I like to go on Friday, right as the show is wrapping up, for a quick two-hour walkthrough of the floor.  Usually the crowds are light, there are already clear “must see” booths highlighted online, and there is plenty of opportunity to actually talk to the vendors who have products you might be interested in.

Originally, I was planning to write a blog post about the MacBook Air, the obvious star of Macworld 2008.  Unfortunately, Crave beat me to it, and effectively wrote a post that summarizes at least 80% of my thoughts about it.

Crave:  The Macbook Air is the Cube 2.0

Here are a few quick, well-written snippets from the article:

When I saw the MacBook Air in person this week at Macworld Expo, I was having a hard time figuring out what about it seemed so familiar. Then I remembered. The G4 Cube. “Overpriced and underconfigured” were the words we used to describe it in our review in 2000, and many of the same complaints could be applied directly to the MacBook Air.

Where the Cube had no PCI slots or additional drive bays, no standard audio input or output jacks, and wouldn’t accept full-length graphics cards because of its diminutive size, the Air has no Ethernet port (!), no optical drive, no removable battery, and requires a micro-DVI connector for output to an external monitor. Both offer underwhelming technical specs–the G4’s hard drive was legendarily slow, while the Air’s 80GB drive is, hilariously, half the capacity of the largest iPod Classic. Even the price tag was the same: $1,799! And I think in the future, I’ll be able to update this post with one more important comparison: the Cube, although a stunning piece of industrial design, was a commercial flop, and I think the MacBook Air will be, too.

A little snarky, but this definitely reflects my immediate reaction.

When I saw the MacBook Air in person, I was actually a bit under-whelmed.  I think in order to appreciate it’s thinness, you have to see it next to other, fatter, MacBooks.  When you see 100 of them lined up together, it somehow devalues the uniqueness of it’s key design feature.  Actually, opened, they look a little rounded, almost reminiscent of the original iBooks, sans the day-glow colors.

I was almost convinced that this was a superior upgrade to the MacBook in every way.  It’s far more durable than it looks, and the new trackpad is incredibly fun to use.  I’m not going to miss the DVD drive, as I find that I rarely, if ever, use a DVD drive anymore.  I’ve ripped all my movies to MP4, and I usually install software over the network.  But the lack of an Ethernet port frightens me.  There are just too many hotels and locations where the wireless LAN isn’t really up-to-snuff.

Now that I’ve had some time to consider my reaction, I think the MacBook Air will do better than the G4 Cube did, largely because the feature set is much closer to what a real target market wants:

  • Primary machine for a traveling professional, with sophisticated home & work computing infrastructure
  • Second travel machine for someone with a desktop as their primary machine

I almost fit into both categories, so this is pretty close to what I need.  In fact, if it had an Ethernet port, I’d be ready to replace Carolyn’s MacBook immediately with one of these.

Apple has a tortured history, going back decades, with the fabled “third machine”.  Historically, Apple has always found success with a “consumer” line and a “professional” line, and every attempt to carve out a third line of machines has found swift failure.

I think the MacBook Air will do much better than the cube ever did, largely because the sub-notebook category has been historically small, but successful for other vendors.  I also think Apple is such a marquee  consumer brand now, they will pick up sales just for bragging rights, at least initially.  Here is a piece on Seeking Alpha that argues as much, defending the MacBook Air from detractors.

Still, no MacBook Air for me, at least, not yet.  Maybe someday.

Four Days on Mac OS X 10.5 Leopard and Counting…

We have two key machines in my household – my PowerMac G5 and Carolyn’s MacBook.  Last weekend, we upgraded to Mac OS X Leopard, and so far, so good.

I haven’t put Time Machine through it’s paces yet – I’m waiting for the update that will enable network-attached storage.

So far, the biggest delta has been the built-in applications.  The new iChat has miraculously cured whatever packet authentication issue had cropped up that prevented me from accepting video chats.  Mail is substantially improved, and although I’m not using it’s new RSS reader, I do like the new interface refinements.  I’m noticing that it’s a bit slow rendering HTML email compared to 10.4, however.  For all the uproar, the new dock is just fine by me, although I find the little glowing balls don’t say “active” to me the way that the old arrows did.

To some extent, I can feel that this is the first OS where the PPC support is no longer primary.  Carolyn’s MacBook feels snappier after the update, my G5 feels a bit slower.

It’s always amazing to me how hard it is, before the upgrade, to provide a rational reason for the upgrade.  Then, once you do it, it’s amazing how quickly all the machines with the older systems feel… dated.

I’ve been on Leopard almost a week, and now my MacBook Pro at work with Tiger on it feels… old.

Thank goodness IT has given it’s blessing to Leopard installs around the office.  🙂

My Mail.app Plugin, v0.1

Major milestone tonight.

Spent two hours after the boys went to bed.  Managed to get swizzling working.  I have now completed a Mail plug-in that when installed…

… drumroll, please …

logs out to console the name & email address of the sender of every email you view in Mail.app.

… let it sink in …

OK, it may not sound significant, but that was 1 of the 7 things I have to get working to have a demo of my new Mail plug-in up and running.  I now have a renewed burst of confidence that this plug-in will indeed get done.
Many thanks to Adam Tow, who responded to my previous blog post, sharing not only tips & sample code, but also a pointer to a regular, weekly coffee night for Cocoa developers in Campbell.  I had forgotten how supportive the Mac development community was… this event looks pretty neat.  Maybe when I get to the really tough stuff, I’ll go.

Mac OS X: Method Swizzling in Cocoa

It took me about 45 minutes, but I finally think I have this figured out:

Method Swizzling in Cocoa

Basically, it’s the missing piece you need to effectively “hijack” an existing function in an existing piece of Mac OS X software.

To do this, you follow a few key steps:

  1. You identify a method of an existing class in an existing piece of software that you want to hijack, let’s call it “foo”
  2. You then write your own implementation of that method in that class, let’s call it “myFoo”
  3. You do what ever you want in myFoo, but then you include a call to myFoo. It looks like infinite recursion, but it’s not.
  4. You do the MethodSwizzle trick, which basically tells the Objective-C runtime to replace all calls to “foo” with “myFoo”, and vice-versa.

End result, every existing call to “foo” now calls “myFoo”, and “myFoo” is no longer infinitely recursive because it’s call to “myFoo” now calls “foo”.

It turns out this type of trickery is essential if you want to write a plug-in for an existing application, like Apple Mail, where there is no pre-defined API, and you want to take over pre-existing actions and add some functionality to them.

My work on an Apple Mail plug-in is painfully slow, but I’m at least a little further along now.

Spykee Skype/iPhone/iPod Security Robot

It’s funny how your mind drifts to things like this when your birthday is coming up.

This guy can be controlled from your computer, and can pull sentry duty in front a doorway, relaying video and photos to you of intruders, etc.  Very funny.   There is also now a Spykee Miss, and a Spykee VoX.

Full story here.

2008: The Year Apple Becomes a Studio?

It’s the end of the year, and this is generally the time when journalists will put out sensationalist headlines about their predictions for the upcoming year, decade, millennium, etc.

Well, I’m not a journalist.  But I do have a blog.  So let me indulge here in at least one crazy projection that might actually make strategic sense.

Is 2008 the year that Apple decides to become a studio?

This might sound far-fetched.  After all, Apple is a technology company, not an entertainment company.  But I’ll argue that the same forces that pulled HBO into the innovative strategy of creating original content, now being emulated by every cable network from Showtime to FX, could also apply extremely well to Apple.

Let’s walk through this carefully.

First, can Apple move in the direction of producing original content? 

The answer here is clearly yes.  Apple now has the most important asset in entertainment – wide-spread, inexpensive distribution.  Apple has tens of millions of iTunes customers who have proven themselves more than willing to download content, even at a price.

Right now, roughly 2/3 of the cost of Apple’s service is actually royalty payments to the content providers.  If Apple produced their own content, those costs are replaced with actual production costs. HBO began their original content push with documentaries and short, 1/2 hour episodic comedies.

Apple currently has $16B in cash, and a market cap of $170B.  HBO put $30M into its 2-season run of Rome.  Apple could easily afford those budgets, and offset their costs with free distribution through iTunes.   The question is how much is a premium content brand worth?  The answer is billions, and Apple has the capital to invest against that opportunity.

Second, should Apple become a studio?

I’ll argue yes here, but with a number of caveats.

First, like HBO, they’ll have to walk a tight line between the need to license content from other major studios, and their own competitive efforts.  HBO managed to use original content to differentiate their offering, and Apple could do the same thing with iTunes.  HBO established itself as a premium brand and experience with their content and series, and Apple has similar brand elements.  HBO, however, had initial success with licensing movies from most studios before moving to original content – Apple right now is only tight with Disney.

Second, Apple has to be careful with pricing.  If their content is free, or cheaply priced, it might upset the difficult negotiations Apple continues to have around flat pricing on both the music and video sides.  You could argue that Apple would offer studios the same deal – cut your licensing fee and we’ll cut the price, but it’s a problematic area for Apple given their position on pricing.

Third, Apple has to watch out for their broad demographic.  HBO has a particular demographic – adult, high income, educated.  They used their platform (paid cable, commercial free) to produce content that better met the needs of that audience.  iTunes is completely mass market at this point, so it’s unclear what type of content Apple would build – maybe they would need multiple “studios” to address different markets.

Despite those caveats, the advantages of leveraging their lead with the iTunes distribution channel into a premium content play is extremely appealing, economically.  Just like in-house brands are economically too valuable to be ignored for a retailer, the huge fees paid to the content houses for video are extremely attractive when you own the distribution channel.

A quicker path for Apple would be to potentially buy HBO off of the ailing Time Warner, or possibly even NBC from GE.  That last option would have the added benefit of letting Steve relieve the current NBC executive staff of their current, difficult salaried positions.  🙂

Like the iPod/iTunes combination, unique Apple content that can only be accessed through iTunes could potentially boost the value of iTunes, and boost the potential success of the content by special access to the iTunes channel.

So, file this away in your bookmarks for crazy Apple predictions.  We’ll see what happens.

Blu-Ray vs. HD-DVD: The Microsoft Conspiracy Theory

This article was funny enough that I had to share.

Engadget: Michael Bay’s format war conspiracy theory: it’s a Microsoft fix

Here is a tidbit:

Responding to a commenter angry over Paramount’s decision to burn Optimus and friends onto HD DVD only, Bay claims to have the inside track on the “corporate politics” at play here, suggesting that “Microsoft wants both formats to fail so they can be heroes and make the world move to digital downloads.” He goes on to claim that Redmond has only been financially backing HD DVD over “superior Blu-ray” to create “confusion in the market” until such time as high def digital downloading goes prime time.

I love it. This is fun stuff, if you are into meaningless format wars.

Truth be told, Blu-Ray should be king of the hill by now. HD-DVD was almost knocking on death’s door based on studio support, with most studios either deciding to support both or just Blu-Ray. That would have killed HD-DVD quickly, since a typical consumer would have just said, “buy the Blu-Ray, and get access to all movies”. This is on top of the fact that Blu-Ray offers higher storage capacity, and had early support from PC manufacturers like Apple. (Yes, I know the Blu-Ray players cost more, but I assume that problem gets solved quickly)

HD-DVD managed to prevent this fate this year by paying literally a $150M spiff to Paramount and Dreamworks to make their movies HD-DVD only. That pulled Shrek & Transformers into the “must have HD-DVD camp”, and thus the war rages on.

I could have some sympathy, as a result, for Bay’s theory, except for the fact that if there is any subsidy war in this market, Sony takes the cake. They are subsidizing a Blu-Ray player into every single PS3, plus some free movies, in order to get the expensive player technology into the market. That may not be $150M spiff, but it’s actually far more dollars when you assume hundreds of dollars of losses over millions of PS3 boxes.

Microsoft could have done the same with HD-DVD in the Xbox 360, but they chose not to, and made it an add-on product.

In any case, you can put me in the Blu-Ray camp. The minute the spiff runs out, Paramount & Dreamworks will rush back to Blu-Ray, and PS3 growth in 2008 should start to move the right direction. People want to buy movies, and as HD becomes the standard, they will demand high def DVD products. I wish I could promise you that iTunes will have an HD TV & Movie solution in 2008, but I think the big studios are running neck & neck with the music companies in trying to fight their customers instead of giving them what they want. (Right, NBC?)

Update (12/5/2007):  Ugh.  Engadget has an article today quoting an analyst projecting no end to the format war.  Stalemate.  Some of the comments make a case for cheap HD-DVD players and dual-disc production in China turning the war in HD-DVD favor.  I hope not.

Intel demos USB 3.0 at 4.8 Gbps. Wow.

Not sure if this will play out in commercial production, but Intel demoed USB 3.0 at the Intel Developer Forum last week.

There is good coverage of the event and the specification here on CNET.

Intel is working fellow USB 3.0 Promoters Group members Microsoft, Hewlett-Packard, Texas Instruments, NEC and NXP Semiconductors to release the USB 3.0 specification in the first half of 2008, said Pat Gelsinger, general manager of Intel’s Digital Enterprise Group, in a speech here at the Intel Developer Forum.

In an interview after the speech, Gelsinger said there’s typically a one- to two-year lag between the release of the specification and the availability of the technology, so USB 3.0 products should likely arrive in 2009 or 2010. A prototype shown at the speech is working now, and USB 3.0 will have optical and copper connections “from day one,” he added.

The current USB 2.0 version has a top data-transfer rate of 480 megabits per second, so a tenfold increase would be 4.8 gigabits per second. Many devices don’t need that much capacity, but some can use more, including hard drives, flash card readers and optical drives such as DVD, Blu-ray and HD DVD. The fastest flash card readers today use IEEE 1394 “FireWire” connections that top out at 800 megabits per second.

In addition, USB 3.0 will offer greater energy efficiency, Gelsinger said. It will be backward compatible, so current USB 2.0 devices will be able to plug into USB 3.0 ports.

It took me a while to trust USB 2.0 for high speed peripherals like hard drives (versus IEEE 1394 Firewire), but my recent 500GB USB 2.0 external drives have converted me.  The key is to keep them on a dedicated bus, so that USB 1.x devices don’t slow them down.

At 4.8Gbps, I’ve got to wonder whether or not 10G Ethernet will be available in the home in 2 years.  If not, I could see actually preferring USB 3.0 to either eSATA or GigE for my multi-terabyte NAS.

We’ll see.  A lot can happen in 2+ years.

Getting Ready to Write an Apple Mail.app Plug-in for Mac OS X

Blowing some dust off the old compiler this weekend… after about 8 years, I’m actually getting ready to write some real client-side software again.  Just a personal project, for fun.

Nothing fancy, but I’ve decided to see if I can’t write some useful plug-ins for Mac OS X.  In particular, I’m going to see if I can’t improve:

  • Apple Address Book
  • Apple Mail

I tend to joke with friends that when I went to business school, part of the admissions process was officially “turning in” my compiler.  To show you how dated I am, the last serious Mac OS development I did was in Metrowerks Codewarrior.

Over my vacation in August, I went through Cocoa in a Nutshell from the O’Reilly series, just to refresh my memory.  Even when I was on the WebObjects team at Apple, I primarily wrote framework code in Java, not Objective-C, so basically I’ve got to come up to speed again on:

  • Objective-C
  • XCode 2.4
  • Five versions of Mac OS X (the version I worked on became 10.0)
  • Documented methods of extending Apple Address Book
  • Undocumented methods of extending Apple Mail

I managed this weekend to get a sample plug-in for Apple Address Book working.  This wasn’t a huge feat, really, since XCode includes a sample project for this as a default install, and it’s fairly trivial to customize the three Objective-C messages that define the functionality.

If you are looking for the documentation on extending Apple’s Mac OS X Address Book, check out:

Pretty basic really, although adding a contextual menu command for certain fields is hardly the best interface.  I’ve been playing with Plaxo Toolbar for Mac, and trying to figure out how they inserted their drawer into the GUI.

Creating plug-ins for Apple Mail is much trickier, because it’s completely not supported or documented.  Well, I shouldn’t say not supported… it’s not supported officially.  However, Apple Mail does implement a plug-in architecture, and with a few quick setting changes, you can install a wide range of third party plug-ins.

Here are some cool links if you are interested:

  • Demystifying Mail App Plugins.  This blog post covers some high level tips and source code, in Python, to write a quick Mail.app plugin.  Thanks to this post, I re-discovered class-dump, which lets you inspect the classes and methods for any Mac OS X application (very cool).
  • Mail Plugin Template 1.0. Aaron Harnly, you are my hero.  Aaron has posted an excellent XCode project template, with class-dump headers, for building your own Apple Mail plug-ins and installer scripts.  He even answered a simple project question for me over email.  Very cool.
  • CocoaDev.  This is a wiki site dedicated to Cocoa development.  Aaron’s code pointed me here, since it features “Method Swizzling”.  It’s a very sneaky feature of the Objective-C runtime, where you can effectively not only over-ride an method for an object you don’t own, but you can even replace the parent class method in applications that you don’t control!  Read this for specifics (very cool if you’re into programming).
  • Apple Mail Plug-Ins and Tools.  A whole directory site of Apple Mail plug-ins.
  • Apple Mail Plug-In Roundup.  This post on The Unofficial Apple Weblog covered a lot of cool Mail.app plugins.
  • Mail Act-On.  Very cool Mail.app plug-in that lets you map individual rules to keyboard commands.  My favorite Eudora feature, now on Mail.app

So far, I have an Apple Mail plug-in that compiles and loads correctly in Mail.app and logs data into the console.  But I’m going to put that in the “W” column for this weekend, given my incredible level of rust around the gears.

I’m going to be flying to Omaha this week to visit the LinkedIn customer service team… I’m going to try and use the flight time to get a little bit more working.

My biggest question now is how far can I go in terms of influencing the Mail.app UI.  I already know how to:

  • Create a plug-in
  • Insert menu commands and menus into the main application
  • Create my own preferences panel & preferences file
  • Create my own window

However, if I really want to integrate,  I need to figure out how to:

  • Add commands to existing contextual menus (I can’t find them in the NIB files anywhere)
  • Add views/panes to the existing windows (ala a toolbar)

I haven’t found sample code that does either of the above yet, but I’m still looking.

All in all, it’s fun to be compiling again.