progress on Cocoa programming

I’m making some progress, working my way through the Cocoa Programming book that I’m reading right now. I’m including a screenshot from Bitbucket below, showing my check-ins over the last week. I have also started working on the actual Cocoa project that I’m supposed to be working on. I haven’t gotten very far with it, though. Messing with Cocoa has made me realize how proficient I’ve gotten with .Net programming over the last few years. In Cocoa, I’m struggling with stuff that I could do in .Net in my sleep.

Also, I’m realizing that .Net is a much more programmer-friendly environment that Cocoa and Objective-C. I’m not looking to start any language/framework wars, but there are a lot of things that are much easier to do in C# than in Objective-C. And wiring up a GUI for a Windows Forms app is a lot easier than creating a desktop Cocoa app.

xcode project template grief

I’m trying to learn a bit of Mac programming right now. I’m using Cocoa Programming: A Quick-Start Guide for Developers, which is turning out to be a pretty good book so far. I just stumbled across an issue with my XCode install though. It’s pretty well explained here and here. Having fixed that problem, I am apparently ready to write a Hello World program. Joy!

I should probably just clear out my “/Developer/Library/Xcode/Project Templates” folder, and maybe a few other folders, and do a clean XCode install. But I know that will take some time, so I’m going to put that off. for now.

Verizon iPhone thoughts

I’ve had my Verizon iPhone for a few days now. I’m mostly liking it, but I admit I miss a few things about my BlackBerry.
Stuff I like about the iPhone:

  • I haven’t had to reboot it.  (I used to have to reboot the BB almost every day.)
  • Lots of apps. (I had just a handful of apps on the BB.  The way memory worked in the older BB OS, you just couldn’t install too many apps.)
  • Much better web browser.
  • No more need for Missing Sync.

Stuff I miss from the BlackBerry Storm:

  • Dedicated camera button on the right side.
  • User-assignable button on the left side.  (I had it assigned to QuickLaunch, which I also miss.)
  • Ability to star a GMail message right in the native mail app (via the enhanced GMail plugin).
  • SurePress.  I know most reviewers weren’t keen on it, but I kind of liked it.

Verizon iPhone

I tried to order a Verizon iPhone this morning, but Verizon’s site really doesn’t like the idea of shipping it to my work address. If I tell it that the shipping address is a business, then it tells me that I need to enter a company name, but the form doesn’t have a field for company name. If I switch the drop-down to say that I want it shipped to a residential address, and just enter my business address anyway, then it tells me that I’ve entered an invalid address. A number of people have reported these problems in the Verizon iPhone 4 forums.

I eventually got the order to go through by playing around with different ways of formatting my company’s address until I hit on one that Verizon liked. I really think they could have done a better job on this though. An hour or two of QA on their preorder site, and they could have at least uncovered the company name bug and fixed that.

more on BlackBerry syncing

After some finagling today, I figured out that I could keep using Missing Sync for my calendars if I just created a single dummy calendar on my Mac in iCal. It syncs my “real” calendars as read-only now, but I’m OK with that.

I’m still not sure what I’m going to do for my next phone, but if I was interested in Android, I’d be looking at the Droid Pro or maybe the Samsung Continuum.

syncing BlackBerry and Mac

I’ve been using Missing Sync with my BlackBerry Storm, just to sync my contacts and calendar from my Mac. I’ve had problems with it, on and off, but it’s mostly worked OK. Since I’ve switched to the new MobileMe Calendar though, the calendar sync doesn’t work anymore. Mark/Space has a KB entry acknowledging this, but there’s no indication that they’re planning to fix the problem.

I’m eligible for a “new every two” discount from Verizon soon, and I’m wondering if I should stick with BlackBerry. If Verizon really does get the iPhone, that would really simplify the sync situation for me. On the other hand, if I switch to an Android device, that’ll make it more complicated. I’ve been playing around with options for syncing iCal and Address Book on the Mac with Google contacts and calendars. It turns out to be really easy to sync the address book with Google — the option is right there in the preference screen. There’s no such option in iCal, but it seems like I ought to be able to subscribe to a MobileMe calendar in Google calendar, though I apparently would have to make the calendar public to do that.

I’m wondering if Spanning Sync would be worth looking into. It’s kind of expensive for what it does though. And I occasionally think I should switch over to using the calendar that comes with my Backpack account. I could use that as the source, and subscribe to it in iCal and Google.

Meanwhile, I’ve ordered my usual Moleskine calendar for 2011.

DropBox

I finally decided to switch from Windows Live Sync (aka FolderShare) to DropBox. I’ve got it installed on my desktop, Dell laptop, MacBook, and Acer netbook now, and I’ve moved everything from FolderShare to DropBox.

The main problem with FolderShare is that it doesn’t actually store any of your stuff, it just enables you to sync a folder between shared computers. So, to sync two computers, for instance, you need to have them both turned on and connected to the internet at the same time. For me, this has been leading to occasional problems, where I wind up with two versions of the same file, or I need to turn on my desktop computer to get the latest version of a file down to my laptop, for instance.

DropBox stores your stuff in the cloud, so it shouldn’t be a problem to get a shared file from one computer to another without needing them both on at the same time. We’ll see how it works in practice, but so far, so good.

iPad password management apps

I spent some time over the last couple of days reviewing password managers for the iPad, so I figure I might as well write up my notes here, in case they might be of use to anyone else. (I should mention that I gave up on iKeepass, which I mentioned a couple of posts back.)

I limited myself to applications that had an iPad app (as opposed to just an iPhone app) and a Mac app that could synchronize with its iPad counterpart.

  • DataVault is a $10 universal app. It has a Mac desktop version that also sells for $10. (There are also Windows and BlackBerry versions.)
  • SplashID has a $10 iPad app and a $20 Mac desktop version.
  • MSecure is the cheapest app I looked at. It’s only $3 for a universal iPad/iPhone app. There’s a desktop version available for Windows or Mac for $15.
  • Password Wallet is a $5 universal app, so it’s another cheap one. The Mac desktop version is $20 (but you get a 25% discount when you buy the iPad app, so it’s really $15.)
  • 1Password is a pretty well-known app. It’s $7 for an iPad-only version or $15 for a universal version. The Mac desktop app is fairly expensive, at $40. (I actually own an older version of the desktop app from an old MacHeist bundle, so I could upgrade for $25.)

I would probably have gone with 1Password, except that recent reviews in the app store seem to be pretty mixed, so I just wasn’t sure it would work well. All the others seemed to be pretty decent, and any of them would likely have worked ok.

In the end, I decided to go with DataVault. I liked the look of it, and the reviews were pretty good. I’ve got it all set up now, on my Mac and iPad, and it’s working OK. It’s not great, but it’s good enough to manage a handful of passwords. I’m not going to use it to replace KeePass; rather, I’m just going to keep a subset of my passwords in there, just stuff I think I’ll need on the iPad.

The Mac desktop client has a few shortcomings. The program window, strangely, can be resized horizontally, but not vertically. And it doesn’t save its size and position, so it always launches in a mode where it’s taking up most of the screen. Also, it’s not very keyboard-centric. I couldn’t find a keyboard shortcut to delete an entry, for instance.

The iPad app also has a few annoyances. For instance, all the fields are set up so that the first character will be capitalized by default on entry. That’s fine for a first or last name, but not really useful for a user name or password. There are other minor annoyances related to item entry, such that I don’t think I’ll be doing much entry on the iPad itself. (That’s fine, though; I plan to do most of the entry on the Mac side.)

The synchronization process is pretty simple. You just launch the desktop app and make a selection from the menu to put it in server mode. Then you launch the iPad app and hit the sync button. This should bring up a list of devices on your wifi network, including your Mac, which you can then select. The sync process just takes a few seconds. By default, you’ll have to verify deletions (on the desktop side). (The verification can be turned off.)

I think if I could do this all over again, I’d give SplashID a try. DataVault definitely isn’t quite good enough to replace KeePass and KeePassX for me. But it’s good enough to keep track of a handful of passwords that I may need on my iPad.