Show HN: Automatic private time tracking for OS X
qotoqot.com
qotoqot.com
I tried RescueTime before but it was too expensive for its functionality ($72-108/year) and also collected all my tracked data on their servers. There is standalone ManicTime on Windows but OS X standalone trackers lack features and most of them are not automatic.
So I started to play with OS X accessibility and got promising results pretty fast. Then there were about 14 months of writing some code once in a week or two and 3 months of almost full time polishing and gathering feedback.
Now it's marketing time. Qbserve did well on PH but almost no other sites picked it from there. This week I pitched about 70 journalists and bloggers who write about Mac or productivity apps but the results are not clear yet.
I'll be very grateful for advices on how to promote it better and overall feedback. Thank you!
That being said, I'll be buying it. It's a great app and well worth the price.
Ugh, smells like marketing tactics. Whenever I see leading yet vague language, I become a lot more likely to close the tab.
I love your dock icon as well. I was trying to build a custom version of that but for my tmux line, but rescuetime's API doesn't provide realtime info.
Will you open up some APIs for the data? I'd love to be able to do my own analysis and build my own tools. I'd also like to backup the data to s3
In case somebody would like to export the tracked information: it's stored in SQLite in the ~/Library/Application\ Support/Qbserve/ and has a very simple scheme of HistoryLog tables for each month that refer to Activities table that refer to Categories and Apps tables.
Great to hear you're considering data export. I'd love to display time usage in a tool like Gyroscope (https://gyrosco.pe/), which already integrates with RescueTime and a variety of other activity-specific trackers. Visualizations and stats in Qbserve are great for diving into the details of time spent on the computer, while exports to more generalized tools help show how the big pieces of life fit together.
A built in console/scripting engine would also be a nice to have but not necessary if the data can be exported/extracted.
As far as marketing if you decide you'd like to just get it in front of a lot of possible seats you might consider picking one or more of the application bundles, particularly "productivity" focused ones, and see about getting it in there. You won't make much money on it directly, but it is a good way to get a lot of people who wouldn't necessarily risk it otherwise to give it a spin without actually giving it away for free, and in turn sell paid upgrades from there. I wouldn't necessarily suggest doing that vs pure organic, at least not for a while, and how much economic sense that'll make for you depends on existing sales and what sort of major upgrade schedule you're considering. It's an option to consider though and can be one of the better forms of advertising, in that it goes right to a naturally more targeted, self-selected audience for low outlay. Qbserve certainly looks plenty quality enough to fit in. Best of luck to you!
Edit to add: While you specifically contrast this to business software for controlling employees, nevertheless I think a number of small businesses in particular might find this interesting, more from the employee empowerment/knowledge point of view rather then control. To that end some form of basic multiseat discounts might earn you some more bulk orders (doesn't even have to be much, 5% off 5-10, 12% off 10-50, etc, or whatever makes sense to you). Similarly, things like Educational/Non-profit discounts and Family seats are tried and true ways to get people on the train.
----
Also a small bit of extra kudos postscript: thank you so much for going to the trouble to actually choose a distinct, unique non-word name for your software. The trend of picking single standard words for application names (acknowledging that modern Apple is the originator of evil here) has been incredibly irritating as it makes searching and discussion entirely unnecessarily more difficult.
I will definitely consider the small business option. We now have educational discounts and the license is also works for the whole family (up to 5 machines).
OT: The app looks great at first glance, and is timely as I'm ramping up my independent development work. You might put "cube-serve" as a pronunciation guide somewhere on the page, although that was my first guess; I'm still trying to work out how to pronounce "Qotoqot", though...
Under OS X in modern times? Absolutely. They've made it standard practice for nearly every piece of first party software they make that doesn't have significant legacy or isn't specifically aimed at developers.
>At least Apple had the decency to put the letter "i" in front of everything
If only. That went away a long time ago however for non-legacy. "iMail", "iPages", "iNumbers", "iPhotos", "iMessages" etc would obviously not be the most creative or exciting names, but they would fulfill the fundamental core purpose of a trademark brand name in terms of being trivially, reasonably (wouldn't be surprised if there are some collisions mixed in there) uniquely identifiable. Apple has not done that, and in fact in many cases actively moved away from that (iMessage was a thing, now it's just "Messages"). They do this constantly and they've encouraged it in the MAS.
Apple themselves can somewhat get away with it by virtue of size. Doing a search for "Apple Mail" is reasonably on target for Mail.app, though conversely if you want to search for something related to Apple and mail that isn't Mail.app (notice how just here in discussing it I have to use a made up, but very common user invented name just to distinguish what I'm talking about) you will have more difficulty. Even for major examples like that though it's still worse then where Apple actually still has something more specific, like GarageBand or FaceTime. And when it's some random small 3rd party? Argh.
Specificity in names is good and easy, this isn't some huge burden. It's irritating it's even an issue that has to be talked about at all. Qbserve is an excellent example: it's a small, focused niche app that's very new, but the name is simple and memorable,and a search for "Qbserve" is all about the product.
It's 'kotokot' and means cat-o-cat in Russian.
Very soon having a big monthly software bill will be seen as normal. This makes me sad. Don't we have enough recurring bills as it is?
A desktop app with no server component doesn't necessarily need aggressive monetisation because at a certain point it reaches feature maturity and doesn't need much more work. It sells itself while the developer works on other things.
Of course if you're looking to go beyond a "micro-isv/lifestyle" business and want huge growth it's a different sorry.
My only complaint is that I absolutely hate the name. I don't even know how to pronounce it. "Cube-serv?" "Queue Observe?" Don't make me think. Also, I'd be embarrassed to try to say the word to someone else when telling them about it. "Looks like a really cool app! What's it called?" "Oh, it's um... Q... Uh... Cube..., uh I don't know. I have to go." And even if I could pronounce it, trying to spell it for someone so they can look it up. Ugh. Forget about it.
It's cube-serve in my opinion, an observing cube. Well, I'm not a native English speaker... :)
Seems trivial, but this has happened to me before with new, "nice to have but not essential" software.
Obviously, once users use it enough they'll remember. But during the trial they may forget about it.
Unrecognized domains and apps are sent by users on categorization but you can opt-out by unchecking "Submit..." or disable it completely (in Settings). Check out the help and privacy policy for more details: https://qotoqot.com/qbserve/help/
> Can we tag applications & websites in "Neural" tab as productive or distracting?
You can add any site, application and even windows to any category. Select the activity you'd like to change in the Details tab to see the popover with settings for this activity.
If I'm on github.com/mycompany/* it's productive, if I'm on github.com/someuser/somerandomlibrary it's probably neutral/slightly distracting. If I'm on github.com/donatj/* I'm probably distracted with personal projects I shouldn't be poking at work.
Tried it out, bought a copy :)
The thing i'm noticing most (and i can hack around this probably) is that there are some things that are productive in certain contexts (monitoring twitter after launching/announcing a thing) and not in others not (twtittering while i'm supposed to be writing code, or letting myself get distracted by twitter while waiting for something to build).
Would you consider some notion of rule sets scoped to some notion of "what i'm supposed to be doing"?
It will be hard to implement since the "smallest tracking unit" is activity - a website or a window. I also can't see how to implement it without making everything too complex (the app's UX is too complex already in my opinion).
You can try to use a different browser since domains are bound to browsers. Like using productive Twitter in Safari and distracting Twitter in Opera.
So, I honestly wouldn't change anything about the interface, except to wrap the entire thing in an outer shell with something that represents what GTD software might call a context.
And depending on context, different rule sets apply. Anyway, that's just a suggestion, don't mean to stomp on your notion of product, what you've got is a great start and a neat coupling of product experience and interesting engineering!
I especially like the ambient info display in the app icon. Seeing whether the app is bordered in green or blue every time i tab up the app switcher is a great piece of design.
Would be nice if you'd do a PR to get your app into Homebrew. It's just much easier to find, install and update apps with Cask.
(I'm one of the maintainers of Homebrew Cask)
If it's missing from there then it's probably a bug.
If it still fails to get the tabs, please contact me: https://qotoqot.com/contact/
I was able to figure out all the features simply by experimentation, but a tour might be helpful to guide through the process of adding a new category/website/app. There are obviously going to be niche cases that you can't get information on with this app (I might be working on a personal project and there would be no way of knowing), but for 99% of people this seems to be what they would need. I second the suggestion below about allowing more detailed domain name matching, since github.com/mycompany is productive while github.com/anythingelse is usually not.
Overall it's a beautiful product and well-executed idea, I appreciate the 10 day trial and I'll definitely be purchasing it. I fell to 19% productivity as I was writing this comment so I'm going to get back to work :)
So far I think it looks pretty good for version 1.0. Will probably have more feedback after a few days.
I'm listing to Spotify all day while writing code, listening to playlists like "Discover Weekly" or the "Radio". I find that some songs often make me much more productive than others. With all the data you collect, you could easily determine what songs are playing while I'm "productive" --such as while an editor (Atom) is open for a period of time. Then, those songs could get added to a "productive" playlist that I can use later when I need to really focus.
The problem currently is that we don't know what songs are playing when we are super productive because the truly great songs making us productive don't distract us, and thus never get added to a playlist as "productive" songs; they just keep playing in the background acting as a muse.
We will have export in future and you will be able to match data from Qbserve and data from Spotify to see which tracks create the flow for you.
Would be nice if we could set the idle to < 5 min. Also sorting the columns when clicking as well
So far, it's only tracking the time and recording which app is in the foreground and what file / url is currently opened in there. It doesn't have any GUI and it won't show you nice statistics like Qbserve. But it shouldn't be difficult to calculate any statistics you want from the data.
Python, Open Source, easy to add support for other platforms and apps (so far mostly MacOSX support). Patches are welcome. :)
* Make the price more readily apparent on the landing page
* Tracking the '6,400 sites, apps and games' is great, but it would be good if I could find out if the ones I care about in that list!
* Make the above the fold screenshot bigger, I tried squinting/zooming before I realised I could scroll down
* Can I determine which things are productive/neutral/distractive? As I wouldn't want to buy it if that was static
Looks good though!
I'm seeing a huge green 'Buy Now — $30' button on the front page. Was this added in the past 20 minutes?
> Tracking the '6,400 sites, apps and games' is great, but it would be good if I could find out if the ones I care about in that list!
Mostly the ones from top 10k Alexa but all the unrecognized can be categorized easily.
I was wondering this as well, could you add this on the roadmap if it's not already doable?
I know it's a long shot, but some sort of shell integration would be awesome. My typical day is > 60% iTerm2. iTerm2 has shell integration: https://iterm2.com/shell_integration.html, and maybe that would be one way is something that Qbserve could be fetching info about what's going on in the terminal.
The settings UI is extremely hard to read on my screen. The headings are light grey on white, and no amount of messing with my screen's contrast settings leaves something easy to read.
The checkboxes also immediately convey "disabled" due to their coloring. Your UI in general is spot on and sanely designed, but please consider taking a cue from the OSX HIG[1] and use the system colors and leave the light grey stuff for actual disablement, it will make your app look a lot more native.
[1] (about halfway down the page): https://developer.apple.com/library/mac/documentation/UserEx...
Explanation and demo with screenshots: https://karpathy.github.io/2014/08/03/quantifying-productivi...
Github URL: https://github.com/karpathy/ulogme
There are definitely some good ideas in it for inspiration when making a similar product.
Get comfortable with fudging the numbers on your time reports. It's ok. Report what's reasonable given:
You aren't being paid for your minutes you're being paid for the ability to solve a customer's problem in minutes.
I bill my clients 40 no matter what because sometimes I give them 100 hours worth of value in 1 hour. It all balances out. It took a while to realize this wasn't an integrity violation.
You aren't a machine resource. You're a human working in immense complexity. Your productivity is a roller coaster. It's ok. Don't sell minutes. In reality your customer can't handle the unpredictablity in billable hours if you were exacting and billed what you're actually worth. Instead we smooth it into 40 (or whatever), and that's ok.
Do you track only the current tab? Do you still track it if it's not foreground? Even if Firefox has many windows?
How do you track tabs in the browser from the OS by the way?
There are a lot of features I can imagine that would let me slice and dice tracked data better, but for a V1, this is something special.
Downsides compared to RT: no sync between devices (and it's not coming soon), no "offline time" (but it's temporary).
Rescuetime does allow window tracking (unless I don't understand what that means).
For me personally, the most essential Rescuetime features missing in your app are:
- ability to install a client on gnu, OS X and Windows.
- 95% of the time, it correctly categorizes my activities, requiring very little input from me.
Looking forward to trying your app!
Chat tracking: Qbserve can look into Skype, Slack and Telegram Messenger apps and track your chat/team names as separate activities.
Could you disable those distracting sites after 30 minutes? I'm only half-way kidding..
Still a fantastic app.
Being able to map a domain with all its subdomains to a category would be awesome. I access a whole bunch of hosts in an internal domain, and they're all productive.
Here's a few things that could make it super useful:
* Track time spent writing email by contact * Track hangout/skype/etc by contact * Track time spent on code per project * Connect phone records to tie in the time on the phone with contacts
Good luck!
I'm going to file a bug or even dig into the sources later.
Unfortunately I restarted soon afterwards, and now all of the Firefox usage just shows up as "Neutral" =/
But it was working nicely at first :)
I'll be curious to see if I can build gentle nudges back on task if i'm off in the woods, or how i can better categorize different types of app usage. Coupling to my todo lists might be helpful.
Problem is it heavily depends on the person what is really idling. Ideally you should be able to read the mind to see if there's any work-related activity :] I'm still using manual time tracking mainly because of this (even despite the obvious disadvantage of forgetting to turn it on or off): there's all kinds of solutions like detecting mouse/keyboard idling to fancier ones like detecting if your phone is near your pc and stuff like that, but at least for me none of these are as correct as just manually saying 'now I'm working, now I'm not': they can't detect things like me sitting outside with pen & paper.
So if you have Youtube open and there's no mouse/keyboard input then Qbserve assumes you're watching a video.
Please go into the category tab in the Details and select a required category. There will be an "Always track time" checkbox. It prevents the app from going idle during activities in this category.
Finally an excuse to drop Rescuetime and their goofy UI. I've had this running for about an hour or so, and it seems to provide me exactly what they do, for cheaper, while respecting privacy.
Congrats on an awesome app, and I hope you do well selling this!
It would be perfect if it could also log more details such as what filename/project is open in Sublime, that way I know what I'm working on.
The project name (blurred) only shows up in Qbserve on an untitled new window. Possible bug?
A built-in Pomodoro timer could be good too. Some programs (like Focus) have a timer & internet blocker, but having one app with the timer, blocker & statistics would mean less clutter in my Mac menu-bar. (I currently use Vitamin-R [2] for pomodoro timer & focus statistics, but it doesn't have website blocking, and I sometimes forget to start my Vitamin-R timer if I'm tracking time with Harvest instead... I'd love one app that did it all.)
[1] https://web.archive.org/web/20150701133312/http://www.getcon... [2] https://web.archive.org/web/20150701133312/http://www.getcon...
I'd need to see more details about things like your Mac desktop app (eg screenshots, system requirements), as Harvest's Mac app is a big part of my workflow, also their integration with Alfred app on the Mac. I also like that Harvest pays attention to lots of really tiny details too.
It's probably not worth it for me to switch, but your link might be useful to someone else just starting out!
I guess the time tracking works right now by just tallying up seconds for each category? And it isn't recording time stamps? Recording time stamps might end up taking up too much space?
Also, thanks for the Focus app recommendation elsewhere in the thread. I had been looking for exactly such a native app.
https://twitter.com/rescuetime/followers
Small nitpick: How can you guarantee data is kept locally without open-sourcing the app?
This is similar to WakaTime but only for OS X and not as granular data, because one is for programmers and the other more general users.
WakaTime works only with developer apps.
One query I have: Is there any way I can hide the app icon from the cmd+tab list? I want the ability for it to stay and works quietly behind the scene and since I have too many applications running on at the same time. Maybe a "hide icon" or some other thing? Thanks.
Looks like a fantastic product on first look. :)
> All the tracked information is stored locally.
From their privacy policy:
> we are using third party service Firebase.com to collect it (...)
So privacy is a selling point, but they have a lot of analytics in their app. Some of it can be turned off, some of it can't.
If you claim your app stores all data locally, it's quite dishonest if it talks to a bunch of analytics services...
I don't see how it's not private and "misleading".
If you claim your app stores data locally, it better not share data like this. Otherwise your marketing copy is just the usual horseshit.
Qbserve detects popular apps and sites automatically by matching them to the entries in the bundled database. If it can't find a match, it puts the app/site into "Uncategorized" category.
Then when the user decides to assign it to some category, there's a checkbox with text "Submit domain + category" and hint "Send it to developers to improve Qbserve". You can disable this checkbox forever in the app's settings.
Then we get somethings like { "host":"ycombinator.com", "category":"news" }, check if this site is really popular and add it to the bundled database in the next update.
I'm a big fan of local, non-subscription software, so thanks for making this.
(Side note: it would be nice if there was a setting to disable the Hockey analytics without using a firewall)
I can try to build it for Mavericks in a couple of months though.
One thing, this app seems to interact strangely with Spectacle (OSX Window controller) whereby browser windows move very slowly across the screen rather than the instant snap that I am used to.
Comment on usability: currently, different ports from the same domain name are recorded as different websites. I think it should be sufficient to group all the ports used with `localhost` as "productive".
Thanks for the great work!
Yes, localhost special case would be a nice enhancement. Domains from different browsers probably will be grouped later by default.
I regularly use multiple computers for personal/work. Can there be a way to cross sync data across systems using an external host? I'd like to use Dropbox or some similar solution to keep the data files up to date.
Would that be possible?
But I remember using ManicTime on Windows, give it a try maybe.
YMMW but IMO it is a shining example of modern Windows UX done right. A couple of examples
* double clicking selects the block you clicked on until next previously tagged time
* the tagging dialog has wonderful autocomplete
* you can set up automatic tagging
* you can add timelines from outlook etc
I need to be able to track activity per project.
Projects can be determined from the open window path or url.
Timings does this, but it's just one big mess
Qbserve uses accessibility but I have plans to make improvements for per-project tracking.
What I'm actually doing: earning reputation to improve my resume
"About" page will be added later.
Checking out this one
disclaimer: that's awesome :)
But it can bring some noise in case window titles are changed too often. I'm thinking about adding custom rules setting, so you can filter window names with regexes.