Spotlight On posts focus on Xojo community members. We’ll use this space to tell the stories of people using Xojo, share amazing Xojo-made apps and spread awareness of community resources. If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!
EKlectic Accounting is a new, full-featured, professional accounting application made with Xojo by independent developer Edward Kidwell. EKlectic’s user interface is “QuickBooks-like” and will feel familiar to users of other accounting software. All the code for EKlectic Accounting is “pure Xojo”, and uses no plugins. The application is cross-platform and supported on macOS and Windows.
10 Questions with Edward Kidwell
You mentioned your projects are “pure Xojo” and don’t use any plugins. Can you tell us about that?
I was originally drawn to Xojo by an open-source project that turned out to be heavily dependent on third-party plugins. Even after I had purchased a Xojo Pro license, I couldn’t compile the project without additional purchases. Furthermore, as I dug deeper, I found the functionality provided by the plugins was easier to write in Xojo than it was to implement the plugin. I decided at that point that I would strive for all of my projects to be cross-platform compilable without any third-party purchases being necessary. Several projects later, I have not had to compromise that decision.
Although Xojo is a RAD environment (Rapid Access Development), I’ve observed (on the Xojo forum) that many developers overlook the power that is available in the core language and built-in objects. Anyone using the forum will notice that many answers basically say, “Use plugin ABC for that,” when Xojo itself could often solve the problem without any plugins. For developers who are packaging and reselling their software, I think the less third-party dependencies the package has, the easier it is to maintain, support, and debug.
For example, without using any third-party software, I’ve created reusable Xojo objects for PDF (with both print and preview), ID3 audio-tags-reader (for MP3 files), and custom controls (database-enabled auto-completing dropdown fields, GUI panels, etc). Xojo really can stand “on its own two feet”! 🙂
Mac, Windows or Linux?
All of the above! 🙂 My primary machine is Mac, with a separate Windows machine on a different HDMI channel, and I use various Linux VMs as needed.
What do you wish more people would ask/talk to you about when it comes to the software you develop?
I wish more people offered criticism of the user experience. Only through critical feedback can you improve a software package, and I’ve learned to appreciate it when people complain.
What’s next on your “Learn Next” list?
In the context of computers, the Rust language has piqued my interest. Besides that, I’m currently studying Greek.
When do you think of solutions for stubborn bugs?
*Always* first thing in the morning. The mind seems to solve them overnight. 🙂
What programming moments made you think “Wow, I love my job so much.”
I felt that way when, using Xojo’s ServerSocket and TCPSocket classes, I was able to implement a bonafide HTTP 1.1 server written from scratch in Xojo. I packaged that code as a reusable object that I can plop in to any of my projects. For example, one of my projects uses that server to allow users to control the app remotely from any device on the same network (e.g. iPhone, iPad, Android, and even Kindle tablets). So yeah … it is very satisfying to see my Xojo apps serving up their own HTML and JavaScript web apps, as well!
What is something that has surprised you about coding in the last 10 years?
Two things: 1) How fast certain new languages are adopted (e.g. Swift, Rust), and 2) How indispensable some of the older languages have become (e.g. C++, PHP … they’ll never die! 🙂 ).
What’s the coolest thing you worked on recently?
There are actually two very “geeky” things that come to mind: The first is a shell script I created on TrueNAS (FreeBSD) using rsync to *pull* scheduled (cron) backups of a remote Linux web server over an authenticated SSH connection. The core functions from the script are also used on my Mac to *push* scheduled backups to the TrueNAS. That made my “geek sense tingle” a bit. Secondly, I created a web-based VOIP phone system (like the automated attendants in a PBX) using a RESTful API on the backend, and a home-grown web-app-GUI on the frontend. It allows people to setup a complete phone system in one or more languages and with different voices, all through a web interface. Again, “geek-sense=tingly.” 🙂
Music or no music while coding?
I’m a multi-instrument musician of over 4 decades, so yes, always!
In addition to accounting software, Ed offers additional apps built in Xojo. EKlecticSong is a presentation program for song services, church services, or business presentations. EKlectic Find Duplicates is a duplicate finder with a fast duplicate algorithm. Dock Media is a full-featured yet minimalistic media player.
Thank you to Ed Kidwell for answering our questions and sharing his experience with Xojo with us. If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!