3 ms·
Hi! Dev/maker here, This app helps you track time spent across apps and virtual desktops on your Mac and is free in the store today. [0] I'd be happy to answe
by spenvo 7y ago
Hi! Dev/maker here,
This app helps you track time spent across apps and virtual desktops on your Mac and is free in the store today. [0]
I'd be happy to answer any questions about the making of the app or macOS/AppKit development in general. This took about 12 months to complete, was my first Swift app (been programming other stuff, mostly web, for like 8 years) and originally started as a project focused solely on adding a unique icon for each virtual desktop (those things that Macs let you create in Mission Control, they call them Spaces). The project veered toward stats (which have way more mainstream appeal) about half way in -- so the end result is app stats which have rich context (which virtual desktop you were in you used them).
The business model has changed multiple times and landed on freemium via the App Store. Originally it was to be delivered outside the store, then it was going to have free trial, then, finally, freemium.
[0] - https://itunes.apple.com/us/app/currentkey-stats/id1456226992 https://itunes.apple.com/us/app/currentkey-stats/id145622699...
- mthoms 7y agoNice work, it looks quite useful. One question: Did you have to modify or remove any features you wished to include in order to get accepted into the App store? For example, features that use private APIs? Good luck on the launch.
- spenvo 7y agoThank you! I'll take your question in two parts: Fortunately this app uses public APIs only, none of which are marked as deprecated (yay!). Because it's delivered via the store it's fully sandboxed and only needs a couple of (pretty pedestrian) entitlements You never know until you submit to the store for review what will happen, and they ended up being completely cool and helpful. I did have a backup plan in place (i had round-tripped all that was needed for out-of-store distribution), but I'm really glad it didn't come to that. This is my first Swift app, so maybe that has a lot to do with it, but I found macOS development requires "scavenger-hunt driven development", where you're literally using Xcode autocomplete to discover attributes and methods on system-provided objects. It's doable, but there's a lot of sleuthing involved and docs and tutorials can be a bit sparse. Finally, the app did have to go through a couple rejections, but those were for missing some aspects of the Human Interface Guidelines, not the app's core functionality. All-in-all, by the time I launched, I think four versions of the app had been accepted (but not released to the public). (The first one was before I added in-app purchases, to test the waters)
- mthoms 7y agoThanks for the reply. I'm currently learning XCode+Swift and finding out about the "scavenger-hunt driven development" that you perfectly described.