Throughts on Steve Jobs’ “Thoughts on Flash”


Mac users buy around half of Adobe’s Creative Suite products

This is more for the fanboys.  By extension, I guess that the other "around half" of Adobe's Creative Suite produts run on Windows systems.  I didn't realize the market share was that high for Windows and CS.  So if Macs are soooooo much better at handling media, why is only "around half" of the CS products sold to Macs?  Truth is, dollar for dollar, you get more performance out of Windows systems than you do Macs.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Except the definition where Flash is an open standard, and you can search for "flash editing software" and find dozens upon dozens of programs you can use to create and edit Flash files, and which run on Mac, Windows or Linux OS.  Yes, CS5, Adobe's commercial product, is proprietary, just as Apple's iLife isn't open source, but by nearly any definition, Flash is an open ecosystem.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash.

Wait, Macs crash? Really?  And wait, Macs have a security issue due to Flash?  Hmm.  No argument on the instability or security aspects of Flash–these same Flash-derived issues plague Windows systems, too, but Apple has kind of built a business saying their systems don't crash and don't have security issues.  Hand over fist the majority of Windows crashes (one statistic claims 70% of IE crashes) are caused by Flash.  When Flash causes a Windows crash, that's Windows fault, but when Flash causes a Mac to crash, that's Adobe's fault?  Maybe Justin Long can explain it.

Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

H.264 might be an industry standard, but it's not an open standard.  To use H.264, you need to license it, just like MP3.  In fact, it's the same group.  Mozilla Firefox, arguably the dominant web browser, refuses to support H.264 because it's not an open standard.  The licensing for H.264 is free until 2016, but no word on what happens after that.  It could be very, very expensive to have a large media library in H.264 format, so sites like YouTube may want to reencode their library.  I'm not speculating here, Google recently open-sourced its own codec
called VP8
Opera and Mozilla support Ogg Theora codec (which is apparentlynot as good as H.264, but is completely open).  Chrome supports both H.264 and Theora.

Secondly, the decoding of H.264 is baked into the chips in mobile devices.  So what happens to your iPhone/iPad/iPod Touch is Google reencodes all of YouTube into its own HTML 5 codec?  You'll need a software decoder, and there go all the arguments for dumping Flash due to battery and performance concerns.

Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

I totally agree!  Can Flash rollovers go the way of animated GIFs?  Alternatively, write a Flash or Silverlight based site for a great experience on a desktop, but use a browser capabilities file to detect a mobile device and serve up a mroe mobile-friendly interface.  Not some lame can't-do-much mobile site, something really good.  It's being done.  But it's probably easier just to skip the Flash and Silverlight and just write a nice, clean CSS-based site.

If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

I see his point, and some incredible work has been done on the iPhone OS.  But good things happen on other platforms, written in other languages and with other tools.  Programs I liked on my old WinMo device, like my password keeper, aren't available on iPhone, and there's no good way to migrate a lot of passwords or contacts.  Having the same program on different platforms is wonderful from a consumer's point of view.  I could simply transfer a new file and go on with the iPhone love.  I currently have a Droid, and I'm going through the password pain right now.

As a developer, I want to reach the widest possible audience with the least amount of work, and that's the attraction of cross-platform development tools.  What really makes it tough is the different implementations of accelerometers, GPSs and touch screens.  We either have to learn every platform's dedicated language, or use tools like MonoTouch, which abstract the OS-specific commands into a generic set, then compiles the code into a platform-specific executable (like MonoTouch was trying to do), or an executable that will run if some additional framework (like .NET or Java) is installed.  

At the current moment, Windows Mobile is a dead platform.  The hardware supporting WinPhone 7 better ROCK, or Microsoft should just get out of the business.  Any disappointment and they'll never recover.  Android is coming on very strong, has an active and excited user base, and so is an attractive development target.  Obviously, the rabid fandom and huge install base of iPhone OS devices is very attractive.  It would be sweet to develop for both Android and iPhone OS using the same language and tools.

As developers, we HATE to wait for our libraries to support new features.  I think that Apple's secrecy goes a long way to slowing the adoption of new features.  There's a way to work with other companies to enable the maximum development effort, and Apple is as much at fault as the thrid party platform providers in adopting support for new features.  Contrast Apple's approach with that of Microsoft, which gave everyone a pimped out laptop at PDC to spur development on Windows 7, or Google, which gives hardware to developers whose sofwtare reaches certain download levels.

In no way shape or form will Apple closing their system slow cool things from happening on the platform.  But it's a little facetious to call out other companies for being closed when they're really not, and you're slowing the access to new developers to the ecosystem.

Agree?  Disagree?  Hate Mail?  Please use the contact form, I'll post the best comments (especially the ones where I'm wrong, I'm open like that).  Public comments are off due to comment spamming scum.

Home for the holidays, can you look at my laptop? (Part 2 – the demise of a video card and the MBR)

My brother lugged two kids and two laptops from Phoenix.  At various times through the day today, I’ve been surrounded by all four of them.

This particular episode involves a Dell Inspiron 600m.  I’ve never seen a display look like this.  Either the LCD is totally shot, or the video card is shot.  After some diagnostics with Dell tech support, it’s the video card.  Which means a new motherboard.

During the diagnosis, the laptop ceases to boot past the Windows screen, repeatedly bringing up a BSOD about the master partition.  Pulling out my trusty new Slax bootable USB key, I can access the data on the HDD, so the drive controller and drive are OK.  As long as the drive is OK, the controller doesn’t matter—we’ll have a new one soon anyway, with the rest of the motherboard.

So, it’s off to eBay to locate a new motherboard, and then a Windows restore once he ships me the CDs.  Looks like he’s going home with 2 kids and 1 laptop.

DotNetKicks Image

Home for the holidays, can you look at my laptop? (Part 1 – Linux saves the day)

One of the great joys a family has when a member works in IT is onsite technical support when we all get together.

The Victim

Part 1 is pop’s laptop, which picked up a nasty malware bug somewhere.  Probably one of the hundreds of funny videos he gets sent by all his buddies.  Despite AVG and Windows Defender, something got in there and screwed up the userinit.exe.  We could get to the welcome screen, but as soon as you clicked the username, you’d be immediately logged out.

The Scan

I found a great list of free bootable rescue CDs, and downloaded and ran the offering from f-secure.  The f-secure disk boots into a network enabled Knoppix environment, and you can grab the latest definitions file via network or onto a USB key, which I did and the software located automatically.

The scan found and and quarantined one infected file, and a couple previous infected versions in the system restore archives.  It was the userinit.exe, so now the task becomes replacing it.

The (failed) System Recovery

HP/Compaq doesn’t ship recovery disks anymore.  Instead, the recovery is located on a secure partition you boot into.  This is important to know, because if I had known this at first, pop’s laptop would have been fixed a week ago when he UPS’d it to me.  After running the online recovery, I was still unable to log in to Windows.  This meant we had to use the destructive restore.

The Data Recovery – Linux to the Rescue 

To prevent losing data, I had to boot the system and copy it off.  I first tried a Windows LiveCD made with BartPE, but my laptop has an IDE drive, and pop’s has SATA, so there were no drivers for his HDD.  Plan B was to boot into Linux.

The first Linux attempt was an Ubuntu 8.10 LiveCD.  Ubuntu must not support SATA on its LiveCD, because it couldn’t mount the drive.

Next attempt was PC Linux OS, which is my favorite distro running under Parallels.  I made a bootable thumb drive following the instructions at PenDriveLinux.  We booted and mounted the SATA drive, but by default the thumb drive is not writeable, and I couldn’t enable writing to the drive.

My last attempt was to use Slax.  I made a bootable USB key with Slax.  Slax is very lightweight, and has an attractive KDE shell, easy networking (using WEP), and a good set of standard  utilities for burning CDs and DVDs.  Some of the critical data I copied to the thumb drive, and the rest (iTunes, grandbaby photos) had to go on a DVD.

The Destructive Restore

After recovering the data, I had one last-ditch idea, to replace the userinit.exe on pop’s machine with the one from my machine.  No dice.  Don’t know why, but didn’t work.

So, I booted into the recovery mode, and did the destructive restore.  Success!  After a small amount of configuration, and reinstalling his software (thankfully he’s un-savvy enough to only have a couple programs), he was up and running.  And now it’s time to finish changing all the passwords.

Moral of the story

HP/Compaq’s onboard restore partition is handy and well designed, but the simple non-destructive recovery may not be enough after a malware infection.  When you need to recover data, Slax is a lifesaver.

DotNetKicks Image

Do We Want Open Search to Beat Google at Search?

On Friday at the O’Reilly Open Source Convention, Wikia, the Web 2.0 community builder behind Wikipedia, gave the world an update on its progress toward building a new search platform based on open-source software and human collaboration.

Wikia executives said that by combining Grub with the power of a wiki to form social consensus, the Wikia search project has taken the next major step toward a future in which search is open and transparent.  

Full article at; additional story at

At first blush, this sounds like a great idea!  But, where human input is allowed–especially when from anonymous sources–one must watch for agenda-driven results, rather than relevance-driven results.  We see this already with Google-bombing, Digg-ing, and even on Wikipedia itself.   Part of the death knell of DMOZ was ego-driven editors keeping rivals from the listings.  The directory was wildly incomplete, and its utility was limited and eventually surpassed by Google’s* search abilities and completeness.

For politicians, their entries in Wikipedia are a constant tug-of-war between their supporters (or their staff) and those who oppose the politician.  Usually, the truth is somewhere in the middle, but depending on the moment you read Wikipedia, are you getting the full story?

User reviews have also become targets of “black-hat” techniques.  Recently here in Pittsburgh, someone rated six flower shops with almost identical comments (now removed) and 1-2 stars.  There was obvious malicious intent, possibly from a competitor.  The reviewer could not show she had ever been a customer from any of the shops she reviewed, which is why the reviews were promptly removed when pointed out to the review service.

Anonymous human collaboration has opened up an entire new industry known as “reputation management”.  The mere existance of such an industry puts the lie to the idea that harnessing human collaboration is superior to cold mathematics.  I’d much rather have the scatter from mathematics than a single train of thought provided by the most active linkers/diggers/editors.

*Yes, I’m aware Google has human editors tweak search results, but I’m not sure to what extent, and from what Matt Cutts has implied, it’s mainly to cull spammy and malicious results or confirm algorithms.

Rant: Kodak EasyShare Software, and Cardinal Sins of Installation

My company recently purchased a new Kodak EasyShare camera for one of our warehouses.  There’s a lifespan of approx. 2 years for anything electronic on a loading dock, and the previous camera was called to its heavenly reward.  Or run over by a forklift–there’s some uncertainty there.

EasyShare cameras can be mounted via USB connection, and operate pretty much as a USB drive, or you can install the EasyShare software for some added functionality.  I was disappointed in Kodak when the installation committed three cardinal sins of software installs:

1) Slow.  It took nearly 10 minutes to install, and required a reboot.

2) Unwanted icons on the desktop without asking.  I’m not so picky about the program icon on my desktop without being asked, but I’d prefer being asked.  One of the two icons was QuickTime, which is notorious for this (as well as one in the Quick Launch bar, but these are a beef with Apple, not Kodak).  The third was an icon to download and install FireFox.  WTF?  Unrelated software and shortcut clutter.  Stop that!  Leave my desktop alone–I have it just how I want it.

3) The last one is unpardonable.  An un-cancellable wizard, not for configuration, but for information gathering.  Kodak wants to know where you bought your camera, but “gift” isn’t an option (“other” is).  But the worst is a setup for Kodak’s EasyShare Gallery, which sounds like a photo-sharing site.  The three options are presented below.  To paraphrase, “I have an account”, “I want an account”, or “I want an account later”.  There’s no “Thanks but no thanks” option.  And that is unconsionable.

I finished the wizard, and promptly uninstalled the software.

My advice–avoid EasyShare software until Kodak repents.  The cameras are good, but don’t install the software.


Triple X and “keeping children safe online”

So I catch this article the other day.  I a little terrified at
the idea of the government deciding on appropriate content.  Not that this
doesn’t sound good in theory, but in practice, they’ll screw it up royally.

Senators propose labels for adult Web sites

The requirements appear in legislation announced Thursday by two Senate
Democrats, Mark Pryor of Arkansas and Max Baucus of Montana, that they say
will “clean up the Internet for children.”

The proposal, which the senators describe as a discussion draft, relies
on the idea of embedding a new tag–such as <L18>–in all Web pages that
the government deems unsuitable for minors. Then future Web browsers used by
minors could be configured to reject L18-labeled Web pages.

Another section of the Cyber Safety for Kids Act of 2007 would require
the owner of any Web site with adult content on it to say so when registering
the domain with the Internet Corporation for Assigned Names and Numbers. The
owner must also give ICANN the Web site’s Internet Protocol address and other


Oh, if only there was a way to easily indicate an x-rated site. 
Something really easy to filter on, like maybe a top level domain.  A TLD
could be very easily filtered out, and you’d pretty much know what kind of site
you were headed to when you looked at the URL.  Something that industry
would fully support…

ICANN rejects .xxx domain registry

The Internet Corporation for Assigned Names and Numbers has rejected a
controversial proposal to create a new .xxx domain suffix for adult Web sites.


Well, never mind.

Banned Book Week on Google Book Week

Book Week
is the last week of September (coincidentally, so is my birthday),
and Google Book Search is highlighting a number of
challenged or banned books
.  I was surprised to how many of the books
on the list were required reading in my rural Kentucky school district (not so
rural anymore, but was 20 years ago).  Plus, I’d read many on my own. 
I do remember some attempts to have books banned, and even one book burning (I
think it was Tom Sawyer), but that met with no success.

I’m curious as to the reasons for why some of these books are being
challenged.  OK, I get why some folks may not want Lolita rolling around a
middle school reading list.  But apparently I missed something in
James and the Giant Peach, which I read as a kid.  If anything, many of the
books should be required reading just for the sake of not repeating some of the
horros of the past.  I can’t really imagine a world without Salinger,
Vonnegut, Faulkner or Steinbeck, and I’d hate for any kids I might have one day
to live in such a world.

Hat Tip: Download

Rant: setup.exe

One feature I’d love to see removed from all versions of VS is the ability to
name a setup package “setup.exe” or “setup.msi”.  For the most part, the
developer community is really good at naming installers intelligently.  The
problem really stems from Microsoft.  It does not take too many powertoys,
fonts, add-ins, etc. before one accumulates a large number of “setup.exe”
files.  Or worse yet, a new one overwrites an old one you may still

Maybe it’s not an entirely VS thing.  It was the Consolas font pack that
started this rant today, and that may have been another installer. 
Regardless, this is a general plea–when you create an installer, please use a
name that identifies what is going to be installed.  Thanks in