Back
Question
Asked

Remove "pending todos" functionality?

I'm in the process of simplifying WIP. The reason is that over time the codebase and UX gets more complicated as we add more features. It's important to sometimes also REMOVE features to keep things lean and progress on-going.

Pending todos (i.e. todos that aren't completed) have been part of WIP since the beginning, but see very little usage. Only 2% of all todos are "pending" todos. In the last month it's even lower, 1%.

On other hand, of all the people who created at least one todo in the last month, about 11% of people created at least one pending todo.

So while overall there's few pending todos, there's still a decent percentage of people who sometimes use them.

Should we delete the feature?

I think the lack of pending todos is in part due to the limited functionality around it, but I don't think it makes sense to build a few todo management suite into WIP. There are way better tools out there already and it seems very hard to compete with. I'd rather integrate with those than to rebuild that functionality.

Curious to get your views on this. If I were to remove the feature, I'd send everyone an export of any pending todos they still have on their account.


For context, here's some of the code I could remove/simplify:

  • Remove "completedat" timestamps as it will be same as "createdat"
  • Remove conditional rendering completed vs pending
  • Calculating streaks just looks at created_at timestamp
  • Remove todo checkbox (would still show checkmark, but not interactive)
  • Remove Telegram integration for showing pending todos
  • Remove API end point to create a pending todo
  • Remove API end point to complete a pending todo
  • Remove sorting of pending todos (completed todos are sorted by completion date)
  • Remove tracking which team members completed a todo separately from who created the todo

This also gets todos closer to posts and comments in terms of functionality. Longer term I might want to merge these all into the same record type so it's more like Twitter where everything is a tweet. This would greatly simplify the codebase and UX.

Yeah, it feels like the pending functionality would only be useful if people used this site as a TODO list. It's not really the case as I often think "what did I do today/5 mins ago/just now" and then go back and post about it on WIP.

Slightly related: I think I mentioned this before but having a kanban board UI on top of WIP would be nice (that would encourage more people to have pending items I think). Might be able to get away with the Zapier integration today i.e. Notion to WIP sync, or if not I might build this as a free tool at some point using the WIP API

Yes I think there's many opportunities to improve the pending todo system. The challenge is that everybody has their own preferences so whatever solution I'd come up with would appeal to only a percentage of users.

So I think indeed making it easier to integrate with other systems by improving the API and documentation around it, might be the better way forward.

Yep, makes sense. All for better APIs and let people build whatever

Definitely feels like no one is using that feature. Why bother maintaining it. I would totally understand if you'd remove it.

At the beginning I used it because it was default (?) - but then found out that I need one extra step to mark it as done (otherwise it would not count to the streak).

So 2-3d into wip I switched to write about what I have done yesterday.

I just saw the email and felt like reading an April's Fools joke. Even as a software engineer who loves throwing away code or simplifying existing systems with abstractions, I think this a giant mistake.

The uncompleted state of a to-do is what makes it a todo. Being able to follow a 'roadmap' like that also adds flavor to in-progress products, which (initially) WIP was all about (before increasingly becoming a 'just-in-time' lifestyle blog).

I loved the /todo command to jot down ideas & tasks on-the-go, in a more 'micro' fashion than creating a GitHub issue on a private repo (more friction; no public visibility or accountability). The burndown chart was also a nice touch.

Eliminating todos in favor of 'posts' (status updates) brings the platform awkwardly close to X/Twitter, albeit with a smaller (but less toxic) community, fewer features, no monetization for creators, and so on. Product differentiation is lost.

Personally, I don't see the point in replicating Twitter for a specific niche (makers). It renders WIP a high-priced mini Twitter with hashtags & pages for projects (formerly 'products'), possibly better served better by separate Twitter accounts, or a free (self-hosted) microblog with theming, etc.

This 'RFC' was made 6 hours ago, but now todos already got nuked. Long before WIP users in different timezones even had a chance to give feedback, which I find hardly reconcilable with 'curious to get your views'.

As promised I received a ZIP with my 200+ pending todos (and their attachments), but I'm not happy with diluting WIP's unique identity (to become Twitter?), nor the way this change was rolled out.

Thank you for your honest feedback ❤️

A few hours after writing the post I took another look at the usage data and the added code complexity. I realized two things:

  1. Recent usage of this feature is even lower than I initially thought. Near zero
  2. The added code complexity was way more severe than I thought

Although it’s unfortunate for the very few people who did use it, I don’t think it’s fair for the whole community to bear those costs in terms of slower product development.

Considering all that, I chose to move forward immediately rather than wait for additional community input. The usage data said it all.

I have the tendency to overthink these types of changes rather than bravely move forward and make progress. This was me trying to do better, but it actually may have been wise to hold off and give you and the couple of other users who use this feature to share their perspective.

My apologies I didn’t do that.


With regards to todos setting WIP apart, I agree. I LOVE that people share the actual things they have done rather than random posts. That’s the reason for WIP’s existence.

I made the Twitter reference as an admiration to the simplicity of their product. I think we can learn a lot from that, but that doesn’t mean we need to become exactly like it.

When I say we can merge todos/posts/comments into the same record type that’s more of a comment on technical implementation, than UX or product. For example right now I have implemented comments twice, once for posts and once for comments. Same with notifications and a few other things. The more code they can share the simpler the codebase, the faster we can add other features people are asking for like better privacy controls, a nicer API for third-party integrations, etc.

Hopefully that addresses your concerns about the future of WIP.


With regards to the pending todos functionality, I haven’t actually deleted them from the database and I am in no rush to do so. The email was intentionally written a bit “alarmy” so people who care would take action sooner than later.

The changes I made to remove the functionality can be reverted relatively easily. But for reasons shared above I still think the right decision is to remove it, even if I didn’t plan and communicate it properly.

Given your 200+ pending todos, I understand your frustration. If there’s anything I can do to help move you these to a new platform I’d love to help. I can export them in any format. Personally I use Telegram’s “Saved Messages” feature for this and it works very well.

I haven't come across any 'pending todo' feature, so I don't think I would miss it.

I only use /done on the telegram bot and scroll the post on the site to see what people are up to/have accomplished.

Yea, it's somewhat unintuitive to access it - you have to type out the todo then uncheck the green checkbox if using the website (unsure about telegram, I don't use the WIP bot on TG)

i'm 100% for removing it. like you said important to keep things lean to improve the velocity of higher impact features.

fwiw i'd be very much interested in seeing a linear integration not just for pending todos but also completed ones... perhaps not auto-publishing but it'd be nice to click a recently completed task to start writing about it

I'm not even sure the pending you count are intentional.
100% of the pending I did were not intentional and made me once lose my streak ^^
+1 to kill it

As a long-time user, I don't really use pending todos. Several of mine are from projects I gave up during the pandemic and never got around to cleaning them up.

I can see why people like them, but 99% of mine are in GitHub Issues and I try to remember to come back and do a post update here.

Yeah, for me, you can. I use pending todo in another app then I send to wip

Which app do you use and do you automate sending it to wip?

I like the feature because I like having all my tasks in one place so I'm not bouncing around different apps, but I know I'm in the minority with this.

There are other workarounds if you delete the feature (which looks like you have), like making a to-do called "make task list" and putting all my to-dos in the comments and use ✔️ to check off each task.

Also can we log via our google calendar in todo tasks? then it will update on WIP?