Skip to main content

iPhone

Making KML Simple For The iPad

I've been involved this summer in some exciting work with Development Seed on bringing their mapping technologies to the iPad. This has included their gorgeous MapBox tile sets, but also third-party data from the internet in the form of KML and GeoRSS. These are each file formats for exchanging geographic information along with content.

GeoRSS is pretty straightforward -- it's basically regular RSS but with a small amount of geographic information added in the form of extra tags such as <georss:point>. KML, however, is a completely different sort of format, written from the ground up for geographic data. It's probably most commonly known as the format that Google Earth uses to exchange geo info. Beyond Google Earth, it has been used in some exciting applications, from Development Seed's own Maps on a Stick tool to The Jane Goodall Institute's Gombe Chimpanzee Blog, which attaches KML data to every blog entry as a way to give it context and to allow the reader to explore the story a bit more.

Once I got started on the iPad work, however, I noticed that there basically was no parsing library for KML on Apple's iOS platform -- iPhones and iPads. Google puts the definitive library, libkml. It's written in C++ (a minor setback) but it also depends on libexpat, something that exists on Mac OS X but not on iOS.

That aside, I thought that it would also be nice to have a Cocoa-native KML parsing library, something that speaks in native Objective-C types like UIImage for icons and UIColor for colors without the need for conversion. So I wrote one!

This library, Simple KML, is now available as open source under the New BSD License, licensed jointly by Development Seed and Code Sorcery Workshop. You can find a basic usage overview in the features summary.

While Simple KML does make KML very simple to parse, it does not do any drawing for you. It's important to note that you will have to take the placemarks, styles, and structures in the KML documents that you wish to display and write your own drawing to display them. This could be on Apple's MapKit mapping library built into the SDK, external mapping libraries, or perhaps your own drawing on static map images. Simple KML just makes it easy to turn a KML file or a KMZ archive into data structures native to Cocoa for use in your own graphics work.

Since Simple KML is open source, I'd love to have any feedback or contributions that you might have to offer. Simple KML is up on GitHub, allowing anyone to create a free account, fork the project, and send me patches via merge requests.


(Cross-posted on the Development Seed blog)

The Apple Tablet: Timing Isn't Everything


Photo courtesy Mike McCaffrey

Although I've been involved in technical pursuits for about a decade and a half, I haven't really been following Apple that long, rather only after being completely won over by my first Mac, a PowerBook G4, in late 2002. Since then, I've not only converted my entire hardware platform to Apple's, but now develop software and support hardware across a range of Apple devices and operating systems.

This goes without saying for the Apple faithful, but the reason I switched was not a fashion or perceived "coolness" factor, and especially not out of cost concerns, but rather because in a day and age when increasingly nearly everything we create and manage is converging to the digital form, Apple has the foresight and user experience savvy to make it far less of a hassle than it could be, and indeed, than pretty much everyone else in the industry. (Related: Watch The Onion's Sony Releases New Stupid Piece Of Shit That Doesn't Fucking Work.)

I mention all of this as a bit of background for my thinking on the topic of the tablet. The lion's share of my livelihood is made in the Apple ecosystem, but, as again should be no surprise to the Apple faithful, I'd rather not work in technology than have to use the crap the rest of the industry is churning out lately.

Those disclosures aside...

With the conventional "wisdom" that Apple's lack of presence in the netbook market was hurting them financially now being replaced by an unprecedented stock run-up in response to the latest round of tablet rumors, it seems all the world is now awaiting Apple's announcement of a new platform -- the new platform.

Speculation on the tablet really picked up late last summer in advance of Apple's September iPod event which turned out, unsurprisingly, to have to do with new iPods.

Then late in the year, only a few weeks ago, things climbed to a fever pitch. People love their Macs, they love their iPods, and they love their iPhones. They want to know what the next great thing is that they are going to love, because in a world of crappy technology, people love to love good technology.

But that doesn't necessarily mean that Apple's next game-changing product announcement is going to happen at the next opportunity that they have to announce something.

There are two things that we should be learning from the cycles that Apple continually operates on.

Truth #1: Apple Takes Big Risks Because True Innovation And Risk Go Hand In Hand

Apple is pretty much the de facto innovator in the industry now. It's Apple's job to figure out what to do next, figure out how to accomplish it, and help people evaluate whether it's someplace that they want to go (though, unsurprisingly, they tend to lean hard on "yes, it is").

No one's working harder on an iPhone killer than the makers of the iPhone. (And while we're dispelling myths, we might as well tackle the fact that no one needs to kill the iPhone to prosper. Lack of competition is bad for consumers, ok?)

But you can bet the tablet will exemplify Apple's modus operandi -- to truly reinvent. Other companies are hesitant or unwilling to do this for all of the standard reasons -- it's too costly, too risky, too hard to manage, requires the best people, and requires a strong-arm approach to both secrecy and hardware component vendor relationships.

Truth #2: One Plus One Does Not Equal Two

The second thing we should be picking up is that because of the lengths to which Apple is willing to go to reinvent, the armchair pundit is usually at a loss when trying to map this near future.

When the iPod is an unprecedented success and rumors of an Apple entry into the cell phone market bubble up, concept illustrations emerge of a phone with a scroll wheel. Touch-screen? Never saw it coming.

When the iPhone 3G is an unprecedented success, yet not quite everyone has one, it is assumed that Apple's next generation of the device (what turned out to be the 3GS) would have to be in the sub-$100 range. Apple both released a new and desirable next generation model, as well as appeased the $99 crowd with a base model of the previous generation, growing their reach.

And as e-book readers really start to take off, of course Apple's tablet will subsume these features as well:

It is still unclear exactly what an Apple tablet would include, but most observers expect a sort of large-scale iPhone that has additional features for viewing video and reading books and magazines.

Financial Times
http://blogs.ft.com/techblog/2009/12/exclusive-apple-to-host-event-in-ja...

Yes, because what people want is a bundle of features with an Apple logo on it. Tell me again, what are the features of your iPhone? Now, tell me what apps you use.

And lastly: iPhone's a hit, Magic Mouse is a hit, so I give you a Magic Mouse-like iPhone:

He said the plastic back panel of the phone could have a touch-sensitive solid shell, much like on the Magic Mouse.

[...]

The new hardware could also include an updated version of the iPhone operating system, Chen said.

Bloomberg
http://www.appleinsider.com/articles/10/01/14/next_gen_apple_iphone_rumo...

Some imagination please, people? And it could include an updated version of the iPhone operating system? You, sir, are why we can't have nice things.

The Thing About The "Latest Creation"

Apple's next media event has been announced, confirming the January 27 rumors seen in the past couple weeks.

But the invitation image, which is what got me really thinking about all of this tablet stuff to the extent of needing to write a blog post, combined with the two points above about the way that Apple innovates, lead me to a prediction:

The so-called tablet device in progress by Apple will not be announced at the January 27 media event.

The idea of "creation", something that the industry as a whole frequently puts out of the spotlight to play second fiddle to "management", is to be applauded. We need more companies embracing Apple's vision of a creator in the digital space and less of a consumer and manager of the stuff that is already out there.

And the image of paint splatters, colorful and very tactile, is evocative of using your hands on a canvas. Much like the more evolutionarily-programmed need and desire to see human faces in inanimate objects, we want to see this relate to the tablet, which we want to see be a natural extension of a touch-based interface like the iPhone.

The iPod revitalized and then redefined the digital music industry. The iPhone really just redefined communication on the go (How often are you annoyed to receive an actual phone call while doing something else on your iPhone?)

But the world isn't hooked into visual, even tactilely visual, creation in the same way that we are hooked into music and communication. And I don't see Apple taking us there -- at least not as a next step.

Another interpretation of the paint-and-creation motif (props to Brandon Sneed for this one) is to supplant the iPod. The bright colors represent the brightly colored iPods of yore. Anyone can see that the scroll-wheel iPod is being phased out -- face it, anything that Apple brands as "Classic" is on its way out.

My money's on something non-tablet in the announcement, more along the lines of a more-than-iPod-but-less-than-iPhone device.

But about the only thing that we can be sure of is that Apple's stock is going to go down next week due to the rampant bursting of bubbles.

So now what, Tough Guy?

So what is coming out next week? If I knew that, I'd probably be writing for bigger and better publications than my own blog (or possibly getting a cease-and-desist nastygram from Apple). I don't put the time into obtaining and cultivating original sources, something that tech punditry needs more of, and something that true indie journalists such as John Gruber of Daring Fireball do. So I'm basing this speculation on my own understanding of the past combined with references from publications that I do trust who have sources on the ground.

But remember -- there's a lot of Apple technology that has yet to see the light of day. Like this 2006, pre-iPhone touch-screen patent filing involving touch-based proximity:

The September 30, 2005 filing (published today) is titled "Proximity detector in handheld device." It describes a touch-screen interface for portable electronics devices that can sense when an object, such as a person's finger, is approaching. When an object is sensed, the touch-screen interface may perform an action such as displaying a "virtual scroll wheel," navigation pad or virtual keypad.

AppleInsider
http://www.appleinsider.com/articles/06/07/20/inside_apples_latest_ipod_...

Not just touch, like the iPhone interface, and not just proximity, like the auto-dim when putting the iPhone to your ear, but an interface that changes based on your finger's proximity.

Just one of many Apple multitouch patents.

And just one of many things to keep us watching, to be sure. See you next Wednesday.

Autumn miscellany

There have been a number of things I've been mulling over posting about recently, but none have quite percolated up to a full post yet, so I'll instead post about a number of goings-on of note to me, my apps, and some other current work. Read on for a dose of Code Sorcery Workshop updates!

iPhone work

I've recently completed work with the local Portland powerhouse Small Society on two different iPhone apps. Check out the two most recent projects listed on their site -- one for a large coffee retailer and one for a nationwide car-sharing company. I've really enjoyed working with the Small Society team on these projects!

Regarding my own iPhone apps, I'm still in a wait-and-see mode, much like a number of solo developers. Mostly it's an issue of the difficulty of solo developers being able to sustain revenue in a market that's currently driven downwards in price. I may post more on it in the future, but in the meantime, feel free to weigh in on whether you'd like to see iPhone apps to complement my current Mac offerings.

C4[3] conference

The weekend before last I was lucky enough to once again attend C4, the independent Mac & iPhone developer conference. I've now been to all four, and the first one nearly three years ago was the major impetus for me striking out on my own and making Code Sorcery Workshop my full-time job. Once again, I had a great time learning, meeting new people (and meeting in person people I already knew online), and seeing a bit of Chicago. C4 can't be beat!

Welcome back, Ma.gnolia -- err, Gnolia!

The innovative social bookmarking service Ma.gnolia has been relaunched after their major incident earlier this year, and has been rebranded as Gnolia. This service will once again work with Pukka, just as before. Welcome back and best of luck!

Meerkat beta

Lastly, I've just released a public beta of the next release of Meerkat. The headline feature will be much more robust automatic reconnection of tunnels, adding to the existing support for reconnect due to sleep, wake, and network change. If this is a feature you've been waiting for (and it sounds like quite a few folks have been), go ahead and check it out. Just be sure to backup your data first, as this is a testing release!

That's all from the home office for now. Thanks for reading!

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!

Syndicate content