apple and flash

Steve Jobs posted an open letter today about why Flash is not and will not be supported on the Apple mobile platform. You can follow the link to read the full article, but basically he gave 6 reasons. Let me look at each of these one-by-one. And before I do, I would like to remind everyone that I’m not really a big proponent of Flash. Back when I was web-developer, Flash was the one platform I detested and never took the time to learn. I think web-design through Flash is a poor design choice except if it is being done for some sort of portfolio or niche-website. Anyhow, with that out of the way, let’s look at Jobs’ six reasons.

First, there’s “Open”.

Jobs’ claim here is basically a fact. Flash is a proprietary system. Not only do you need to buy expensive software from Adobe to be able to create professional-grade Flash applications, but you also need to download a third-party plug-in from them any time you want to view it. There’s no complaints I have about this statement except that it reminds me of, you know, pot-kettle-black.

Apple is possibly the most proprietary technology developer out there right now. Not only is the iPhone OS system completely closed and regulated, but even going back to the OS X operating system, you legally need a Mac to run that. It sounds highly hypocritical of a CEO of such a proprietary company using “openness” to attack Adobe. To Jobs’ credit, he accepts that Apple is proprietary, but he wants the web to be open. How benevolent of him to allow us this luxury!

Second, there’s the “full web”.

Adobe has counter-claimed Apple’s claim that the iPad is the best way to experience the web, by suggesting that those users do not have access to the full web. Jobs’ counter-argument to this is that Apple supports HTML5, CSS and the modern H.264 format for viewing video. He also rattles off a list of 16 sites that supposedly support video on the iPhone OS (although at least one of them–Facebook–at least check, does not).

As I said at the beginning of this piece, I hate it when a website has used Flash for the purpose of web-design (especially when they haven’t offered an HTML alternative). So from that standpoint, I’m happy that Apple has gone ahead and blocked those websites. However, when it comes to videos, Apple is just ignoring the problem. Sure… they support these 18 sites that now allow HTML5-based streaming. But about the 1000 other websites that people actually visit? How can you advertise a device as being the best way to browse the web when it falls annoyingly short in multimedia presentation? Companies have paid millions of dollars implementing their current content delivery platforms–not everyone has the financial resources that YouTube, for example, has, to begin supporting H.264 video overnight.

Third, there’s reliability, security and performance.

I have heard several anecdotes about how Flash causes Macs to barf. Jobs labels Flash as the number one reason for Mac crashes. Obviously Adobe has a part to play here, since they are the ones that are writing the actual plug-ins. But I don’t buy the whole “reliability, security, performance” argument for the iPhone OS. Just like I don’t buy the justification that Apple fanboys give for keeping the App platform closed or for keeping OS X locked down to Mac hardware–to preserve the quality of the system. How dumb do they think consumers are? The App Store is already plush full of useless applications (I believe Fart Apps deserve their own category going by volume, right?). In fact, I can count the number of apps I use regularly on my iPhone on one hand.

This destroys the perception that it is impossible to create low-quality applications staying within Apple’s development platform and regulation. The theory that it is impossible to create a quality application outside of the Apple-allowed platform is similarly debunked by the “black market” that is Apple jailbroken apps. There are several quality applications developed there that would deserve their place in the App Store if Apple had put it’s draconian policies aside. Not to mention that they’ve actually supported the novel (not really) idea of evaluation software. Instead of Apple allowing evaluation periods, they decided to go with “Lite Apps” (there’s actually a section in the Apple Developer Center that recommends releasing a Lite app, with stripped out functionality). There have been countless times that I have been partially interested in an iPhone App only to find that is not free and the “Lite” version doesn’t allow me to actually test what I want to. Some developers, like Remember the Milk, have gone about their own methods of providing a trial period enforced by a web-service.

Fourth, there’s battery life.

Jobs claims that on an iPhone, an H.264-encoded video will play up to 10 hours whereas a software-decoded video will play only up to 5 hours. This may well be true, but I don’t think Apple is in any position to preach about battery life. I have had to charge my iPhone, without fail, every night. If I don’t, I’ll get into the red midway through the next day. I don’t make that many calls, either (if I could exchange my rollover balance for cash value, I’d be a rich man), so it’s not like I’m using my phone all that much. In fact, I check in to Twitter about 3-4 times a day, the same with Facebook and occasionally I play Racing Live for about 5 minutes (this is not a graphics-intensive game, btw, it is more of a “simulation”-type game). Yet, my battery is toasted by the time I reach home. I can’t imagine how life is going to be when multi-tasking is supported.

I guess Apple does have a claim to make here, they’re prepared to do anything if it increases battery life.

Fifth, there’s Touch.

A side-note, I wonder if Apple has actually trademarked the word “Touch”. Why else would it appear capitalized? Anyhow, Jobs’ claim here is that Flash was designed for mouse-based input whereas the iPhone OS introduces a completely new touch-based interface. The point is well-taken. I’m not aware if Adobe has made any forays into touch input, but my feeling is they would have, if they were expecting to release the Flash CS5 Deploy to iPhone App feature. Which leads nicely into Jobs’ final point, the most important one, supposedly.

Sixth, the most important reason.

Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

This is referring to the Deploy to iPhone App feature that I talked about in the previous point. Basically, Adobe is planning to release, in Flash CS5, the ability for a user to deploy a Flash animation as an iPhone App. Flash does all the heavy-lifting of converting the ActionScript code into the archaic Objective C format, compiling it as required by the App Store, etc. However, a few weeks ago, Apple modified their developer contract to state that creators of iPhone Apps must have originally created that code in Objective C. This basically makes any app that was generated by Flash CS5 in violation of the developer agreement. The same is the case for apps developed using MonoTouch–the commercially available tool that allows .NET developers on Macs to create iPhone Apps–as they are also not originally Objective C.

Jobs then goes as far as to suggest that developers won’t have access to the newest features when they become available, etc. I have a huge pain-point with this. In my previous discussions about Apple and it’s products, I always bow out of the discussion when someone brings up the point that Apple is not targeted primarily towards technical consumers. What this means is that I can go and build a computer for less than it costs to buy a Mac–that’s why Macs aren’t targeted towards me, specifically. I can understand and accept that–Apple does a good job in marketing a product and keeping their profit margins wide. However, Jobs, in this case, actually is trying to run the same argument by, except targeting them towards the actual technical users.

He hypothesizes that if Apple were to allow third-party code to be converted into Objective C, developers would become clueless about how to take advantage of the newest features released in an Apple SDK. That’s not only extremely inaccurate, but it is extremely insulting to many parties.

It is insulting to developers because we have to be ahead of the technology curve (for example, the iPhone OS 4 SDK is already out for iPhone developers, but not for end users) and have to have an understanding of how a system actually works.

It is insulting to consumers because it suggests that they will not be able to tell the difference between a good app and a bad app. As I’ve said earlier, it is a fallacy that all apps created within the Apple-permitted spectrum are good and all apps created outside that spectrum are bad. Why not let the user decide what is a good app?

Finally, it is insulting to the actual Apple staff involved in the app review committee. Jobs is basically suggesting that they will not be able to adequately test an application to determine whether it is good or bad, without knowing if it was originally Objective C or not. This basically throws hot water on the whole app review process, because it claims that the process will not be able to test an app’s usability independent of the development platform.

As a whole, I understand why Steve Jobs does not want Flash on the iPhone OS and I have no problems with it. I’m not a major Flash proponent and there are only a handful of websites I visit on an iPhone anyway. I would have a problem with it if I owned an iPad, but that, and several other reasons, have contributed to me not being even a bit interested in owning one. I do have issues with the lock-down of the development process, though, for no reason whatsoever. iPhone developers still have to purchase a Mac to develop their software on, because iPhone apps use a bunch of frameworks that don’t have cross-platform ports. So it is not as if Apple is losing a revenue stream there. It is not as if Apple is losing the developer account revenue stream either–since the developers of those apps would still have to pay their annual fee to be able to sell on the App Store.

On the whole, that move by Apple just seems like a reaction without provocation.

it’s playoff time

Finally the only playoffs I actually care about have started–the NBA Playoffs. This weekend featured 8 games in two sets of quadruple-header action. Interestingly, there were no upsets whatsoever, with all the higher seeds getting the victory except for Phoenix. It will be interesting to see if this will continue being the case as we progress through the playoffs. I’m going to take a look at each of the series and give a slight prediction as to what I expect to happen, as well as who I’d rather see winning:

Eastern Conference

Cleveland (1) vs. Chicago (8) — Cleveland leads 1-0

This one’s a no-brainer for me. The Cavs have far too much offense for the Bulls to be anything more than a blip on their radar. This showed in Game 1, where Derrick Rose was the only guy who could really put up points for the Bulls, and even he scored 28 points off 28 shot attempts. The Bulls will need Hinrich to score to cause any upsets in this series. Personally, I want to see the Cavaliers win because I think a Kobe vs. LeBron final would be interesting.

PREDICTION: Cavaliers 4-0

Orlando (2) vs. Charlotte (7) — Orlando leads 1-0

Again, this seems to be a competition between high-powered versus low-octane offense. In Game 1, Orlando got off to a huge lead before Charlotte clawed back. The Magic hung on for the win, however. I’m pretty neutral about this match-up–I don’t care for either team. Charlotte is a mix between young, inexperienced players (like Gerald Wallace) and veterans (like Stephen Jackson). Jackson sat out a portion of the game due to injury, though, so it’s probably going to be a Magic roll. I’ll go ahead and give the Bobcats a game, but that is a very optimistic prediction.

PREDICTION: Orlando 4-1

Atlanta (3) vs. Milwaukee (6) — Atlanta leads 1-0

This is a match-up that I think could get really close, especially if Brandon Jennings gets some help from his team. Both these teams are young and inexperienced, relatively speaking. If Andrew Bogut wasn’t injured, I wouldn’t be surprised if this went down to 7 games. Atlanta has secured their highest playoff seed in the last few seasons (right?) so they can consider themselves a tad unlucky for drawing a relatively hot Bucks team. I think the Hawks will hang on, though. I’m supporting them.

PREDICTION: Atlanta 4-2

Boston (4) vs. Miami (5) — Boston leads 1-0

The 4-5 match-up is always the one most likely to throw up an upset, but it seems Miami’s offense has been a bit stagnant of late. This is probably going to be a pretty low-scoring series, with an emphasis on defense. Ray Allen continued to struggle in Game 1 as the Celtics hung on to a scrappy victory. D-Wade was sublime and questionable in equal measures in the first game. For example, I couldn’t understand why he picked up his dribble outside the three point line over and over again in the 4th quarter whereas he had been getting to the hoop at will in the previous 3 periods. With Garnett’s suspension, Miami has a chance to steal one on the road. I want to see this series go down to 7 and for Miami to win, but I think Boston will hold on–as they’ve managed to in the last couple of seasons.

PREDICTION: Boston 4-2

Now for the conference that matters… the Western Conference. 🙂

Western Conference

L.A. Lakers (1) vs. Oklahoma City (8) — Lakers lead 1-0

OkC would be disappointed with falling to the 8th seed in the West after having such a strong season and drawing a match-up with the Lakers. Luckily for them, the Lakers have been in questionable form for the last month or so. In their first playoff appearance, the Thunder, led by Kevin Durant, seemed overawed by the occasion. KD never really got going and the Thunder followed suit. They pulled close to the Lakers a couple of time, but even with Bryant shooting horribly, weren’t able to pull out the rare win in Lakerland. The Lakers will benefit mightily from having Bynum back and Odom will bolster up a very shallow and weak bench. If a Laker starter gets injured over the course of this series, I think the Thunder may get close, but as it stands, I think L.A.’s post presence is going to be enough to pull off the win. I’ll give the Thunder 1 win at home. I’m supporting the Lakers in this one.

PREDICTION: Los Angeles 4-1

Dallas (2) vs. San Antonio (7) — Mavericks lead 1-0

The Spurs are playing with their worst playoff seed since the 90’s or something like that. With many of their key players injured this season, I suppose they’ll take a low playoff spot rather than none. In Game 1, the game stayed tight for a long time but the Mavericks managed to hold on. Dirk Nowitzki was nearly perfect, yesterday, missing just 3 shots from the field and making all his free throws. Caron Butler provided a spark that was much-needed given Jason Terry’s lackluster performance off the bench (though Terry did nail some clutch jumpers at the end). The Mavericks have had a propensity to choke in the playoffs, though. Parker is still working his way into the rotation (he’s lost his starting job to Ginobili) and Duncan is still consistent but not phenomenal. I’m going to predict an upset here and say San Antonio will win in 7. I hope to hell that I’m wrong because there isn’t a team I despise more than the Spurs.

PREDICTION: San Antonio 4-3

Phoenix (3) vs. Portland (6) — Blazers lead 1-0

Phoenix were the only home team to lose on opening weekend and hence squandered their homecourt advantage to the perennially-injured Trail Blazers. With Brandon Roy recovering from injury for at least 2 weeks, the Suns were probably expecting a first round walkover. The Blazers have learned to play without their best players throughout the season, though, going through a bizarre sequence of injuries that affected everyone from Greg Oden to Pryzbilla to Aldridge to Roy over the regular season. They managed to get healthy to secure up a playoff spot, but lost Roy almost immediately. Andre Miller has played some inspired basketball of late, and the Blazers have snapped up the homecourt advantage to set up an intriguing contest. I’m supporting Phoenix in this match-up and I think Nash and Amare will eventually be able to get the away game back. In fact, unless Roy returns earlier than scheduled, I think the Suns will win with a game to spare.

PREDICTION: Phoenix 4-2

Denver (4) vs. Utah (5) — Nuggets lead 1-0

Denver would be disappointed at falling down to the fourth seed and possibly meeting the Lakers as early as the 2nd round. However, they’ve got to concentrate on the series at hand. Unfortunately for the Jazz, it looks like they’ve been hit by the injury bug at the worst possible time. Their offense has been severely dented by the loss of Kirilenko leading into the playoffs and now Okur, whose out of the rest of the postseason following Game 1. Boozer is not at 100% either, so that puts the burden of offense squarely on the shoulders of Deron Williams, with some help from the likes of Korver and Brewer. The Nuggets looked pretty strong on Saturday night, with Carmelo looking in great rhythm. I actually think that the Nuggs will take this series pretty easily. If the Jazz had been a bit healthier, my money was on them causing the upset, but this is just too many chips to overcome.

PREDICTION: Nuggets 4-1

windows xp needs a swift death

I don’t feel like composing a well-thought out entry here, so I’ll just publish a series of one-liners.

  1. If I ever suffer from high blood pressure, it can almost certainly be attributed to Windows XP.
  2. Windows XP is where productivity goes to die.
  3. It has taken me 5 hours (and counting) to install LabVIEW Beta 2 on my developer machine. It took me <30 minutes to install both the 32-bit and 64-bit versions of that software to my Windows-7 laptop.
  4. I forgot about the concept of defragmentation until I had to go back to using Windows XP.

Okay, I cannot think of any more. But seriously, if anyone is still trying to justify Windows XP’s place in industry with anything other than transition costs, they can take a hike. The OS was written nearly a decade ago. Computer Science has come a long way since then. I feel sorry for people (like myself) who have to use Windows XP on a daily basis.

My Windows 7 laptop may be newer, but it is out-spec’ed in almost all categories by the XP machine. Whether it be processor speed, number of cores, RAM, HDD capacity, HDD speed, etc. It’s pretty pathetic (Windows XP, that is).

Okay, enough ranting.

traveling on the job and my life’s shortest flight

Last week I had the opportunity to travel to Chicago and Wisconsin for National Instruments’ LabVIEW Developer Education Days. This is basically an event that NI holds throughout the country in several different locations to spread awareness of a few new features in the LabVIEW environment and how users may use it. There are two tracks–an intermediate track and an advanced track. This is usually an event put together by the regional sales staff, and they usually fly out an R&D Engineer to head up the advanced track sessions. This is not only because R&D works on the features being demonstrated on a day-to-day basis, but because it offers an awesome opportunity for R&D to see how customers actually react to their product.

So, I was flown in to Chicago on Monday morning as part of this effort. On Monday I met one of our customers in the Chicago area, DMC, and had an opportunity to see what sorts of things they are working on. I also gave a short presentation and demo of the feature I’ve been working on, which is basically the ability to add third party licensing & activation to users developing extensions to LabVIEW.

Tuesday was the first developer education day, in Chicago, hosted at Harper College. Harper is a community college but it had a pretty large campus. In fact, they even had a lake! Their convention center was very slick, and had an amphitheater. Anyhow, the developer day itself went pretty well. In the morning, I presented Graphical Scripting, which is a LabVIEW feature that allows users to generate LabVIEW code from LabVIEW programs. This may not make a lot of sense, and unfortunately I cannot think of any analogies outside of the programming domain. Think of it as similar to writing Java code that generates Java code. This basically allows you to automate certain repetitive code patterns.

The afternoon session that I presented was on Advanced Control and PID. I will confess that this is not a topic that I am very familiar with, but the presentation gave me the opportunity to learn about the topic. As software engineers (especially a new one like myself), I don’t really have the opportunity of seeing a real world usage of LabVIEW. The control presentation and a few chats with the attendees afterwards showed me how LabVIEW users use the various parts of the LabVIEW system in their work. It was pretty cool.

After the event on Tuesday, we packed up and shipped our presentation materials to Milwaukee. Ended up having dinner at an Asian restaurant near our hotel (I think it was called Big Bowl or something like that). Since there was nothing else to really do, we ended up catching a movie at a nearby theater–She’s Out Of My League. It was a pretty funny movie… not on the level of The Hangover or Hot Tub Time Machine, though!

On Wednesday, unfortunately the customer visit I had scheduled got cancelled. In the morning I went with the Chicago sales engineers to a company called EcoloCap, which has apparently been developing a high-efficiency, low-cost, environmentally-friendly fuel called “M-Fuel”. They have a bunch of information published, if anyone wants to read more about it. In the afternoon, I visited the public section of Fermi Particle Acceleration Lab. Fermi can be considered as the precursor to CERN. It was a pretty interesting outlook, and gave me an idea as to how NI technology can be used in big physics. Unfortunately, we had no visits scheduled there so I couldn’t get a deeper understanding of how everything worked.

We then drove to Milwaukee (or maybe it was a place called Waukesha… I don’t know) where our Wisconsin Dev Day was going to be held. Luckily we could set up at any time (at Chicago we had to set up at 6:30am on the day of the conference). After checking into our rooms, we waited for all the sales engineers to arrive before setting up. It did not take that long to set up, luckily. We rounded the day off by having dinner at a nearby seafood grill. The food was quite delicious!

Thursday followed much of the same schedule as the Tuesday Developer Day. The turnout was a bit smaller, but higher than the normal Milwaukee Dev Day, I was told. Nothing spectacular/unique to report on that day. After the event we packed up, said good bye to the Chicago sales engineers and relaxed for most of the rest of the evening (except for dinner, of course).

Friday, the last day of my trip, featured three customer visits. I visited Dyne Systems in the morning, FasTek over lunch and Soliton after lunch. Each of the three customers gave me an idea of what they did with their products and with NI technology and then I gave them a short presentation and demo of how the feature I was working on could help them make some moolah. After all that was done, I was dropped off at the Milwaukee General airport (MKE), where I took the shortest flight of my life.

The flight was between Milwaukee and Chicago O’Hare. Our plane left the ground at 4:07pm and touched down at O’Hare at 4:25pm. An 18 minute flight. I don’t want to think about how much that cost! Unfortunately, the wait at Chicago was a little more than 3 hours. I spent the time in one of the restaurants where I had a leisurely-paced dinner with a couple of beers while watching some baseball. Probably the only baseball I’ll watch all year!

I touched down in Austin at around 10:30pm and got a SuperShuttle pretty quickly (which is weird, kinda, usually the wait is around 20 minutes). Got back home at around 11:15pm and was very tired but ended up watching the Tuesday episode of Lost. Still have to catch up with HIMYM, Modern Family and 24, though.

Anyways, after two back-to-back 9-hour sleeping nights, I feel good again! Unfortunately for my health, the NBA Playoffs began this weekend which means 20 hours of basketball (a quadruple-header each day)!

psyched about iPhone OS 4

Apple held their iPhone OS 4 event today and I must say, I’m pretty psyched by the features that they are rolling out. Some of them are things that should have been part of the OS from day 1, in my opinion, others are pretty good innovations. All in all, I can’t wait to see how they turn out come this summer. Let’s take a look at the features I’m most interested in…


Whooooohoooo! Multitasking has *finally* come to the iPhone. This is a feature that users have been asking for years now, and Apple has finally delivered. Their method of delivery is kind of interesting, though, in that they are not allowing for full-featured, automatic multitasking. Effectively, if you want to add multitasking to your app, you’re going to have to do a bit of work. Multitasking is exposed via 7 different APIs that allow you to plug-in to different things from background audio to VoIP. This is different from the standard computer paradigm of multitasking, wherein you save whats in memory and all your valuable stack pointers, load something else into memory and then set up your new pointers correctly. Whether this is a smart way to implement it, only time will tell, but it’s likely to decrease the latency in switching between applications and actually using the foreground app, with all that bookkeeping not being relevant any more.


Of late, I’ve been suffering from an inability to organize my apps as I want them because there are too many/too little of a certain type. I tried to be as categorical as I could from the beginning–organizing by things such as games, social network, etc. However, the issue is that if I want to reorganize a category, or if a category overflows to another page, I’m pretty much screwed. Or not screwed, but in a situation where I spend a bunch of time moving apps around. Folders have been part and parcel of the BlackBerry OS for ages and they are one feature that I used extensively when I still used my Curve 8310. This is a welcome addition to the organizational freaks such as myself.

Game Center

This is the last thing that seems like it could be useful–it’s basically XBox Live for the iPhone. Meaning that you can create match-ups, track leaderboards, etc. Many games currently do this through manual leaderboards driven through web-service calls–this would obviously be an improvement since there would be a standardized API to be able to handle all that stuff, and also the more stable Apple servers running it.

Amongst the other features mentioned, there was better mail management, better enterprise integration, etc. I didn’t really find much of that relevant, but I’m sure there are people who are elated by that news. Amongst the announcements that I didn’t like was their iAd offering. This is basically an effort to counter the in-app ads that are currently being pulled in by many apps (through AdMob and the like, I suppose). While the framework allows ad developers to basically create a lightweight app (one that in many ways will be like a pre-OS 4 app), I think it will be detrimental to current apps. We may see a bunch of apps being rejected/removed because they don’t embrace the iAd platform. While the idea of having these app-like ads may seem novel, I wonder how many people seriously click on an ad. Then again, given that Google built its empire on ads, maybe I’m just a minority.

That’s all for now!

enjoying the vaio

Last Thursday, I ordered a Sony VAIO Y Series laptop (VPCY118GX, to be exact) to use as my new “work” machine. Basically, I’ve got a few weeks of travel coming up in the next month, and I was not looking forward to the prospect of carrying around my large HP laptop with the potential of the fan (re-)busting up again. After searching high and low (mainly high, since I wanted a high-end PC) for about 2-3 weeks, I finally settled on the offering from Sony. This was a perfect combination of style and performance, in my opinion. It was delivered on Tuesday (just 3 business days–amazing!) and I’ve been setting it up to pace over the last few days.

My initial thoughts are that I love it! Here are the specs:

Processor: Intel Core 2 Duo SU7300 1.30GHz
RAM: 4GB DDR3 800MHz
HDD: 500GB 5400rpm
Screen: 13.3″ Widescreen LED with max. res. of 1366×768
Weight: 3.90lbs

The laptop itself is not shiny, but unassumingly sleek. Complete opposite from the HP, which is a fingerprint magnet. It is extremely lightweight… I can hold it under 1 arm for more than 5 minutes without notable fatigue! And the battery life is ridiculous. It came with 2 batteries–the standard 8-cell and the extended 12-cell. The 8-cell has a max-advertised battery life of… 8 hours. The 12-cell has one of 12 hours. Ridiculous, right? If I took both of these on a full charge, I’d be able to make it all the way to India without needing to take my AC charger (of course, I wouldn’t be able to use the laptop for anything useful, and would be in a bit of a pickle once I reached).

From my personal perspective, battery performance is more than adequate. I have brought the laptop in the last 2 days and it has easily managed to stay alive the whole work day. This, despite me doing resource heavy tasks like synchronizing 11,000+ files from a remote server, being on VPN the whole day and building LabVIEW on it. In fact, I’ve run it for about 7.5 hours already, today, and it still has 29% remaining.

I’m guessing this extra battery life is coming from a lower-clocked CPU and thus expected lower performance, but this is not the case. Running Windows 7 Professional 64-bit, this easily blows my Windows XP on a Core 2 Quad out of the water. All in all, a great purchase, in my opinion!

One problem I do have, thus far, is with the keyboard. Obviously, this is smaller than any keyboard I have used (the smallest laptop I owned before this was a 14-incher) and hence I will have a few gnawing pains as I readjust my wrist-flexing angles. The keyboard is also a bit too loud for my taste, but not enough to take away from the rest of the experience!