Happy Apps Blog

Mac OS X browser numbers October 18th, 2006

In “Portable WebnoteHappy“, I wrote that

Plus, Mint tells me that 46% of visitors to happyapps.com are using Safari, 37% Firefox, and Camino only garnering 8%.

I failed to realize that 18% of my visitors are from Windows or Linux. Since IE accounts for 5% of my visitors, that leaves 13% Firefox/Windows or Linux users. So the corrected numbers should read:

(Mac OS X only) Safari 46%, Firefox 24%, Camino 8%, other browsers 4% (anyone have an OmniWeb hack for the User Agent 007 pepper?)

Making those add up to 100% of Mac users (by dividing by 82% of users who visit happyapps.com on a Mac), it breaks up into:
Safari 56%
Firefox 29%
Camino 10%
Others 5%

How do your Mac OS X browser numbers compare?

Portable WebnoteHappy? October 17th, 2006

Scott Stevenson writes about Portable Applications on Mac OS X, commenting on how David Chartier wonders where the portable Mac OS X apps are. I’ve gotten a request from a WebnoteHappy use for a portable version of WebnoteHappy. At first I wasn’t sure what to say, but now I realize that this is really the convergence of two trends:

1. Firefox usage increasing on the Mac – and with this the Portable Firefox phenomenon

(I’ve got a popular blog post about Camino vs Firefox and it seems like a majority of the comments are pro-Firefox. Plus, Mint tells me that 46% of visitors to happyapps.com are using Safari, 37% Firefox, and Camino only garnering 8%.)

2. USB drives becoming cheap enough per megabyte to become the equivalent of a swappable hard drive

So I can easily move the location of the data files that WebnoteHappy uses to store the webnotes, folders, and smart folders so they can live on the USB drive/key. Caches could probably live on each machine, they’re just caches after all. But the preferences are still a problem. Unless you do some serious hacking and go completely away from Cocoa and Carbon, user preferences for applications always live in ~/Library/Preferences/.

Anyone up for collaborating on an open source and portable (so it can live in any directory) NSUserDefaults? I’d be interested in giving it a shot.

The only trick is – how do you specify where it would live? Maybe there would be a bootstrap mechanism that would say that all portable preferences live in /Volumes/MyUSBKey/Preferences/ or something.

Happy Birthday Cesar! October 9th, 2006

Last week, my wife gave birth to a baby boy. His name is Cesar and today is his one week birthday. He was born weighing 9 pounds, 3 ounces and here’s an adorable picture of him:

To celebrate his birthday, I’m having a sale on WebnoteHappy via MacUpdate Promo.

So help me celebrate Cesar’s birthday by purchasing a license of WebnoteHappy!

WebnoteHappy 1.2.2 fixes del.icio.us import September 27th, 2006

Two astute users experienced a crashing bug in WebnoteHappy 1.2.1 when they imported from del.icio.us. It turns out that certain URLs that have “%” in them was causing bad things to happen. These URLs are rare, but they do lurk out there. Good news though, since this is now fixed in WebnoteHappy 1.2.2. Please download WebnoteHappy 1.2.2 since it is a critical update if you use the del.icio.us integration.

These two smart users knew that hitting the “Send to Apple” with a crash report wouldn’t send it to me, so they sent it to me via email. Thanks Ed and Kai! But in order to make the process more streamlined so I can diagnose and fix crashes quicker, I also included M. Uli Kusterer’s UKCrashReporter in 1.2.2. It’s nice, simple, easy to integrate and doesn’t depend on any sort of special hooks. It just looks for a crash report in WebnoteHappy’s place on the next startup and asks the user to send it to me.

One more thing… I seem to have been behind the curve with including auto update. Seems like every new piece of Mac software has it like rooSwitch Lite and Billable. So I included SparklePlus in 1.2.2, maintained by Tom Harrington of Atomic Bird and based off of Sparkle by Andy Matuschak. It’ll help users keep up with new versions and allow me to put out new versions faster.

My fight against spam September 14th, 2006

One side effect of having a software business where you publish your email so people can easily contact you is that you get a lot of spam. I guess everyone who has an email address gets spam, but I think you probably get more if you have it publicly visible on a web page. And don’t get me started on how many spamments (comment spams) you get if you have a blog like this one.

I tried doing it the old fashioned way, with moderating the comments and letting Mail.app handle the junk mail, but it just got worse and worse. This past week was the bursting of the dam though, with tons of spam just flooding my mailbox. I would get at least 100 spam emails / spamments a day! (I’m optimistic, so it was probably more than that…)

So I did two things: (tip of the hat to Brian Cooke aka Mr rooSwitch who pointed these out to me)

1. Upgraded WordPress to 2.0.4 and activated Akismet, which is a free plug-in that automatically catches comment spam (without having to do anything except get an API key from WordPress.com). Very easy (though I took the time to create a local mirror on my PowerBook and test it out there first).

SpamSieve icon
2. Installed SpamSieve. I had to install the Mail.app plug-in, do a bit of config, and train it. But its still easy and Michael Tsai has provided good instructions to get you started. Note that training seems to be important, but that also is easy to do thanks to some keyboard shortcuts and the availability of previously filtered Junk mail which I kept around.

I’ve had both running for 24 hours now and I can’t believe how uncluttered my email has gotten. Akismet has already caught 70 spamments and SpamSieve has caught 113 spam emails!

iMac 24″ = Mac Semi Pro? September 11th, 2006

I’m in the market for a new Mac. If you’ve seen the svnmark times, you’ll see that my current PowerBook G4 1.33Ghz is already an order of magnitude slower than the current Intel models. The top of the lines are the Mac Pros, but I wonder if they’re a bit too much. Plus I don’t have an external LCD.

24

Enter the iMac 24″ – it looks to be the bridge between the consumer iMac line and the professional Mac Pro line. Consider the following:

  • It has an upgraded video card, the same as the Mac Pro
  • It has Firewire 800 which is critical for fast data transfer for audio/video editing.
  • It’s got Core 2 Duo, which is not quite a Xeon, but its available in up to 2.33Ghz and the Core 2 Duo is 10% faster than the original Core Duo. Because of that, I estimate that the Core 2 Duo 2Ghz will get 1:48 on svnmark, the 2.16Ghz will get 1:40 and the 2.33Ghz will get 1:30.
  • You can upgrade it all the way up to 3GB, which is 1GB more than any other Intel Mac aside from the Mac Pro. Unfortunately, 2GB SO-DIMMs are very pricey, but then again so is the memory for the Mac Pro.
  • It’s got a massive screen – a little strange that its an inch bigger than the Apple Cinema 23″. But it still makes you feel like a Pro to have a massive screen like that. :)

WebnoteHappy 1.2.1 August 29th, 2006

I just released an update to WebnoteHappy, a better bookmark manager for your Mac, with hot key support for OmniWeb 5.5 beta and Flock, improved communication with del.icio.us, and ongoing AppleScript improvements. There’s also a bug fix with the tokenization of the tags field in the Edit Webnote dialog.

Please download WebnoteHappy 1.2.1 – it’s an important update especially if you use del.icio.us and its free for registered users. But also good if you’re trying out OmniWeb 5.5 beta 4 or Flock.

The Mac Pro is the new king of the hill August 25th, 2006

Earlier this year, I stumbled across a benchmark that would test how well the new Intel Macs compared against the PowerPC Macs. I’m going to call the benchmark svnmark because consists of compiling Subversion. The benchmark results showed that the new Intel Macs blew away the PPC Macs. Well, all but one: the Quad G5 still was #1. It compiled Subversion in 1 minute 39 seconds.

Welcome the new king: The Mac Pro. I had a chance to test out this beast at WWDC. The model was a Quad core running at 3Ghz with 4GB of FB-ECC RAM and a 250GB hard drive running at 7200RPM.

The results: using the “-j8” flag to try to load up the cores: 55.821 seconds.

But even better, I tried using “-j4” and I got 53.057 seconds. That’s 53% of the time it took the Quad G5, or as Apple might put it, that’s 1.9x faster than the Quad G5 2.5Ghz! Also, it is 2.9x faster than a PowerMac Dual G5 2.5Ghz!

p.s. If anyone has a 2.66Ghz Mac Pro out there, please try out svnmark using the instructions in the original benchmark numbers post. I’m guessing it’ll be right around 1 minute.

Help your RSI with FlexTime August 18th, 2006

I’ve got RSI – it’s sort of the universal programmer’s / anyone who works with a computer all day malady. Last year I used to have pain and swelling in my hands after I came home from work. Now I see a chiropractor regularly. He uses the Activator technique to adjust me and advised me to do regular stretching.

The regular stretching part used to trouble me though. When I get in the zone listening to music on my headphones, I can totally get into the world of code and lose track of all time and space. So I was happy to beta test a new app by Red Sweater Software called FlexTime. Basically, it is an unobtrusive timer that you can set and forget – it will trigger certain actions at specified times. It recently went 1.0 on August 17th.

For me, I just need to get up every hour for a few minutes to get my blood moving and do some stretches for my hands and neck. I personally use one of the example routines that comes with the app called “Break Reminder”. I like to think that I inspired it but in any case its perfect for me. I start up the routine and then hide the app. Ten minutes before the hour is up, it puts up a message saying “Time for a Break!” in a window that I have to acknowledge. That’s important because otherwise I would just ignore it. That’s my cue to do my stretching. Anyways I’ve found that sometimes I forgot to fire up FlexTime and I wouldn’t feel so good that day because I wasn’t reminded of my stretches. So if you’ve got RSI, go try out FlexTime!

WWDC guesses revisited August 15th, 2006

OK so now that WWDC 2006 is over and I’ve unpacked all my liquids, gels, and lotions from my checked baggage, its time to check out (from whatever Apple has publicized of course) if my guesses came true or not. Actually, they weren’t really guesses, more of like “please, Apple, if you really love us developers, this is what you’ll give us.” And it turns out that Apple does love us developers!

Now, I won’t mention anything about new widgets, because it doesn’t seem like any of that is public. But I’d say that’s in flux anyways. So we’ll have to wait until later to see what widgets actually do get created. And really, we can build many of those widgets ourselves and if we get organized, we can create and widely use enhanced widgets like Rainer’s excellent RBSplitView.

Rainer by the way wins the not-so-coveted Apple-took-your-brand-name award this year. Stunt Software’s PhotoBooth took home that prize last year. Apple at least chose a different capitalization, using Xray for the amazing all-the-performance-and-testing-tools-you-need uber-tool in a GarageBand-like interface. Rainer’s XRay (note the capital “R”) is a utility for looking deep into files and folders on your Mac.

On to the good stuff that will make Mac developers’ lives easier:

  1. An easy way to diff two nibs
  2. Yes! “… Interface Builder 3.0 makes localization and diffing easier.”

  3. Make a toolbar in IB
  4. I can’t say either way if this is in there, but note that “Interface Builder 3.0 lets you drag and drop even more luscious behaviors into your application.” I’m very happy that Apple has finally decided to update Interface Builder, which needed a revamp.

  5. Refactoring! Refactoring! Refactoring!
  6. “And you can include your NIBs in global refactoring tasks.” I’ve been doing refactoring for a long time, all the way back to the late 90s when I used the Smalltalk Refactoring Browser, which I think pioneered the whole concept back at UIUC. For non-developers, this is a way that code can be restructured for better maintenance and readability.

  7. Smart correction of bugs (like in Eclipse).
  8. I don’t think this is in there yet, but Apple is taking steps to get there: “iChat-like message bubbles provide a snazzy way to read build errors, breakpoint definitions, and debug values — all displayed inline with the relevant source code, so you know just where you your colleagues went so very, very wrong.” Funny. This is probably the nicest looking error bubbles I’ve seen. It’s sort of interesting how Apple can make even developer tools seem cool.

And there’s lots more… the big thing being Objective-C 2.0, which now features garbage collection. Hallelujah! I really missed this from Smalltalk and Java and Ruby, but unfortunately most of us won’t be able to take full advantage of this until we’ve almost all migrated to Leopard.

(All of the quotes are from Apple’s Xcode 3.0 sneak peek.)