Skip to main content

Cocoa

Tiger, Leopard, and Snow Leopard

With the imminent release of Apple's Mac OS X 10.6 Snow Leopard next month, it comes time to examine the state of our apps as well as their operating system support. Pukka was originally released in early 2006, in the time of 10.4 Tiger (and updated to support 10.5 Leopard in late 2007). Meerkat was originally released in mid-2008, supporting both Leopard and Tiger out of the gate.

We've made the choice so far to sacrifice many (but not all) advantages offered by Leopard in the name of Tiger support. However, with Snow Leopard's upcoming release, we will be shifting to support only Leopard and Snow Leopard going forward.

Beginning with the next major releases of both Pukka and Meerkat (likely 1.9 and 1.3, respectively), we will no longer be including support for Mac OS X 10.4 Tiger.

Current release versions will be supported for Tiger users, but little or no new functionality will be added going forward.

PowerPC architecture will still be supported, though of course Snow Leopard will run only on Intel-based Macintoshes.

Snow Leopard support is expected in the next point release of each application (e.g., Pukka 1.8.2 and Meerkat 1.2.2). We expect to have each of these released in the next month.

We would love to continue Tiger support indefinitely, but as the operating system was released in 2005, we would rather move ahead and take advantage of the new technologies that Apple is providing to developers in order to create the best possible experience for the broadest user base.

If you have any questions or comments about this announcement, please contribute to the forum post on the topic.

Update: Please see the Pukka and Meerkat forums for the latest betas of each, which work with Snow Leopard right now.

Update 2: Official, stable releases of both apps are now up. Please see the announcement.

DrupalEasy podcast interview

I'm a bit late in linking to a podcast interview that I had the pleasure of being on recently.

DrupalEasy, an organization focused on training and consulting around making Drupal easier to use, runs a podcast interviewing various folks in the Drupal community. My interview was about my work on Drupal, my business in general, Cocoa desktop and iPhone work, my Drupalcon presentation, my career history (in brief), and a lot more.

I had a great time being interviewed by Ryan and I hope you'll take a listen!

Pukka 1.8: now with search!

I'm pleased to announce a major release to Pukka, our flagship Delicious bookmarking application. Among many user experience improvements, the major new features are fast bookmark search and full AppleScript access to all of your bookmarks.

Search is something I've been wanting to do for a long time. But Pukka is such a lightweight app that I thought long and hard about how to best introduce the feature while keeping Pukka seeming fast and unobtrusive as people have come to expect. The easy route would have been another window or sidebar, but I feel that the new search bar really keeps the application tight and focused. As one beta tester said, "The response and animation on the search menu is very slick. It feels very light and nimble. Well done."

Pukka

Pukka's other main new feature is especially useful for developers -- full AppleScript access to bookmarks. Pukka has long since supported posting through AppleScript, which has spawned all kinds of neat workflows such as Yojimbo integration.

But now, any developer can integrate Pukka into their application. You can rely on Pukka having all the bookmarks ready and can query them by a word in any of the fields, by their tags, or by their accounts.

To round out the new features, you can now drag and drop to reorder your accounts, allowing you to setup a preferred account for when Pukka launches. I've added a Quick Reference Guide diagramming out all of Pukka's major knobs and buttons, menu items, and keyboard shortcuts. And the main window is now resizable, autoflowing your tags and description as necessary for the smoothest look and minimal space.

Lastly, on the technical front, this release takes a couple of steps forward, too. Sparkle has been upgraded to 1.5, allowing for more secure upgrades and better collection of anonymous statistics so that I best know which platforms and features to support. And Pukka is now code signed so that you can be sure that what you download is exactly what I intended for you to run.

I hope you enjoy these updates to Pukka. I've got many more planned additions up my sleeve, so stay tuned!

A celebration of open source

In honor of this week's Open Source Bridge conference, as well as in recognition of the role that open source software has played in the development of our business, we're pleased to announce that today, June 16, 2009, Code Sorcery Workshop is offering any open source contributor a free license to Meerkat, our SSH tunnel management application. We are also giving away a $250 gift certificate to the legendary Powell's Books. Read on for the details.

If you'd like a free copy of Meerkat, just leave a comment on this post linking to an open source project that you've worked on with a brief mention of what you did. It could be coding, but doesn't have to be -- it could also be documentation, helping new users, anything that contributes to the common good of the project. We'll collect all the info and send each contributor a full, unrestricted license to Meerkat, a $19.95 USD value.

However, if you'd like to instead try for the $250 USD gift certificate to Powell's Books, a purchase of Meerkat will make you eligible for this drawing. Just register Meerkat today and you will automatically be entered for the drawing. The winner will be announced in a followup post.

In both cases, you must take action by midnight Pacific Daylight Time tonight to qualify.

Meerkat is an application that adds a lot of Mac-specific value to SSH, an open source tool that ships with every Mac (as OpenSSH). And Macs themselves are built on a ton of open source software such as Apache, Postfix, CUPS, Perl, PHP, Python, Ruby, sudo, unzip, zlib, and many others. You can read more about Apple's commitment to open source as well as open source releases pertaining to Mac OS X.

I began knowingly using open source software in the mid-90s and started contributing by releasing my own projects on freshmeat in late 1999. I've always looked for ways to contribute to open source projects when I can, whether it's by bug fixes, new feature patches, documentation, or just community help. Most recently, I've been involved with the Drupal content management system.

Open source is the lifeblood of the internet. So many of the tools that we take for granted everyday have been developed in this way, by generous folks giving their time for the greater good. I am extremely thankful for the many ways that open source has enabled me to teach myself a lot of what I know today about technology, to provide economical solutions for clients who need it, and to make software better and better by degrees.

So, here's to open source!

Meerkat 1.2 is out!

I'm pleased to announce the release and immediate availability of Meerkat 1.2, the latest version of our popular and easy to use SSH tunnel management application for the Mac.

You can read more about Meerkat, view a series of brand new video spotcasts (for desktop as well as iPod/iPhone) highlighting its major features, and download a free 14-day trial of the application on Meerkat's product page.

This release represents a lot of work, but especially so in the AppleScript, command-line, and SSH session launching departments. There are a whole slew of new features and enhancements and a number of bug fixes, too.

I hope to write more soon about some of the development challenges in this release, as well as the business aspects of major software releases and balancing a service and product business, but for now, go check out Meerkat!

Scripting allows for the unanticipated

Even though AppleScript itself might not be my favorite language, the ability to script applications on the Mac never ceases to impress me. By opening up their apps to scripting, developers allow users to do all kinds of things that either wouldn't otherwise be possible, or, better yet, that enable workflows tailored to their own needs and styles of application use.

A great example of this is my own personal use of Potion Factory's excellent task management app, The Hit List. Upon reading over the feature list soon after starting to use it, I discovered that you can drag web URLs out of your browser onto THL's app icon in the dock to create a new todo item to read the link in question.

I tend to queue up a lot of web reading for later, so I wondered if it would be possible to reduce the amount of work required to a single keystroke. My solution consists of three main pieces:

  1. The scriptability of both Safari (my preferred browser) and THL.
  2. Red Sweater Software's excellent FastScripts application, which allows for assigning keystrokes to scripts.
  3. The command-line utility growlnotify, which comes with the desktop notification system Growl.

I was able to combine the three so that by hitting Command-Option-Control-I, the current Safari URL is sent to THL as a new todo in the inbox, posting a Growl notification with the page title to confirm that things went ok.


Click to enlarge screenshot

You can download the script here. Just put it someplace that FastScripts can get to, such as in ~/Library/Scripts, and assign a keystroke to the script in that application's preferences.

My Delicious bookmarking application, Pukka, enjoys a fair amount of AppleScript popularity for integrating with organizational apps such as Yojimbo and DevonThink and I'm hoping that the next release of Meerkat, which adds AppleScript support to that app as well, will fare similarly as it too can be a workflow-oriented application. The lesson of scriptability is one that I have taken to heart and I hope to maintain a high level of scripting support in all of my current and future applications.

Pukka And The Best Of Times

When I set out to design Pukka over three years ago (gosh, has it really been that long?) one of the main tenets of the design was a lightweight, useful app that integrated well with other apps on your Mac. Coming from a UNIX background, I was always a fan of how shell tools could be combined in toolchains to accomplish great workflows. And when NetNewsWire added support for Pukka, followed shortly thereafter by bookmarklet support in Pukka itself, the groundwork had been laid for all kinds of combinations in the future.

One of the more flexible applications that I've come across in recent days in this regard is Times, a neat take on news reading. Nestled amongst the application preferences since release 1.1 is support for enhanced sharing, where you can plug any URL type into the application, using some variables from the app, and integrate with all kinds of websites and applications.

Naturally, as soon as I started using Times, I wanted to integrate Pukka with it. This proved to be quite simple. See the screencast below for how to do this.


Click to start the screencast (38 seconds, no sound)

Special thanks to Acrylic Software, the folks behind Times, for some great forward-thinking preferences in their app. This kind of planning has all kinds of great, unforeseen advantages to application developers and the users of these applications.

Drupal meets the desktop

I'm currently at the biannual Drupal worldwide conference, Drupalcon, in Washington, DC. I hope to write more later about the amazing people and innovative technologies that I'm seeing here this week, but for now I just wanted to post an entry for folks arriving here looking for information about the talk I gave yesterday: Beyond The Web: Drupal Meets The Desktop (And Mobile).

I will be posting more information later on the resources & projects mentioned in the talk, but for now, watch this page for that info as I'm able to post it. I covered a number of technologies that can connect Drupal websites to desktop and mobile applications, be they in Cocoa (for the Mac & iPhone) or any other language that you might want to integrate with a PHP-based Drupal site.

Hope to see you at Drupalcon!

NSConference

I wanted to take a moment to help promote an upcoming Mac developer conference. Scotty over at the excellent Mac Developer Network (a podcast network that I've participated in a couple times) is organizing a Mac developer conference in the UK in April that looks simply amazing.

The speaker list looks fantastic: Bill Dudney of Pragmatic Programmer iPhone book fame, Matt Gemmell (he of of the custom Cocoa controls), Mike Lee (World's Toughest Programmer), Fraser Speirs of iPhoto & Aperture plugin fame, and several more, plus workshops and what I'm sure will be excellent networking amongst Mac & iPhone developers.

Unfortunately, due to a lot of travel and moving in March, I won't be able to make the trip to the UK for the conference, but I'm hoping it becomes a regular thing as I would definitely like to in the future.

If you are looking to jump-start your Cocoa development skills, NSConference looks like it would be a great way to do so.

Best of luck NSConference!

Appearance on the Mac Developer Roundtable

Posted in

The latest episode of Mac Developer Roundtable has gone live and I was pleased to be invited on again (see Getting around... table from a few months ago for the first time). This episode's topic is "Getting Started With Cocoa" and is intended for people who are new to Cocoa, Apple's programming framework for Macs & the iPhone.

Joining me on the podcast were some great voices -- Danny Greg, Brent Simmons, Mitch Cohen, Colin Wheeler, and of course the host, Scotty.

I really enjoyed being on this show since only a few years ago, I was a newbie in Cocoaland and was gobbling up all of the resources I could find to teach myself how to use Cocoa. Part of what has always drawn me to the Cocoa community is all of the people who are blogging their experiences, open sourcing their code, and giving behind-the-scenes looks at what makes Mac apps tick, so it was great for me to be on a show and try to give back to the community at large and maybe inspire some new folks to keep at it and build Mac apps.

I'd also like to put in a good word for what Scotty's been building over at the Mac Developer Network. There are a number of great shows, both free and members-only, that are definitely worth checking out. Whether you are just getting up to speed or are an old hand at Cocoa and all things Mac dev, Scotty's got something for you. I really enjoy the podcasts that he puts out, ranging from the technical on to shows such as Developer Lives, which goes behind the scenes to profile the lives of Mac developers.

And speaking of developer lives, I'd be remiss if I didn't elaborate a bit about my credentials as a programmer. In the show, I started a discussion about everyone's programming backgrounds and where they started, indicating that I started programming Perl and PHP ten or twelve years ago. What I meant, I guess, was recent programming experience that led you to Cocoa. I then proceeded to get schooled with everyone else's experience, since they went all the way back to their very beginnings.

So, to fill in a bit about my own programming history, I started on a TI-99/4A in the 80s programming BASIC (Mr. Bojangles, anyone?), then moved to both Apple IIe and IBM PCjr (both also BASIC), and only much later, in college, did I get into Perl and PHP in my free time in the late 90s before turning it into a career. Early on, I spent a lot of time on things like making the Jeopardy! theme song play on my TI or typing spy games from a book into my elementary school's IIe.

I now spend most of my time in PHP and Cocoa, pretty evenly divided, and enjoy building solutions that touch on both the client- and the server-side using this experience. I guess what I'm trying to say is that in some way, I guess I always knew I'd be a programmer, as it has always been something I've been interested in. So consider that my full background -- maybe you share a similar one, or maybe Cocoa will be your first programming language. Either way, welcome.

One last note -- don't forget to check out the gag reel at the end of the show. It's pretty funny, at least for me as one of the folks involved.

So, go have a listen!

Syndicate content