Apple Fails In Different Ways to Different People

Friday, April 2nd, 2010

Great response to Corey Doctorow’s post about why you shouldn’t get an iPad. And as one who started hacking on an Apple IIgs when I was 10, I fully agree with Gruber. Calling the iPad a “closed system” is an oversimplification. His story about the young boy who wrote his first iPad app that’s for sale in the App Store is great.

Those running and screaming away from this platform are free to do so, but there is a huge place for developers and creators who stay and motivate Apple in the right direction. Yes, Apple has a very different model of personal computing in mind than we’ve been used to. There is much work to be done to influence Apple while working within their current constraints. Of course Apple doesn’t make the right decisions all the time. But they make enough of them that I’m sticking around to work with those who are pushing back while still making use of their tools.

Five Stages of Accepting an Apple Product

Wednesday, March 31st, 2010

With the release of the iPad this Saturday, I’ve been pondering the coverage and am amused. I present my own snowclone of the Kübler-Ross model.

1. Speculation

Everyone and their cat has a prediction to share. The rumor sites whip the public up into a frenzy. Apple’s latest gadget will change the world. It will do everything technology has promised since Star Trek. It will do video conferencing. It will understand your speech. It will translate. It will teleport.

Of course it will. Why? Because I read about it on macrumors.com!

2. Announcement

The world stops working while everyone slams the poor servers of real time news bloggers lucky enough to have a golden ticket to the show. The lights go down. Fanbois hold back the tech-gasm. Steve Jobs takes the stage and unveils….

Huh? Where’s the teleporter? Wait, what? It doesn’t run 20x faster than the latest and greatest piece of hardware of roughly the same size and weight? What? It’s not powered for eternity by the laughter of angels and has to be, gasp, recharged?!?!

Meh.

3. Anger

We’ve never, EVER been so let down by our own hyped up expectations. I mean, come on, Apple! Don’t you read the rumor mills??!?? Surely you should know our whims by now! Why don’t you do what most other companies do and announce your amazing products months or years in advance? At least by time it’s released we’ll be bored enough through all the hype that we’ll forget how much was promised and not delivered!

4. Denial

You know what? I heard that someone’s working on a better idea that’s going to be an “iPad Killer”! Yeah, I heard about it at that conference, you know, the one that Apple didn’t go to. In fact, why don’t they go and show off prototypes at all these trade shows? Can you believe it? How can they be so stupid to miss opportunities to generate interest in their products? They’re doomed.

5. Acceptance

Hey. Did you see the new iPad videos? Yeah, they look pretty simple. Oh, you got one? Haha, how do you like it? Hmm. That’s nice. I still miss the teleporter, though. Oh? You can run all your existing iPhone apps you bought on it? That’s a nice touch. Can I hold it?….

Links for Tuesday, March 9th, 2010

Nietzsche on Skepticism

Monday, February 8th, 2010

“The skeptic, in effect, that delicate creature, is far too easily frightened; his conscience is schooled so as to start at every Nay, and even at that sharp, decided Yea, and feels something like a bite thereby.”

- Frederich Nietzsche in Beyond Good and Evil

CodeMash iPhone Schedule App

Saturday, January 9th, 2010

In preparation for the CodeMash developers conference coming up soon, I wrote an iPhone web app that reads their schedule information and presents it in a slick, native interface. You get all the sessions, times, a map, and you can mark the sessions you want to attend. It’s open source, too, if your curious how it was done.

This link has more info: http://icodemashschedule.heroku.com

UPDATE:

Bruce Abernethy did a great writeup of several of the CodeMash schedule apps out there.  I got a pretty good mention!

iPhone vs. Android Development

Monday, December 28th, 2009

Leon Gersing has been dabbling in Android development lately and made quite the comment on Twitter today.

Of course, it’s all in good fun.  Leon’s a bright guy and I was genuinely interested in what he’s observed.  Well, he quickly cranked out a post describing some of the differences between the iPhone and Android from a developers perspective.  I agree with what he’s said.  While the iPhone is a commercial powerhouse, Android has some really good things going for it under the hood.  Whether that matters or not in the marketplace remains to be seen, but you can’t keep good developers from salivating over each other’s tools.  I like what he’s showing.  And I hope that some of that impacts iPhone development, too.

I left a comment for him describing, from my perspective, some of what holds the iPhone back.  I thought I’d summarize it here, too, for my readers.

  1. Anonymous functions/closures – Objective C needs them badly. They got them in the latest Snow Leopard, but not on iPhone yet. And even then, the syntax REEKS of C. It’s a horribly leaky abstraction that, while doable, is not as elegant as he pulled off with Java. That’s unfortunately more of an fundamental Obj C issue than just a Cocoa issue.
  2. Garbage Collection – Yes, Obj C 2.0 does have it. I don’t know why the GC wasn’t included on the iPhone. My suspicion is that Apple is being cautious or is waiting on some better optimizations to it’s GC. That is indeed a point about the JVM that shines. They’ve done serious research into good GC. I doubt that the iPhone will be GC-less for long. It’s unfortunate it’s not here yet.
  3. Community Involvement – Yes. Android is a more open platform. And I’ve bumped into more and more devs who are stoked to use it. It’s gathering the same kind of collaboration appeal that I sense when I hang out with the Ruby community. And look at all the great gems (literally!) that come out of that!

I have a suspicion (no real insider info at all), that Apple is going to make Ruby a more prominent language on it’s platforms. With the incredibly rapid maturation of MacRuby, and the fact that it will be *compilable* to machine code…that smells like room for a revolution to brew in Cocoa land. Imagine being able to share open source components and abstractions the way we share gems now. Again, I have no hard evidence that this is coming to the iPhone, but I most definitely hope so!

Practice Sane Waving

Wednesday, November 18th, 2009

Through some excellent discussions about Google Wave…on Google Wave, Josh Walsh and I have hacked together a list of tips to help keep waves useful.  Don’t take these as 10 Commandments™.  We’ve just noticed a lot of newcomers balk at the open-ended possibilities of the tool.  And we’ve watched discussions degrade to the point where you just want to blow the current wave away and start over.

So if you are in the know, got a Google Wave invite, tried it and are frustrated.  Check out these tips.  Practice sane waving!

10 Tips to Better Google Wave Conversations

Hardware of the Human Mind

Tuesday, November 17th, 2009

I contributed to a Google wave with some coworkers discussing how we could use this fascinating tool more effectively.  It’s definitely a shiny new toy right now.  I hope we can figure out how to use it in our workflows, but there’s definitely some rough edges.  Here’s my current observations direct from the wave:

It’s clear though, the the hyper-threaded nature of Google Wave has human comprehension limits. Kurt and I were just discussing offline that one of the best features of “Wikis” as we currently use now–they encourage moderation. We use it effectively for things like the release plans.  Anyone can add whatever they want, but the “owner” will keep house.

The problem we have with our waves now…the signal to noise ratio gets low REALLY fast. There’s simple noise like “me too” replies, or jokes. We can agree not to do that. But even with substantive discussion, following the flow of the conversation asynchronously doesn’t scale on the hardware of the human mind.

It works fine if everyone is in the wave watching it evolve in real time. It’s even fun! But let it sit for a few days with 10 people tossing in one off blips here and there…it’s hard to catch up with the context. Sure, the “context” is there, but human minds have to “context switch” and read back a bit to understand the new blips that come through. There needs to be some sort of pruning/summary convention that we use to keep these clean.

One feature of the wave client that would help this–Google could offer a “select this entire thread” and then let you remove it. The “moderator” can then summarize the decision somewhere, either in a new reply thread, or in the top blip so it acts like the “document”.

A lot of human convention will need to emerge for us to make this tool work.

New Literacy

Wednesday, September 23rd, 2009

Clive Thompson thinks there is good effect to the vast amounts of information young people generate online.

The first thing she found is that young people today write far more than any generation before them.
….
We think of writing as either good or bad. What todays young people know is that knowing who youre writing for and why youre writing might be the most crucial factor of all

via Clive Thompson on the New Literacy .

The saying, “Practice makes perfect” is horribly wrong.  Practice makes habits.  So, just writing daily thoughts to a blog doesn’t automatically make you a better writer or any better at communicating lucidly.  But there is a good point here.  There is a lot of “practice” writing going on.  And the fact that this writing is in front of the world and up for critique is promising, as long as there’s not just a peer feedback loop.  What may be the best way to help encourage better writing (and consequently, better thinking) among young people today?  Creatively engage with their writing on their own turf and terms.

And maybe share some of our own.

Links for Sunday, August 30th, 2009
Links for Tuesday, August 11th, 2009
Links for Tuesday, August 4th, 2009
Links for Tuesday, June 16th, 2009
Links for Friday, June 12th, 2009
Links for Wednesday, April 22nd, 2009