Happy Apps Blog

The Life – Day 1 Wrap-up February 21st, 2006

About to get some sleep after working on WebnoteHappy during the day and also my usual night hours. I forgot that today actually wasn’t a vacation day but was actually a federal holiday, President’s Day. So for a holiday I made pretty good progress. I got closer to finishing del.icio.us support and released a new private beta.

The Life – Day 1 February 21st, 2006

Welcome to “The Life“. This week, I’m taking a vacation from my day job and spending it working on WebnoteHappy full-time. I’ve done all the development on WebnoteHappy in my spare time, on weekends, nights, holidays, but never have dedicated a full workday to it until today.

I thought it would be interesting to take you behind the scenes of the development of WebnoteHappy and talk about lessons learned. I’ve already started giving away the freeware version, WebnoteHappy Lite, so go check that out for a taste of what will soon appear.

So the first order of business was to manage myself. When you’re an employee, you sort of live in a structure. Same thing goes if you’re a student. But when you’re an entrepreneur, you have to create your own structure.

So I went out to lunch today with a friend and ended up spending 3 hours at lunch. Yes it was nice to chat and talk about technology and business, but I had “long lunch remorse” afterwards. I realized that I probably that even though I could take a lunch for 3 hours, I probably shouldn’t. Instead I should spend an hour at lunch and the other 2 hours programming or marketing. Lesson 1: Create some structure for yourself when working alone.

Later on, I had some pretty good hours “in the zone”, partly a result of drinking a bunch of Coke at lunch. Lesson 2: Caffeine = good for programming.

Then I smelled something. And it was bad, like the sewer. Yuck. The glamour was gone. Sure, when you watch the Evening at the Adler video, it all looks so easy and glamorous. But really, when you’ve got a home office, things are different. When you’re at an office, you find something wrong and you call the building engineer. But at home, you don’t really have that luxury. So I had to get out of the zone and do some handy work around the house. Lesson 3: Home offices aren’t maintenance-free.

Living “The Life” next week February 17th, 2006

Some people go surfing in Maui on vacation. Or perhaps tour Rome. Or maybe go skiing in the Alps. Me? Next week, I’ll be living “The Life”. Or at least the seeing what The Life would be like.

I’ll try to blog a little here and there throughout the week while in the process of finishing WebnoteHappy, the shareware version, also known as WebnoteHappy Pro. See you then!

MacBook Pros upgraded already! February 14th, 2006

I got word from some friends who ordered the MacBook Pro that they have now been upgraded. You can now get the MacBook Pro in:

1.83Ghz ($1999)

2Ghz ($2499)


and 2.16Ghz! ($2799)

This is excellent!

What’s even better is that everyone who had ordered a 1.67Ghz MacBook Pro (which will not exist anymore – or actually never existed except in prototype form at Macworld) is automatically bumped to a 1.83Ghz. And everyone who ordered a 1.83Ghz will now get a 2Ghz! Thanks Apple!

Now if I can only get a 17″ screen with the resolution of a 20″ monitor, FW800, dual-layer burning, and a pony. :)

Apple Store presentation and Universal testing February 8th, 2006

I presented at the Tysons Corner Apple Store tonight. Turnout was light, but the presentation went well. Actually one guy, Don, drove all the way from Gettysburg, PA! That is the kind of Mac devotee that I love to see.

I gave a presentation that Pat Faquet, our VP of Programs at the Washington Apple Pi user group had put together about 3rd party software and hardware at Macworld 2006. In the middle, I gave a brief demo of WebnoteHappy Lite. Doing this helped me think of how to do a demo for the Pro version, which I’ll develop into a screencast down the road.

Before the presentation, I got the chance to do some Guerilla Universal Binary Testing on the Intel iMacs at the Apple Store. I have a beta universal build of WebnoteHappy Lie stashed away which I downloaded and then proceeded to go through its paces. Fortunately, since WNH Lite is relatively simple, I was able to exercise the entire thing in several minutes.

The only problem I found was with a library that I am including that handles the Hot Key preferences. The modifiers weren’t showing up, so for example, the default hot key of Add Webnote which is Command+Shift+D just showed up as D. I think as soon as I fix that, I can put it out a Universal beta build and soon after that a 1.1.

Oh yea… WebnoteHappy Lite universal is blazing fast on a Intel Core Duo 2.0Ghz!

WebnoteHappy Lite works great in Rosetta February 5th, 2006

A few people have asked me about Universal binary support in WebnoteHappy Lite. The short answer is I don’t have an Intel Mac to do a lot of testing on. But a friend of mine has acquired one so I will probably spend some time on his iMac Core Duo.

I did do some brief testing of WebnoteHappy Lite when he first got it and I am happy to say that it runs great in Rosetta mode. It was just as fast and stable as it is on my PowerBook G4. But I’m sure it’ll be even faster once I create and test a Universal build. Maybe I’ll even create a small test suite that exercises it to make a mini-benchmark like the Subversion benchmark I’ve been collecting results for.

As for WebnoteHappy Pro, I hope to make that Universal from the beginning. It is quite easy for me to do so code-wise, since it is like Steve Jobs says: you just click one checkbox. This is because I’m programming in Pure Cocoa and leveraging the Apple-supplied frameworks as much as possible.

But the big caveat, at least to us Software Developers who care about our users, in making a Universal binary is the testing. You really should test your application on its intended destination, in this case an Intel-based Mac, before you deliver it. So I’ll likely be spending even more time with my friend’s iMac, camping out at the Apple Store, or ending my hold out for a MacBook Pro 17″. :)

I’m presenting at the Apple Store Tysons Corner on Tuesday February 3rd, 2006

Funny – when I was a kid, I never really liked getting up in front of class and presenting… But this coming Tuesday, February 7th from 7pm – 8pm I get to present at the in-store theatre at the Apple Store Tysons Corner! Fortunately, I’ve gotten more accustomed to speaking in public. :)

It is part of the local Mac user group, known as the Washington Apple Pi or as we like to call it, “The Pi”. We’re having “mini meetings” at the Apple Store in Tysons Corner. I’m filling in for the wonderful Pat Faquet, who is our Vice President for Programs. She’s on a Geek Cruise with Woz and many other Mac lovers and gurus.

I’ll be giving a presentation about the new third party software and hardware at MacWorld. I’ll also be giving a short demo of WebnoteHappy Lite. And hopefully we’ll get some new members too!

So if you’re in the area on Tuesday Feb 7th, come by and see me at 7pm – 8pm at the Tysons Corner Apple Store.

Post-release is a whirlwind February 3rd, 2006

I just released WebnoteHappy Lite 1.0 this week and what is interesting is that, at least for me, the post-release activity is more exhausting than the programming aspect.

I still haven’t put up my listing on VersionTracker because I’ve been answering a lot of emails and checking out the coverage WebnoteHappy Lite has gotten. I’m simply amazed and pleased that I got picked up by MacNN and also one of my favorite blogs, TUAW!

I find all this exhausting probably because I’m still learning a lot about how to do marketing and support properly. And I guess it is just less predictable. When I’m designing and coding, I sort of visualize some specific feature and how it fits into the integrated whole of the app. I try to figure out why a user would need to use it and how they might interact with it. Then I sketch it out along with some notes about how to implement it plus questions I need to answer. For example, what is the format for a bookmark file?

Then I go and research the questions and do a little prototype of the feature. Then once I’ve learned from the prototype, I go and implement it for real in the main app. All very methodical but also kind of magical in a way. Sometimes the code just seems to flow from my brain through my fingertips and into the PowerBook. I guess this is my key strength in all of this.

So anyways, back to the wider world, where things are not quite as logical as that. Or maybe they are and I just haven’t figured it out yet. I do know one thing… staying consistent, putting out your best effort every day even if its not perfect, day after day, seems to work. At least in the long run.

WebnoteHappy Lite is on HyperJeff and MacUpdate February 1st, 2006

The WebnoteHappy Lite 1.0 release is starting to feel… official.

WebnoteHappy Lite on HyperJeff’s OS X Apps. Ease of adding: really easy, but that’s because I know Jeff personally and sent him an IM. :)

WebnoteHappy Lite on MacUpdate. Ease of adding: Pretty easy actually. Wasn’t quite sure what to put in some areas, like “Version Changes” and “Minimum Requirements”. I left “Version Changes” blank since it is a 1.0.

Design recommendation: “Minimum Requirements” is currently a text box. It would probably be better off as a dropdown with the latest OS X version being the default and containing every release of OS X. I guess this could be labled “Minimum OS X Version” and then an optional text box could have “Additional Requirements”.

I haven’t gotten around to VersionTracker because they have a security measure that has you confirm an email that they send to you. Not a bad idea to cut down on spam, but it does slow you down a bit. Also the submission forms are a little longer. I’ll submit my info tomorrow.

Hmm… I wonder if there are any third party services which will submit your app + press release to both of these sites plus other download sites and all the news sites.

Intel iMac Core Duo (and other Macs) Subversion benchmark numbers February 1st, 2006

So Steve Jobs says that the new Intel iMacs are twice as fast as the old iMacs. So Gus happened upon a programmer-relevant benchmark: Subversion compile. For the non-nerdy among us, Subversion is a place where programmers put their code so that it stays safe and they can go back or compare with old versions.

Here’s all the numbers I’ve received so far:

iBook G4 1.2Ghz 768MB (after reboot) – 11:49 (Cameron)

PowerBook G4 800mhz 768MB – 11:34 (Steve)

PowerBook G4 1.33Ghz 1.5GB (that’s my personal machine) – 10:55

PowerBook G4 1.67Ghz 1.5GB (top of the line of current PowerBooks – before reboot) – 9:42 (Bill)

Mac mini 1.42Ghz 1GB (after reboot) – 9:14 (James)

PowerBook G4 1.67Ghz 1.5GB (top of the line PowerBook – after reboot) – 8:48 (Bill)

PowerMac Dual G4 1.0Ghz 512MB – 6:14

PowerMac Dual G5 2.0Ghz 2GB (before reboot) – 4:31 (Michael Tsai)

PowerMac Dual G5 2.0Ghz (before reboot) – 3:48 (Daniel)

PowerMac Dual G5 2.0Ghz (after reboot) – 3:18 (Daniel)

PowerMac Dual G5 2.0Ghz (after reboot, single user mode) – 3:13 (Daniel)

Developer Transition Kit (DTK) Intel 3.6Ghz Pentium 4 1GB – 3:21

Kubuntu Linux – Athlon64 3200+ (2Ghz) 1GB – 2:59 (Mike PJ)

PowerMac Dual G5 2.0Ghz 2GB (after reboot) – 2:46 (Michael Tsai)

PowerMac Dual G5 2.5Ghz 2.5GB – 2:35 (Mike PJ)

iMac Intel Core Duo 1.83 1.5GB – 2:08 (Steve)

iMac Intel Core Duo 1.83 1GB – 2:06 (Gus)

iMac Intel Core Duo 2.0 2GB (bad test since there were several apps running) – 2:13

iMac Intel Core Duo 2.0 GB – 1:57 (Michael Tsai)

PowerMac Quad G5 2.5Ghz 4GB (still the king) – 1:39 (Jon)

So it looks like the G4s are looking pretty slow nowadays compared to the G5s and Core Duos. The MacBook Pros are coming out in Core Duo 1.67 and 1.83 configurations, so they should come in around 2 to 3 minutes. Jon’s Quad G5 is still the king of the hill… for now. :)

I’m still not sure if it is really twice as fast, from a programmers standpoint, but this is clear: if you’re a programmer on a PowerBook G4, you stand to gain a LOT from upgrading to either a MacBook Pro or an Intel iMac.

Interesting that the DTK, even though Ghz wise matches up with the Core Duos, is significantly slower. In all fairness, it was a prototype development machine, destined never to make it into consumer hands.

Anyone out there want share the numbers they get for any of the iMacs or PowerMac G5s?

Here’s the test instructions:
1. Get Subversion 1.3.0.

2. Do a “configure”.

3. Quit all running apps.

3. Run “time make -j8”. This is important because it will keep your processors running at 100%. (On a single-processor Mac, you should probably use “time make -j2”.)

4. Report back the numbers you get for “real”. This is how long it took to build subversion.

5. (Optional, but makes things more interesting) Reboot. Repeat step 3 and report back both the numbers before and after rebooting.

Update: Steve from Martian who just released SlingShot which syncs folders between Macs sent me some numbers. Thanks Steve!

Update (2/4/2006): Bill Nalens sent me his numbers for the 1.67 Ghz PowerBook, which is the top of the line (and maybe end of the line?) for PowerBook G4s. I think Apple’s claim of 4x might be very accurate for developers. Assuming that the MacBook Pro is a little slower than the iMac, and it comes in at around 2:30 that’s right at 4x the speed of a PowerBook G4.

Mike PJ posted his numbers from his PowerMac Dual G5 and a Linux box. Mike is the developer of Seasonality, an advanced weather monitoring app for OS X. Surprisingly, the PowerMac is bested by the newest iMacs by 15-20%. I think the Intel PowerMac will come back with a vengeance later this year. I guess I should try to break things down further and look at the L2 caches and bus speeds to try to make sense of this.

Update (2/5/2006): I got more numbers from Daniel Jalkut who develops FastScripts and Michael Tsai who develops DropDMG, SpamSieve, and runs ATPM. Michael confirms my belief that the Intel iMac 2.0Ghz is the fastest of the current Macs with the exception of the Quad G5. Well at least for compiling.

What’s more interesting is that Michael and Daniel gave numbers for the same model of PowerMac, the Dual G5 2.0Ghz. Not sure how if the memory is the same, but it ranged from 2:46 to 4:31, which is a pretty big range. It turns out that rebooting can make a big improvement, probably due to some sort of memory leaks?

I also changed the instructions to tell people to quit all running apps and then optionally report a second set of numbers after reboot to see if Michael’s daily reboot suggestion makes a difference.

Update (2/7/2006): I got some more numbers from Daniel, who reported that single user mode doesn’t have much of an impact than regular (multi-user) mode. This is a good indicator that OS X is quite efficient. At startup, you have Finder and Dashboard running in the Dock, plus several other processes running hidden.

I also got some numbers from other Mac models, with an iBook 1.2Ghz bringing up the rear and a Mac mini 1.42Ghz beating out my PowerBook (which is sort of sad – I really should buy an Intel Mac this year) but still bested by the top of the line PowerBook.

There seems to be a debate as to how much benefit you get from rebooting, but I still recommend it at least for this benchmark. Also I’m only reporting the after reboot numbers from now on.

Also Patrick brings up an interesting point – we should build the same thing on both platforms, meaning a Universal Binary. I’ll look into doing something like compiling Adium.

I’m still looking for iMac G5 numbers.