Who am I?
I’m Kamran. I refer to myself as a Serial Flutter Developer. “Serial” because throughout my four-year Flutter-agnostic career, I’ve been involved in the development of over 70 mobile apps. There has been quite an intense and interesting journey that led me to the idea, and now I can also say the actualization, of this blog.
Impact of OCD
As long as I can remember, I have had OCD (Obsessive Compulsive Disorder), specifically related to purity, symmetry, and control. I would say these compulsive obsessions and rituals have been very counterproductive in all aspects of my life and affected my career too. To give you some behaviors of mine that stem from these OCD behaviors I can say that I can’t tolerate buying second-hand electronic devices, I can’t tolerate improper folder structures, I can’t tolerate adding a file to a folder where it does not fit well, or inconsistent variable and class names among other private matters. I believe, at a point, my desires for purity and control drove me to enjoy working less on others’ projects and more on my projects where I have absolute control over the product.
Since when OCD has had benefits?
OCD is often perceived as an illness worse than a physical diseases. I won’t argue with that. But, I think my OCD impacted my professional career in a way that the work I did, most of the time, differed from my peers. While developing mobile apps, these obsessions pushed me towards renewing and refining the codebase and the skills I have very frequently without being satisfied with the current state of the project.
> “…Their ability to notice patterns and anomalies on a deeper level can make their contribution invaluable to fields that require precision, such as engineering and art… Individuals with obsessive-compulsive disorder often focus on intricate aspects of tasks, projects, or situations to a greater extent than their peers. This trait allows people to identify nuances others might overlook”
Excrepted from Hidden Strengths of OCD - Unique Community Services
From OCD to article and series of articles
About two years ago (June 2022), while developing an e-commerce mobile app, I implemented something that I believed was a good idea. Subsequently, I opened Apple’s Notes app and randomly wrote down these words, which I initially considered publishing as an article:
The title might not have been the best, but it was the initial spark that later evolved. Over time, I began adding more and more aspects of my mobile app development experiences that I thought were of great value and the list was becoming longer, covering different topics. Someday, I came across an article on Medium and noticed that the author split the articles into a series of articles. It was then that I got the idea of dividing articles into a series of articles, each focusing on a different aspect.
From a series of articles to a book and books
At one point, I thought that the series of articles was so long that I could also publish it as a book. This was incredibly motivating for me, considering my relatively short career span and the opportunity to create a book that I believed, and still believe, is well-articulated and highly beneficial for developers. The title I chose for the book wasn’t something fancy like “Advanced Flutter”, “Flutter Mastery” or else, (who am I to assume that what I know is the best, given only two years of self-taught experience?) but a more humble one: “Better Flutter”.
Time passed and I began to realize that the content of the book could be grouped into two main categories: those related to the technical side and the app’s performance, and those related to the user interface. This led me to the decision to create two separate books namely: “Better Flutter: Making the User Experience Good Enough” and “Better Flutter: Making the Development Experience Good Enough”
From books to mobile app
Thinking realistically, writing a book is a very cool and ego-boosting idea. However, with my OCD and perfectionism, I started to consider practical questions like, “If I publish it as a PDF and later find change something, should I update the PDF and somehow notify all the users to replace the old one with the new one?” and “There are some topics that can only be explained, or better explained, by GIFs, videos, or maybe interactive examples. Will a PDF be an obstacle for this?”
Thinking about these questions led me to a cooler idea: “Since I’m a mobile app developer and the books are related to mobile app development, why not develop the mobile app in Flutter which contains my books inside, and make it interactive and dynamic as much as possible?”
In the early days of January 2024, I began developing the app, and it was looking good. Here are some screenshots from the app:
Notice that I also embedded scrollable and copyable code snippets in the content and the app’s design is very minimal and clean. I guess in the near or far future, I can revive that mobile app. Did I say revive? Yes. Read on.
From mobile app to blog
After sleeping on the idea for a time, for marketing purposes, I thought to share some parts of the books as articles and reference the mobile app at the end of it. This way, I thought, I could better advertise the mobile app. At a certain point, I decided that by sharing all the content on a blog for free I could reach a wider audience and with reaching a wider audience, I would be more satisfied than earning some money from the mobile app. And here we are.
The name “Better Flutter”, although not very famous or active, was already taken by a Flutter Developer and I came up with a new name called “Flutter Crafted Better” which I think is more descriptive.
What’s next?
Weekly, every Sunday, I’ll be sharing a new article on this blog. I dream that this blog would become a place for learning best practices for developing better Flutter user interfaces and building -technically speaking- better user experiences.
If you’d like to receive notifications about new articles, subscribe to the newsletter.
See you every Sunday!