Sometimes it’s the Little Things

Over the weekend I was working on some additions to my Craft Pricing Pro app. The main addition that is being added is the ability to share the information from the app in the form of a PDF. This will allow the user to print out lists of their projects and the relevant information along with a single sheet views of an individual project.

This was working until I went into an individual project view and returned. Once it returned, it would no longer generate a list of the projects, but instead a sheet of the last project viewed. I beat my head for hours attempting to fix this. I thought it was an issue with SwiftUI, then I thought it was an issue with the ShareLink command. I spent hours trying different things. I moved code into different functions. I made new functions thinking that might have been the problem. I was writing and rewriting various parts of my app over and over again then removing the changes when each new solution would fail.

Then, I began to notice the error messages that sometimes would show up saying that it couldn’t find a certain file. I also noticed that when I’d create a new PDF that filename would show up as the name of the PDF. It took a while, but eventually I made enough connections to figure out the solution to my problem. All the PDFs I was creating had the same file name. SwiftUI wouldn’t create a new file because the data didn’t change, so it would simply use the existing file and that would be the previous view.

So, I simply had to give each type of PDF that I was generating a different filename and the problem was solved. So hours of effort and searching for a solution was solved by simply changing one line of code in order to change a filename. Everything else was working just fine. It was both frustration, and oddly satisfying to finally solve the issue.

So, yeah. Sometimes the simplest solution will be the one that saves the day.

‎Craft Pricing Pro
‎Craft Pricing Pro
Developer: Ducky Planet LLC
Price: $5.99+
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot
  • ‎Craft Pricing Pro Screenshot

Success Is Found By Not Limiting Sources Of Inspiration

A lesson that I learned again recently – inspiration can come from anywhere. I have been working on several projects lately and also taking some time to learn new skills and also refresh some old knowledge. During those attempt to refresh old knowledge I fell into a rabbit hole of going through old games that I used to play. When I say old, I mean old. Most of these I had had played on my old Apple II back in the 1980s. Needless to say, many old memories came flooding back. But, also, I was able to see things that were done with games back then that kept my attention and kept me playing. These games were made decades before micro-transactions, and years before the internet would start to shape our lives. They had to focus on the gameplay itself to keep our interest and there is a lot to be learned from that.

In my case, I was reminded how much humor and curiosity for what would come next drew me in. Spare Change on an Apple II emulator was the game that prompted this post.

A screenshot from the Apple II version of the game Spare Change

The goal of Spare Change was simple – collect coins while trying to keep the robots from stealing them. The robots themselves were quite funny. They would perform various silly moves as they stole the coins, including passing between each other, running into each other or kicking the coin into their piggy bank. If they collected too many coins the game would end. Also, of interest were short cut scenes involving these robots and their silly antics. But a feature that kept me wanting to play the most were the various items on the game board that could be used to distract the robots. They loved watching Popcorn popping, or dancing to the music on the jukebox. On some levels you have get them to talk to each other using the pay phones. Now, these distractions would cost a coin, so you had to be careful to not waste too many coins. This became more of an issue as the levels went on. But, it all led to the player wanting to keep playing in order to see what other silliness could happen along the way.

So, what does a 40 year old game have to do with my current efforts? It caused me to rethink my own game that I am currently working on. I have since made an effort to add cutscenes along with items for the player to collect. I should back up and explain the game a little bit – it was essentially a demolition derby game using various geometric shapes to battle.

The images above show a little view of what the game looks like. It also shows a shot from one of the cut scenes that can be found in the game. I am proud of how the game is turning out. The sides on the shapes turn red as they get damaged until the player dies if the damage becomes too great. Once an enemy shield is destroyed, you have the chance to steal their fruit. It is the fruit that is necessary in order to advance to the next level – by making an epic fruit salad to impress your alien overseers.

You can clearly see how playing a close to 40 year old game inspired a new game. If I hadn’t taken the time to play Spare Change, my game would still be the original Geometry Derby game in which you would simply crash into shapes until you finally died. It was somewhat fun even if it did get a little boring over time. The new version is one that can easily hold interest for a far longer time.

So, to bring things back around – don’t be afraid to look for inspiration everywhere. You never know what might contain an idea for a future project.

A New Tool To Get Work Done

I have been struggling for a bit with my computer. I have had it for over 6 years, and while it still works, there is less and less that it can do. The newest version of the operating system isn’t supported on it and because of that development tools were becoming less stable.

I have been looking at new computers for many months, now. The computer I was replacing is a 27″ iMac. It’s a huge screen on a fully desktop computer. But, I wanted to switch toward something more portable. I started to look at the MacBook Air. I liked the idea of the computer. They were small – only a 13.3″ display and were limited in upgrades, but the ability to be portable was a plus. It would allow me to move around and work in places that would have fewer distractions.

Well, then Apple released a new set of MacBook Pro laptops. They had many of the features that were missing from the Air – more upgrade options, larger screens, and more external ports. They made a lot more sense – but the price was quite a bit higher. I priced out several and then put the idea aside. I couldn’t really rationalize spending that amount of money. Then Black Friday sales showed up. There were several MacBooks listed at various places – some of them local and available that day. I spent the day debating it and eventually decided the factors that really mattered. I needed a computer that I could work on anywhere I needed to. It had to be portable and be able to run the software that I used – mainly Xcode. It ideally had to have enough hard drive space in order to install what I needed and work comfortably. What I found was a decent compromise. The cost wasn’t as high has it could have been. The screen was smallish. The drive was a bit smaller that I would have liked, but the form factor was decent and I could work around the flaws without too many issues.

So, I ended up taking home a brand new MacBook Air M1 with a 512GB SSD drive and 8GB of RAM. I would have liked a larger drive, but I can get by with this. It will also keep me from hoarding everything on the face of the planet. I have to force myself to watch what I put on here and remove things as I don’t need them. So far, I’m doing just fine.

Heck, I’m sitting with the computer on my lap on the couch right now writing this. It really has opened up new things for me. The keyboard is comfortable and has a nice form factor. The trackpad takes some getting used to, but it’s working pretty well. The screen – though small – does just fine. If I need a larger one, external displays are an option. So far, I’m really liking it. The computer has no fan, so it is extremely quiet. I don’t do a ton of video, or photo processing so the RAM limits haven’t really caused an issue.

Overall, I’m happy with the choice. I figure if I was going to have an issue, it would have happened by now. So, yeah. It’s a nice little laptop.