Skip to navigation

Three pencils dilemma ✏️✏️✏️

Published: August 31, 2024Estimated Reading Time: 6 minutes

Three pencils will work on paper. Artists software, not always. If I had printer paper, a letter, or Strathmore Bristol series 300 smooth (my favorite paper) you could use any of the three pencils on the surfaces. Art software, good luck. Let's not even talk about different versions of the same software. Yes this blog post is going to be a rant about the awful experiences of software dev.

Write once, run anywhere. I will believe it when I see it. In my experience writing for desktop applications, it doesn't work on every machine. When I was starting out it didn't even run on my machine. Haha. A lot of software had the idea that it would be written once and work on any computer. But as a society we have regressed. Why? Hard to say. Could be CPU related issues. Could be because of money. Most likely because of money. Most developers rely on software composed of frameworks and api's. This software allows a developer to create software that works on a given system.

Personally I used Electron for my desktop apps. The idea was that I could write my program once and run anywhere. Boy was I wrong. Even the bug reports for electron had compatibility issues. I am not complaining here. I am greatful for the core Electron development team. I am even writing this article using visual studio code. Which was made using the electron framework. Now lets talk about the downsides.

It just doesn't work when you test it on a different system you aren't currently using. For example, I developed most of my applications on my MacBook Air my grandpa gave me a long time ago. I was not in a position to purchase a mac when I was learning to code. But development on windows is not the best when you Windows machine is a toaster. When I first ran my first app Drawesome on Windows, the application crashed. I couldn't even open it. Crap. What the heck did I do wrong. Well to share my issue was that I used forward slashes instead of back slashes. Haha, I should have known that. Nowadays wrappers exist to handle this. To make it agnostic. I did have to write some code to detect the operating system and use code that used the appropriate slashes. That bug was my first of many. Let's not even get started on making it work with Windows ink.

I ran into a lot of other bugs. Many of them being not fixable or operating system quirks. Sometimes Windows looses a Window context. What this causes is for a screen to be undraggeable by a windows ink device like a wacom pen. Instead you have to use your computer mouse. I have ran into different bugs and found fixes. Many of them had to do with weird css quirks. My apps use web technologies like HTML, CSS, and sandboxed Javascript. Why? Because I can develop experiences faster using these web languages. I was originally a Java and C sharp developer. University yes. The thing is that I know many more languages, but many of them are unfriendly. They take a long time to use and make something that works. You would also have to write more code.

My largest takeaway is when you write applications that are far away from the given operating systems preferred language, you run into issues near the end. Releasing free software is rough. You have to start an LLC which costs money. You have to have an audience which takes a lot of time. You have to have a website hosting and a domain name or someone else's website to release said software. You have to spend long amounts of time writing the software. But I signed up for a lot of that to release free software.

To release software on all systems successfully with fewer issues you are going to need three developers. Possibly a style and design guide as well. You will need a Windows dev, and apple dev, and a Linux dev. All with up to date computers. You will also need an apple developer account which is about 99 USD a year. Also, you are going to have to pay for code signing. Which is a certificate you pay to say this software came from you. In all honesty you can do without. But your software gives a warning to the user says this software came from an unverified company or makes it difficult for the user to install said software altogether. For the most part the experience is hostile by design. What happened to the days of easier free software. I feel like that if many people know much of this up front, they wouldn't make it in the first place.

We have created a hostile environment for releasing free software. Many of these monopolies try to only allow the user to download apps from their specific store. Think Microsoft store, apple app store, google play store. It appears that you must be a company employing multiple devs to release free software. This doesn't help considering the statistics of those who release paid software commonly don't sell their apps. I will probably need to cite that... Game developers have a better chance. But even that chance is bleak. Perhaps we have just reached a saturation point with software. I believe a lot of this is hostile by design. This makes sense because many people want to own their entire closed system.

I can't wait for my software to become deprecated and not work in the future. Even though I am sure that it could probably run. I feel for the electron team as well. But much of our society is ran on planned obsolescence. I have ran into it with web software even. Going into tech the original design was for an open distributed system. But it slowly has become a bunch of connected closed islands. Barrier to entry is having a lot of money from the start. Much of our world uses technology that is open source and free, but those people rarely get paid. Perhaps the world always worked this way.

I have three pencils ✏️✏️✏️ and they work on all types of paper. Even if the paper was printed last year, this year, or the next year. When I receive it in the mail that is... I guess until someone makes special paper that doesn't work with graphite. Haha.

About Lars Barnabee 🐝 hey that's me

Share this page share button icon

Back To Top of page 👣