Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection

Are you a perfectionist? That kind of a person that can never say “I’m done”, “it’s ready” or “let’s ship it”? The one who can’t release the new feature unless it’s polished and perfect?

Continue reading “Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection”

Word Cloud: 300 000 users and their reviews

Since the first time when I managed to get users for my WordCloud app, some time has passed. Now it has 300 000 users – three hundred thousand users in three months.

The number amazes me. It seems almost unbelievable! I honestly never imagined having more than 10 000 users. It’s incredible.

Daily downloads graph - currently the average is 4000 downloads per day.
Daily downloads graph – currently the average is 4000 downloads per day.

And users are not just using the app silently. Oh, no! They leave reviews, they have problems, and they complain about everything. But sometimes – more often than not – they make compliments, and share their work, and they are grateful. And this is the most interesting and rewarding part of working on something!

Here I want to share some nice and interesting things users asked me or shared with me.

Continue reading “Word Cloud: 300 000 users and their reviews”

How we checked road graph correctness

How to make the roads better?
What about roads on a map?
Read to learn what graph (and non-graph) algorithms we implemented to make the roads good.

One particularly nasty and cold day, in the middle of February, our users, cartographers, came to visit us, developers. And they looked worried.

We offered them hot tea and chocolate candy. By gentle nudging and careful questioning we managed to understand what was bothering them.

They wanted the roads to be good.

Continue reading “How we checked road graph correctness”

The most interesting thing is “why”, not “what”

When I read an article or a book about architecture, framework, approach, or tool – I focus on “why” it was built or applied one way or another. Not “what” they did, not “how exactly” they applied it – but “why”. Read here to know “why” I think it’s important.

What interests you when you read an article or a book about an architecture of some big system, or about new frameworks, or design patterns, or some new fancy tools?

To me, the most interesting thing is why they did it like they describe.

Continue reading “The most interesting thing is “why”, not “what””

Someone Asked Me To Send Them My Source Code

Some time ago I started a pet project: a small Android app for placing the words cutely.

I first published it in October, and yesterday it reached 50,000 installs. I still can’t believe this number! In the beginning I wasn’t getting any downloads, and now!.. I’m very happy with how it goes.

But today, something happened. Someone emailed me and asked me to send them the source code. They wanted it so badly, they emailed me several times, and even called me on Hangouts. It seemed urgent! They needed this code! Now! This instant!

But, wait… why would someone need someone else’s source code?

I asked that person and found out: they wanted to present it as their graduate work in the university.

Continue reading “Someone Asked Me To Send Them My Source Code”

Geo Information System: Map Navigation

Bad-ass development of scalable systems with lots of user requirements, tight schedules and limited resources? Ask me how!

This is the series of articles about building a professional enterprise Geo Information System. Here I’m going to tell you how we dealt with the most intensive and visible part – the map navigation.

I’m continuing the series of articles about developing a Geo Information System for 2GIS company.

In the first part of the series I described the user requirements for the Geo Information System we were developing, and in the next part – an overview of the architecture. Here I’m describing in more details how we dealt with map navigation.

Continue reading “Geo Information System: Map Navigation”

Geo Information System: Architecture

Bad-ass development of scalable systems with lots of user requirements, tight schedules and limited resources? Ask me how!

This article is about our GIS-system architecture. Read on to learn how we dealt with all requirements!

I’m continuing the series of articles about developing a Geo Information System for 2GIS company.

In the first article I described the requirements we gathered. Now it’s time to talk about the implementation.

Continue reading “Geo Information System: Architecture”

Geo Information System: Requirements

Bad-ass development of scalable systems with lots of user requirements, tight schedules and limited resources? Ask me how!

This is the first article in series about building a Geo Information System. Here I’m going to tell you about user requirements we gathered before we rushed into development.

I’m starting a series of articles about building a geographic information system, or GIS-system. With a great team of smart and very dedicated developers, we created a robust scalable solution that our users were happy with. Or, almost happy. You can never make users completely happy. Sigh.

Continue reading “Geo Information System: Requirements”