What I learned from the success and fall of my most downloaded android app

Hesham Yassin
3 min readFeb 6, 2022

In this post, I want to share a story. It is about a project that succeeded following a thorough planning, ambitious execution, making bold decisions and working as a team. This success came after many trials and errors throughout my career as a software developer. I want to brief you on one of my personal projects that taught me a lot how to manage a project — the Friends Location app. It accurately images the lessons I learnt. The Friends location app enjoyed its success and fame. However, later, it failed badly.

I didn’t realize how bad it was until I had to scale and maintain it. I had a sparking idea running in my head, in a nutshell, it was about creating a social mobile app to share a live location among friends. This service started with a short term planning and half baked requirements. My goal was to reach a working concept and never settle until it sees the light. At first glance, I succeeded with the deadlines I put to myself. Moreover, without advertising, I reached thousands of users. My users were active, They occasionally emailed me to request new features and suggest some improvements. I felt delighted.

I published hundreds of projects. Either educational, personal or on a business level. Along the way, I witnessed many mistakes and bad decisions. I was part of some. The Friends Location project had a screaming mistake that brought it down. It was the lack of long-term planning and market adapting. I didn’t think about long term value. I hashed out a simple idea in my head and strived toward accomplishing it soon as possible. That wasn’t enough. I lost my interest in the project too soon. The moment I published it to the apps store and reached my short term goals, I abandoned it.

2 years later, I decided to add new features per some users’ requirements. This is where I struggled to expand and maintain the code. I abandoned that app and it failed badly. The ratings decline confirms that.

I’ve worked for 5 different corporations and I’ve witnessed success and failure stories for countless projects. with a clear eye of hindsight, there was a common ground for failed or struggling projects. Many of them were:

1. badly designed or started with no planning or a clean design.

2. had half baked requirements.

3. planned for a short term success.

Developers suffer alone with the choices someone else made for them. My reputation for my current employer is satisfying. They trust my skills and capabilities. Thanks to that, I received ownership of a service in its early stages. After reviewing the piles of logic, code and requirements, I visioned deja vu’s from the troubled waters of the past. I saw an opportunity to apply all the learned lessons. As usual, the management fears delayed deadlines like bad cops fear internal affairs. That brought me to the junction of making bold decisions to start right.

My employer trusts my capabilities. After meetings of reviews and discussions. They accepted my proposal for new timelines, plans and design. Along the way, the spirit I had in my head was a bit different than the past. I wanted to create a maintainable, reliable and scalable service rather than a quick poc to impress the management. I wanted my solution to keep open doors for innovation and future potential requirements. I strived toward a clean, simple and well-designed solution. I wanted the solution to be forward compatible for any future requirement. That’s the secret handshake my friend, the mindset and the attitude with a slight futuristic vision.

I succeeded at creating a project that is maintainable, scalable and proved its compatibility for future requirements. It met deadlines. Now several engineers are maintaining it. This made me proud inside. On the outside, I keep a sense of doubt and humility.

--

--

Hesham Yassin
Hesham Yassin

Written by Hesham Yassin

Software engineer. works for General Motors. was employed by IBM, Microsoft, Amazon and CheckPoint.

No responses yet