Archive for the ‘Apple’ Category

Edgewise FREE

Friday, April 23rd, 2010

I made a free version of Edgewise for the iPhone. It hit the app store yesterday.

It’s just like the paid version except it bugs you to buy the game if you really like it. I thought about making the free one be ad supported, but I decided to wait. I may change my mind after I learn more about the various mobile ad platforms. Or after Apple’s announced ad service goes live.

Since I wanted the free version and the paid version to be mostly alike I used the same Xcode project and sources and added a new build target. It was even easier than I imagined it would be.

I have a couple of ideas for how to improve the game play that I may release soon. All improvements from now on can easily be shared between the free and paid versions, which is kind of cool.

My thumb has a mind of its own

Tuesday, March 31st, 2009

I love getting a new computer! I love unpacking it, unwrapping all the little doodads and gizmos, and setting everything up. The whole process carries the same excitement today that I felt unpacking the first computer I ever got (that I didn’t build myself), a Commodore Vic-20.

I just got a new MacBook Pro.

Ahhhhhh. Very nice, indeed. It even smells good. (Yes, I smelled it. So what?)

This one replaces an aging first generation MacBook Pro. The old one gets too hot now and shuts off unexpectedly. At first it would only happen when operating on battery power, but lately it started happening while tethered to A/C, too. I suspect the added thermal load somehow affects the low voltage detection circuit and it panics. Or maybe it’s protecting some other part from cooking itself to death.

The ‘c’ key on the keyboard stopped working some time ago. I started using an external keyboard, at least when I was at my desk. Do you know how hard it is to write anything without the letter ‘c’? I would keep a ‘c’ on the clipboard in case I needed it. Heaven help me if a system authentication dialog appeared, though, since my password has a ‘c’ in it and those dialogs don’t allow copy and paste for security reasons.

But now I have a shiny new laptop that doesn’t overheat and has a working ‘c’. Atlantis (that’s its name) is faster, lighter, and cooler in every sense of the word.

My experience so far is not entirely positive, though. Every new computer is different from the previous one in a number of small ways and sometimes large ones. Often different is not better, just different.

Take the track pad, for instance. Somebody had the neat idea to make the track pad larger by using the area that used to be taken up by the giant button and putting the button underneath the trackpad. This design has worked beautifully for iPods for many years since the introduction of the ‘click wheel’ concept. It seems to work fairly well for the laptop trackpad, too. The way it works is while you’re tracking around and you need to press the button you just push down on the trackpad. No need to lift your finger and reach for the button. Slick.

But here’s the thing. I’ve spent years (and years) with the previous design. Nobody who’s used that design for more than a few minutes actually lifts their finger from the pad to press the button. They (and I) track around using one or two fingers and use their thumb for the button.

I’ve learned something about my thumb. It doesn’t press. It swipes.

I never noticed before because the giant track pad button was a forgiving target. Only the up and down motion mattered and any side to side action was ignored. Not any more. I keep missing things on the screen. I go to click on a button and just miss it. I aim for a menu item and hit the one next to it instead. (This description reminds me of something my friends cooked up called Gremlins. Remind me to tell you that story some time.)

That’s not the funny part. My thumb doesn’t always swipe in the same direction! It changes depending on what I’m doing! Most often it swipes toward me. Sometimes away from me, or to the left or right. There seems to be a pattern there but I can’t quite pin it down.

All I know is that even though it’s only been a day I can tell this is going to be a problem for me for quite a while. It’s one of those unconscious gestures that I’m going to have to train away. I hope it doesn’t take too long…

I work with famous people

Thursday, November 6th, 2008

I’ve somehow managed to work with a lot of famous people in my career. Sometimes even before they’re famous. It’s almost never by choice. What I mean is I never set out to work with famous people. It just worked out that way.

Fame is relative. Some of the people I’m referring to are widely known, but most of them are famous in the industry I’m in but not so much outside it.

Here’s a random sample.

Andy & Bill

Andy Hertzfeld and Bill Atkinson are a couple of brilliant designers who are best known for their work on the original Macintosh computer at Apple. I didn’t work with them then. That came later at a place called General Magic.

I did bump into Bill a few times at Apple in the late 80’s when he was working on a product called HyperCard. He loved to talk about whatever clever innovation the team was working on, with whomever happened to be nearby when he was excited about it. I was lucky enough to be nearby a few times.

At Magic I sat across the aisle from Andy and Bill and Susan Kare, who all sat together in the same large workspace. Susan was the graphic designer on the Mac, and also on the Magic Cap product we were creating at Magic.

By this time I knew their design sensibilities pretty well. I had just spent five years at Apple working on system software where I spent a lot of time patching and extending their code. I think you can learn a lot about somebody by immersing yourself in one of their projects after they’re gone.

Bill’s code is clean. Clean, clean, clean. Simple, straightforward, and correct. Andy’s code is clever. Never tricky, but sometimes subtle. Compact. (Clever is a term I usually use pejoratively in a programming context but I don’t mean it that way here. Most people can’t pull off clever. They think they can but they really can’t. They’re better off sticking with simple. Andy can do clever.)

Pierre Omidyar

Pierre founded eBay and became a billionaire philanthropist. I remember him as that funny and kinda goofy guy I worked with at General Magic. He was working on what would become eBay while we were at Magic together. It was called AuctionWeb. He got very enthusiastic when describing it. Maybe if I’d shown a little more interest instead of trying to find a way to be needed someplace else I would have had a chance to become a billionaire philanthropist, too. (I mean, come on. Programming a web site? How boring is that? Sigh.)

Tony Fadell

Another Magician. I’ve worked with Tony twice now.

Tony was doing hardware and low level software design for Magic Cap when I met him. He was gregarious and funny and didn’t have an off switch. He acted up, acted out, and seemed to have the maturity of a teenager. We didn’t really get to know each other then.

A few years later Tony was working on a secret project at Apple that would become the iPod. I was in between jobs and enjoying my semi-retirement when he convinced me to come work on the project. The project was so secret he wouldn’t even tell me what it was until I had signed the offer letter.

Given my memory of the time we spent together at Magic I asked to speak to his boss first. I wanted to make sure he had adult supervision. As it turned out he didn’t need it any more. He’d matured a lot in those few years. Tony created a diverse team of great hardware and software people. He drove us hard and got great results.

iPod and the iTunes Music Store changed the world. And made Tony famous. Even more so now that Tony’s leaving his position as Sr. Vice President of the iPod Division.

Steve Jobs

When I agreed to work for Tony on iPod I only had one condition. Having heard some horror stories about Steve I made Tony promise that I wouldn’t have to be in meetings with Steve. He did, so I signed.

That lasted almost a week. I barely had Meeting Maker set up on my office computer when a meeting showed up on the schedule for the following Wednesday. “<codename> review @ SJ’s Conf. Room” (It wasn’t called iPod yet… it only had a codename. Which I won’t reveal here.)

What to say, what to say. I have lots of great Steve Jobs stories. Maybe for around a campfire when no recording devices are within 100 miles.

I’ll just say this. Any kind of product review with SJ can be brutal for the presenter but iPod reviews were especially intimidating. You see, I was the guy doing the presenting. I need to paint a couple of pictures to illustrate.

To demonstrate something on the Mac, like the Finder or Safari, you get a bunch of people in a long room with a table down the center. On the table is a projector pointed at a screen at one end of the room. You turn out the lights for better viewing and start showing off. The presenter can’t really see SJ, and SJ can’t really see the presenter. Even after the lights come on the presenter has a whole table and projector between him and SJ. Not to mention several levels of management around the table to run interference.

To demonstrate an iPod you get half a dozen people in a small room barely large enough for a table and a few chairs. Even though you give SJ his own iPod with the new software on it, the presenter (that’s me) has to sit close enough to see what SJ sees. As in, shoulder to shoulder. Physically touching. With the lights on. Senior management? Waaaaay at the other end of the table.

You get used to it.


I used to be famous. When I worked at Apple the first time I became somewhat well known in the (very small) Mac development community for some tools I created and for my online presence in the days long before the world wide web.

One time at General Magic I wandered downstairs to interview a candidate for an engineering position. Our recruiter introduced me to him and his eyes got big. He said, “The Greg Marriott?!?!” And he wasn’t kidding around. I’d had that kind of thing happen before but never in a job setting like this.


There are a lot of others I would like to mention but this is getting too long already. Maybe another day.

Edgewise for iPhone

Monday, October 27th, 2008

Edgewise for iPhone (and iPod touch) was released on the iTunes App Store on October 25th.

Buy it, please.

It’s a solitaire card game. I’ve seen it called King’s Corners elsewhere (more on this below). You deal cards one at a time into a 4 x 4 playing field. Face cards must go around the edges in specific places. When the field is full you remove sets of cards that add up to 10. Rinse, lather, repeat, until you place all the face cards (win!) or until you can’t place a face card because there are no places to put it (lose!). You mostly lose, but for some reason people can’t seem to put it down.


Edgewise and I go way back.

I first wrote it in the early 90’s while I was working at a place called General Magic. All the engineers were asked to participate in a coding exercise. The goal was for the engineering team to take a few days away from our normal duties and to create some fun little games for the platform we were designing and building. (The platform was called Magic Cap and it was cool beyond description, so there is little point in describing it here. I’m not talking about the portable devices or the user interface, though they were cool in their own way. I mean the underlying software architecture. Man, was it ever cool.)

I thought and thought and thought and made up Edgewise. The name Edgewise didn’t occur to me until the game was almost finished and, well, it needed a name.

Edgewise was popular with the other team members, though not quite as popular as another game called Scramble invented by John Sullivan. Not that I’m bitter, or anything.

Imagine my surprise upon discovering that this game, or at least something very like it, had already been invented! Decades earlier! I thought I was so smart, inventing a popular game like that. I’m still proud of inventing it, even though I didn’t think of it first.

I’ve investigated the history of King’s Corners a tiny little bit, but I don’t know who (else) invented it or when. There is one significant difference and one minor one between Edgewise and King’s Corners. In Edgewise any combination of cards adding up to 10 may be removed from the board, but in King’s Corners only tens and two card combinations adding up to 10 may be removed. Oh, in Edgewise the Jacks are on the left and right sides of the board. In King’s Corners they’re traditionally on the top and bottom.

Porting Edgewise

I have ported Edgewise to several platforms over the years. It’s a useful start for me since I know it so well and can concentrate on learning the new system and tools.

It started in Magic Cap, of course.

Then PalmOS some time in the mid 90’s.

A few years later I made a version for Cocoa on Mac OS X 10.0.

Right about that time I took a job at Apple working on the secret project that became the iPod. A year or so after starting I made an iPod version. Since I was a manager and wasn’t doing any coding on that project, at least officially, I kept it a secret.

Much later came Cocoa, again, this time on Mac OS X 10.4, with 10.3.9 compatibility. That one was kind of fun. I guess they all were.

When the iPhone came out but only a lucky few were allowed to write programs for it I made a Javascript/Web version. This is the only version that comes with source code. :-)

And finally (yeah, until the next platform comes along) the iPhone version.

The iPhone version is the only one I have charged money for or widely distributed. I figured I should at least make back the money I spent on the iPhone Developer Program and the iPod touch I bought for testing. If it sells really well maybe I’ll spring for a new MacBook Pro.