PNTRLY

PNTRLY

Hey there, internet! For the last 2 years and change, a few folks and I have been working on a little project called PNTRLY. It's a digital coloring book. I have put a ton of effort into this one and I am really proud of it. If you have an iOS device, please take a look and please give me feedback.?

https://apps.apple.com/us/app/pntrly/id1545816273

Android folks, I am currently working on it. I will get it to you as soon as I can.

I wanted to take some time to ramble on a little about what makes this project special. First of all, it started with a little research. It has not been my life long ambition to make a coloring book but the data suggested that it's something that folks want and something that folks actually need. Coloring can chill you out. In the wake of the last few years of turbulent life, I felt like I really wanted to make something that was tangibly beneficial.

Secondly, I set out to make this thing technically excellent. There were so many decisions I agonized over from naming conventions to data structures to which 3rd party services were the best fit. This was not the typical engineering considerations of what would fit the parameters but what was the best thing to do. These two questions seem similar but they are very different, especially in a world of choice. I have been through so many philosophical circles in my head and my code that I have lost track. I am really proud of where the code base is right now, even though there are some competing ideas in there that have both proven their value. So from an engineering perspective, this has been more soul searching that it has been just getting the job done. So what have I actually learned? If I were a politician, this is the point where I should get abstract and hedge my bets but I am an engineer and I reserve the right to change my mind if I get better data. These are not new ideas or new to be but I took the time to test them and my biases.

  1. Simplicity is still the best policy. No matter how much I test this principle, it always wins one way or another. Keep your code as simple as possible. Less to test, less to go wrong. Don't be ashamed of simple, rather use it as a rock to challenge more complex structures.
  2. Over engineering is the devil's business. Never write more code than you need to get a job done. Be ruthless if you can. Even when my bets for writing code for future use cases have paid off it has not been worth it when evaluating the total effort. This is a little different when writing things like SDKs but then you need to be clear on your use cases. Trust and be disciplined with the refactoring process. If you accept that you need to refactor often and embrace it, this becomes second nature.
  3. I don't believe in encapsulation as a reuse principle in product development anymore. I believe in encapsulation as a separation of responsibility but only so far as it makes things testable and simple. Encapsulation can so easily lead to overengineering and make your code difficult to use and understand. In reality (my 25+ years of writing code), hardly any code gets reused anymore because technology changes, people change and requirements change. If you find that you need the functionality from another project, that's the time to make it a library, not while you are writing it for the first time. After all, you need at least 2 points of data to draw a straight line.

That's it for now. I welcome educated debate on the subject. These ideas are not just top of mind but things I have wrestled with at 3AM many times. I will hopefully have the opportunity to write more on the cool tech in PNTRLY again. Don't forget to download and enjoy!

Francois Joubert

Building and supporting modern workplaces for modern workforces.

2 年

Hey Roger, I can't comment on your detailed coding thoughts but "simple" so often means "right" in design and solution. I will admit that I haven't been able to pronounce "PNTRLY" to my satisfaction yet -- can you help?

Stephen Embleton

2021/2022 James Currey Fellow at African Studies Centre, Oxford University

2 年

Great insights in your write-up, Roger! Tinkering as we speak ????

Michael Louw

Senior Design Specialist at Synergy

2 年

Well done my friend. Your passion, persistence and ridiculous talent are all over this one. Congratulations to you and the PNTRLY team.

Ryan Valley

Blending creative, technology, AI, marketing and PR to drive strategic partnerships and customer adoption.

2 年

I love it Roger- what a great idea. Well executed too (would expect nothing less of course)

  • 该图片无替代文字
Joshua Yu

Senior Unity3D Developer at Enduvo

2 年

What I’d give to live in your brain! Congratulations Roger! I completely agree with encapsulation btw. Even though I reuse old code quite a bit, I always have to refactor it.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了