iphone

Just testing.

This is a penguin soft sculpture that lives in our basement.

I took this picture to experiment with the wordpress iPhone client and how it deals with photos.

photo

iphone

Comments (0)

Permalink

Compare and Contrast part II

I thought I should clarify some things.

Programs and operating systems that run on small mobile devices do have differing requirements from the same sorts of things on a desktop or server class machine. This is certainly true.

Mobile devices require a UI that deals with smaller screens. Since many of these mobile devices are communication devices, there is a need for more real-time code to handle the traffic.

My main point is that as mobile devices become more powerful, they become able to build on a base that didn’t necessarily have to originate on a mobile device. With OSX, Apple is able to adapt the UI classes to be appropriate for a mobile device, and as far as I can tell, most of the tweaky real-time stuff is being done in a segregated part of the device (every time I’ve updated the software, it’s been in two stages — first the OS, and then “baseband,” I assume (caveat reader) that the baseband stuff is the radio firmware, where the real tweaky-ass stuff needs to be).

I’ve come to this conclusion because of my time spent developing on the iPhone, as well as time I’ve spent developing for other devices. On the iPhone, most of your program is written just like pretty much any mac application program. On other devices, there’s a whole different structure that has to be learned, because maybe the network works differently, or they’ve invented a different way to do the event loop, etc.

It’s safe to make the bet that mobile devices five years or so from now will have the same computational and storage capabilities of todays average desktop machine. The danger is that if you don’t make that bet, you will be passed over by those that do make that bet. If I’ve learned anything in the past 25 years or so, it’s that technology always amazes me. My personal hope is that I am wrong, and that mobile devices 5 years hence will kick the ass of today’s average desktop machine.

general
iphone
tech

Comments (0)

Permalink

WWDC08

If you follow my twitter stream at all, you know I went to WWDC this year.

I’ve been wanting to go for years. I find it hard to control the enthusiasm I had for the experience.

It was a good challenge to get through. I was around very smart people. I was at a technical conference that actually gave me more interesting technical information than I could take in. I swear, stuff was bouncing off of my brain during the Friday sessions. I knew the stuff was important, I knew the whys and the hows, but the what’s just ricocheted right off of my grey matter.

One of the things that I really want to write about is that how I feel like I’m finally coming back home to Smalltalk. One by one the things I miss are being incorporated into Objective-C. ObjC 2.0 was cool, [redacted] is going to be better. It is unfortunate that the details that make me happy about [redacted] are covered by NDA.

Grand Central Dispatch and OpenCL are mentioned on Apple’s public pages, so I can actually mention them. Grand Central Dispatch is tied directly to the technology I tried to allude to in the previous paragraph, so perhaps soon someone else will mention it and I can stop being annoyingly coy about it.

I still use languages like Python and Ruby, but I’m finding myself drawn more to coding directly in ObjC and Cocoa, or perhaps Nu. I’m in a period of my programming life that I want a language that can go really high level and really low level, sometimes in the space of the same method.

The best thing about WWDC08? It brought me back into a technical area that is new and vibrant, one that inspires real excitement for me. It’s almost like I’ve had to spend years trying to downplay the fact that deep down inside, I just prefer the way that Apple does things, and I have for a very long time.

It feels very good to come home.

development
general
iphone
life

Comments (0)

Permalink