Marcus' Homepage

Work in Progress March 2015

Since I’m an expert at working on several projects at once, which can delay updates of my apps, I figured it would be a good idea to at least blog about what I’m working on. Of course, this means that what you will see here is all work in progress and everything is subject to change.

Mousai 2

Mousai is an app that I thought was almost feature complete, but then I suddenly got a lot of great ideas that I want to try out.

The most notable new feature will be support for remote clients, that allows you to control whatever Mousai can control from for example your phone. The API for this is built as an embedded web server, which will make it easy for DIY people to build their own remote clients.

Imagine controlling Spotify with your toaster. Oh yeah.


APM and Mousai are both apps where I use the NSPopover component that’s available in Cocoa. I think it looks great, but I wanted to be able to show the view inside the popover in a window as well.

So I started working on my own class called MrcsPopoverWindow. It will let the user drag the popover to “detach” it from the menubar, kinda like how the window in Hypernap works. In practice it actually opens a panel window and transfers a view between them.

An early version of MrcsPopoverWindow in action.

This class will be used in APM 2 and Mousai 2, and I might put it on GitHub if I’m pleased enough with the results. I think it will be a useful addition to the world of statusbar apps.

Hypernap UI rework

For Hypernap 2 I’m completely rebuilding the interface to make it feel more modern and stable. The current version uses a method for drawing the main window that basically draws most of the window by itself, to get the unified title/toolbar and the statusbar arrow.

This worked fine in Mavericks, but the release of Yosemite introduced some changes to how window shadows were drawn, which causes some issues with the method I was using. I made a patch that made it look good in Yosemite too, but a few weeks after releasing 1.3 I realized how sluggish the UI had become with my fix.

So I started building a new implementation of NSWindow, with a main goal of recreating the same look but more efficiently. Luckily, Yosemite also brought some new functions to NSWindow like the unified toolbar, so there was a lot of overhead that could be removed.

In the new version, the only thing that’s actually custom drawn on the window is the arrow shown when attached to the statusbar. And that isn’t even drawn on the main window, it actually gets its own borderless window. You can see below how much smoother it got.

You can tell that Hypernap 2 is still early in development because it still has my "Hej" status item. Hej means Hello in swedish.

But what’s the ETA?

Honestly, I have no idea. My wildest guess is that Mousai 2 will be finished first, and might be released a month or two from now. Hypernap 2 will hopefully be released this summer. But this is only speculations, since my app schedules are usually greatly affected by IRL events.

Those who already own an app will probably get early access to beta-versions whenever they are ready.

Worth noting is the current apps will also still receive updates once in a while. Hypernap 1.3.1 with some bug fixes was recently published on the Mac App Store and 1.3.2 will get released outside MAS as soon as I get my Developer ID certificates in order (I’ve done a lot of computer replacements recently).

Suggestions are welcome

If you have any requests for a feature on any of my apps, feel free to post them in the comments below or by sending me an e-mail.