Life, Technology, and Meteorology

Category: Macintosh (Page 2 of 6)

Signs that Apple is Becoming a Big Evil Corporation

Over the past few years it seems that Apple is slowly selling its soul. It’s a bit unsettling, as many people look to Apple as an example of a virtuous company. That’s how it started anyway, just two guys in a garage designing cool computers. Now it seems with every record quarter, new kick-ass product, and innovation made in media, Apple sells itself out. Before I continue down this road, let me make it perfectly clear that I still think Apple has it’s virtues. Apple products are top-notch, and I’m happy the Mac market share is expanding at the rate it is, simply because more Mac users means more potential Seasonality users. The Mac platform is a good place to be right now. So before you send me that hate mail, just remember that I’m telling it as I see it, and this is how I’m seeing it.

What does it mean to become a big, evil corporation? To me a big, evil corporation is one that is driven completely by profits, does not care what it sells, just that consumers buy it, and doesn’t care what it does to produce the products it sells. Actually, it pretty much is against everything that Apple stands for: free ideas, thinking different, and building tools that innovate to help you innovate. Imagine a bright, shiny, chrome shield of virtue; Apple’s coat of arms if you will. Here are a few things I’ve noticed keeping that shield from being shiny and new.

The iTMS

I spent some time thinking back to where it all started, and the best turning point I could think of was the introduction of the iTunes Music Store. I still remember the day this store opened. I remember downloading a fresh version of iTunes, and checking out the hip store that was so easy to shop at. 1-click shopping to purchase any of thousands of songs. Sure there was DRM, but there had to be or else none of the music companies would go for it. “Apple did good though! Only $0.99 a song, and you can play it on 5 devices, AND burn it to a CD!” DRM was certainly a bullet Apple had to bite, otherwise the iTMS would never exist as it does today. However, Apple as a corporation is about free thinking, selling products that you can use for endless innovation. DRM is most certainly against those ideals, being practically invented for the music and movie industries, which are the epitomes of big, evil business… Chink.

.Mac

Remember when .Mac came out and they weren’t charging for it? “Really, it was free?” Yep. Does it make sense for this service to be free today? Maybe not. There are certainly a lot of people who take advantage of .Mac, and someone has to pay for all that bandwidth and server hardware. It’s not really Apple’s responsibility to provide such a service for no cost to all Mac OS X users. So what’s my dig with .Mac? What I don’t like about it is how many features in Mac OS X and iLife especially are completely crippled for users who don’t subscribe. Why can’t I use any online-accessible directory as an export location for iWeb or iPhoto galleries? To add insult to injury, Apple really puts pressure on developers to make use of .Mac in their software applications. Really then, it’s developers who sell .Mac for Apple. Want to sync X, Y, and Z apps with each other? Sorry you can’t do that unless you have a .Mac account…

The fact of the matter is, I wouldn’t even mind paying for .Mac if it was competitive in the hosting industry. For $100/year, you’re getting a paltry amount of online disk space (this was made somewhat better recently), a couple of email accounts, and some web space with a small helping of bandwidth. Compare to Google, who gives away disk space, email, and shared documents for free. .Mac is just another hook Apple uses to get more recurring money from customers, instead of being a solid innovation in the online sharing community like it should be. Sounds big evil corporationy to me… Chink.

“Because of Accounting…”

It seems we are seeing these paid hardware unlocks from Apple much more frequently. First, last year with MacBook Pros and 802.11n, and now with the recent iPod touch update. It’s blamed on some accounting rules, but really, since when can a company not decide to give something away for free? Why can only products sold on a subscription basis be given free feature updates? Is Leopard a subscription-based product? In the case of the MacBook Pro, the network card was already there, but you had to pay an extra $2 to use it at that speed. Why? Why can’t the users who bought those machines just find out their laptops are even more awesome than before? $2 is a pain in the butt. Katrina has one of these laptops, and we just never paid: not because of the money or the principle of the thing (the latter of which is certainly a valid reason to avoid a product for us), but because it was just another line-item on our todo list that gets lost below all the other important stuff.

Now the big rage is this iPod touch update. 5 new apps for the iPod touch, only $20…what a deal!</sarcasm> Actually, it is a deal. Those 5 apps make the iPod touch twice as useful as it was before, useful enough that I bought one yesterday to replace my Dell PDA. Now I’m in the software industry, so I understand that paid updates are important. You can’t just give away free updates forever, because you have to pay for that continued development. Furthermore, when current iPod touch users purchased their devices, they paid for the current features, so it was worth it to them at the time. If the iPod touch didn’t fit your needs before, then why’d you buy it to begin with?

On the other hand, these 5 applications have been on the iPhone for quite some time. They aren’t really new developments (though there are some new features in each of the apps), and the touch only came out back in September. If someone just bought a product from you less than 6 months ago, you shouldn’t be sticking them with an upgrade fee. Apple screwed up by crippling the iPod touch from the start “to protect iPhone sales,” they should be biting the bullet. It’s just a collection of bits anyway, nothing physical that would actually cost Apple money to offer.

Admittedly, this brings up a tricky topic: upgrade fees. Now since I just bought an iPod touch, if Apple decides a year from now to release and charge for a big software update, how will I feel? Actually, that would be completely fine by me. In fact, I’d be happy if they were still upgrading the software on my device after a year. So where do you draw the line? Somewhere between 5 and 12 months I think. Seriously though, Apple here is releasing software version 1.1.3… This is a point release, what most of the industry would consider a bug-fix. To charge for a point release is absurd, so at the very least, the iPhone/iPod touch development team needs to get their version numbering in check.

Upgrade fees are a fact of life, but these few select examples rub me the wrong way. I’ll be the first in line to buy a new version of OS X every year, but even noting that Apple has to point the finger at “accounting” is kind of a clue the company is going evil. Chink.

iPhone nonSDK

Just over a year ago, Apple dropped the bombshell that it’s new iPod phone would be running a “stripped down version of OS X.” I couldn’t believe it… I thought OS X was just too big for an embedded device, and I’m glad I was proven wrong. That means developing for the iPhone wouldn’t be much different than developing for the Mac. Awesome. Until developers asked Apple how we could go about writing software for the iPhone. Their answer: web apps… Great.

Now to give Apple credit, an SDK is expected sometime next month, and I’m anxiously awaiting such an SDK, but they didn’t get it right from the start. The iPhone is an iPod, but it’s a lot more than that…it’s a mobile device, and developers expect to be able to write software for mobile devices. Actually, development of new software for mobile devices really drives the platforms forward. Not having this is a slap in the face, almost as big as DRM. I’m just hoping they get it right the second time around. It would be a shame if they place too many restrictions or force developers to get “approval” to write apps for the platform. The verdict is still out on this one, but it still strikes me as a big evil company lock-out. Chink (but you might be able to buff this one out).

Time Capsule

To wrap up my argument, I present the new Time Capsule announcement. If you’re unfamiliar, Time Capsule is basically a networked attached Mac hard drive, a NAS. Apple is marketing it as a Time Machine backup device, a hard drive any of the Macs on your network can use to backup files to. It’s certainly a product that Apple should produce, and it really seems like something they could do a nice job with. So what’s the problem?

For this one, you need a little bit of background. You see, when Time Machine was originally announced at WWDC 2006 (!), Apple claimed that backing up over a network would be supported. To me, this was it. I like running servers, and setting a Time Machine server sounded like a nice idea to me. Even better, last year the NAS market took off, and I ended up purchasing a 1TB NAS from Micronet, expecting to have no problem backing up over Samba, NFS, or whatever other network protocol Mac OS X supported (webdav?). Fast-forward to October 2007 when Leopard was released, and what do we get? You can backup over the network to a Mac running OS X Leopard Server, and that’s it.

So now you have all these NAS devices on the market, and none of them work with Time Machine, without the use of an unsupported hack. Supposedly, Time Machine requires backup to an HFS+ formatted device for it’s hard-link support. Well, my NAS is formatted ext3, which also supports hard-links. And why can’t Time Machine fall back to using a device without hard-link support and just take more disk space by writing more than one copy of the files? Or perhaps it would even be useful for users to have just a single backup copy of their files to a device that doesn’t fully support incremental backups with hard-links. It begs the question, was Time Machine built to truly bring backup to Mac OS X users at large, or was it designed into OS X to sell the upcoming Time Capsules? Chink.

Of the Coat of Arms

So our new Apple coat of arms is a little more battered than when it started. These are definitely areas that need improvement. Am I optimistic we’ll see these issues resolved? I try to be, but when the frequency of these events is increasing, it’s difficult to look at it with a positive note. Maybe it doesn’t matter… Apple still designs a lot of cool products, maybe that’s enough. This is true to some extent, as long as Apple continues to sell it’s products, it will continue to survive as a corporation, and we’ll still be Mac users. The drawback I think comes to customer loyalty. Apple is known as one of the strongest brands worldwide, simply because of their customer loyalty. Practices such as the above that step on their customers are sure to lessen their brand loyalty though. I won’t purchase or design products that use .Mac simply because I see it as a way Apple locks users into that service. I had no interest in purchasing the iPhone/iPod touch until it was announced I could write apps for it, and the verdict of whether that was a waste of my money is still out on that one. Steve Jobs noted 2007 as a great year in Apple history (indeed), and how much has happened in 2008 already. I sincerely hope I don’t have any more chinks to add to this list next January…

Indie Marketing @ Macworld

Macworld Expo San Francisco is one of the largest, if not the largest, Mac user event of the year. For an indie Mac developer, if there is one conference (other than WWDC) that should be attended, this is it. So why haven’t I attended in previous years? I asked myself that same question last year after hearing about all the indie get-togethers and bar nights.

The Good Ol’ Days

The last time I attended Macworld Expo was back in 2001, just after I graduated from UCSB and before starting a job in Tucson, AZ. A lot has changed in my career in these past 7 years. For one, 7 years ago I hadn’t yet developed any software for the Mac platform. Though I was an avid Mac user, at that time I was programming mostly for Unix, and occasionally on Windows (against my will).

But that was years ago…I started programming for Mac OS X in 2002, so the question remains, why haven’t I been attending Macworld? I think it may have something to do with the conditions of which I have attended Macworld in the past. You see, the first year I attended Macworld Expo was back in 1990. The Mac IIfx was the big new machine at the time, and with the costs of such a machine nearing $10,000, only a few companies had that kind of hardware at their booth. Mac IIcx and IIci’s were more common, as was the Mac Portable—which was new at the time. I attended Macworld every year after that until 1997, when it didn’t make sense to take time off from classes at UCSB to do so. To me, attending the expo was a fun event; almost like going to an amusement park. Yeah…I was most definitely a Mac geek.

Perspective

The thing is, I never saw Macworld as a business event…it was strictly for fun. And now that I’m living in Michigan, it didn’t make sense to spend the money to attend a “fun” event. It wasn’t until I started talking to other developers who had attended the conference that I realized just how much I was missing by not attending.

Will I have a booth? No. How about one of those ADC developer kiosks? Nope. Why not? Well, this year I just want to re-learn the ropes of the conference. Paul Kafasis has written a nice series of articles on exhibiting at Macworld, but it’s been such a long time, I really want to get a recent perspective on what the conference is like before plunking down $10k to become an exhibitor. So this year, Gaucho Software will be at Macworld as a Quasi-Exhibitor.

What does this mean? Well, it means that I’ll have a lot of similar materials as a company exhibiting would, except for the actual 10×10 foot real-estate on the show floor. First, I designed a different Seasonality t-shirt for each day on the show floor and had Zazzle print them up. Second, I designed a flyer and ordered 1000 copies from SharpDots. Finally, I put in an order through PensXpress for 200 Seasonality pens to give away at the show. Let me elaborate a bit to explain my reasoning for each of these…

1. T-Shirts

I started designing and ordering the first Gaucho Software T-Shirts about 18 months ago for WWDC 2006. Thanks to outfits like Zazzle and CafePress, it’s now easy to print a custom design on a t-shirt of pretty much any color and style. At the time, I just threw the words Gaucho Software across the front and a big logo across the back. It was beneficial to wear at developer conferences like WWDC and C4, because it would give people a better idea of who I was before actually meeting them. Did it increase sales? No…but that’s okay, it was cool to have the shirts all the same.

For WWDC 2007, I designed a t-shirt highlighting Seasonality and I wore it on a day when there was an event at the SF Apple Store in the evening. Surprisingly enough, I found a nice little spike in sales during the day or two after wearing that shirt. Hey, if that one t-shirt helped sales, wearing a different Seasonality shirt each day of Macworld should help too…

2. Flyers

The decision to design a flyer to hand out at the show was easy, but going through the details of actually designing it was much more difficult. First, I had to choose a size. I decided to go with a half-sheet, or 8.5×5.5 inches. I chose this size because I didn’t want the flyer to get lost in the shuffle. I remember getting tens, even hundreds, of flyers every day I attended in previous years. A full page flyer would require a lot of content, and would be more difficult to hand out to people. Going with a size that is as wide as normal page but not as tall, will keep it from getting lost, but still make it easier to hand out.

The design was a bit tricky. I’m used to designing interfaces on-screen using the RGB colorspace. Designing for print is different. First, you have to deal with color limitation in the CMYK colorspace. Seasonality uses a lot of blues…which CMYK wreaked havoc upon. I had to choose a screenshot carefully to make sure it still looked good. Next, I had to deal with the print design being a fixed entity. Application (and to some extent, web) interfaces are dynamic. I needed to find a good way to portray information in a non-changing medium. Finally, I needed to make sure all the necessary information was on the flyer somewhere. I was pretty close to printing a design without any kind of URL to note where to purchase Seasonality. Incredible, yes… That would have made the flyers next to useless. I spent hours designing the flyer, and it took a second viewer only a few minutes to notice the lack of any kind of link. Moral of the story is, have someone check your work before shipping it off to print.

3. Pens

The pens I ordered was a last-minute idea that I think will be pretty cool. Macworld exhibitors usually give away some kind of trinket, and I thought it would be cool to do the same. Most trinkets aren’t often used after the conference ends, and I didn’t want to give someone a trinket they would just end up throwing out afterwards. A pen will hopefully remain useful for most attendees after the conference ends.

Another thing I didn’t want to do was skimp out, so I decided to go for a metal casing instead of plastic. Of course, some plastic pens are very nice, but you can’t tell that by looking at a picture on a website. I figured with a metal pen, it would at least have a decent weight and feel to it. At the same time, I didn’t want a pen that was too expensive either. There’s no way I would get enough sales to cover the costs of handing out pens at $10+ a piece. I ended up finding a nice metallic pen with laser engraving for $1 each at PensXpress. Their turn-around time was pretty quick, and I’m pleased with the results.

4. Profit?

After all this work, I’m not exactly sure what to expect at this point. Obviously, I hope I make enough in sales to pay for all of these materials and my trip costs, but it’s not so much the money I’m looking for here. What I would really like is increased mind-share. Thus far, all of my marketing has been directed towards Mac users who frequent news and download websites. There are certainly a lot of users who fit into this category, but what about users who don’t spend their free time online? I’m hoping to meet a lot of these other users at Macworld, and hopefully it will give me a chance to widen Seasonality’s audience.

If you’re planning to attend Macworld, be sure to look for the guy in the Seasonality shirt and stop to say hello… 🙂

Inside DynDNS Updater 2.0

I’m thrilled to link to a major update of DynDNS’s Mac client, DynDNS Updater 2.0. I’ve been working on the DynDNS Updater for quite some time, and this release is a complete re-write that has a lot of new functionality. Looking at 1.x and 2.0, you would never know the projects were related; there are far too many changes to even list. To try and summarize, DynDNS Updater 2.0 is built from the ground up to give a completely modern Mac experience to people who use the services provided by DynDNS. The updater now has auto Sparkle updating built-in, Growl integration, a custom Dashboard Widget, and an interface that looks right at home on both Tiger and Leopard. Core technologies like OpenSSL, libcurl, and pthreads are used on the back-end.

In case you aren’t familiar with DynDNS as a company, their products solve the problem of managing DNS for just about every type of user, from individuals to large companies. I believe Dynamic DNS is the project that is most well-known (at least that is how I heard of them years ago), giving users with dynamic IPs a method of having a static name point to their computer. The DynDNS Updater’s primary function is to watch out for IP address changes on your Mac, and let the DynDNS servers know when there is a change. The updater is broken up into two separate executables, one is a Cocoa application where you configure your accounts and hosts. The other executable is a background daemon running 24/7 that performs all the grunt work.

I started working on version 2.0 last year. Jeremy Hitchcock and the rest of the DynDNS crew had some nice feature ideas for the next version, and I mocked up a design that would implement some of these features. I was pretty excited about the project and started working on what was to be a fairly advanced update. Fast forward to around March or April of this year when the first beta was being wrapped up. This beta had the foundation of a solid background daemon where I tried to stick to the basic POSIX libraries, so it could run on multiple platforms. At one point, I was regularly compiling it on Linux and it was working well (I haven’t tried this for quite some time since then). The daemon was completely threaded, and supported multiple network connections. Unfortunately, while the code design was solid and the product had a lot of nice new features, the UI was horribly difficult to use and the interface to configure these complex setups was not pretty. The mock-ups looked nice, but actually using it is where we ran into problems. Seemingly simple operations took multiple steps, because a lot of advanced options had to be taken into account.

Enter FJ de Kermadec and his team at Webstellung. They suggested bringing the project back to basics–thinking more about the typical use case and not all the features we could give to power users in unique situations. Webstellung put together some very impressive UI design mock-ups to get things started. Jeremy gave the go-ahead, and it was back to the drawing board as I began coding up the fresh interface. Fortunately, since the daemon code was designed with flexibility in mind, it could be re-used by dropping the new interface on top of it. The initial UI creation went pretty quickly, and within a few months a new application was born. The first beta was ready just before WWDC this year. As soon as I started using this UI, I knew it was a keeper. There were a few adjustments that had to be made, but overall the interface is very intuitive. After the functionality was mostly complete, it was time to focus on the interface polish. We went through several iterations of the software, catching small changes here and there that all added up to a nice shiny app.

If you’re currently using DynDNS Updater 1.2, definitely upgrade to version 2.0. And if you aren’t, download the app anyway and check it out. Dynamic DNS accounts are free for up to 5 hosts, and it’s pretty easy to set everything up.

MicroNet G-Force MegaDisk NAS Review

If you have been following my Twitter feed, you know that I just ordered a 1TB NAS last week for the office network here. I wanted some no-fuss storage sitting on the network so I could backup my data and store some archive information there instead of burning everything to DVD. (In reality, I’ll still probably burn archive data to DVD just to have a backup.)

Earlier this month, MicroNet released the G-Force MegaDisk NAS (MDN1000). The features were good and the price was right so I bought one. It finally arrived today and I’ve been spending some time getting to know the system and performing some benchmarks.

When opening the box, the first thing that surprised me was the size of the device. It’s really not much bigger than 2 3.5″ hard drives stacked on top of each other. The case is pretty sturdy, made out of aluminum, but the stand is a joke. Basically, two metal pieces came with rubber pads on them. You’re supposed to put a metal piece on each side to support the case. It’s not very sturdy, and a pain to setup like this, so I doubt I’ll use them.

I had a few problems reaching the device on my network when I plugged it in. I had to cycle the power a couple of times before I was finally able to pick it up on the network and login to the web interface. I’m guessing future firmware updates will make the setup process easier. It’s running Linux, which is nice. The firmware version is 2.6.1, so I’m guessing that means the kernel is version 2.6 (nmap identifies it as kernel 2.6.11 – 2.6.15). Hopefully it’s only a matter of time before someone’s hacked it with ssh access. MicroNet’s website claims there is an embedded dual-core processor on board, which again sounds pretty cool. The OS requires just under 61MB of space on one of the hard drives. There are two 500GB drives in this unit. Both are Hitachi (HDT725050VLA360) models, which are SATA2 drives that run at 7200 RPM with 16MB of cache. From the web interface, it looks like the disks are mounted at /dev/hdc and /dev/hdd.

Disk management is pretty straightforward. You can select a format for each disk (ext2, ext3, fat32), and there is an option to encrypt the content on the disk. The drives are monitored via the SMART interface, and you can view the reports in detail via the web. By default, the drives come in a striped RAID format, but I was able to remove the RAID and access each disk separately (contrary to the documentation’s claims). Unfortunately, for some reason I was unable to access the second disk over NFS. It looks like you might be able to mess with the web configuration page to get around this limitation though.

Moving on to the RAID configuration, you can choose between RAID 0, RAID 1, and Linear (JBOD). Ext2 and ext3 are your filesystem options. Building a RAID 1 took a very long time (~ 4 hours), which I’m guessing is because the disks require a full sync of all 500GB of data when initializing such a partition.

So let’s bust out the benchmarks! I benchmarked by performing 2 different copies. One copy was a single 400.7MB file (LARGE FILE), and the other was a directory with 4,222 files totally 68.7MB (SMALL FILES). All tests were performed over a gigabit Ethernet network from my 2.5Ghz G5 desktop machine. Transfers were done via the Terminal with the time command, to remove any human-error from the equation.

A note about testing Samba with SMALL FILES: I started running a write test and let it go for around 8 minutes. At that point, it was still only done copying around a quarter of the files, and the transfer rate averaged less than 20KB/sec. This was absurdly slow, so I didn’t bother waiting for the full test to go through. It’s difficult to say if this is a limitation of the NAS, Samba, Mac OS X or all of the above.

Striped RAID (Standard) NFS Samba
Write LARGE FILE 1:13 (5,544 KB/sec) 0:42 (9,542 KB/sec)
Read LARGE FILE 0:42 (9,769 KB/sec) 0:35 (11,723 KB/sec)
Write SMALL FILES 3:46 (310 KB/sec) DNF
Read SMALL FILES 0:39 (1,759 KB/sec) DNF
Mirrored RAID NFS Samba
Write LARGE FILE 1:17 (5,328 KB/sec) 0:47 (8,730 KB/sec)
Read LARGE FILE 0:40 (10,257 KB/sec) 0:41 (10,007 KB/sec)
Write SMALL FILES 3:44 (314 KB/sec) DNF
Read SMALL FILES 0:43 (1,636 KB/sec) DNF
Separate Disks NFS Samba
Write LARGE FILE 1:13 (5,620 KB/sec) 0:43 (9,542 KB/sec)
Read LARGE FILE 0:46 (8,919 KB/sec) 0:35 (11,723 KB/sec)
Write SMALL FILES 3:11 (368 KB/sec) DNF
Read SMALL FILES 0:42 (1,675 KB/sec) DNF

All of these were using standard mounting, either through the Finder’s browse window, or mount -t nfs with no options on the console. I decided to try tweaking the NFS parameters to see if I could squeeze any more speed out of it. The following results are all using a striped RAID configuration…

  no options wsize=16384
rsize=16384
wsize=16384
rsize=16384
noatime
intr
Write LARGE FILE 1:13
(5,544 KB/sec)
1:00
(6,838 KB/sec)
0:59
(6,954 KB/sec)
Read LARGE FILE 0:42
(9,769 KB/sec)
0:32
(12,822 KB/sec)
0:32
(12,822 KB/sec)
Write SMALL FILES 3:46
(311 KB/sec)
3:47
(310 KB/sec)
3:09
(372 KB/sec)
Read SMALL FILES 0:39
(1,759 KB/sec)
0:42
(1,675 KB/sec)
0:40
(1,758 KB/sec)

In summary, while this NAS isn’t necessarily the fastest out there, it’s certainly fast enough, especially after some tweaking. A RAID configuration doesn’t necessarily improve performance on this device. All of the transfer rates were about the same, regardless of format. You’ll notice slightly slower speeds for a RAID 1, but the difference is minimal. Before tweaking, Samba had a clear lead in transfer rates on large files, but it was completely unusable with smaller files. After modifying the NFS mount parameters, it seems to give the best of both worlds.

Update: I researched the Samba performance (or lack thereof) and found that it is not the fault of the NAS. Using a Windows XP box, writing small files went at a reasonable pace (around the same as using NFS above). Then, testing from my MacBook Pro with an OS that shall not be named, performance was similar to the Windows XP machine. I’m going to attribute this to a bug in the Samba code between version 3.0.10 on the G5 and 3.0.25 on the MacBook Pro.

DynDNS Updater 2.0 Public Beta

This just went live in the last 24 hours. Along with working on my own Gaucho Software products such as Seasonality, Dash Monitors, and XRG, I also consult for other firms. I’ve been working with Jeremy and the rest of the DynDNS team on their Mac update client for quite some time. Just recently, version 2.0 of the project has reached a stage where it’s ready for public beta consumption. The interface, developed by FJ de Kermadec and his team at Webstellung is top notch, and does a great job hiding the complexity of everything going on behind the scenes. We still have some work yet to do before a final 2.0 release is ready, but I think the app is looking pretty good thus far.

If you use DynDNS services, check it out. If you aren’t using DynDNS services, give their website a look-see to determine if you should be using their services. 🙂

WWDC 2007

I’m typing this from a fresh developer build of Leopard on my MacBook Pro. I’d have to say that this build is much more stable than the last couple of releases.

If you’re a die-hard Mac user (or even if you aren’t), you have probably heard of the various announcements Apple made yesterday. I thought I would run through the most notable announcements and add some commentary. There were three main foci of the keynote: Leopard, Safari for Windows, and the iPhone.

Leopard

Leopard consumed the majority of the keynote. Steve Jobs went into detail on just 10 of the 300 new features in Leopard. To me, the UI changes were the most significant. Steve went over topics like Time Machine, Spaces, Boot Camp, and 64-bit support, but all of these were talked about at WWDC 2006. The UI changes are fairly substantial, and I imagine there will be quite a bit of commentary regarding these changes across the blogosphere.

The first thing users will notice is the change in the Desktop, which includes the system icons, menubar, and the Dock. The Dock redesign is simply stunning. It’s a very polished, 3-dimensional implementation. The reflections are perfect, and about the only adjustment I would make is with the application shadows, which are actually above the icons. I understand why it was designed this way (as a visual separator of the icon from background content), but it doesn’t make visual sense. Otherwise, I dig it.

Likewise, stacks is a great new feature that should have been implemented by Apple 10 years ago when they originally patented the idea. This is going to make my downloads directory much more manageable. It’s also very useful for traversing directories. When you have a stack of directories, if one of those directories is clicked on, the stack updates itself with the contents of the child directory. This will be a great way to access development project files I’m working on.

However, it’s not all perfect… The folder icons and menubar both need some improvement. To begin with, the icons do not have enough detail. They look like blue blobs from a distance. This is especially noticeable when it comes to “special” directories like Music and Movies. The categorical aspect of the icon is all but distinguishing. I believe all the folder icons need to be made more distinct.

The menubar changes are probably the worst part of the Leopard redesign. The opacity of the entire menubar is around 50%, which really makes the menu titles difficult to read depending on the desktop picture you choose. When a menu is selected, it’s transparency is normal, which is good, but it looks ridiculous under the translucent menubar. At the very least, the menubar needs to fade in to 100% opaque on mouseover. I expect there will be dozens of 3rd party utility hacks to get around this issue, if the menubar makes it as-is into the final release of Leopard.

Update (6/16): That didn’t take long… Here’s the first hack now.

The nicest change about the Leopard desktop is the look of application windows. Finally, Apple is back to a single window layout–merging the standard, brushed metal, and unified layouts into a single, standard window. While it is a bit dark, overall the design is pretty slick. The important point here is that now developers don’t have to choose what kind of base interface to use in their applications. Leopard windows have a single look, and now UI designers can match their icons, views, and controls to that window layout.

Quick look is a nice new feature in Leopard. I really think this feature has the potential to push Preview.app into obsolescence. It’s very easy to use to display images, presentations, spreadsheets, PDF and word documents. With a quick change to full screen mode, I think this is going to really improve the way users browse through their documents.

The new Finder will probably be seen as a minor upgrade, but I believe it to be significant. The current Finder contains a lot of legacy Carbon code, and Leopard’s Finder should improve performance. It will be difficult to say until I spend more time using it, but I’m hoping threading support is more robust… I hate seeing the spinning beach ball when I get disconnected from a network server, and the new Finder reported fixes this issue. The design also feels cleaner–more enjoyable to use. It’s a subtle, but noticeable improvement. Coverflow also looks neat, but I can only imagine using it in directories filled with images, and even then I would only really use it to scan all the images in general.

The biggest improvements in Leopard will be completely transparent to users… Apple’s going a long way by offering new development technologies behind the scenes, and users will see evidence of these changes in future 3rd party application releases.

Safari for Windows

Safari for Windows is a huge bonus in my eyes. Just from using IE 7 for a few hours, the user interface is a nightmare. Having Safari as an option on my Boot Camp partition here will be very nice. I think Apple is approaching it the right way by marketing towards the web developers with Safari 3’s web debugging features. If web developers are using Safari to develop their applications, then we’re going to see a lot more site compatibility cross-platform. Apple’s plan to market Safari on Windows through their iTunes downloads was vague at best, but if they really do have a million iTunes for Windows downloads every day, that should give them a lot of momentum on entering the Windows browser market.

iPhone “SDK”

Apple’s iPhone announcement was a joke, and far from the “sweet” deal Steve used to describe the paradigm. Developing a web page is not the same as developing an application for the iPhone. Sure, it’s nice that web pages can initiate calls, emails, or physical address searches, but that is not a substitute for developing full iPhone applications. First, while living in a large metropolitan area may keep your iPhone connected 100% of the time, I think that will be far from reality. Without an internet connection, a web page application is useless. Furthermore, applications deserve a position on the user’s home screen. Opening Safari and navigating through bookmarks just to find an application is unacceptable.

In the end, I think John Gruber summarized it best: “It’s great that iPhone seems to have a killer Safari web browser. No doubt there are going to be some terrific web apps targeting iPhone. But there are a ton of great ideas for iPhone software that can’t be done as web apps.”

The Unannouncement

Several media outlets are referring to this years keynote as an unannouncement. While I agree that the keynote failed to show any fancy new hardware or groundbreaking new software, the presentation was packed with details of Apple’s path forward. This is a developer’s conference. The new details shown in Leopard, especially when it comes to user interface design, is important when designing our own applications. In that respect, the keynote showed some nice new UI changes that I think will help bring application consistency back into the picture. Mac OS X is a constantly evolving platform, which I think stems from the semi-frequent release cycle Apple sticks to. Getting a better preview of Leopard’s features gives developers a 4 month headstart on evolving their own applications with the OS, and that’s why this conference is worth it’s cost of admission.

WWDC Keynote Thoughts

Between all the great sessions here at WWDC yesterday and Buzz’s excellent blogger party last night, I’ve had just about 0 time to blog about anything that has been announced here. The typical news sites have been posting all the details on Mac OS X Leopard that Steve talked about yesterday, but I thought I would add a couple of my own comments on Leopard.

First, though I’m under NDA for a lot of the content here, I’ll just say that Leopard adds a lot of nice features for developers. I would not be surprised to see a lot of applications next year requiring Leopard. I’m sure some Tiger/Panther users will feel a bit left out, but the development time can be collapsed greatly, and these apps will be a lot more polished.

64 bit is a big buzzword around here. It is a big deal…even with 64 bit POSIX available at the UNIX layer in Tiger. That was nice, but it meant that only command-line applications that used straight POSIX libraries would have the ability to run 64 bit. As was mentioned in the keynote, Apple has extended 64 bit support all the way up to the Cocoa and Carbon layers…completing the transition to 64 bit for Mac users. I think this will allow some very high-end scientific applications to provide absolutely beautiful visualization displays without having to write a bunch of extra code to handle 64 bit data processing in a different process on the back-end. I haven’t tried building Seasonality for 64 bit yet, but I suspect that it will provide a slight speed improvement on 64 bit machines because the satellite image is highly accelerated in hardware using the Accelerate framework. 64 bit processors may be able to generate a new satellite image up to twice as fast. I’ll update my blog with performance results on this sometime in the future.

Mail.app changes seem to be aplenty. I haven’t loaded the Leopard preview on my MacBook Pro yet to see just how much has been improved, but already I’m impressed. The templates look to be a good idea, but I can’t see myself using them too often. I’m sure there will be a subset of Mac users that will get a kick out of that though. The notes feature strikes me as a big chunk of bloatware tacked on to Mail. If you need to take notes, there should be another place to do it outside of your inbox. Sure, people spend a lot of time in Mail, and I’m sure a lot of people take notes while reading/responding to email, but that doesn’t mean that notes should be an integrated feature. It seems that a much better solution to write a new system-wide notes application that would let you bring up an interface with a hotkey, type something in, and dismiss it.

Apple still hasn’t updated the Finder. I really hope this is one of the “top secret” features they aren’t releasing until the end. The Finder is something Mac users spend a lot of time using, and the amount of legacy code still in there is pretty staggering. At the very least, the Finder needs to use more threading, but really they should start from scratch and try to implement something that is more efficient. They should also revisit usability. When using the Finder with a modern system with several hundred thousand files, it takes awhile to navigate to where you want to be (Note: this applies to all the current file-system-exploring applications I’ve used on any platform). Spotlight improves this situation somewhat, but it is still a pretty big problem and will only get worse as hard drive capacities skyrocket as they have been in recent years.

Despite these drawbacks, Leopard as a whole is a big improvement. Time Machine and Spaces are greatly welcomed, Core Animation will be a huge win for the usability of Leopard applications and the iChat improvements seem pretty solid.

Why Apple's virtualization technology in Leopard might not be what you expect…

Since the release of Boot Camp back in February, the rumors have been flying on the future of running Windows on a Mac. When Boot Camp was released, I couldn’t wait to try it, and I wasn’t disappointed with the results. There were some slight drawbacks to installing Boot Camp on my MacBook Pro, but they were mostly hardware related (not having a second mouse button, or a lack of a delete key to control-alt-delete). Fortunately there are software fixes for most of these and I’m now able to use Windows on my MacBook Pro without connecting any additional hardware.

A lot of people believe that Apple will take the next step with virtualization in Leopard, and I tend to agree, but I don’t think the next step Apple takes will be the ability to run Windows apps under Mac OS X natively, or even a Parallels type of virtualization where Windows will be run in a Window. Let’s discussion the options, shall we?

Option #1: Boot Camp is included in Leopard verbatim, users can boot into either Windows or Mac OS X.

This is the easiest path for Apple to follow, because most of the work is already done. Boot Camp works, and it works well. All that would be needed is continued driver support in Windows and some tighter integration between Boot Camp and Mac OS X. I don’t expect Apple to take this path however. Apple isn’t about doing things the easy way. The Apple mentality is to do stuff the right way, and I don’t think this is it. Granted Boot Camp was just released, and a lot of work would have to be done before any of the options below would be realized. Apple might just run out of time before the Leopard release and be forced to integrate Boot Camp for the time being. If this happens though, I think they’ll be working overtime to improve virtualization in Leopard++.

Option #2: Apple licenses Parallels/VMware, users run Windows within a window.

I haven’t run Parallels on my MBP yet, but I do run VMware Server on Linux and it is a very good solution for running multiple OSes at the same time on a single machine. The drawback here, of course, is that you lose some processing power to the emulation environment. Usually this is only between 5-10% per a virtual machine, but if you are running 3 or 4 OS instances, that could utilize up to 40% of a CPU just in overhead. In addition, a lot of Mac users, myself included, have one reason to run Windows on their Mac: games. Thus far, neither Parallels nor VMware have been able to support OpenGL/DirectX in hardware, throwing the option of gaming out the window. And once Vista arrives, hardware graphics acceleration support will be that much more important. Apple is in a pretty good position to add accelerated graphics because they have control over the hardware. They know which GPUs they need to write drivers for, and I think that it’s certainly possible for Apple to go this route.

Option #3: Apple builds upon the Wine project, users run Windows applications natively on Mac OS X.

I think a lot of users would like to see Apple go this way with virtualization in Leopard. How cool would that be to double-click on a Windows application and have it launch on your Mac? There are several problems with this. First, you have a problem set by example. The Wine project has been under development for over 10 years, since 1993. Thus far, Wine only supports a small subset of Windows applications, and often-times the user has to jump through hoops just to get a Windows application working correctly under Wine. This usability is very un-Apple like. Apple, of course, has some very talented engineers in it’s employ along with something the Wine project does not have–a development relationship with Microsoft. Even so, I would find it hard to imagine Apple pulling this off in only a year or two, given how long it has taken the Wine project to get this far.

Furthermore, this option opens a can of worms when it comes to security. When you run Windows in a separate virtual machine, there is some comfort involved. Most likely, even if you were to get a Windows virus (or 100), your Mac OS X files would be safe. With native execution of Windows applications, you no longer have this comfort; Windows apps would have full access to all your Mac files. Apple could possibly build in some form of jail, so Windows would only have access to certain directories on the filesystem. However, I think this would be contrary to the point of implementing virtualization in this native manner. You want the tight Windows integration into Mac OS X, so files in your home directory can be used with applications built for either OS. With such tight integration, you have to compromise security.

Finally, this option is an interface nightmare, comparable to running X11 on Mac OS X . While I love having the ability to run X11 applications on my Mac, the user experience it provides is mediocre. For one, each X application doesn’t really appear to be completely separate like a standard Mac OS X application. Instead, all X11 apps are all running under a single application instance of X11.app. Native Windows virtualization would most likely operate in a similar manner, where a Windows.app application would load to provide a framework for other Windows applications to run. Another interface problem is that Windows applications often have their menus associated with individual windows. This is contrary to Mac OS X applications which have a menu bar for the entire application. Mixing these two interface paradigms is messy at best.

In short, I don’t think this is a very good option and this is probably the least-likely route for Apple to follow.

Option #4: Apple releases Boot Camp 2.0 with hardware partitioning, users run any number of OS instances concurrently on their Mac.

This is the option I think Apple should follow. Hardware partitioning has been around for quite a few years (see IBM’s LPAR, for example), but until recently this technology has been restricted to high-end servers and mainframes. With the upcoming releases of 4 and even 8 core Intel processors, hardware partitioning is becoming a much more attractive option in my opinion.

If you aren’t familiar with hardware partitioning, basically it’s a method to split the hardware resources of a machine between different OS instances. Say you have a 4 processor box with 8Gb of memory. With hardware partitioning, you can define one partition to use 2 processors and 2Gb of memory, while the other uses the remaining 2 processors and 6Gb of memory. Likewise, you could have 4 OSes, each with it’s own dedicated CPU and 2Gb of memory. There is a often limit to how much you can split the resources available. For instance, it can be difficult to write software to share a CPU between two OSes, so it makes sense that you can only have as many OS instances running as you have CPUs available. Likewise you can split memory or disks in the same manner. Each partition can run any OS the hardware will support, so in the case of Mac hardware, you could run a partition for Mac OS X, one for Windows, another for Linux, FreeBSD, Solaris, etc…

In more recent years, VMware has been developing a product called VMware ESX Server. This software runs directly on the hardware, an OS of it’s own if you want to think of it that way. Then virtual OS instances sit on top of VMware ESX. VMware has even tackled the problem of sharing CPUs between virtual machines.

I envision Apple’s Boot Camp being able to do the same thing. Boot Camp would become a miniature operating system in it’s own right, and then load up the OS instances you have configured. Of course, Apple would come up with an easy way of configuring your virtual machines, and an easy way to switch between them. I envision the OS switching to be a lot like Fast User Switching…maybe they’ll even call it Fast OS Switching. 🙂 Also, since all of your virtual machines are running at the same time, it’s not a problem to use VNC to view your other running OSes in separate windows on Leopard.

We’ll find out Monday morning

All our questions will be answered come Steve Job’s keynote Monday morning at WWDC. I’ll be taking a flight out to San Francisco tomorrow in order to attend. Virtualization, of course, is just one small topic that may be brought up at WWDC this year. This year I’m expecting quite a few announcements coming from Cupertino, and I think it’s going to be a great week. If you are going to be there, drop me a line (mike at gaucho soft dot com) and we can meet up.

« Older posts Newer posts »

© 2026 *Coder Blog

Theme by Anders NorenUp ↑