Software Development: Disappointed to Ecstatic

It's been a while since my last blog post. There's a reason for that. Software Development has been disappointing, but after five years, I'm ecstatic again!

Why? I think it has to do with greed along with a lack of communication. I'm just glad to see the pattern and have the technical ability to change development platforms.

As developers, what do we need? That depends on the app. Some apps are hardware generic while other apps need specific hardware features. We primarily develop database apps where folks view/edit data, print to paper or PDF, and document management. There aren't many specific hardware feature we need other that being able to work offline when internet isn't available.

There are lots of app types: Desktop ( Mac, Windows, Linux ), Mobile ( iOS, iPadOS, Android ), and Web. I'm not including apps for watches, tvs as we focus mostly on business apps. That's a lot. Desktop has three, Mobile has two or three, Web has one. Thats SEVEN targets to develop to get your app in the hands of most users. However, for hardware generic apps, all you really need is a Web App. Web Apps run on just about anything with a browser so there's no need for target specific apps.

FileMaker: I've been using FileMaker since around 1992. FileMaker is very nice but has some issues that can be dealt with. FileMaker is like Excel in that each user must have a license to utilize FileMaker. FileMaker had Runtimes to allow developers who paid extra for FileMaker Pro Advanced to distribute a non-networkable version of FileMaker at no extra cost. That's been deprecated. Way back when around version 12, FileMaker was sold as 'pay and use it forever' and upgrade when you like. You can still purchase FileMaker that way but annual pricing is preferred. I could go into a ton of detail, but I'll save you from all that and provide one example instead. FileMaker Server has had the ability to create APIs for years and years called XML Web Publishing which was included. It's still in the product, but has been deprecated in favor of the Data API. That's great advancement, but now it's metered. So if you purchase FileMaker Server and set it up in your office, you'll have to pay extra to transmit your own data from your own server. It's nuts. This plus the other issues make continuing with FileMaker difficult.

Xojo: I've been using from 1998 and haven't renewed my license since September 2019. Xojo's pricing is amazing compared to FileMaker. Xojo Pro is $700/year to create Desktop, iOS, and Web Apps. It's less expensive if you only need one of those. Less than $1k per year for Xojo is a steal because none of your users need to pay Xojo ever. They don't even need to know you used Xojo. I haven't bothered to renew because Xojo hasn't shipped anything meaningful in quite a while. Xojo had some major missteps including the "New Framework", then API 2.0. I'll skip all the details, but long story short, Xojo Web 2.0 was announced around November 2017 and it's still not available, but is in alpha after all this time. Xojo has a Roadmap after lots of drama where you can get a long term idea where the product is going. That's great, but I'm sad that "Easy Database Connectivity" keeps dropping down on the list as new items are added. When I was using Xojo Web 1.0, I liked it, but I kept encountering bugs that I couldn't believe. I spent time writing bug reports where some would get fixed, but others would sit in purgatory. Xojo is NOT greedy which makes me wish them all the success in the world. They just need to ship. Right now Desktop apps are the only non-deprecated product as Web is being rewritten and iOS will be rewritten to be part of "Mobile" which will first ship with Android and iOS will be added. On top of all of that, Web 2.0, Android, and iOS 2.0 will all be brand new apps that will need lots of debugging. It just comes down to Xojo is way too chaotic right now.

It just stinks as FileMaker and Xojo could be game changes for development, but their respective issues prevent them from taking over the world.

In FileMaker we created a template called "Foundation" which we still use today. In Xojo we created three or four versions of "Xanadu" in different incarnations including using Aloe for Xojo by Tim Dietrich.

Xanadu is now being developed with PHP and I'm ecstatic about it. As I mentioned, all we really need is a Web App since we don't need to access any device specific hardware. Currently we're running PHP with NGINX on Amazon Lightsail which is very inexpensive and wicked fast! When people say they used PHP, it's a bit nebulous. In my head, we write PHP to write HTML, CSS, and Javascript. HTML and CSS are used to display information to the user while Javascript is used interact with the information. We use Aloe for PHP by Tim Dietrich. Aloe made getting started with PHP much easier as it handled the Web Request and Responses. In addition to Aloe, we also use Bootstrap, Barcodes, Flatpickr, FontAwesome, and a few other libraries.

If you have any question, get in touch!