App Sales and Hourly Earnings Calculated
Interested in some data about app sales? I wrote a Ruby script which parsed my worklog files for timestamps, calculate the difference, add it up and then return in a human-readable form the amount of time it took to develop Calendar Paste. So I logged about 115 hours of active development time, planning, tinkering with the website and whatnot—and I definitely spent more hours on this project before I began logging my progress.
Parsing YAML Frontmatter in Ruby
I was trying to fix a non-issue with YAML by throwing Ruby gems at it. nanoc and Jekyll and the like provide YAML metadata for their content files: Google said this is called YAML Frontmatter. So I was looking at a way to parse YAML Frontmatter of plain text files, searching for gems – until I found the laconic answer on StackOverflow: what’s wrong with YAML’s standard features?
Nanoc3 Boilerplate
I put my personal nanoc boilerplate setup on GitHub. Maybe you find the deployment process useful.
Deployment Process
I assume you’re public html folder is called htdocs/
and you can create new folders below your domains folder but outside htdocs/
.
I also assume you use my Rakefile: upon rake build
it will checkout the branch ‘deploy’ and put all files from output/
in there. Uploading from ‘deploy’ to the production server will only copy the HTML output, not the nanoc setup.
-
Initialize bare production git repository on the server:
git init --bare ~/doms/example.com/git
-
You’ll want automatic updates when you push to the server. Use git’s own
post-receive
hook:# add to ~/doms/example.com/git/hooks/post-receive echo "Updating website ..." cd /the/full/path/to/doms/example.com/htdocs || exit unset GIT_DIR git pull origin echo "Update complete."
Make it executable:
chmod +x post-receive
-
Initialize git repository in
htdocs/
. This will point to the bare
repository on the server and check out the current version:# given you're in ~/doms/example.com/htdocs git init git remote add origin ../git # setup branch to pull from: git config branch.master.remote origin git config branch.master.merge refs/heads/deploy
-
Setup production server locally:
git remote add production ssh://user@example.com/~/doms/example.com/git/ git remote show production
-
Commit changes locally and put them on the server:
git commit rake build git push production deploy
You can push all branches via
git push production
to backup your code.
Only the branch ‘deploy’ will be visible to the public.
Sources
I once combed this together from various sources:
Interactive Guide to Blog Typography
I like this interactive guide a lot, because it focuses on basic rules of nice-looking typography which result in a quite beautiful example page.
The reference to http://modularscale.com/ was nice, although I seem to fare well with a selection of the traditional scale: 16, 18, 21, 24, 36 (measured in pt
; I use em
s, though).
Link Love: practicallyefficient.com
Eddie stumbled upon Calendar Paste first!
I think about publishing sales stats on my website; maybe this would be a cool add-on for the upcoming e-book as well. I already sold the app 12 times in the past few days without any marketing whatsoever. I’m curious where I’m heading with this niche app.
Also, I got some cool feedback and suggestions! However this is going to turn out financially: It will be a fun ride, that’s for sure.
Thank you, dear early adopters!
Calendar Paste release

My very first iPhone / iPod Touch app Calendar Paste hit the App Store this week!
It’s about preparing events and pasting them into your calendar when needed. Saves time for scheduling and entering team meetings, for example.
The fixed duration is a real time saver in my opinion. No more spinning “Starts” and “Ends” in Apple’s Calendar app.
Remove Objective-C method declaration fluff with Keyboard Maestro
I got the usual Objective-C method declaration: When you reference this method, its proper name is tableView:cellForRowAtIndexPath:
. Removing all the parameter declarations and the return type by hand is really tedious. I wrote a Keyboard Maestro macro to remedy my pain:
iOS Project coming soon
I’m working on something pretty cool. The project website is in the making. Until then, I want to sketch what it is: a iOS event template builder. Also, I’m working on an ebook which covers the app development process.