Archive for July, 2009

How Apple Can Win Me Back

At Kroc’s request, I’m compiling a list of what Apple will have to do to win me back.  It’s not a long list, and it may not be exhaustive (meaning I may arbitrarily add more to it), but here goes:

  1. It’s time to regulate App Store approval process.  Consistency and transparency needs to be key.  I’m a web developer and I participate in the tech community.  To see Cocoa developers get screwed after spending all their time, energy, and capital writing an app only to be unceremoniously, silently rejected with no explanation is to see pure evil.  This is pretty much my main request.
  2. However, I’m tired of the iPhone being shackled.  Unlike Eugenia, I don’t have specific requests like enabling EDGE on Pay-As-You-Go phones, but I’m tired of the iPhone being a closed platform.  I do not believe in “it’s Apple’s playground, if you don’t like it, go somewhere else.”  It’s my device. I bought it, I own it.  I want to theme my phone.  I want to run background apps.  And I sure as hell don’t need Apple telling me which apps are not suitable for me to run (outside of those that actually do harm to my phone and/or me, e.g. malware, spyware). It’s time to open the private APIs to the public, duplicate functionality or not.

That’s it.  I maintain that OS X is the best desktop environment today.  I *love* my Mac and I love how integrated and “at home” I feel with it.  I don’t want to give it up.  I certainly don’t want to go back to Vista (although 7 is nice so far) or start running Ubuntu or Fedora on my iMac.

I think OS X/iLife and the iTunes/iPhone combos are awesome.    I think the Cocoa frameworks are just genius, and they inspire programmers to write beautiful and slick applications rapidly.  I want Apple to do the right thing.

Just for comparison, I have nothing but warm feelings about Amazon.com, despite some issues people have had with them. See how Jeff Bezos stepped up and took personal responsibility for a recent fiasco.  That’s how a CEO should behave.  A big company I respect.  I trust and respect Google.  But Apple leaves me with a metallic taste in my mouth that I know isn’t good.

I hope things change, but I’m not holding my breath.  Then again, stranger things have happened.

I’m Kicking the Apple Habit

I just sent this letter to Apple via their feedback form. Those of you that know me know that this is a big deal for me.

I am the owner of many generations of Apple products. From iBooks to Macbook Pros, Macbooks to multiple iMacs, multiple Airport Extremes, Airport Express, AppleTV, every generation of iPhone, three iPods, iWork, iLife, OS X and much more, we’ve owned and paid for it all. I also rely heavily on the incredibly applications that run on OS X, gorgeous and useful as ever.

I have personally convinced at least 10 people to switch to AT&T to the iPhone. I’ve convinced dozens to switch from PC to Mac. I can provide names if prompted.

However, given the treatment of iPhone app developers recently, from Darkslide[1] to Google[2] to the recent Google Voice fiasco[3][4], and the unnecessary lockdown of all of your platforms, I was forced not only to advocate for the increasing wave of jailbreakers, but also to make a startling decision: I’m kicking the Apple habit.

Your treatment of developers sucks. Your treatment of your users sucks. Your treatment of the general public sucks. I’m over it. I’m not buying any more of your products until I see a change. You don’t deserve your customers respect anymore. You still make the best products, but I’m not spending, or encouraging anyone else to spend, another dime with your company until you respect your ecosystem.

OS X only exists because quality developers wrote XNU, Darwin, and BSD. You benefit from that. If those people were treated the way you treat your developers, you’d have no core platform.

I’m anxiously awaiting your next move.

[1] http://speirs.org/2008/09/12/app-store-im-out/
[2] http://www.osnews.com/story/21903/Apple_Rejects_Official_Google_Voice_iPhone_App
[3] http://www.seankovacs.com/index.php/2009/07/gv-mobile-is-getting-pulled-from-app-store/
[4] http://www.riverturn.com/blog/?p=455

Why Degrade Gracefully?

I got thinking today, as I near roll out of an internal helpdesk app heavily using jQuery, why we bother to degrade our scripts so they work without javascript. I get it: some people have javascript disabled in their browser… but my question is this: so what?

Javascript is a core part of web experience today.  In fact, I’d say that, on the desktop in the full browser front, if your browser doesn’t support at least HTML 4, javascript, and CSS 2, you’re not playing with the right tools.  After all, we expect that people can parse HTML, why not expect that javascript is a pre-requisite for web usage?

javascript

Some of us go to great pains to make sure our sites work should a user have javascript disabled.  But I’m actually considering the opposite: hiding certain critical elements if you don’t have javascript enabled to ensure that each visitor is on an even playing field.  Wrapping submit buttons in jQuery’s append() method, submitting data on click(), and plentifully exchanging JSON data via AJAX throughout ought to properly cripple participation of those who opt out of script execution on my site.

It all comes down to this: if you want your site to reach the widest audience possible, you need to anticipate that the client may not allow you scripting capability.  Conversely, on our intranet, and maybe one day on my websites, I’m doing the opposite: if you want to use the site, you’ve got to enable javascript: if you don’t, well… your loss.

Why Windows 7 Won’t Turn Microsoft Around

Roughly Drafted has an incredible article about why Windows 7 won’t turn Microsoft around. It’s totally accurate: Microsoft is missing the boat over and over and over again.  If I were in charge of Microsoft, here’s what I’d do:

  1. I’d immediately begin a very public plan to phase out Trident and replace it with Webkit over the next two versions of IE.  I’d blog about it endlessly so everyone knows that while Trident will exist (with extended CSS and HTML 5 support, natch) in IE9, it will be a new, fully Webkit based browser by version 10.
  2. Developers, developers, developers? Start bundling Python and Ruby with Windows to encourage cross platform development.
  3. At the same time, it’s time to release a statement granting the freedom for developers to implement .NET on other platforms.  Fighting Mono in any sense just means more people won’t ever want to touch your tainted tech.
  4. On that note, I’d start looking at free.  It’s time to start giving away Visual Studio.
  5. I’d stop the artificial versioning.  Microsoft actively cripples their products.  They handicap their server OS to not recognize RAM until you shell out cash for a more expensive version.  Look at Citrix, who accomplishes this without the same aftertaste: XenServer is free, no limits.  But certain non-essential features are part of an enterprise package.
  6. The cost of software is destined to approach free.  Office software is too expensive, and it’s why people are seriously looking at Google Apps and other office suites.  We’re all beginning to realize we don’t really need Excel, Outlook, and Word as much as we thought.  Once we can convert our PST files, the rest is just getting used to an alternative.

We’re witnessing the collapse of a major entity, I think, and it may take decades, but you can see the cracks now.  Zune doesn’t make money.  X-Box doesn’t make money.  Bing is never going to take any significant traffic from Google.  Windows isn’t generating the revenue it used to.  IE is less important than ever.  Office is finding its way onto fewer and fewer computers.  Linux is coming into its own.  Netbooks will almost certainly, in time, be owned by Chrome or something like it.  Windows Mobile is stale and unpopular on phones today with no suggestion that it will ever be able to compete with iPhone OS, Android, WebOS, or Blackberry OS.

Windows 7 is shaping up nicely; my department at work is enjoying our testing and can’t wait to deploy it.  But that doesn’t mean we’ll make a push to deploy it, we’ll just let it leak in.  And so will many others, most likely.

If you look around carefully, you’ll see the tectonic plates of technology shifting, as slowly as they always have, but as surely as they’ve ever been . Don’t miss it: what will one day be an exciting history is unfolding before us.

Michael Jackson: An Audio Blog Experiment

IE: Sucking Hard Since Version 5

This code (extracted from a javascript file) works in every major browser except IE (including IE8):

     $('a[rel*=fancybox]').fancybox({
          'frameWidth' : 500,
          'frameHeight' : 465,
          'hideOnContentClick' : false,
          'centerOnScroll' : true,
     });

This is the fix:

     $('a[rel*=fancybox]').fancybox({
          'frameWidth' : 500,
          'frameHeight' : 465,
          'hideOnContentClick' : false,
          'centerOnScroll' : true
     });

See the difference? Yeah, neither did I. The difference is the last comma in the argument list.

That’s 3 consecutive major versions of IE that have been absolutely crap.  Why anyone continues to use IE is beyond me.  IE: sucking hard since version 5.

Slush Puppy

Slush_Puppie
I miss Slush Puppies.