Sunday, December 25, 2011

Windows vs. Mac OS X (It comes down to font rendering)

When it comes to which operating system someone likes, it's very much based on what biases that person brings to the table. So no shock that people who have been on Windows for years have numerous complaints about Mac OS X or vice versa.

However, there are differences that have nothing to do with user interface design choices such as toolbars (or lack thereof), keyboard shortcuts, etc., etc. One of the biggest differences between the two platforms is fonts, but more specifically, font rendering. If you've used Windows for years, one of the first things you'll notice as you start using Mac OS X is that things, e.g., web pages, look different and indeed it's not just your imagination. It turns out how Apple renders fonts is different than how Microsoft does it on Windows:

http://www.joelonsoftware.com/items/2007/06/12.html

I became acutely aware of the latter back in 2007 on account of noticing that the Windows version of Apple's Safari browser made pages look different than what I had been accustomed to while browsing with Firefox and IE (before I stopped using it years prior).

Turns out, now that I've had a Mac for the past year, I've reached a point where I prefer browsing on my Macintosh vs. my Windows system because of this font rendering difference (how pages look).

While I would agree with Spolsky that Windows' fonts are easier to read, the difference isn't stunning. Text is clear on the Mac. It's just that Windows uses less anti-aliasing and the pixel contrast, i.e. the individual pixels that make up a single letter, is more pronounced on account of the jaggies. Spolsky also writes:

you'll find that most people don't really know what to choose, and will opt for the one that seems most familiar.

Iterating, after actively using Mac OS X for a year, I now prefer browsing on my Mac. It's created a bias that I would have to say, if I bought a laptop today, it would be an Apple Macbook. (Aside: The Mac I got 12 months ago is a Mac Mini).

While font rendering is subtle, since it is visual and vision is people's primary sense, it's a major anchor for ensconcing people into a comfort zone. And since people are wont to resist change, it's very hard to pry them away from said comfort zone once they gravitate to it. This all means that people dropping Windows in favor of Macintoshes aren't likely to come back anytime soon. As a bad portent for Microsoft, check out the following AppleInsider article that came out last month (Nov. 2011):

http://www.appleinsider.com/articles/11/11/14/mac_sales_surge_despite_slipping_european_pc_market.html

In summary, PC sales dropped double digits in both the UK & Germany and close to 10% in France. But if companies selling PCs in Europe are blaming the global recession, the Macintosh market for Apple in Western Europe grew just shy of 20% year over year. I'll also remind the reader that Apple charges a premium for its hardware.

In closing, while I very much still use Windows 7 on account of Windows Media Center and my XBox360 acting as my DVR (check out the latter video link), nowadays if I'm browsing the web, more than likely it's on an Apple device (my Mac, iPad 2 or iPhone).

Tuesday, September 27, 2011

No, Google's Chrome Browser isn't the fastest browser by leaps and bounds (anymore)

Tech people (like the rest of the homosapiens) are experts at mixing facts with opinion, a.k.a. bias. In my view Firefox by and large caught up to Chrome with release 4.0. Since then it has continued to make great strides...

Yet, I've noticed many people saying "Firefox is bloated, slow, blah, blah, blah, blah, blah". One of them (who I don't know personally) is ZDNet blogger Steven J. Vaughan-Nichols. In short, Steven trashes Firefox with every major release but worships Chrome's every release. Merely juxtapose what he wrote not even one month ago about Firefox 6 when it was released (the Mozilla team this year adopted a fast release cycle like Google's for Chrome):

http://www.zdnet.com/blog/networking/firefox-6-a-firefox-too-far-review/1380

Now compare that with what he wrote about Chrome 14 which came out a few days ago:

http://www.zdnet.com/blog/networking/chrome-14-the-best-web-browser-keeps-getting-better-review/1469?tag=search-results-rivers;item3

There's opinion, "Firefox is bloated", then there's reality, Lifehacker just juxtaposed Firefox 7 with other major browsers:

http://lifehacker.com/5844150/browser-speed-tests-firefox-7-chrome-14-internet-explorer-9-and-more

Going back not even a month ago Tom's Hardware did JavaScript performance tests comparing the major browsers:

http://www.tomshardware.com/reviews/web-browser-performance-standard-html5,3013-9.html

In terms of JavaScript performance, Firefox 6 beat Chrome 13 in 4 of 5 tests. And today Firefox 7 was released. In closing, if your frame of reference of Firefox is anchored in the distant past, you should look again. Beyond that, if the plugins you've used under Firefox have memory leaks, crash Firefox, etc., etc., that's not the Mozilla team's fault.

I should also point out that Firefox for many years has supported HTTP Pipelining. Chrome to this day does not support HTTP Pipelining which is part of the HTTP 1.1 specification that came out 10+ years ago. Chrome does feature an alternative called SPDY however this is not part of the HTTP specification and you will only benefit from this if you are visiting Google web properties. The only popular browser that readily supports HTTP Pipelining is Firefox. One notable benefit is that as your connection latency goes up, e.g., 3G aircard, tethering on your laptop or God forbid, dialup, performance improves. If you find yourself browsing a lot on a 3G connection then Firefox with HTTP Pipelining is for you. Performance also goes up as the number of distinct elements that need to be fetched goes up, e.g., lots of images (which translate to that many more HTTP requests).

HTTP Pipelining is the first thing I enable when I have a new Firefox profile. In the address bar simply type "about:config", search for "pipe" then set network.http.pipelining to true. I also change network.http.pipelining.maxrequests to 7.

Sunday, September 12, 2010

Microsoft's Enhanced Mitigation Experience Toolkit


A week ago Microsoft released version 2.0 of EMET (Enhanced Mitigation Experience Toolkit):

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c6f0a6ee-05ac-4eb6-acd0-362559fd2f04&displayLang=en

Don't know what EMET is? I highly suggest you use it to launch applications that talk on the Net, in particular your browser. Here's a very technical video from Microsoft that talks about EMET:

http://technet.microsoft.com/en-us/security/ff859539.aspx

Let me give you a sample scenario. You visit a legitimate site that you've used for ages which unbeknownst to you, ads being served up are coming from a compromised ad server (a scenario which by the way has happened many times). The malware then attempts to leverage an arbitrary code execution flaw. Unfortunately for you, you're not very diligent about keeping your system up to date or you've ignored updating your system because well, "I'll do it later." Malware sent your way succeeds in leveraging an arbitrary code execution flaw that just surfaced with your browser of choice two days ago installing a backdoor and thus gaining complete control of your computer at which point the remote attacker can take whatever files they please, use your computer as part of a spam network, denial of service network, etc, etc. In short, your system is completely at someone else's mercy and you don't even know it. Let's take a more optimistic scenario. You're on a fully patched Windows 7 system with UAC enabled so you're safe (usually) from getting your machine taken over but malware comes in through your browser which isn't patched. You don't have the latest browser revision because you've put it off, turned off auto-updates or worse, there's no patch for an exploit that has surfaced. You're then unfortunate enough to visit a site with malware and a recent exploit is leveraged introducing rogue code into your system. That code is at the very least capable of reading and modifying files you use day to day. Whether they be explicit documents (such as MS Word) or implicit documents (the cookies in your browser). Unfortunately, your browser doesn't prevent the malicious code from reading any file(s) belonging to you, in particular, browser cookies. After which, someone starts going into your various online accounts with your active cookies (which were conveniently sent to them over the Net) to see what they can find.

So how do you use EMET?

1) Go to the first link I provided - download and install EMET
2) After launching EMET hit the Configure Apps button in the lower right
3) Hit the Add button on the dialog box that comes up and specify the path to an executable you would like to protect, e.g.:

C:\Program Files (x86)\Mozilla Firefox\firefox.exe

4) Hit the Open button on the file browsing dialog (aka OK).
5) Restart the application in question, in this example, Firefox

(Look at blog post image)

Firefox is now protected from a variety of attack vectors often used in arbitrary code execution. The video elaborates on them quite well.

Whereas RemoveAdmin (a security tool that I authored) is all about leveraging OS level security, Microsoft's EMET is about maintaining the integrity of processes and thus, at the very least, providing application level security, e.g., your browser cookies. At worst, if you have an unpatched system (the OS) you could find yourself with a system that's been botted, has had a keyboard logger installed, etc., etc.

In my particular case, I not only have added the browsers I use day to day to EMET (Chrome, Firefox), I've added all applications I regularly use that talk on the Internet. In particular, iTunes, WinAmp, Outlook, Adobe's PDF reader, Windows' Media Player and Apple's QuickTime player. The links I've provided in the previous sentence point to security advisories for each of these applications they are not links to the products' respective web pages. If you have doubts about what I'm saying, just visits those links. Yes, as hard as it for a lay person to comprehend, you can have your system compromised by watching a video pulled off a web site. This is why you should start using EMET today. In short, I will never launch my browser from here on out without this tool.

Finally the following article surfaced after my initial blog post. Here's a scenario where an exploit of Adobe's PDF reader has surfaced, Adobe itself doesn't yet have a patch but through the use of EMET the exploit is short-circuited:

Thursday, July 22, 2010

The Rise, Rise and RISE of Apple

Is the news at this point surprising?

Apple's Profit Rises 78% on Appeal of New Devices

Apple's position is further cemented by one simple fact. The iPhone has fundamentally changed the way people operate, i.e. not only the things I can do on a day to day basis while I'm on the move but also when I'm sitting at home. In contrast neither Windows or Mac OS X have fundamentally altered how I've interacted with personal computers for years. While in some cases they do provide interesting back end services such as Windows' Media Center, Netflix's streaming service is the primary manner in which I consume video and I don't need a personal computer for that.

With Apple's latest firmware iOS 4 I leave Skype running on the iPhone in the background all the time. I can make and receive various voice calls and bypass AT&T completely. At the same time Pandora runs in the background streaming music based on previous feedback I've given it. This all the while relaxing on the couch and web surfing. If Pandora isn't doing it for me, I can fire up RemoteX and control WinAmp to start streaming music from various different sites that are in my default playlist. The music then starts over the Klipsch 5.1 speaker system on the PC. If the music streams aren't doing it for me either, I can fire Apple's remote app, search through my entire iTunes music library for a specific musician/song and start playing it:

http://www.apple.com/itunes/remote/

Then again maybe later in the day I decide that I'd rather watch some video content. I can fire up Boxee on the PC, display it on my HDTV and control the experience through my iPhone:

http://blog.boxee.tv/2009/03/15/boxee-iphone-remote-app-available-on-the-app-store/

(Aside: If you haven't tried the latest Boxee beta you're doing yourself a disservice, check it out)

You see it's about choice, choice and even more choice.

This is the fundamental difference between the Apple of old and the Microsoft of old. Many years (+15?) ago Bill Gates used to talk about "information at your fingertips" but his vision was very desktop centric and predated the rise of the World Wide Web which was spearheaded by forces not aligned with Gates' visions and Microsoft's fortes. We've reached a point where it's about consumption at your fingertips. Nowhere is this better showcased than what happened to Flipboard recently:

http://bits.blogs.nytimes.com/2010/08/04/flipboard-stumbles-in-its-first-days/


Excerpt:

Flipboard, which uses Amazon Web Services, has been doubling its server capacity each day. The company would not reveal how many people have signed up for the service, but said it is a good percentage of iPad owners, of which there are more than 3.3 million.

Personal computers have been as much about content creation as content consumption which is why a desktop centric approach placed on a small device in the palm of your hand doesn't work and helps explain the runaway success of the iPad.

One other fundamental change Apple has elicited from consumers is they've opened up their wallets. While the sales of software to corporations has been par for the course for decades, consumers became extremely frugal quite some time ago getting very used to the idea of FREE. For example, I can recall the days when you had to pay for anti-virus software for your home computer, there's no reason anyone should pay for anti-virus software today. No doubt this is one factor why CompUSA exited the brick & mortar retail space.

Specifically, the rise of micro-transactions and digital distribution has put an end to the walled garden of various middle men relegating them to the dust bin. With many applications either free or 99 cents, Apple's App Store has ushered a new age where people buy software with no significant concern for the money they spend or the value they derive. After all, if it's a lemon, the most they're out of is 99 cents. Yes, no more $9.95 and $19.95 software specials thank you very much.

As middle men's leverage disappears with new digital distribution, it allows people that actually create products to achieve independent wealth:

http://bits.blogs.nytimes.com/2010/06/25/doodle-jump-reaches-five-million-downloads/

The creators of Doodle Jump have sold millions of units. And the math is quite simple, app developers get 70% of the sale which means Doodle Jump's creators are now collectively millionaires and no surprise they quit their day jobs to focus on their new entertainment software business.

This is the kind of story that would never have happened 5 years ago if you were talking mobile applications. It's no surprise that because of stories like this along with the iPhone's market/mindshare, developers have flocked to Apple's platform. It also means that Microsoft, Google, Nokia and RIM (Blackberry) have their work cut out for them trying to establish similar mobile software ecosystems.

While Google has made lots of progress with its Android platform, I have to point out that all of the things I mentioned that I did at home with my iPhone (examples I gave earlier of controlling my PC) have absolutely no reliance on the telephone network (AT&T). Everything I talked about can be done with an iPod Touch or an iPad (via Wifi). Meaning the same software that works on the iPhone works on the latter Apple devices and such a dynamic or complementary ecosystem doesn't exist for other vendors. While there is movement in the Android space with respect to tablets, I'm talking about the here and now.

Which precisely leads into my key point. The reason why Windows has had a vise grip on the desktop is because of its ecosystem of choices. Whether its software drivers to drive an old laser printer to DVD creation software to photo imaging software, you name it, a turnkey solution for the consumer on Windows is probably there.

Switching to the mobile market, until the iPhone came along, there was no such equivalent ecosystem of choices. The telephone companies with their typical lack of vision did not make installing applications easy nor did they pioneer the smart phone category with a partner. Apple created the category and AT&T was willing to go along for the ride. With the introduction of the Apple App Store, seemingly overnight an explosion of choices for consumers became an ecosystem of choices. Which means the average consumer (jailbreakers, hackers, idealists, open source zealots need not apply) stands to lose more peripheral consumption capabilities than gain if they leave Apple's platform. Not being able to do many things you're used to becomes an extremely powerful dissuading force and people are very much creatures of habit further reducing the chances of them jumping ship.

As Microsoft, Google, RIM and Nokia will find, unseating such an ecosystem of choices is not easy. The peripheral advantages often outweigh enticements like "FREE". This is why OpenOffice hasn't suddenly supplanted Microsoft Office despite being "FREE". Or why LINUX desktops haven't supplanted Windows desktops despite, again, being "FREE".

It boils down to the ecosystem of choices and the side effect of having lots of choice (vs. few or no choices).

Sunday, June 20, 2010

Microsoft Security Essentials

This weekend I moved away from the freebie AVG as my antivirus software to Microsoft Security Essentials (MSE). This Lifehacker article clinched the deal for me:

http://lifehacker.com/5559102/microsoft-security-essentials-finds-unknown-malware-but-avoids-false-positives

However it was this Arstechnica article that elevated MSE enough in my mind and started me on the road to this decision. Basically a new attack vector was concocted in the wild that bypasses practically all antivirus software, except for MSE:


Here is an article covering the technical details on this new attack vector:


Given that Microsoft Security Essentials has better detection of malware than AVG (according to the information presented by Lifehacker, which I trust), fewer false positives, is not vulnerable to kernel hook attacks and last but not least is FREE, I was sold.
MSE is available for Windows XP, Windows Vista and Windows 7.

Thursday, June 10, 2010

"Safari 5 tested: Chrome, Opera still have JavaScript edge"

I was pretty sure it wasn't my imagination when I opined that Apple's just released Safari 5 felt significantly faster than Safari 4 on Windows (note the closing paragraph):

http://arstechnica.com/apple/news/2010/06/safari-5-tested-chrome-opera-still-have-javascript-edge.ars

Make note of the Sunspider graph, namely IE 8's performance (or lack thereof). IE 9 however seems like it might be worthwhile to use. Yes, necessity or rather, loss of market share in Microsoft's case, is the mother of invention (swift kick in the pants). Just look at the trend for IE on this chart:

http://en.wikipedia.org/wiki/File:Usage_share_of_web_browsers_%28Source_Net_Applications%29.svg

Monday, June 7, 2010

Apple Releases Safari 5 Today

As part of all the noise at the World Wide Developer's Conference today, Apple released the next major version (5.x) of their Safari web browser for the Macintosh and Windows platforms. Safari 5 is now available from Apple's web site:

http://www.apple.com/safari/download/

After some initial empirical testing, Safari 5 (on the PC) feels much faster than Safari 4. It seems Apple made a real attempt at polishing the Windows version of Safari whereas in the past it seemed Apple was releasing a tool so web developers & testers could see how things might look on Mac OS X (the premise being it wasn't readily available). It feels snappy as I write this entry on Blogger.com.

Here's Lifehacker's writeup on Safari 5:

http://lifehacker.com/5557731/first-look-at-whats-new-in-safari-5

Finally, the question of whether to make Safari or any other particular browser my default is irrelevant for me since I use the most excellent Browser Chooser: