Posts tagged WWDC

The Awesomeness That Is Bodega

Let’s get one thing out of the way first thing: I’m a big fan of Bodega and have been since I heard about it firsthand from the guys at centrix.ca during WWDC 2009.

Bodega is a free Mac application that helps you discover and download Mac applications. It is built in the spirit of great software sites like MacUpdate, but takes the experience and puts a great looking Cocoa wrapper around it. Make no mistake, this project is a big undertaking with a lot of moving parts and a lot of coordination between those parts. Yet with steady progress and determination these guys are really crafting something cool.

The impetus for this particular blog post is to gush about what I think is Bodega’s killer feature: keeping track of and installing updates for the applications installed on your computer. I really like Andy Matuschack’s Sparkle framework, but one of the necessary evils of that framework is that it doesn’t notify you that there is an update for a particular app until you run that app. When I launch an application it is done with the intention of performing a task immediately, but if there’s an update for that particular app I am yanked out of my workflow to deal with the question of updating the app first. Yes, I can continue to work, but in the back of my mind I’m thinking about how I don’t have the latest version of the software that I am currently using, and it bugs me.

Enter Bodega. Once every few weeks I will launch Bodega and click on the Applications section in its sidebar which presents me with a list of all the software currently installed on my system*. The killer feature is that Bodega scans all of the Sparkle feeds in these apps and will tell me if there’s an update for any of them. With two clicks (one to download and one to install) I can download and install any of the updates that I want. This simple process greatly reduces the chance that the next time I launch an app I will be presented with the option to download and install an update, Bodega has already taken care of it for me.

If you haven’t downloaded Bodega yet I highly recommend that you do and take it for a spin. If you’re a developer and you haven’t submitted your software to Bodega, I highly recommend that you do that too.

Downloading and installing updates (Stolen shamelessly from the Bodega website)

* Bodega is opt-in for developers, so if a developer hasn’t submitted their software to the Bodega site it won’t know about that software on your computer.

Quick and Easy Drawing Performance Debugging with NSShowAllDrawing

While watching one of the WWDC09 session videos I was informed of a great tip that I had been previously unknown to me: Pass -NSShowAllDrawing YES as an argument to your application in Xcode to see a visual representation of the drawing that your application performs as it runs.

To illustrate how NSShowAllDrawing works and the issues it can help you correct I’ve put together two videos.  The first shows my app, Bezipped, in its current 1.0 state and its current drawing behavior.

This second video shows how I improved the drawing in Bezipped simply by setting the top-level container to be backed by a Core Animation layer:

I highly recommend giving your app a spin with NSShowAllDrawing if you haven’t already, it was certainly a real eye-opener for me.  There are some additional resources for debugging your drawing performance on OS X (as pointed out to me by André Pang) provided by Apple here: Drawing Performance Guidelines: Measuring Drawing Performance

Lastly, both Alan Rogers and Steve Streza pointed me towards Quartz Debug.app (included with the developer tools) as another means to see similar redrawing behavior.  I found Quartz Debug’s options to be a bit heavy-handed as the drawing performance of the entire OS was shown instead of just my app, but your mileage may vary.

WWDC09 Sessions & Labs

Apple has posted the first set of scheduled sessions and labs for this year’s WWDC here: Worldwide Developers Conference 2009 – Sessions & Labs.

Off the top of my head I think I will be keeping an eye on:

  • Advanced Debugging
  • Cocoa Tips and Tricks
  • Concurrent Programming in Cocoa
  • Effective iPhone App Architecture
  • Embedding Maps in iPhone Applications
  • Performance Tuning with Shark on Mac and iPhone
  • User Interface Design for iPhone Apps

Which ones do you have your eyes on?

 

    WWDC09

    WWDC09BadgeI am happy to report that I will be attending WWDC this year!  It will be my first time at the conference and I couldn’t be more excited.

    I’m looking forward to “drinking from the fire hose of knowledge”, meeting all the great developers that I look up to, having drinks with friends that I’ve only met online, and soaking up as much knowledge as humanly possible in a 5-day period.

    If you’re also going to be out there feel free to drop me a line on twitter or leave a comment below!