Hacker Newsnew | past | comments | ask | show | jobs | submit | jpulgarin's commentslogin

We're hoping to add analytics in a future update.


Thanks a lot. We focused a lot on simplicity so I'm glad that shines through.

Your feedback is super useful to us. The ability to turn off the active task is probably something we will incorporate in the next release. Having the ability to add tasks without a timer needs to be thought through a bit more by us since many users use their Effortless task list as a sort of notepad. Please let me know if you have any more feedback!


One more thing - maybe I’m imagining this but I wonder if you might have a bug that causes the alert sound to go off sometimes even when the tasks are paused? I’ve heard an occasional ping from two different computers since installing the app yesterday, and I can’t figure out what else would be causing the sound.


I know what you mean, the idea is that if you pause the the task it will remind you every 5 mins to resume the task. Basicly you have to compleat the task or remove it. if this becomes a problem write me to h@effortless.co and we will find a way to improve it


Huh. That’s not at all clear, and strikes me as weird. I think you’d have to pair it with some visual indication...


Thanks for the feedback - I can definitely understand it not being intuitive. If you want to remove the alert for now you can do so from the preferences window (it's the "Mute get back to work alert" option).


Big fan of the auto start and countdown stuff you’re doing — there’s a lot of value in the “pomodoro method” which this could approach or help automate.

It’s not for everyone, but the idea is to trigger a kind of competitiveness/relentlessness with your todos that helps focus and flow.


There's a quick add functionality which allows you to add a task with a keyboard shortcut. Would Alfred integration still seem useful to you?


I usually forget my shortcuts and rely heavily in tools like alfred (or the Jetbrains find action shortcut). It reduces the amount of shortcuts I need to remember. It also reduces the likelihood of shortcuts conflicting if I only need a couple of them :)


Thanks Matthew!


Thanks! Let me know if you have any feedback.


No blog post yet but I'm happy to answer any specific questions here. Effortless is a fairly simple app although there were some tricky edge cases to handle like when the task name is too long for the menu bar (especially when dealing with multiple monitors), and how to update the current task in the menu bar when making large edits to the task list. Making the app simple to use and cutting down the list of features to the bare essentials was also a process that involved a lot of iterations and talking with early users.

I learned Swift and native Mac app development in order to develop Effortless and have since fallen in love with Swift. It has replaced Python as my language of choice for many tasks.


I for one would love to hear more about your transition as someone who’s been with Python for a while now but struggling to make Swift stick (last attempt was with SwiftUI, which is awesome but very young).


Definitely! I got lucky in the sense that wanting to create Effortless forced me to learn Swift. I wanted much more control than something like Electron or BitBar could give me, and I wanted to make this app a reality. I had also been working professionally with Python for the last few years, and the codebase at my previous company was so large that I started to miss working in a statically typed language.

I didn't do anything that special to learn it. I gave the The Swift Programming Language book (1) a read and then started to get my hands dirty, using Google when needed. I had done some iOS development a long time ago, which also helped. I almost immediately found it just as easy to write as Python (and in some respects easier) but with a stronger type system. It also has a lot of great tooling like Playgrounds. So I guess my advice would be to give yourself a project which you want to use Swift for, ideally where you have no other alternatives. I've also tinkered around with using Vapor to create web servers using Swift, so that might be another option.

1. https://docs.swift.org/swift-book/


Thanks! We considered a subscription service with some added features but decided instead to focus on simplicity. Right now there is no syncing, but we will definitely consider using iCloud if we implement it in the future (and once it's back up).


It's definitely something we're thinking about. There have been many times when I'm not at my computer that I'd wished I had access to my task list, or had something like Effortless on my phone to keep me focused on some manual task. Right now we're focused on improving the Mac version though as an iOS version would also require us to write a backend to handle accounts/syncing, etc...


I would use an iOS app. I like to keep my Mac as clutter free as possible/very minimal.

Happy Birthday.


Hey HN! My name is Julian, and I made Effortless with aracena to solve a problem we were both having: how to focus on exactly one thing at a time. Effortless displays my current task, and a countdown timer in the menu bar, and although it sounds silly, it means that I have a constant visual reminder of what I should be working on. Effortless was also a great excuse to learn Swift and native Mac app development. I'm happy to answer any questions about the app or the development process, although it's my birthday so I might be a little slow to respond. If you have any feedback or want a trial code to test Effortless out feel free to write me at julian@effortless.app . Thanks!


There’s a word missing in the text of one of the screenshots in the App Store. (I’m in the Japan App Store, if that matters.)

“...are you done your task?”

Also, notifications is spelled incorrectly. Those kinds of mistakes indicate a lack of attention to detail.


Can confirm. I too noticed these through the Japan App Store.


Fantastic app, thank you for posting! Is there a way to get the current task name to show in full length in the menu bar, similar to what you have in the video? I see a truncated name instead (i.e. instead of "do task number bajillion 30:00" I see "do task num... 30:00").


The task name is truncated any time the app notices that the full name wouldn't fit in the space available in the menu bar. If new menu bar space becomes available I haven't yet found a way to get notified of that, so instead I try "expanding" it once every minute to see if it will fit. If after a minute of waiting you notice the task name still hasn't expanded please let me know as it's definitely a bug.


For those wondering how they can make more space available - https://www.macbartender.com/ is a good choice.


Specific question: are the keyboard shortcuts accessible from anywhere? If so, using them would mean I couldn’t close a browser tab or reload a page, because it would be forwarded to Effortless instead, right?


There is one global keyboard shortcut that is available everywhere, and that can be changed from the preferences window. You can change this shortcut to be something that doesn't conflict with any of your existing shortcuts. The other shortcuts only work once you've pressed the global shortcut. So for example, if your global shortcut is (the default) ⌘E, to open the task list you would press ⌘E and while still holding down command press F.


Does your app support iCloud sync or is everything stored locally? Are there any plans for an iOS app?


Right now everything is stored locally - we don't even have a server running. An iOS app is definitely something we're thinking about, although we want to focus on improving our current Mac app first. One of the main features in our roadmap is integration with Todoist so that you can pull in tasks from your Todoist list instead of retyping them.


Looks interesting. Any plans to offer a trial outside of the MAS?


We have no trial version to download right now unfortunately. If you want to try it out feel free to send me an email at julian@effortless.app and I can send you a promo code to download it for free from the app store.


Could you consider synchronization via Nextcloud?


Will definitely look into it!


If you're referring to real numbers, then virtually no real numbers have a name. If all real numbers had a name then you could order them alphabetically and put them in one-to-one correspondence with the natural numbers, which we know is impossible: https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument


to continue the discussion, there are many kinds of infinities, and some are larger than others.

one of the smaller kinds of infinities is "countable". we say a collection of countably infinite things is countable if, intuitively, we can count them (as the parent says, put them in 1:1 correspondence with the natural numbers 1, 2, 3, ....).

there are only a countably infinite number of rational numbers, since each rational number has the form p / q, where p and q are (perhaps negative) integers. if we made a large 2d grid of all integer grid points, we could regard each rational number p/q as a grid point (p, q). Then we can count the grid points by starting at the origin of the grid (0, 0) * and spiraling outwards. This will eventually count every grid point, so this gives us a way to count all the rationals.

as the parent post says, by Cantor's diagonalisation argument we can demonstrate that we can't count the real numbers, so there are a lot more reals than rationals. it's a strictly bigger kind of infinity.

even if we start inventing new notation for particular reals we care about (e.g. pi, e, pi^e, door, super(door, |^|^bat)man, ) -- whatever you like provided it is well-defined, we can only name at most countably many reals, leaving a remainder of uncountably many un-named reals. we can single out any particular real that can be well-defined, and mint a new name for it, but we can only do this for at most countably many such reals, while the bulk of the reals escape naming.

* the origin (0, 0) corresponds to 0 / 0 which isn't a rational number, and some rational numbers such as 4 have multiple representations as coordinates. For example we could write 4 as 4 / 1 or 8 / 2 or 40 / 10 or -16 / -4 ... so strictly speaking by demonstrating we can count all of the 2d integer grid points shows that there are at most a countably infinite number of rationals. but since each natural number is a rational, and there are countably many rationals, we know there's at least a countably infinite number of rationals.


That is something I hit uppon recently, when I tried to find a binary representation that could concievably represent all real numbers, given enough bits of data. I don't think I've ever seen such a practical application of countability and cardinality. Really interesting where this stuff manifests in the real world.


Not quite, you can't order all natural numbers alphabetically either but that doesn't mean you can't count them.

A better way to count based on names would be to first count all single letter names alphabetically, then all two letter names alphabetically, etc.


Yes, you can. Order is just a relation, i.e. a set that contains pairs of elements. So for example, let X be the relation <. X is a subset of NxN, the cartesian product of N. We say that n<m if the pair (n,m) is in X. Moreover, we say that (n,n+1) is in X, and whenever (n,m) in X and (m,k) in X, then (n,k) in X. This constitues order on naturals.


True, but the GP claimed that if we can order alphabetically we can create a one to one correspondence with natural numbers.

Obviously we can order reals (using <), I interpreted the original post as referring not to your definition but to "order and count"


Does this apply if names are infinitely long?


[edit: for clarity i'm not going to use the term "name"]

the proof crucially relies upon each real number being represented as an infinitely long (perhaps ending in an infinite sequence of repeated digits for less interesting numbers) sequence of digits. i.e. the representation that Cantor uses for reals is infinite sequences -- effectively representing each real number infinitely long (in the countable sense) strings.

Cantor represents each real number as an infinite sequence of digits. apart from technical details`+` you can think of this as the base 10 or base 2 expansion of the number.

for simplicity, you need only consider counting the real numbers between 0 and 1. there are plenty enough of those. each such number can be addressed in base 2 as some infinite sequence of 1s and 0s after the binary point. Cantor's argument shows that if you try to enumerate all such numbers (i.e. count them) by their series expansion, then you can generate a new number that doesnt apppear in the enumerated list, which is a proof by contradiction, refuting the assumption that you could enumerate them all in the first place.

`+` :

technical details include that some numbers have non-unique representations as infinite sequences of digits.

For example, in base 10, 1 can be represented as 1.000... (where the 0s keep going) or 0.999... (where the 9s keep going).

if this irritates you, let z = 0.999...

then 10 * z = 9.999... then 10 * z - z = 9 then 9 * z = 9 so z = 1


No, then the names could just be the actual decimal representation of the number. But strings are in genereal considered to be finite.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: