Delphi has played a significant role in my life, influencing the jobs I took or performed, the companies I started and sold and the hours I spend behind a computer. On this 25th anniversary I thought it would be nice to reflect back on Delphi and the impact it has had in my life, both the past and the future to come.
Contrary to widespread discussions of Delphi been used for legacy products, I have been fortunate to spend my entire career on new Delphi projects, inventing products and services over it’s 25 years of existence.
My first experiences with Pascal started before Delphi. I learned the language mostly on my own as a teenager reading books published locally in San Diego with UCSD Pascal. My Pascal coding style still reflects some of the rules set forth in those guides. If I remember correctly, my first Pascal was an interpreted Pascal on the Apple II. It took forever to compile and run a project and debugging was non-existent. I was fascinated with video games and I really wanted to be a programmer back then so I could learn how to code them. As a teenager I also learned BASIC and wrote games that were published in the Rainbow Magazine (for the Tandy Color Computer).
Getting a job as a programmer for a person of my young age was difficult to impossible in those days. One of my first jobs, when I was 19 years old was as a temporary worker as an executive administrative assistant. I landed that temporary assignment mainly because I was a proficient typist and I understood desktop office apps but it placed me near the executives of the insurance company where I was employed. One day I overheard them complaining that their accounting system, some app written in a version of BASIC, was unable to produce the types of reports they needed to properly do expense and budget reporting by cost center and location.
After that meeting, I walked into the CFO’s office and boldly pronounced, “I can solve that problem for you in 2 weeks”. He laughed at my boldness and looked at me with skepticism. I went on, “and if I solve that problem to your satisfaction, I would like a full-time job in your information technology department.” With the bold proclamation, my career in tech was born along with my first paid assignment in Pascal.
In those days Turbo Pascal was the tool of choice and it was better than just about anything. It was solid, fast and built sturdy apps. I was also self-taught with x86 assembly. I had to reverse engineer the file format for the data and author my own driver to read the data. I worked through many nights during those 2 weeks, but when I was done I had an application that was lightning fast and crunching larges amount of data and could output reports by cost center and location. And yes, they gave me the job.
Still in those days, it was hard to get full-time work coding without decades of experience, so I spent the next 6 years or so working in Information Technology on LANs and WANs, but I spent most of my spare time coding.
1995 and beyond
I really wanted to do serious coding in Windows, but the tools of the time were not very good. Once Delphi arrived I could finally transition my existing skills into a new marketplace. Still coding as a hobby in my spare time and with a solid understanding of network principles, I started working on some ideas around messaging on Windows computers. I built a few prototype apps that could send messages in real-time to thousands of computers within seconds and showed this to some retired business people I respected. They gave me the courage to decide to stop trying to be a hobbyist and become a full-time entrepreneur.
By this time I was a Director of IT in a large financial corporation and my boss was the CIO. One day sometime in 1997, I walked into the CIO’s office and handed him my resignation. I told him, “I have decided to start my own software company”. He took it personally, but I assured him that it had nothing to do with him or the company, I just wanted to go in a different direction with my career. Most of my co-workers didn’t even know that I could code and thought I was insane to give up my good paying job. They told me that I was only 27 years old with a 6-figure income, soon to be a CIO somewhere what was I thinking. Ah to be young and bold and a bit naïve. I was determined to go in a different direction and I didn’t want to wait until I was older when it might be harder. It also helped that I could bail out on all the Y2K related coding and bug fixing that was going on at the time in IT. I hated that stuff.
So I took my Delphi coding skills and WiredRed was born. The first app was an instant-messaging app called e/pop that was built in Delphi and could be deployed in a company for popup messaging. The idea was to replace Winpop with something more robust. I wrote all the code by myself, but used a variety of off-the-shelf components including Raize and eventually Developer Express components and I priced it $99 for 5 users. About a month into selling it through our website I got a $30K USD order from a large US cable company and things took off after that. Using Delphi I added a desktop remote control app module that worked with the instant messaging platform and then a voice-over-ip application module. We started to private label both of those modules to other companies who included the voice engine in some games and retail devices and the remote control module into help desk software. From those OEM efforts our revenue jumped so I started to higher more people and build out the team. All of the early developers came to the company with Delphi coding skills.
When September 11th, 2001 happened the tech industry slumped and new orders slowed down. I had to keep the business going so I quickly wrote a rebranded version of e/pop called “alert”. The idea was to popup instant messages on desktop computers in real-time to notify about emergencies, such as to evacuate the building. This new product took off, especially in the US Federal government which ended up purchasing around 1/2 million licenses. At one point, every computer at the FBI, the Treasury and every computer in the Whitehouse had a copy of our app, written entirely in Delphi, running on it.
Yes, there was a Delphi app running on the president’s desk although I am not sure the president of the time knew how to work one… I digress.
Another significant even from that time period was that our app won 2004 Editor’s Choice award in Network Computing when it was up against Microsoft, IBM and others. For a small company and a product written in Delphi, it helped propel us to the next level.
Instant messaging was a solid market but it had a limited growth potential. As computers became more powerful and with a knowledge of real-time coding and network software engineering I decided to build web conference and video conferencing modules into the e/pop platform. With some creative network software coding we built a cloud-based solution to deliver web and video conferencing and created the Nefsis product around 2005. Eventually we renamed the company to Nefsis as well.
Nefsis was also written in Delphi. The company was growing at this point and we had offices in 3 countries covering the US, the UK and Europe.
We moved quickly to bring Nefsis to market and it was commercially successful, becoming recognized as the first to use cloud computing to deliver online video conferencing.
At the time Delphi was still focused entirely on Windows apps, but our customers were clamoring for other platforms like the Mac. Fortunately Delphi was also maturing and starting to look into other platforms and targets.
Being acquired – the OmniJoin years
We switched the business from selling licenses to selling recurring services. This was especially important at the time because software-as-a-service valuation multiples were 5x times versus straight software company valuation which was usually around 1 to 2 times.
Around 2011 the company was approached by several parties interested in acquiring the company. We sold the company to a large international company who was looking to expand into the online collaborative communication services business for a mid-range, 8-figure deal. I say this to make a point in that large successful applications have been and can be made in Delphi. Everyone knows the story about Skype, but I believe there are numerous other stories that have never been told about products authored in Delphi in this community.
Our product and service was now a global product with operations all over the world and I was the VP in charge of software development for these online services.
We built a whole new interface, cross-platform modules thanks to Delphi’s macOS compiler target and mobile, thanks to Firemonkey and the ability to target mobile devices.
OmniJoin, unfortunately, was not a commercial success and was eventually closed down. Some day I might write a story on failed acquisitions! About that time I left the company and decided to start working on new ideas.
After leaving OmniJoin, I reached out to another software engineer, Erik van Bilsen to see if he wanted to work on building a new company and create new products. Grijjy was born. Erik spoke about Grijjy extensively in his Delphi 25th article.
Since I had sold all the code to Brother, we started from scratch. Let’s face it, the way you wrote code 5 years ago, alone 10 years ago is completely different. First off, concurrent coding models are different and the Delphi language syntax has evolved substantially over the years. We spent a couple of years just building out new foundations and frameworks, including our run time library as well as creating demo applications built on these foundations.
Our goal was to create a foundation class for both applications and backend services with code that was designed to be cross-platform from day one. This meant in Delphi we authored our own stacks for clients and servers to provide a consistent experience across mobile and desktop.
The new Delphi project – Lumicademy
The real product work began a little over 2 years ago when the team started working on a new application called Lumicademy. Lumicademy, as you might have guessed, is written in Delphi using Firemonkey. The idea was to build a platform-as-a-service for providing a real-time, virtual classroom experience that customers could add to their existing product or service. In other words, if you need to add live video conferencing or desktop/document sharing to your existing application or service, then we provide the APIs and the native app experience. Delphi gives us the ability to target all the major desktop and mobile platforms along with the performance of native code. We are able to easily blend assembly code in areas where we want maximum performance on Windows or macOS, iOS and Android.
Lumicademy is set to launch soon in early 2020! We have lots to do and some of the software engineers that worked in the past ventures have joined the Lumicademy team.
It’s hard to summarize 25 years of working with Delphi, there are so many amazing experiences it provided along the way. I met so many people that impacted my life for the better because of things directly or indirectly related to my work with Delphi. The future looks equally exciting and I am glad to be working in the language I love each and every day. Happy 25th to everyone who works in Delphi!