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!
I’ve had the pleasure of working with Tim multiple times over nearly 10 years now. Tim is one of those people who makes a community, he’s a connector, bringing people into a group and highlighting common ground for the benefit of us all. It’s not hard to find out what Tim is doing these days, you can read all about it on his blog, watch his videos and webinars and read his Xojo interview series in xDev Magazine. In this month’s Spotlight On feature, Tim answers questions about his latest, and biggest, project and his ongoing success using Xojo.
Mac, Windows or Linux?
All three.
I do all of my work on a MacBook Pro. That’s where I’m running the Xojo IDE, doing testing, and so on. But I’m developing apps that also run on Windows and Linux, too. When I’m developing a Windows app, I usually do my initial testing using a Windows VM running in Parallels. Over the past few years, the amount of Linux projects that I work on has increased significantly. I’m developing a lot of console apps that run on Linux.
Here’s something that I discovered about a year ago, and that your readers might find interesting. Xojo apps that are compiled for Linux (Linux x86 64-bit in particular) will run on servers that are running Oracle’s “Oracle Linux Server” operating system. Oracle’s cloud (which they call “Oracle Cloud Infrastructure” or “OCI” for short) run that version of Linux, which is similar to Fedora. A lot of companies that are running on NetSuite (which Oracle owns) are “all in” with OCI. So the fact that Xojo apps can be compiled to run on OCI servers is a pretty big deal. I think there’s a lot of opportunity for Xojo developers to meet the demand for custom software coming from companies that are in investing in OCI.
What do you wish more people would ask/talk to you about regarding programming?
I have a pretty popular blog, and I do get a lot of technical questions from readers. Occasionally, I get questions like “How can I break into the NetSuite space?” What they’re really asking about are strategies for finding opportunities, technical things that they should learn about, and so on.
But it’s the non-technical things that they don’t ask about that I think are really important. For example, learning about business in general. Learning about accounting. And if they’re looking to “go solo,” learning how to build authority, stay organized, and so on.
How would you explain your most recent project to a new developer?
One of the biggest challenges that companies face when they’re switching from one business system to another is migrating data between the two systems. Some companies think that this is the final step before “going live” with the new system – and it certainly is.
But the reality is that they’ll likely need to do this data migration several times, especially as they test the new system. In some cases, they’ll run the two systems in parallel and compare the results of the two systems, to make sure the new system is being implemented correctly.
I’m currently working on a very large, very complicated NetSuite implementation, and we ran into this need. Using Xojo, I developed an app called the “Data Bridge” which we’re using to sync data between their current system (which was developed using Progress – https://progress.com) and their NetSuite instance. It takes data that was exported from Progress as pipe-delimited files, parses and validates the data, and then makes API calls to push the data into NetSuite. This is helping us test NetSuite more thoroughly, using current, real data, so that there will be no surprises when we do go live.
What’s next on your “Learn Next” list?
For the longest time, I’ve felt that AI – and especially generative AI – is overhyped. So I mostly ignored it. Now that the excitement has settled down a bit, I’ve started to look at AI in a serious way. NetSuite recently made some generative AI APIs available to developers, so I’ve been experimenting with those. One of the projects that I’m currently working on involves developing a Xojo-based mobile app that integrates with NetSuite, leveraging the data stored in NetSuite as well as its AI functionality.
What is something that has surprised you about coding in the last 10 years?
I think that like a lot of developers that have been working professionally for awhile, I was surprised by the popularity of Javascript, and how widespread it’s used, especially for developing backend Web apps. The other thing that has surprised me is the increasing number of developers that really don’t want to write code. There seem to be a lot of people that pursue careers in software development simply because they think it’s a way to “make big money.” One of the things that
I love about the Xojo community is that most of the Xojo developers that I’ve talked to seem to find joy in writing code. (You can also see this on the Forum, too.)
Xojo isn’t the only tool in your kit. What is a piece of software more people should know about?
There are a couple of other development tools that I use and recommend, and that I encourage other Xojo developers to check out.
One is DataGrip by JetBrains, which I started using about a year ago. DataGrip is a cross- platform database tool that supports a very wide range of relational databases. I use it often in my NetSuite work, especially when I need to explore the schema of the Oracle database that a NetSuite instance is powered by.
Another tool that I recommend is RapidAPI (which was formerly known as “Paw”). I’ve been using RapidAPI since it was first released, and it’s my API tool of choice. There’s another API tool called “Postman”that is certainly much more popular, but I really prefer RapidAPI. It seems to me to be much more Mac-like.
One more tool that I want to mention – and this one is brand new – is called “Framous.” Framous makes it easy to add device frames around screenshots. So you can take a screenshot of an app – such as one running on your Mac or in a simulator – and then drop the screenshot into a device frame – such as a Mac or iPhone. It’s great for creating images to be used for marketing purposes. The app is available on the Mac App Store.
When did you start using Xojo?
I started using Xojo in August of 2015 – nearly 10 years ago!
How did you find Xojo?
Hal Gumbert encouraged me to check out Xojo, and I’m so glad that he did. At the time, we were both FileMaker developers. I had grown frustrated with the FileMaker platform and was looking for a new development tool to work with.
What did you first build with Xojo?
When I first started working with Xojo, I was interested in developing iOS apps – and Xojo’s support for the iOS framework had just been released. So the timing was perfect. In fact, then first Xojo license that I purchased was only for iOS. There were two iOS apps that I immediately developed with Xojo. One integrated with FileMaker and the other integrated with Airtable. (At the time, I was serving as Airtable’s “Developer Evangelist.”)
What do you build with it now?
I now use Xojo to develop all kinds of apps – desktop, mobile, Web, and console apps – and for all of the platforms that Xojo supports too (macOS, Windows, Linux, iOS, and Android). When I first started using Xojo, I never would have guessed that someday I’d be developing so many different types of apps.
It surprises me that out of all of the types of apps that I develop with Xojo, these days it’s Linux console apps that I’m developing the most. These apps are primarily used to automate processes involving NetSuite, such as batch file processors, webhook listeners and senders, and more. So essentially I’m using Xojo – and console apps especially – to extend NetSuite’s capabilities.
What is something you worked on recently that you want to talk about?
I mentioned a few of my current projects earlier, but two of the more interesting projects that I’m working on are Suite.js (a JavaScript runtime that’s designed to make NetSuite integration easy) and SuiteBrowser (a Web browser designed specifically for use with NetSuite). Both of those projects might sound like crazy ideas. I mean, what kind of crazy person develops their own web browser?!? But I can tell you, based on the level of interest in them from the NetSuite community, that there’s a genuine need for both of them.
Do you earn a living with Xojo?
Absolutely. So much of my work these days – including my NetSuite work – involves Xojo. I honestly don’t know what I’d do without it.
Also, I want to give a shout out to Christian Schmitz and MonkeyBread Software. His Xojo plug-ins have enabled me to work on Xojo projects that I never would have dreamed of working on, including projects that utilize things like MQTT, Phidgets, and more.
Do you use it for your hobbies?
Yes, I do. My main hobby these days is developing apps that run on Raspberry Pi’s, and of course, I’m using Xojo to create them. As a side note, I recently purchased my fifth Raspberry Pi – a Raspberry Pi 500 – and I love working with it. It reminds me what it was like to use Macs and PCs “back in the day.”
What’s your biggest Xojo success?
Out of all of the apps that I’ve developed with Xojo, the one that I use every day is called SuiteTransmit. SuiteTransmit is a desktop app that monitors the files that I’m working on, detects changes to them, and automatically uploads them to NetSuite. It allows me to develop NetSuite “SuiteScript” apps using my preferred IDE (BBEdit). This simple app, which, thanks to Xojo, took only a few hours to develop, has saved me a lot of time. SuiteTransmit is one of my “secret weapons,” and I don’t think I could have, or would have ever even attempted to develop it, without Xojo.
But my biggest “Xojo success” doesn’t involve any one particular app that I’ve developed with it. Over the years, I’ve blogged about my Xojo work, and been a guest on several Xojo webinars. Last summer, a company that was looking for help implementing NetSuite stumbled upon my NetSuite / Xojo work, liked what they saw, and reached out to me for help. They’re now my biggest client, and the biggest client I’ve had throughout my entire career. And I owe that to Xojo.
Thank you to Tim Dietrich for answering questions and sharing his Xojo experience with the community. Learn more about Tim on his blog, find him on LinkedIn and read his interviews in xDev Magazine.
If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!