Cocotron

I don’t intend for this to become a link blog–not because of some high-falutin’ ideals, but because I assume most potential readers are at least as connected into the Mac dev community as I am and will have already heard the latest cool news.

But the latest post by Glen Aspeslagh describes Ecamm Network’s usage of a project which seems to deserve increased exposure: Cocotron, “an open source project which aims to implement a cross-platform Objective-C API similar to that described by Apple Inc.’s Cocoa documentation.” Or, as glibly summarized by the Ecammeratus: “Wrote a Cocoa app? Just add a new Xcode target, hit compile and out shoots a Windows version.”

Sure, it doesn’t work perfectly, but Glen’s warts-and-all description sounds promising. If you have a product that could benefit from a Windows equivalent please give Cocotron a look and contribute code–so it will be easier for me to use when I come up with a product that could benefit from it.

iPhone SDK NDA Lifted!

Hooray, Apple has decided to lift the long-in-the-tooth NDA on the iPhone SDK!

I can’t imagine anyone will be hearing that news from this blog first, but I do want to acknowledge and take advantage of it. My last post felt a bit vague, even to me, about my definition of “iPhone black” and that was partly due to dancing around the NDA. While it was really tempting to be provocative, I felt it would be irresponsible for my current contract work to risk getting smacked with an NDA violation (even though I have yet to hear of an instance) and have the client’s product suffer as a result. I considered screenshots, but felt they were either singling out someone else’s application, or a simplistic straw man if I just used an Interface Builder mockup.

The definition I had in mind of “iPhone black UI” is not simply “any view whose background is black”; it is a UINavigationController whose UINavigationBar's barStyle is UIBarStyleBlackOpaque (instead of UIBarStyleDefault) and is controlling a UITableViewController whose controlled UITableView's rows have either a white or black background. If a UIToolbar is present, its barStyle is also UIBarStyleBlackOpaque. I think most people understood that, but I still prefer to be explicit.

Wow, that feels great to type all those UI* prefixes in public–I encourage everyone to do so!

iPhone Black == Brushed Metal?

Yesterday I tweeted: “Sorry, but I still feel black iPhone UIs are the equivalent of brushed metal.” I was aware that people I know personally are writing applications that this would seem to disparage. I also knew that I should follow it up with more explanation than can fit in 140-character chunks. (Read the article)

2.5 of 3 Goals Accomplished

I’m not usually one for New Year’s Resolutions, but this year I set three goals–one personal and two professional.

Goal #1 (The Personal One): Return to our honeymoon place for our anniversary. For the first 5 years of our marriage, we did an anniversary trip to Sooke Harbour House, the same place on Vancouver Island we honeymooned. It was an awesome indulgence and great way to recharge. Then baby came along, and logistics haven’t worked out. My goal was to get that tradition back on track–it didn’t happen. We (actually, Marya) did find a really nice weekend hideaway closer to home and more affordable, and that’s where we celebrated this year; we also technically still have time to visit Sooke this year, so I’m counting this goal as “half accomplished” and it’s already reappearing on next year’s list of goals.

Goal #2: Attend WWDC. I wanted to take the next step toward creating Mac software, which has long been a hobby/pasttime/fascination. This isn’t really a goal that can give half credit, and I didn’t actually think this was going to happen until (again, with not only my wife’s blessing but encouragement) it was decided at the last minute of early registration to go for it. I haven’t regretted it since, and need to make this another annual tradition.

And now the biggie:

Goal #3: Make some money writing Mac software. This could have been the easiest one, and certainly the most affordable. The size of the check wouldn’t matter–it could have been $5 under the table for all I cared, and it would have been a step forward. I have exceeded that goal.

I now hold in my hand a check for a side contract I accepted to write an iPhone application. I had not really been interested in iPhone apps when I went to WWDC, but I had just thought of an app that would scratch a personal itch and started writing that app when I was approached about this contract so I felt confident enough to accept it. It’s been hectic fitting this development into my schedule, it’s been frustrating to figure out not only how to do things on the phone, but how best to do them. But it’s also been incredibly rewarding even beyond the financial end.

This check was for the prototype of an application. It may never make it to the App Store, and you may never see it. I hope you do, and if it gets that far (and I’m allowed) I’ll make sure people know about it here. I’m proud of what I’ve done on it so far, but if it never goes any further, it will still be the application that accomplished one of my goals.

C4[2] Iron Coder Prizes

The prizes for Iron Coder at C4[2] have been announced: A MacBook Air loaded with more than $5,800 (MSRP) of software for first place and “just” the software for second! Gah! Now I really wish I’d been able to go so I could…watch the award ceremony.

That’s just software created by attendees. It’s an impressive Who’s Who of companies and applications, all sitting down together in a conference room for the weekend.

Year of the Sell-Out

First WWDC sold out, but I got in on the last day of early registration.

Now, C4[2] opened registration and sold out while I was off on a weekend getaway. I hadn’t attended the previous two years, but was hoping to make it happen this year. There’s not much I can do about that except say “bummer” and look on the bright side: I had been very close to booking a flight and room when the dates were first announced, and I haven’t had to spend the day canceling reservations now.

What is the next Mac dev conference this year, and where should I set up my tent for the line?

Adding Frameworks in Xcode 3.1

This is one of those cool little tidbits I learned during a WWDC session and can share now that Xcode 3.1 is out: Xcode 3.1 has changed the way you should add Apple-supplied frameworks. Although Apple claims in the Release Notes (you have read them, haven’t you?) that the process has been “simplified,” the method isn’t really apparent from within Xcode.
(Read the article)

WWDC Recap, Part Two

When last we joined our intrepid WWDC newbie, he had just entered Grand Keynote Cavern. Come along for the action-packed continuation (and conclusion, I promise!) of The Tale of WWDC.
(Read the article)

WWDC Recap, Part One

I haven’t been waiting around to have the last word on WWDC; I’ve been busy and distracted, but I suppose it’s time to sum up my experiences.

This was my first time attending WWDC. I’ve wanted to for a long, long time but could never justify the expense for something that was effectively a software hobby. But with a newly solidified application idea, and a perfect storm of situations, I couldn’t resist on the year that turned out to be the biggest WWDC yet.

Perfect Storm, Part One: My sister-in-law and her husband live in San Francisco, they were going to be in town that week, and they were perfectly happy to have me stay with them during the week. That cut out the great big expense of lodging. Pacific Heights is not as convenient as the local-to-Moscone hotels, but it was really only an inconvenience when I needed to carry my bag during the Bash Thursday night instead of dropping it off in a hotel room. Staying with them will probably become a tradition as long as they will have me.

Perfect Storm, Part Two: Alaska Airlines offered a great flight price ($170 round trip). Even though it required departing Seattle early Sunday morning and returning Saturday night, that actually worked out perfectly due to Part One: I got the opportunity to have family brunch Sunday, and had time to take them out to dinner Friday night to thank them for their hospitality. (I can now highly recommend Argentine steak house El Raigon, and their wonderful selection of Malbecs.) I also had the opportunity to catch all of Friday’s sessions instead of having to cut out early to make it to the airport.

Perfect Storm, Part Three was a huge factor, but the briefest to describe: I was generously given permission by my boss to go into vacation time debt. Without that, I don’t think I could have justified the trip.

These factors all started lining up in the last days before early registration ended. I booked my held flight reservation from my iPhone late Thursday night, after an Xcoders meeting; I purchased my WWDC ticket and ADC Select membership (another first) on the last day of early registration. I certainly felt like I just made it under the wire when they announced the conference was sold out.

The Keynote

Since this was my first WWDC, I figured I had to bathe in the Reality Distortion Field and see the Keynote. I overslept and woke up at 4:30 instead of my planned 3:30, figured out which bus was running at that hour only to miss it by less than a block, and ended up walking the entire way. I was in line just before 6:00, about halfway down Minna (before the first “everyone get to know your neighbor better” compression of the line).

Keynote Line Swag Tip: If you’re interested in swag (t-shirts, MacTech magazines and more) while in line, staying to the street side of the packed-in line will increase your chances of not being ignored.

Stand in line, eventually get let into Moscone. I had already registered on Sunday, so I followed the majority of the crowd up to the second floor “holding pen” (my term; I never actually heard the staff call it that) where we were told that we were guaranteed to get into the main auditorium. Comfortable in the knowledge I didn’t need to hold my spot, I made a quick restroom break.

Keynote Line Coffee Tip: The Starbucks right near Moscone is insanely packed at this time. Luckily my walk had earlier taken me past an uncrowded Starbucks on O’Farrell, but also try the Peet’s at 2nd and Mission.

I stopped paying attention to time; no easier way to get frustrated than watching a clock while waiting. After some period of time, we were led up to the third floor and another “holding pen” area in the hallway. After another period of time, we were let into Presidio, the largest available conference hall, where I quickly realized that unless I wanted to fight my way into the first ten rows it would look the same from any other row in the hall. So I casually settled into a seat about four rows behind the left side projection screen and awaited my first in-the-flesh Keynote.

If you have read this far, I apologize for the cliffhanger but this post has already become longer than expected. I will follow up on the rest of the week soon.

Begone, Kubrick!

I’m certainly not planning to keep people updated on every CSS selector change on the site (there will be a lot), but I have to mark the occasion of changing from the boring stock WordPress “Kubrick” theme to the first revision of Corporation Unknown’s graphic identity.

Most significant is the new logo done by our friends at SkyCubeMedia. Thanks to Sky (and my wife’s initial sketch), I now have a site identity I can carry around (in the form of business cards) to WWDC.

Next Page »