WordCounter v1.6.6 Released

Teaser image

I have released a maintenance update to my app, WordCounter. Check out the release notes.

Some old code went out, some updated components went in. Most notably the date range picker from the statistics:

Latest date range picker of your stats

Since this update is built on modern macOS, I can’t support anything older than macOS 10.13 anymore without hassle, so that’s what’s required now.

I hope to have something fancier in store for the 10-year anniversay next year!

Get the WordCounter app for Mac.

VIPER Added to the Wiki

I was adding “tech stacks” to my CV and figured I might as well link the tech to articles or overviews on my page.

The ‘wiki’ pages I added some time ago are the best places to summarize topics and embed a list of related posts. So I added a page about VIPER and briefly had a look at my old posts.

On a side note, it’s funny how this approach looked kind of popular for a while, but never really caught on. Another example that programming is a pop culture. VIPER never made the Top 10. While it’s still an approach that does what it set out to do, the shorter ‘VIP’ tried to supplant it later, but the much less opinionated [view] coordinators really took the stage. (Crazy that Soroush’s post is from January 2015, which is 8 years ago.)

TableFlip v1.4.1 Released

Teaser image

TableFlip v1.4.1 passed App Store review and is now released: In my original draft for this post I wrote this: Direct customers got the update on Monday already. This plan was somewhat sort of holding up, but it was actually last week that I intended to publish it. And direct customers need to download the latest version manually, because I broke the auto-updater in the previous version.

Continue reading …

Dec 3 and Dec 4: EmacsConf 2022 Live

EmacsConf 2022 is this weekend!

It starts 15:00 CET (German Time), aka 9am-5pm Toronto/EST.

There’s a metric crapton of talks and demos and stuff. Recent years have been good to the Emacs web community.

Overview: https://emacsconf.org/2022/talks/

The website is great; it includes

  • visualization of the tracks,
  • iCal format of the schedule,
  • a dedicated mailing list,
  • and an Etherpad / open notepad for each talk!

Direct links to watch each of the ‘rooms’: https://emacsconf.org/2022/watch/

My Bookmarks for this Weekend

I’ll check out the others, but these I want to make sure I get back to:

macOS Ventura App Compatibility

Happy macOS release week, everyone! Earlier this week, macOS 13 Ventura was released. It’s a point-oh release, so you might want to sit this out a bit and wait for 13.1, as is common practice. (My main developer machine is running Big Sur, and I won’t be updating for a couple of weeks more, maybe not before December.)

Continue reading …

New Library Pages

I’ve added a new section to this site. Wanted to call it /books, but that’s taken and about my books :)

So I added the new /library index. It shows books added to my personal library sorted by year I read them.

At the moment, there’re only these three, all of which I needed (wanted) for the previous post:

This collection is bound to grow. I missed something like this for a couple of years. An overview of posts about book would’ve been nice for lots of reasons.

Now the basics are prepared.

TableFlip v1.4.0 Released

I’ve released an update to existing users of TableFlip last week. It works well so far, so now’s the time for the official announcement of the new version, available for direct download.

Most notable changes:

  • TableFlip now guesses sophistically determines the delimiter in CSV files, if needed. So you can use ; or \t just fine, which means export from Numbers works out of the box.
  • Non-comma-delimiters also “stick” when saving. No auto-replacement to comma anymore.
  • The CSV loading and saving is more robust, especially with quoted content. There’s been issued reported in the past, and these should now be fixed. Thanks for your emails and sample files, folks! ❤️

For my nerdy readers, behind the scenes I also upgraded Sparkle from the XPC branch to the actual Sparkle 2.0 stuff. I sincerely hope it will ingest the upcoming updates, too. (It’d not be the first time I broke the update mechanism of one of my apps, heh.)

What is TableFlip, you ask?

TableFlip is a fast tabular data editor – the ideal companion app for Markdown users who want beautiful tables in their documents. Open the file in both TableFlip and your text editor, and you’re set: TableFlip lets you edit all tables it finds inside your document and updates live as you edit your text.

Well, and you can edit CSV files, too, and export to LaTeX.

TableFlip v1.4.0 is available from the website and the Mac App Store.

FloatingFilter Gets Rounded Corners

Teaser image

I’ve updated the open source FloatingFilter package to finally have rounded corners. The old corners looked especially out of place on Big Sur, but fit Catalina and older macOS versions, too. I believe I never announced the development of this library in the past. It’s used in The Archive to show a floating selector for external editors, and will also be a prominent feature of stuff I’m working on. It’s a general purpose “select with fuzzy matching from a list of things” tool.

Continue reading …

Adding a Wiki to the Site

Some things on the blog are supposed to have a longer shelf-life. But the nature of a blog is to present things in a timeline. I employ cross-links from older posts to newer posts to encourage exploration with the introduction of the “linked posts” part at the bottom of each post. And I have a structured overview to help with discovery. Even then I branched out into other topical pages, like the TextKit overview, or the even larger FastSpring/Distribute outside the MAS page. To make sense of the timeline, I introduce what’s basically a ‘garden’ to my ‘stream’. It’s not a new idea, but I find not having these overview pages to hamper my writing. Some things need systematic overviews, and I enjoy making these, but there’s no good place for them.

Continue reading …

The Archive 3rd Anniversary Giveaway

Teaser image
The confetti looks much nicer in 60 FPS on the real page. Mhmmm confetti...

Our note-taking app for macOS, The Archive, turns 3 years old this week. To celebrate, we wanted to do something nice to all the people who supported us during that time.

The thing we came up with is a giveaway. But every customer of the past 3 years wins automatically. The price is 1 free license to freely gift to someone else.

The only condition is that you purchased the app before I uploaded everything today, and that’s it. And that you enter before April rolls around, because then we’ll take down the Claim-O-Matic.

Go to the give-away page and enter your email, then you get a link you can share with the ultimate recipient!

It was really fun to create the website for this giveaway. I also find myself staring at the confetti because it’s so soothing to see how it travels downward. I hope you enjoy the experience, too, and that you know someone who would benefit from a tasteful note-taking app in 2021 with no strings attached.

Now Hiring: Freelance Mac Dev

I’m looking to hire on help for my Mac app projects. You can apply now and I’ll be looking forward to pick someone in March. Ordered by importance: Have another look at my apps to see what kind of stuff I work on. This list of stuff is mostly about self-contained modules. You can think of these to be greenfield projects, so you don’t need to deal with existing code most of the time. We will design components from UI to API together and you’ll get to be as creative as you want and the project allows.

Continue reading …

WordCounter v1.6 Brings Analytics to Your Productivity!

Teaser image

The WordCounter update to v1.6 is online! It brings the long-awaited statistics module so you can get an overview of your productivity over any period of time. It also comes with a CSV export of the visible data. Download the free update! Export and the aggregate numbers will be expanded in future updates. The stats currently supplement the daily calendar history, but the history will be obsoleted as I move the daily details into the analytics part itself.

Continue reading …

Reducing the Blog Post Email Digest To Once a Week

After a couple weeks of experimentation, I find that twice weekly email delivery of my recent blog posts is one too many. I wrote a lot in the past months, so each issue contained quite a few links. But who wants more email with less links in it? I don’t, so I changed the interval to weekly, delivered every Thursday, covering a summary of the whole past week.

Continue reading …

The Archive Update Hiatus Due to a Severe Bug in Xcode 11

This announcement is a very difficult one: I cannot work on The Archive for the next week or two, maybe, more. That’s because with Xcode 11 and Swift 5.1, UI Tests stopped to work. Like, at all. I have created a Feedback ticket (FB7338237) and now also have a Technical Support incident open, awaiting a reply by Apple engineers to help with this.

Continue reading …

Processing David Epstein: Range (S01E04)

I uploaded another episode of the video series where I document how someone might process reading notes from a book after reading it. I don’t have any Range related project, so here I’m just processing the book from start to finish instead of looking for anything in particular.

This episode is shorter, because I didn’t find many useful ideas in Chapter 3. And the ideas I did find interesting were not citable, so I had to look the originals up. That took most of the time, but did ultimately not produce many new notes. It’s interesting that after a couple of session I already begin to form an opinion of the quality of Epstein’s research. There’s lots of endnotes, but the quality is … well, enjoy this episode to find out more!

Episode list:

  • Episode 1: Introduction
  • Episode 2: Chapter 1, “The Cult of the Head Start”
  • Episode 3: Chapter 2, “How the Wicked World Was Made”
  • Episode 4: Chapter 3, “When Less of the Same Is More”
  • Episode 5: Chapter 4, “Learning, Fast and Slow”
  • Episode 6: Chapter 5, “Thinking Outside Experience”

Processing David Epstein: Range (S01E03)

Another episode went live today – earlier than the last weeks, because I’ll be travelling to Frankfurt for the Macoun conference from Thursday to Sunday.

This chapter was harder to process. There seemed to be parts missing in the story. Maybe I’m too sloppy and haven’t noticed the missing pieces? Either way, something’s amiss in Range land. I also notice that the topics from chapter 1 were connected to the topics here somehow, but it’s just a hunch how things will fit together eventually. I’m looking forward to the next episodes, because I hope it “clicks” and I know how to split the sequence of notes in the structure note up into new Zettel notes and then work with the more powerful web of notes instead of this monolithic book overview.

Episode list:

  • Episode 1: Introduction
  • Episode 2: Chapter 1, “The Cult of the Head Start”
  • Episode 3: Chapter 2, “How the Wicked World Was Made”
  • Episode 4: Chapter 3, “When Less of the Same Is More”
  • Episode 5: Chapter 4, “Learning, Fast and Slow”
  • Episode 6: Chapter 5, “Thinking Outside Experience”

Processing David Epstein: Range (S01E02)

I uploaded episode two of the book processing video series on David Epstein’s book Range:

In this episode, I process the few highlights from Chapter 1. I end up with many more links than last time already. I also employ the method of creating a forward-link, i.e. adding a link to a note that does not exist but that I need at a certain location in my structure note, then add the details. The upside: you already have 1 connection!

Episode list:

  • Episode 1: Introduction
  • Episode 2: Chapter 1, “The Cult of the Head Start”
  • Episode 3: Chapter 2, “How the Wicked World Was Made”
  • Episode 4: Chapter 3, “When Less of the Same Is More”
  • Episode 5: Chapter 4, “Learning, Fast and Slow”
  • Episode 6: Chapter 5, “Thinking Outside Experience”

Calendar Paste v3.3.0 Hits the App Store

Teaser image

I have just released an update to my very first commercial app, Calendar Paste. It’s now v3.3.0 and sports iOS 13 compatibility, Dark Mode, and overall better layout. So it’s mostly a cosmetic and “minor tweaks” update.

Calendar Paste 1 was introduced back in late 2012. That’s 7 years ago! So, happy birthday, Calendar Paste!

To celebrate, Calendar Paste 3 will be available for free from Oct 1st until Oct 6th, and then 50% off until the end of October. The App Store listing doesn’t seem to be updated despite it being “Ready for Sale”, for whatever reason, though. Maybe it’s already fixed when you read this. v3.2 will work just fine, but not sport Dark Mode, yet.

The app was my first real app project, sufficiently simple to start with, yet interesting enough to be sold on the store.

Calendar Paste 1 kicked off my indie app developer business. I still don’t make a lot of money and have to freelance to stay afloat, but this is a very cool path to have taken. I’m loving it. In case you wonder: it never was a huge commercial success. For 7 years, it brought in something between $3 and $130 per month, with a guesstimated average of $18.53/month. Unless it didn’t sell at all, that is. So much for the dreams of yours truly in 2012 to get rich quickly, right? But I learned to code in Objective-C, use Core Data, program for iOS 5 (and then iOS 6 before the app was finished). That’s worth a lot.

That’s why I don’t sunset Calendar Paste, even though each year’s iOS update takes away time for maintenance. And I cannot warrant to add all the planned features to the app because the time is better spent on other, larger projects.

I also wrote a diary of the progress, taking extensive notes in a tutorial-like fashion, that I eventually wanted to publish as a $5 ebook – but I never did. It just didn’t seem to be worth the trouble, and shortly after most of the code was already outdated, and the lessons learned not easily applicable to Swift.

Sorry if you’re still waiting for iCloud sync. It’s theroetically possible, but would take about a week or two to implement and test, and that’s just too costly at the moment. One day I’d like to out-source development of features like this, but to do that I’d need to accumulate larger savings – so either me or someone else working on the app depends on the same solution and y’all have to hold out a bit longer.

Processing a Book to Extract Notes, a Video

For the Zettelkasten knowledge project, I’ve recorded and cut my first video. The process was a pain, and I think I’m going to write about it later – but for now, I’m happy with the result and very proud to have finished this mini project.

It’s part of an ongoing series to demonstrate the method we talk about on our blog. Here’s the video:

Comments are very, very welcome. So head over to the forums and tell us what you think of it!

Episode list:

  • Episode 1: Introduction
  • Episode 2: Chapter 1, “The Cult of the Head Start”
  • Episode 3: Chapter 2, “How the Wicked World Was Made”
  • Episode 4: Chapter 3, “When Less of the Same Is More”
  • Episode 5: Chapter 4, “Learning, Fast and Slow”
  • Episode 6: Chapter 5, “Thinking Outside Experience”

Make Money Outside the MAS v2 Book Writing Stage is Done

My ebook update routine has changed a bit for Swift 5 this year: I’ve expanded the “Make Money Outside the Mac App Store” book typoscript a lot. It’s about twice as long, with many more explanations for the setup, many new additional feature discussions, and practices that I’ve learned of in the last years. FastSpring’s revamped store kind of forced me to re-take screenshots anyway, so I figured I might as well take more.

Continue reading …

Newsletter Revival

Not everybody knows how to consume RSS, so I wanted to try to make updates to the blog available via email. That’s why I have now revived the newsletter signup page. This is the plan: I’ll experiment with this setup for a while, but I think the current options cover almost anything I currently do, or plan to do, so that both developers and customers of my apps get something interesting in their mailboxes.

Continue reading …

I Am at Macoun 2019

I’ll be at this year’s Macoun developer conference in Frankfurt (Main) again. This time, I’m not giving a tech talk, but hosting a workshop with Oliver Böhm. The Macoun is a German conference, and it isn’t expensive. I think that’s a great combo. You should go if you can. The community, or family, built around the conference over the past dozen years is very, very welcoming. You cannot not learn something when you attend.

Continue reading …

Book Updates Underway

I am currently editing a new version of my ebooks to update them to the latest Swift and include new features. Writing prose instead of code for the better part of the week took some getting used to, but I really enjoy the change of pace. Especially now that my flat-mate got a 1-year-old dog that has to be guided about what it means to be living under a roof with both of us.

Continue reading …

The Archive v1.4.0 Released, Introducing Tabs

Teaser image

This is a pretty huge update. It introduces native macOS multi-tabbing to The Archive – which means you can now open multiple tabs or windows and have different search contexts active. We call these contexts “Workspaces”. On macOS 10.12 and newer, you’ll get native tabbing of windows; for macOS 10.11 and earlier you’ll get multiple windows only.

Continue reading …

Lightweight CrashReporter Library for Mac Released

The wording here is 100% Brent's achievement. Love the humble tone.

I compiled a crash reporter library with CocoaPods support. Check it out:

The past couple of days, I’ve been working on integration of an automatic crash reporter. Turns out that on some machines The Archive is crashing regularly during search, and I want to track this down. I need data by more than the most courageous users who can venture into the Console to track down crash report files and send them to me.

So I bit the bullet and began work on a server script that would accept crash report files and email them to me. I think that’s better than making users email me crash reports directly. Not everyone has Mail.app set up on her Mac, after all.

Fortunately, Brent Simmons open-sourced NetNewsWire 5 and blogged about his crash reporter. Brent has decades of experience on the Mac, so whenever he publishes a practical tip, I listen.

Just have a look at the code: Collecting .crash files and sending them over? Sounded simple enough! NetNewsWire even sports a very humble crash reporter UI, and automatically sending reports on the user’s behalf if the user choses to do so. The required Swift types are simple enough to integrate once you figure out where Brent put all the helper extensions :)

I cannot stress enough how amazing open source is. All this experience, assembled in publicly available code repositories for everyone to grab and use. This is crazy.

I am now rolling this out for my apps, starting with the WordCounter and The Archive on their respective “beta” update branches to see how it works in practice. The Swift code is simple and I trust it doing its job. But the server script, well, it needs to be battle-tested now!

I’m going to add public-key encryption of messages and/or some sort of authentication to prevent malicious attackers from spamming me with emails that, well … I send to myself.

Move! Work Break Timer v1.4.0 Released

I just released an update to Move!, the work break app I develop and use. It fixes a couple of user experience issues, like displaying a Dock icon when you view the preferences so you don’t lose the window.

Also, the app’s preferences didn’t display license details properly on Mojave and above. The app now uses Swift 5 and updated external libraries under the hood, is properly notarized (hello, Catalina!) – and a couple of MiB larger than before. I am looking forward to when we can depend on the Swift runtime being available on user devices.

Fixed Code Highlighting on the Blog

I manually edited about 400 occurences of code block markers from #!swift into \``swift`. I hope I didn’t break anything in the process. So far, things look good. If you find oddly looking posts or broken code blocks, please tell me about them. There’s no way I can find problems on my own in 10 years worth of blog posts :)

Continue reading …

Post Overview Updated

I don’t know what’s going on this week, but I have written a lot for the blog. I also carved out an hour and a half today to update the structured overview of articles on this website. I always wanted to make it a good entry point but didn’t update it during the transition to another blog platform, then back again, and now it’s 2 years later already. Phew!

WordCounter for macOS Version 1.5.0 Released

I updated my app the WordCounter for Mac to v1.5.0 today. This update includes a couple of modernizations behind the scenes, but most importantly fixes problems that were related to the app being a Dock-less menu bar app. You couldn’t manage any of its windows well. Now you can, because when any additional window is shown, a Dock icon is added on the fly.

Continue reading …

Browser-Like Navigation in The Archive

This weekend, I released an update to the note-taking app I’m working on for a while called The Archive. This update is pretty big for people not getting updates from the opt-in “Cutting Edge” update channel, because all of a sudden the app allows you to navigate back in time. The navigation stack (what you’d call browser history available from the navigation buttons in your browser) behaves like this:

Continue reading …

TableFlip Is Now Available on the Mac App Store

Teaser image

TableFlip is now available on the Mac App Store!

I also released updates to the non-Mac App Store version that fix CSV editing problems and improve the user interface. Of course both versions have the same features, so you’re not missing out on anything if you only own one version.

The app store page is a feast for the eyes. There’s a demo video (I already know how I can improve it a lot with the next update), Zebras, and lovely icy mountains.

Please share the news to help the app get traction. That would be super helpful!

Fixed the Blog Archive

I was looking for an old post and found that the paginated list of blog posts didn’t quite contain all the posts I expected. Turns out I introduced an off-by-1 bug there, computing pages for 10 posts per page, but working with all_posts.each_slice(10-1), effectively dropping 1 post per page.

Of course my website isn’t unit-tested, so no wonder :)

Bye, Bye, Google Analytics

Happy GDPR day! With the recent EU law stuff taking effect, I reconsidered my use of tracking information from you. So I just removed Google Analytics tracking on this website, on our productivity blog at zettelkasten.de, and on all my app websites completely. I find the numbers interesting, but not actionable anyway. I don’t do A/B testing. I just write for fun and with the intent to help you do stuff. There’s no benefit in tracking how you use my site. Your visit is much appreciated, and that’s it!

Continue reading …

The Archive Is Available Now

Teaser image

My next macOS app project has launched: It’s a note-taking app for macOS to help writers write more. In our typical German stoic way, we just call it The Archive. Check out The Archive! Its choice of features is closely tied to a few core principles: the user is more important than your app; plain text comes first, so avoid proprietary features and vendor lock-in, thus furthering replicability of the workflow in other apps. I guess we’ll write more about that in the future.

Continue reading …

Launch of My Next App, The Archive

Teaser image
screenshot of The Archive

I spent the last 15 or so months developing this beast. If you follow my ramblings, you will know that I get to work every day at about 7 a.m. and work until about 5:30 p.m., including workouts and breaks. Since I didn’t use a time tracker like Timing (affiliate link) for most of the time, I cannot say how many hours I really spent coding, sadly.

Anyway. The launch. The Archive will go live March 15th. I’ll publicize the app info page, soon.

And then I’ll spend some leisure time writing a postmortem. The beta testers have been a pleasure to work with, as always. It’s amazing how much love strangers are willing to give for carefully crafted products.

This closes a weird circle for me: my first Cocoa coding experience was adding Markdown preview to Notational Velocity in 2010, which I barely managed, having had zero understanding of Objective-C and how Xcode worked. Now I am able to create an app that exceeds NV’s capabilities all on my own. I’m very happy about this coding journey, and oh boy do I have a lot of cool stuff I am going to add after v1.0 goes live!

Blogs Merged Back Into One

I have migrated blog posts I published at cleancocoa.com over the past months back to this place. It was nice hosting the project on GitHub Pages, but in the end I never really wanted to post articles elsewhere. The original problem of my web imperium still persists: on this personal page, both my coding stuff and my software need a hub. A proper next step is to create a better website index to direct casual visitors, I guess, and improve the website navigation.

Continue reading …

The Archive – Mac App Beta

Teaser image
The Archive screenshot
Early development preview of The Archive

My latest project is about to be ready: it’s a strictly plain text note-taking application. If you know our writing over at the Zettelkasten Method blog, you will know the method I’m incorporating in this app. Everything revolves about flexibility and your ownership of the notes. Plus the amazingly productive method itself is baked right into the app to guide your workflow.

Sign up here for a beta invitation in early May:


Website Changes Imminent

Update 2017-11-26: This announcement appeared on the GitHub hosted page for a while and is now outdated; I leave this here for historical accuracy after merging the websites. The past couple of weeks have been unusually quiet around here. There are a couple of reasons: Then there’s a lot of preparation happening for side-projects and my stuff at the Zettelkasten Method blog where we will run a live video stream today, by the way.

Continue reading …

Clean Cocoa Blog Redesign

Update 2017-11-26: This announcement appeared on the GitHub hosted page for a while and is now outdated; I leave this here for historical accuracy after merging the websites. I started and kind-of-finished this step after TableFlip’s release back in November 2016. But then I never pulled the trigger. So the redesign and usage of the cleancocoa.com URL didn’t really happen. Until today.

Continue reading …

Register for My Webinar About Ditching the Mac App Store

I will be hosting a webinar about distributing your app outside the Mac App Store next week. It’s free, and you’re very welcome to attend!

Wednesday, February 15th, 2017 @ 10:00 AM PST (will run 1 hour)

→ Register Now

Topics include:

  • Ditching the Mac App Store – Why, and what it means.
  • Is There Life After the Mac App Store? – Choosing an e-commerce provider.
  • Getting Back to Development – How you change your code to work outside the Mac App Store.

Plus you’ll see me live. That alone should be motivation for you to visit, no matter the topic :)

Disclaimer, aka Code of Honesty and Transparency

Maybe you just arrived on my blog and don’t know how I do things around here, yet, and how much I value morality over profit anytime. So let me erase your doubts about this webinar cooperation.

I use FastSpring to sell my stuff. I really like their service, so I wrote a guide in 2015. FastSpring in turn was impressed by my initiative and helped me spread the word a bit and provide background info whenever I needed anything. I am not getting paid by FastSpring for the book. It’s my own creative work. I maintain it because I think it helps you, fellow developer, to set up your own indie business.

Then late 2016, FastSpring approached me as their go-to expert for Mac app development. They plan to show how easy it is to use FastSpring to distribute Mac apps. In other words, they want to own part of the good news for obvious marketing reasons.

With the recent Out-of-App-Store Success Stories by Rogue Amoeba and Kapeli, it may even be a growing market.

I was skeptical at first. I will not violate my strong ethics; teaching people the One True Way™ is more important than easy money. But I came to find FastSpring values delivering useful content over running a 60-minute ad show. From the get go, FastSpring wanted me to create the content. Not even once did they suggest I add something to my slides. They totally risk I go live on Wednesday and tell people to use a competing service. But I won’t, because I know no better service provider. I liked the concept, so I agreed. I am getting paid by FastSpring for this webinar gig. But it’s 100% my webinar.

To stay true to myself, I will give genuinely helpful advice to empower the attendees to become independent. Of course I’ll show FastSpring’s features, just like the screenshots I put in my book. All because I believe in their service, not because they bought my loyalty with the speaker fee.

In short, this is not an advertisement for FastSpring. I haven’t sold my soul. It’s a cooperation out of mutual respect.

Hope to be seeing you around on Wednesday!

"Exploring Mac App Development Strategies" 4th Extended Edition Now Available

Teaser image

I’ve just finished updating the book “Exploring Mac App Development Strategies” for Swift 3. Looking at my Word Counter, this 4th edition sports about 15000 new words in the book and code combined: I re-wrote a lot of chapters and source files. I also expanded a few sections to add more context and incorporate things I learned in the past 2 years.

Continue reading …

TableFlip Will Be Released in October!

Teaser image

It is time to go public: I’ll release TableFlip in October. Sign up for the release notification: http://tableflipapp.com/ Much love goes out to my beta testers! ❤️ You are great! I didn’t anticipate that we’d have so many discussions. Thanks for all your amazing feedback so far. The past 12 weeks were wild; now it’s time to calm down a bit and make things right.

Continue reading …

Revamped Blog Archive

I just changed the blog archive to show all past articles reduced to the titles on one page. There still are annual collections of the old-style excerpts. I hope it helps to browse the stuff I published over the years. Still I find the sheer mass of topics unwieldly. That’s why I started to work on a curated and commented list of articles, like a table of contents. Will let you know when it’s ready.

Continue reading …

TableFlip Closed Beta Invitations

Teaser image
screenshot of TableFlip
TableFlip's current beta interface

I’ll send out a beta invitation to everybody on the TableFlip Newsletter this week. If you want to help me find quirks in the app and overall make it more usable, this is your chance!

Everyone who reports an issue will get a free license when the beta ends. Also, I’ll invite interested folks in batches, so you may not get your hands on the app this time but maybe in 2 weeks.

Join the Beta List

Tell your friends and in general everybody who’s using Markdown and/or deals with lots of tabular data in their work.

objc.io Books 30% Off

Teaser image
books screenshot

All 3 amazingly useful objc.io books are 30% off this week. Grab all three of them in a bundle and save even more.

If you use my link, I’ll even get a small kickback thanks to their affiliate program. I wholeheartedly recommend you take at least the time to read the samples. The team updates their ebooks regularly, and you’ll get a Swift 3.0 edition later this year, too.

A Vacation Week – 20% Discount While I'm Away!

palm trees
vaycay by Philipp Richter. License: CC-BY-NC 2.0

I’ll be on vacation for the next week. Maybe I cannot hold my breath and publish a post nonetheless, but I’ll try not to. Either way, for the next week everything from my store is 20% off so you can have fun while I’m away.


  • The Word Counter to increase writing productivity,
  • Move! to not die from sitting in front of your computer.


Enjoy the new and shiny Indie Mac Developer book bundle, including:

– both of which you can buy on their own, too, of course, if you don’t need both.

Not related to programming but rather writing: Minimal Writing on the Mac, too, is on discount.

Make Money Outside the Mac App Store now Available on Amazon

book cover

My e-book about creating and selling apps for Mac without the Mac App Store is now available on amazon.com if you prefer a print edition!

Why does print cost less?
The digital edition will be updated regularly with the latest Swift syntax. Further editions and major revisions are free for customers, too. I can’t do that with a print edition on your bookshelf, obviously. That’s why.

It feels weird, I know, because paper costs money and print book feel more precious. I’m making about 50% less with each sale, so there’s quite some cost involved printing the book. The feeling of physical good in your hand is part of the perceived value, and everyone would tell me I should factor that in, but I’m a bad businessman. It’s the right thing to do. Why should you pay more for something with less long-term value only because my costs are higher?

Make Money Outside the Mac App Store

book cover

Today I’m proud to announce the release of my e-book Make Money Outside the Mac App Store!

Get it for $25 $19 until Dec 24th from my store!

Shaving off VAT and then again 30% for Apple for every purchase of your app in the Mac App Store can be madness: the only real benefit is that people know how to operate the store. But if you’re just starting to run your business, discoverability is hardly a feature.

Instead of drowning in the warehouse that the app store is, put your software in your own store. You have to build an audience anyway to get started. So stay in touch with them. Know your customers. And stop giving away 30% for a promise that doesn’t hold.

  • Save days of research and implement the techniques today
  • Copy & paste Swift 2.0 code to integrate into your app in <1 hour
  • Utilize in-app purchase of licenses for a higher conversion instantly
  • 2 fully functional sample applications, including a time-based trial app
  • Secure license code generation and verification included

Take a look at the details page for more info.

This book will save you hours of research and days of fiddling with SDKs. It shows you how to set up products for sale on FastSpring including automatic license code generation and then guides you through the process of adding license verification to your app.

Don’t need all the explanations? Just follow the setup steps and copy the code into your project and you’re ready to roll in half an hour!

I’m not affiliated with FastSpring. I just think their service is awesome.

Here’s what FastSpring’s CTO Mike Smith has to say about the book:

We appreciate Christian’s efforts in creating a guide that enables Mac developers to sell applications through FastSpring’s award-winning e-commerce platform. He has provided detailed instructions to help developers configure key elements of their online sales process. The spirit of community captured in his book reflects FastSpring’s mission to connect people globally in the digital economy.

I truly believe in the spirit of community and I believe you can make it as a developer without the App Store. This book is here to empower you so you don’t have to figure out all the scary details.

So many other indies rely on FastSpring, too, including:

  • Smile Software (TextExpander, PDFpen)
  • Realmac Software (Clear, RapidWeaver)
  • Tyler Hall (VirtualHostX)
  • Ironic Software (Yep, Leap)
  • Bohemian Coding (Sketch)
  • toketaWare (iThoughtsX)
  • well, and me, obviously :)

Get to know their stories from this book. Be inspired and take the leap.

Because I think it’s so worth your time as a Mac developer, get it for 25% off until Christmas when you buy from my store.

Productive Writer's Bundle Sale

website screenshot
The Productive Writer's Bundle 2015

This year, the team of Texts, Brett and I teamed up to bring you the best minimal writing product bundle for the Mac. It’s designed to get you through NaNoWriMo: the accompanying guide tells you how to make the habit of writing stick and how to get most out of the apps.

The lineup of apps:

  • Texts for focused writing (even on Windows PCs!)
  • Marked for previewing and reviewing
  • Word Counter to increase your productivity
  • BONUS: iThoughts X (coupon for 30% off) to plan the plot with Mind Maps
  • BONUS: Minimal Writing on the Mac guide

I use these apps myself to write, so creating this bundle was a no-brainer and a very exciting experience – oh was I busy! – but more on that later.

The Productive Writer’s Bundle is a sexy deal at more than 50% off, for $25 instead of $60 – for every author, be it novelist or non-fiction technical writer.

Grab it now. And tell your friends.

Leave a Rating for Move! app on MacUpdate

Move!, my personal favorite productivity and health enhancement app (and, apparently, my own creation), is now available on MacUpdate. Check it out for free if you haven’t already.

Please leave a quick rating on MacUpdate so other people know how good you feel, now that you take regular breaks from work.

If you feel super-awesome today, feel free to leave a short review, too.

Your support helps me continue my work. Every star counts! ⭐️⭐️⭐️⭐️⭐️

Thank you!

Screenshot of Moive!
Now look who's caught me looking at reviews.

Move! – Work Break Timer Now Ready for El Capitan

Teaser image

The Apple Watch is all the hype since it gently reminds you to stand up and move regularly. That’s a very good thing. A gentle reminder won’t cut it for me. That’s why I created a solution which jumps right into my face.

Look at the project page of Move!.

It features responsive timers: when you don’t touch your input devices, the clock will not start to tick. Only when you sit down and work will the timer start and make you stand up soon.

Move! is now ready for El Capitan. The upcoming OS X update can come!

Move! – Work Break Timer Release

Teaser image

During summer, I have created a work break timer called Move! which really works. It gets in your way, it cannot be postponed. I created it to make me get up and stretch and do something else for a couple of minutes every half hour.

Sascha and I plan to add exercise instructions later. Right now, we’re happy to have a tool which forces us to get up every now and then and get healthy. (Backed by research, mind you!)

Try it.

It will get on your nerves. Continue to take breaks when it tells you to.

You’ll hate it.

You’ll yell at it.

But it will make you feel better in the afternoon.

Do yourself a favor and try to do some diagonal stretches or a healthy 1-minute routine.

Download Move! on its dedicated page now and experience it for yourself.

“Exploring Mac App Development” Updated for Swift 2.0 + Coupon to Save 50%

Teaser image

It’s a good time to update my book for Swift 2: guard clauses improve readability, and do-try-catch error handling shows problem points. Protocol extensions are huge, but I had no use for them in the sample code, yet. The update is live now. If you haven’t bought the book in the past, grab it until August 1st to save more than 50%: use the coupon Swift2Yay. The coupon is good for 10 copies, so be quick.

Continue reading …

Book Updates for Swift 1.2

I have just updates the book Exploring Mac App Development Strategies to Swift 1.2. A few sections were expanded, a few paragraphs rewritten – but the big update is still underway. It’s due this summer, and then I’ll consider the book feature-complete. Until then, check out the current deal for Creating Multi-Process Mac Applications, which is available at a discount right now since it’s an early release version.

Continue reading …

How John Sonmez Helped Me Streamline This Blog

Teaser image

I’m going to change things here a little bit in the upcoming weeks. Recently, I found out what I want to do with this blog. John Sonmez of Simple Programmer is offering a free three-week e-mail course for starting to blog as a software developer. I subscribed to check out what other developers on the web do, and I have read his 6 e-mails and followed some of his advice. One particular e-mails made me think about my projects, what they mean to me, and how they relate to each other.

Continue reading …

Subscribe to My New Mailing List

I have a Zettelkasten project newsletter for a few years already, and it was featured on this site as I wrote about the topic.

Since my endeavors on this worklog/blog have shifted, I think it’s the right moment to offer a non-Zettelkasten newsletter for the folks interested in my projects, the programming books, and the software I develop.

The new project newsletter will be my premier place for project announcements and software beta invitations. A lot of you have helped already make the Word Counter better. There’ll be lots of opportunities to test software for free in the future. There’s a bunch of stuff in the making.

Apart from project updates, I’ll provide a convenient list of posts I have published on all my project websites since the previous issue so you don’t have to collect these, too.

Thanks for your support and for reading this blog! If you want to stay up to date and benefit from a much closer contact, sign up now.