April 7, 2008
Note: The Pages o’ Peat have moved to http://peat.org/ — please update your bookmarks and references accordingly. Thank you!
I spent the weekend building a native iPhone app. It’s unfinished, and a little rough around the edges … but I’m happy with the experience so far.
The concept is relatively simple: I want an app to search through (and show off) my collection of international banknotes when I’m out and about.
There are a few hurdles, though.
For example, it’s been over a decade since I worked on a reasonably sized C application. So, I’m getting back into the swing of things with Objective-C style pointers and memory management, and remembering how much I hate segmentation faults and bus errors.
Also, being new to Objective-C and Mac development, this learning curve looks a bit like a wall. Thankfully, there is quite a bit of sample code out there, but it’s not entirely consistent … which I guess is par for the course for a beta development system and a OS that hasn’t been released yet.
I’m learning, but I’m pretty sure my code is gnarly enough to make a Real Mac Developer nauseous. That said, if you are a Real Mac Developer with a strong stomach, please drop me a line — I’d love to show you what I have, just so that you can tell me how bad it really is (and, hopefully, tell me how I can make it better).
At this point in the game, there are a few things I’m very pleased with:
- Interacting with the Internet and web services is incredibly easy. Support for synchronous and asynchronous HTTP requests and very flexible caching policies make for a happy web service developer. This is particularly nice since the guts of the database and searching features will be powered by a Rails app siting on a server somewhere else.
- Working with XML is also very pleasant. NSXML can handle proper XPath and XQuery searches, which is really quite nice. The documentation is very mature for this and the other supported NS* classes, and there are plenty of examples out there on the net.
- UIKit follows very sane MVC and delegation patterns. It’s pretty straight forward and consistent.
And, of course, a few things I’m rather surprised to find, and desperately hope for resolution on:
The iPhone simulator isn’t entirely safe. My hamfisted techniques have somehow caused other apps (including Finder) to crash several times. It’s terribly frustrating, and makes me a bit nervous about experimenting.I’m not sure if I’m getting better, or if the recent betas have been more stable, but I haven’t had any catastrophic errors recently.
- No (official) coverflow interface. Wow. This is perfectly suited for what I want to do, and a big part of what makes the iPhone such a compelling platform to develop for. Please, please, please include this in the final release.
I see Interface Builder … but absolutely no documentation on how to use it for an iPhone. Can someone point me at an example?Apple now has a step-by-step guide to building a simple app on the iPhone with Interface builder. I also found an example here and posted my own followup summary for people who are already familiar with Interface Builder, and just want to see how to plug in their interfaces.
Anyhow, good points and bad points, but on the whole it’s been a good experience so far. The NS* classes are all stable and well documented, and the UI* classes and documentation are about what you’d expect from an API in beta.
I’m keen to get a code review from someone who knows what they’re doing, and I’m eagerly awaiting the next update to see what’s changed. Unfortunately, I think I’ll have to have to wait until June to get a real iPhone — I’m betting that the next generation iPhone will be released along with the SDK and OS 2.0 at WWDC ’08.
Update: I found an Interface Builder + iPhone tutorial, and I posted a short summary about how to interface with the IB files.
April 21, 2007
Neat! It looks like I have my first real contribution to Wikipedia, in the form of an image — a scan of a Swiss Dinar, the currency used in Iraq before economic sanctions were imposed in the wake of their invasion of Kuwait.
July 13, 2006
More banknotes in the mail, this time a set of three bills from countries occupied by Japan in WWII — one Burman rupee, one Malayan dollar, and ten Philippine pesos. What’s interesting to me is that they’re Japanese currency, but they’re printed in English. Go figure!
Cost: $5.85, including shipping.
On a technical note, I’m borrowing a friend’s scanner to get these online, but it has some odd color banding that’s a pain the correct. Anyone care to recommend an inexpensive flatbed scanner, compatible with OS X & VueScan? Cheers!
July 4, 2006
What can you get with $25 and an afternoon on eBay?
A couple big packets of uncirculated world banknotes, and a bunch of mylar sleeves to protect such a substantial investment.
This is really quite exciting, which more or less proves my nerdiness. Regardless, here’s the loot:
- A 10,000 “biletov” note from Russia’s MMM scandal. Post-communist Russia didn’t have the financial laws in place to prevent this very straight forward pyramid scheme from ensnaring millions of people and over a billion dollars. In the end, when the pyramid collapsed, these notes were everywhere and entirely worthless. Now they can be had for less than a buck, and make for an entertaining story if you have friends interested in history, Russia, economics, or scams.
- A set of 12 “Saddam” Iraqi Dinars. The collection spans the original American Gulf War, and is remarkable in how the quality of currency changes between 1999 and 2002. The early bills are high quality and attractive — Swiss made, fine intaglio printing, rag paper, colorful, and pleasing to handle. After Operation Desert Storm the bills become … well … crap! Cheap Chinese lithographs with poor alignment, weak colors, blotchy textures, and wood based papers. Consequently, counterfeiting soared, and the dinars lost value rapidly. Interestingly, the original Swiss dinars retained their value, even through the issuing of the current, post-Saddam Dinar.
- A set of 35 notes from all over the place (Belarus, Indonesia, Kyrgyzstan, China, Cambodia, Mongolia, Kazakhstan, Nicaragua, Myanmar, Laos, Argentina, Brazil, Transnistria, Tajikistan, Croatia, Peru, and a “bonus” German Notgeld). The range of quality and artistry is amazing — generally speaking, the south-east Asian bills are beautfully designed, and the ex-Soviet countries look much more formal and powerful … with the exception of Belarus, which printed a very cute squirrel on one of their notes. Go figure.
Anyhow, all of the notes in more or less perfect condition. Over the next few weeks I’ll be scanning and adding them to my Flickr account, and writing more about particularly noteworthy notes!
June 23, 2006
This afternoon I had the opportunity to scan some of my German Reichsmarks, dated from 1908 through 1923. A pretty dramatic example of hyperinflation is the twenty billion mark bill that was only printed on one side. Check ’em out at flickr, tagged with “reichsmark“
June 23, 2006
I found my box of old German bank notes today, and it renewed my interest in paper money. “Yeah,” you say, “I’m interested in paper money too!” Well, I’m not interested in that way. I’m interested in bills from interesting places and times, and I have been for as long as I can remember. As a little kid I designed my own currencies for a lunar colony I built with Lego bricks. Terribly ugly stuff, but never-the-less an interesting venture.
What is it about paper money? I think it’s a combination of the feel of the paper and printing, the colors and designs, and the inherent story of obsolete or devalued money: that people once had faith that it was worth something more than paper and ink.
So, bit by the bug again, I spent some time on eBay this evening. Fortunately, this stuff is pretty cheap! A set of 13 Iraqi Dinar notes is less than ten bucks; likewise for a set of 35 miscellanious bills from Asia and South America.
Anyhow, I’m keen to see if anyone reading this is interested in this sort of thing.
Update: The notes have arrived! Check out “Money in the Mail” for more info.