post cover

LUCINDA #1 - INTRODUCTION

March 05, 2020

Let me introduce Lucinda. My side personal project solving project management issues and time tracking.

What is it all about

It all started as a copy of Asana. Asana is project management software that we used in my previous job. Why would anyone copy something? My purpose was to use all technologies I knew so far to prove that I’m not lying that I really know the technology and no, I don’t have much work experience so far. Is it a problem? Here is software, I use this and that and I know how it works. Ask me a question and I can give you an exact answer on how it works.

Last year I graduated from university. This doesn’t mean that I have no skills or experience. I worked on my own projects, constantly searching for new technologies and learning them by implementing small projects. We also did a lot of projects at university.

Right after graduation, unfortunately, I was instantly labeled as junior developer and my arguments were not important. I had no power. I had constant push from collegues to edit this and that and we should do that this way, because…(I said so).

So I left, because we all have only one healthy brain and nerves. Before leaving, I was offered with higher salary but I refused and left anyway. I started working my side project full-time.

Advantageous features

I considered Asana too simple and there weren’t too many options and tools to choose from. So I started working on my own “copy” of Asana which I eventually would improve even better. In the end, it ends up looking a lot different from Asana and it couldn’t be considered as a “copy” anymore. It had features that Asana didn’t.

  • Endless subgrouping
  • Time-tracking
  • Customizeable statistics
  • Countdowns
  • Aggregation of progress throughout groups
  • and much more tools I have in a backlog

It had important core features - timetracking and subgrouping. These two play very well with each other. Subgrouping is the feature for divide and conquer philosophy. A lot of people miss correct subgrouping at different tools such as Asana or Trello. At first, my intention was to create task and subtasks attached to it, then you could create another subtasks to that subtasks etc. However, this couldn’t work well.

Main board with nested groups

Main board with nested groups

Team overview

In 2018, I’ve been working for a company, where a lot of people involved. Some of them worked from different country, some of them worked from home and then there were people working in the same building where I was. Not even I didn’t know people and what they are doing in the same office, but lot of people were working from different places and I didn’t know what they are doing. I was lost. It last maybe one month until I learned what exactly are doing people in the same office. Unfortunatelly, I was never able to know exactly what other people do.

Was it necessary to know? Well, maybe not. But often, we had skype calls and I didn’t remember names of the people and what they are doing, what their roles were and what should I expect from them. I missed some overview about these people.

On the picture below is overview of the team. This is first version of this view. This view is missing working hours. Some of the employees were part-timers working like fridays only.

For user, it would be confusing whether to track main task and also subtasks. If another yet non-existing problem occurs, should I create another subtask or should I just track main task and do not create another subtask? Next problem is at computation of remaining/estimation time neeeded to finish main task. This computation is based on a velocity of progress of all subtasks in the task tree. However, when the user is allowed to track main task, it brings all kinds of problems.

Because of the problems I described above, I finally decided it would be best not to create subtasks but subgroups instead. User can’t track/work/report work on the group, but he can report work on all tasks and all groups and subgroups would aggregate progress without a problem. Subgroup is only the abstraction and list of all tasks (or other groups)

Too many groups? Too nested? Don’t worry. Groups work like branches on a tree. At the beginning, you see the whole tree. Then you can easily nest into any group and work specifically with that group.

In Trello, for example, I miss color setting for the list. So in Lucinda, you are able to set color for a group now.

With Lucinda, you can create the same board as you would in Trello. There are some features that are missing in Lucinda and vice versa.

Team

Team and how much overview at each member

In a lot of tools I miss instant and nice looking statistics.

Statistics

Customizable stats

For every group, we want to see who and how much one tracked. Also we want to see a progress of the group. Not only items which are completed but also time tracked and time estimated and how much time is remaining.

If a due date is set, prediction is computed based on past trackings. Then we can know, if we get things done until due date.

Group detail

Group detail

I also missed countdowns a lot. I want to see my personal countdowns as well as team countdowns. If you want to share something with your team, let’s do it. In the very top panel, the soonest countdown is shown.

Countdown

Countdowns at Lucinda

I’ve worked on these screens ~4 months. Not everything works 100% smooth yet, but it is on a good way.

What do you think? Do you like it? Is it different from another tools? Would you use it? Let me know.


Issues I’m solving right now

1. When board get’s too big

I have never thought about what it’ll be when a user reloads a page or when user (whole team) gets to the point where it’d have 100 groups or 100 and more tasks? I knew Trello is very similar to my application and that is must load all items. Unfortunatelly, if a lot of items would exist then there needs to be some kind of optimization or caching involved.

2. Board syncing

How to keep board items synchronized when there will be team of 5 people? How I know that board is synchronized? That is has all updates and it has the same state as the server has? I can push changes through websocket, but what if for some reason user goes offline for 1 minute and then next different pushes come in. The state will be inconcistent with the states of others - then full refetch of all board items is needed. One more thing, how I know the board state is consitent with others ?

3. Task drag-and-drop between two groups in same parent

Nested drag and drop for tasks and groups is not something trivial as it might look at first. There are lots of gotchas and workarounds. This is not simple trello drag and drop. You need to be able to drag group inside a another group. Group outside of a parent group. Task out of group. Task to the different group. You can end up with tasks and groups in one group.

I get to the point where I’m thinking about usability and if someone would use this complex feature.

4. Stylize & format time at tracking

In a lot of cases, user doesn’t need to know how many seconds it until the end. For example “15m 13s”. 13 seconds in here is totally unnecessary and I want to remove it from all places. The same applies for the estimation. I want to restrict input only for minutes and higher units (remove seconds).

5. Group color adjustment

Some colors for groups are not only unnecessary but rather ugly. There are a lot of colors in selectiion, so the whole process is based on user and what he likes.

6. Email confirmation at sign up with email

This step is sometimes a barrier for a user but will help in the future. Such as password recovery, notifications, billing or communicating with user.

7. Pricing and Payment is missing

Payment is missing. Third party service always requires company details and company bank account for successful payment accepting. So the problem is I don’t have company yet. I don’t want to start a company yet, because the product is not validated completely yet and I haven’t thought about the funding for the project - if I should find investor or something else. A lot of things are out of my field of knowledge and I probably should have a word with someone more experienced with startups.

So I will continue in solving technical issues and if one day the product will be online, it will be free.

8. Panel to see, who is tracking and how much

Sometimes, we want to see who is tracking right now. This should be able to turn off by admin. Not all teams are familiar with looking on who is tracking and how much time. But it sometimes can encourage others to track as well.


Join the Newsletter

Name
E-Mail