Long story short: We just had to.
I am old enough to have used the 3.5-inch floppy drives. That also means that I have been around when the World Wide Web was a toddler. Then there was the internet access through the 56k modem that would block your telephone line during the whole ordeal.
Those were the days when browsers had no tabs.
At that time, I was mostly using the internet to communicate with friends across the country (or sometimes outside of it) via email. I would open several windows of the Internet Explorer, type in the desired addresses, dial-up, quickly click `Refresh` in all of them and then waited for them to load. Some of the windows were pointed to the `hotmail.com`. In those, I would click `New Mail Message` and waited for the forms to appear. Quickly, I would then disconnect from the Internet. After all, I was charged by minutes.
At Toggl, we believe that every minute counts.
Now, it was time to write some emails. Emails were not like chats those days. Emails were long. Full sentences. No emoji. And I used to write a lot of long ones. And every once in a while, after writing a page or two, I would unknowingly remove the focus from the input field and then press the `backspace` key, thinking I am erasing the last of my words. This accidental mistake effectively sent the last 15 minutes of my email into the abyss. No local storage, no backup on disk. Nothing.
Complete and utter data loss.
And that’s exactly why we had to make a new Android app from scratch. There is no worse feeling than have an app waste your time. Or data.
We take users’ data and time seriously.
And in all honesty, we’ve had some issues with synchronizing user data in our old Android app. I promise you, we’ve had devs working tirelessly round-the-clock trying to fine tune the synchronization cogs to prevent any future data loss.
Thomas Bertram once said:
If it ain’t broke, don’t fix it.
But it was broken. At least to a degree. The technical debt was too high. And in the meantime, the mobile team experienced some internal movement and so, in the end, it was just a few developers of which none has been a part of the old app. The decision had to be made. Either invest a lot of time in understanding and hopefully refactoring the old app, or just do it from scratch. When doing things from scratch, you get an opportunity to change things drastically. Maybe use another framework, or improve the architecture. Such changes are much harder when there is already a codebase to maintain. Especially not a good one.
By making the new Android app from scratch, not only did we make things work better, but we also made the app more intuitive to use. Not every user is the same and our app will never be able to appease everyone at the same time. But we are constantly trying to see what works for the majority of our users and we do that by listening. Every bad review is an opportunity for us to improve.
And what about my data?
During all that time, we haven’t fixed the old app’s syncing algorithm. Instead, we wrote a new one – a better one. From scratch. We sat together, analyzed down the pain points of the old one and devised a safer, more robust solution that does a much, much better job of data synchronization.
Rest assured, we really did our best to minimize the chance for you to lose any data.
And in the long run, I believe we have made a good choice.
Sticking to the old app would be like running across a minefield. You could maybe pull it off, but are you willing to take the chance?
A whole new world
As we said, doing a new Android app from scratch gave us another chance to make everything about our app better. Sure, in the beginning, the new app did lag behind a bit (feature-wise), but with the last update, which brought Undo & Notifications, it’s certainly up to par.
There’s also an easier way to add projects & tags to your entries using shortcuts, and we’re also working on a brand new Calendar Integration feature, allowing you to connect your calendar with the Toggl app and directly import your events as time entries.
But not only that, all of the old features have vastly improved too – Syncing is much better, Reports are cleaner, and overall, the app is quite more stable and easier to use.
And this is just the beginning.