Join TCoffeeAndCode For Developer Chats

Have you watched any of the TCofeeAndCode series yet? They are informal discussions ranging from 30 minute lunch-time “espresso sized” ones to two hour (or more) full discussions. Being the media darling that I am I’ve been a guest on a few of these. I’m also on one later today – Wednesday 21st April 2021 – where we’ll being discussing security issues and best practices for developers and dev-ops people.

Here’s a screenshot from a previous TCoffeeAndCode

TCofeeAndCode screenshot

TCoffeeAndCode is not quite like the usual webinars – it’s pretty much unscripted and you can actually join in the discussions. In some of them we can even SEE your face and HEAR you if you enable your webcam and have a microphone or headset!

Here’s Jim’s post about the current TCoffeeAndCode series

You can register to watch the entire series – and get notified of the replays if you can’t make it by clicking the link to visit Jim’s post and then following the registration instructions on there.

Here’s a blog post by Embarcadero’s Stephen Ball to accompany one of the previous TCoffeAndCode ‘espresso sized’ discussions including one on user interface design I was on.

TCoffeeAndCode replays

You can watch a few of the replays here: and catch the others on the official Embarcadero YouTube Playlist:

Please join us if you get a chance, it’s a lot of fun.

How to write Delphi apps to run and look great on Windows, macOS and Linux

Last Wednesday I presented an Embarcadero webinar “Cross Platform to Windows, macOS and Linux with Firepower”. Participating in the live Q & A after the demo was Roy Woll of Woll2Woll Software. I think we had a lot of fun doing it and there were tons of questions about Roy’s great components as well other subjects such as making your own components be available for multi-device apps when the user swaps to the FMX Linux target, for example.

Here’s the official Embarcadero replay of the webinar complete with the lively Q & A…

Roy also mentioned a code you can use at check-out for the Woll2Woll components too. The coupon code to use is IBFIREPOWER15 – which should save you 15% on FirePower X.

The Woll2Woll site has demos and a trial copy of the Firepower X components you see me using in the video so you can try things out for yourself.

The first demo app is based on part of a commercially available Delphi program which I work on as part of my ‘day job’. It is a “key personnel display” or “In/Out Board” which shows the in/out work status of employees. We quickly produce a brief version of this module running on Windows and Linux. We then swap to deploying one of Woll2Woll’s demo apps and show it running on Windows 32 and 64 bit, Linux and macOS – all from the same piece code. Pretty cool stuff.

If I can do all this in 29 minutes I think it does demonstrate why I call Delphi “my secret superpower”. Honestly, it’s not difficult to target all those platforms – the hardest part is the initial set up of the paServer and SDK but once that’s done you don’t need to do it again and deploying apps cross platform to the various operating systems is literally a matter of selecting the operating system as a target and hitting compile in the RAD Studio / Delphi IDE.

Jim McKeeth, who steered the webinar has also blogged about it on the Embarcadero Blogs site here:

If you want a copy of the slides or have questions feel free to get in touch; we present these webinars so it might help and to generally educate people about what a great development tool Delphi and RAD Studio is and I hope this comes across – it’s all about Delphi but, most especially, it’s all about you.

Here are some of the key slides…

Delphi things planned for November

I thought I’d put a quick post here, partly as a reminder for me and partly to whet your appetites, for planned upcoming Delphi things in November.

On the 17th November is the “DelphiCon Worldwide 2020”. I am not doing any sessions for this as there was a specific limited and smaller cadre needed but there are some more events planned and I will be involved in them. You can read all about DelphiCon and register here:

Due to COVID-19 sucking all the joy out meeting up in person CodeRage has morphed a little into a new beast and it’s going to be a more hybrid offering of things like DelphiCon and a collection of related webinars.

I am planning:

A follow-up “How to use the Fluent UI look and feel with your Delphi apps” presentation. This will follow on from my previous session for the Desktop First Summit – Developing Fluent UI Apps with Delphi. This turned out to be a pretty hot topic with a lot of positive feedback. As I promised in the presentation I’m going to do a follow-up – a part two if you like – of how to actually code the Fluent UI look and feel in Delphi. The first presentation was specifically created for the Desktop First UI Summit and since we knew there were going to be a considerable number of visitors to that summit who were not Delphi ‘people’ I tried to keep the actual showing of the Delphi code to a minimum so as not to alienate them.

The Fluent UI with Delphi Part Two follow-up in November will be much more heavily code-focused with lots of video of the actual RAD Studio Delphi IDE with links to the Delphi / Object Pascal code to make it happen. I’ll also cover the components I used plus I think I might take a stab at trying to reproduce at least part of the effects using pure FireMoney FMX code.

Also, following in the theme of follow-ups I’m going to do a part two video of using Git with Delphi. This will build on my first video on the subject: Using Git Source Control with Delphi. You’ll find it, like the Fluent UI video, at the top of the Welcome Page in the RAD Studio IDE if you have it turned on.

For the follow-up I want to cover the actual Git workflow, branches, pull requests, merge requests, using GitHub issues for bug/change request tracking and other “how to actually use Git for real” type things. I notice on the Embarcadero Events page that fellow Delphi MVP Patrick Prémartin has a webinar planned for December 29th on the same subject. His presentation will be in French but I’ll try and get in touch with Patrick and see if we can’t co-ordinate some of the content.

Also, planned in November are some book reviews:

  • Books 1 and 2 by Holger Flick. I’ve already covered Holger’s excellent TMS Web Core book but blow me down if he hasn’t got at least two more to read and review. He’s a scarily prolific writer of demonic proportions. Clearly he never sleeps.
  • I have my hands on a copy the new Delphi book by the wonderful Alister Christie of fame. Surely by now you’ve seen at least some of Alister’s education videos? He’s been doing it for YEARS and he’s now distilled some of his epic knowledge into a book called Code Faster in Delphi.
  • And just because I can I’m also in the middle of going through a whole bunch of on-line educational courses from Wagner Langraf of TMS business components fame, especially XData. It’s going to take a little while to whip through the content since it’s extremely comprehensive but I reckon I’ll be able to produce a creditable review some time in November.

I have other things in the pipeline plus the usual heavy ‘day job’ workload – and to add to it November is personally a busy month since it includes the 11th anniversary of me emigrating from England and coming to live in the USA. It is also my wedding anniversary, US Thanksgiving (a big deal here, even with a pandemic) and my birthday too. Does real life not realize I have important Delphi things to do instead of celebrating and having fun?

Oh and the small matter of the US Presidential Election on the 3rd November too. At least I voted early so that’s one less thing to do. Election night promises to be a nail-biter. 😀

Anyway – I’m off to get back to coding in #Delphi!

Modernizing Delphi VCL apps for Windows 10

A few days ago I presented a webinar as part of Embarcadero’s “Modernize with Embarcadero” series this month. If you haven’t caught any of these webinars then there’s still time to drop in and take part. The link to view the topics and presenters along with registration is here: – there is some seriously good content ranging from novice to advanced and it’s all completely free!

My session can be caught on replay, which includes the live Q & A section by going to here and registering after which you’ll be taken directly to the video:

You can view all the replays here:

Who am I? Why Delphi?

In case it’s not clear – my name is Ian Barker and I am an Embarcadero MVP. As it says on the EMB page – MVPs are experienced Delphi programmers who have a belief that the product provides benefits to developers and are happy to champion Delphi and explain why the MVP thinks RAD Studio and Delphi are great tools. For me, as a Delphi developer since the very first day Delphi 1 was released, it’s a no-brainer. I code every single day in Delphi. I specialize in ‘shrink-wrapped’ software – applications that go out to end-users rather than corporates or in-house walled-gardens.

My income depends on being able to produce apps which work with minimal problems – mostly, I create bugs, just the same as other mortals – and have those apps be stable, reliable and cost-effective to produce. According to contacts and customers I am a very prolific developer and work on a pretty large number of projects in a year. This is despite the fact I am quite lazy and have all the normal demands on my time such as dogs who insist on being walked, my wife, Lisa, who apparently likes to do things called “going out and being social with normal people” and a daughter who insists I do dad things.

Delphi has meant I can write code which works – and keeps on working – on a vast number of operating system versions and devices. It makes me look good. It makes me appear competent. Perhaps more importantly it also makes me employable.

So it’s not too much of a stretch to say good things about it. I don’t work for Embarcadero – I work for myself – although I do get some benefits such as access to the latest products and some insider knowledge.

That said, what you hear from me is the truth – Delphi can give you superpowers.

The webinar

I’ll try and briefly summarize some of the key points in this post – but you really should catch the replay if you can as it includes live examples.

The presentation looked at some RAD Studio and, in particular, Delphi features you can take advantage of today to make your existing – and new – apps look, feel and behave like modern Windows 10 applications.

Windows 10

The thing about Delphi is that it’s solid. Really really rock solid reliable runs-for-ever-without crashing solid. Because of that there’s a LOT of code out in the wild which was created with older versions of Delphi such as Delphi 2009 and even the venerable Delphi 7. Borland, as they were at the time, really got it right with Delphi 7. It was an IDE which worked well, was easy to use and supported a version of Delphi which was unshakable in almost all sorts of wide and varied deployments. No crazy operating systems dependencies, no ‘dll hell’, no need in fact for almost anything other than the finished EXE to provide the functionality.

I know of code out there running power stations, airport security scanners, Fortune 500 company payrolls, medical patient education systems… I know because I wrote some of these myself.

But as good as the older versions of Delphi 7 was it was released in an era where Microsoft were a very different animal. The modern Windows 10 builds on Windows NT technology behind the UI along with some of the great user interface schmooze ideas that started out back in the days of Windows XP which in itself was a huge improvement on what came before and still hobbles around sporting that Tellytubbyesque green hilly backdrop on dusty computer systems despite Microsoft having long abandoned it. Some operating system versions are really hard to kill.

Windows 10 is a truly useful operating system. When it did away with some of the missteps of Windows 8 – dropping the idea of being a ‘tablet operating system for your desktop’ and instead striving for greatness it accompanied a new CEO, Satya Nadella, to replace the mercurial Steve Ballmer. With Satya came a massive push into Microsoft fanatically embracing open source and an overwhelming campaign to get Windows 10 on every possible PC desktop… for free.

But it didn’t stop there. After dabbling with a mobile phone Microsoft instead reoriented itself to aim at the “internet of things” so that Windows 10 can now power things like the Raspberry Pi, touch devices like the Microsoft Surface and even now includes Linux built in. Even the once sworn enemy of Microsoft – Richard Stallman – just gave an invited talk to the Microsoft Campus in Seattle.

This. Is. Weird.

But also, what it really means is that Windows 10 is absolutely everywhere. This is great, but it also means that all this legacy code from compilers like Delphi 7, Delphi 2009 and yes even the original Delphi XE looks out of date.

Those compilers were perfectly serviceable but their runtime libraries and VCL were created before the release of such things as “fluent design’ which is a user interface design methodology and ethos used not just in Windows 10 but across other devices such as Apple Macs and Linux desktops. They call it a different name and the exact chronology and provenance are complex but suffice to say; if your app was written with an older version of Delphi then it probably looks like it’s a little… how shall I put this… stale?

Getting the beauty treatment

Happily there’s some easy things we can do to freshen things up. If you haven’t already, grab a copy of the latest release of RAD Studio Delphi, open up your projects, recompile and immediately you’ll have given them a waft of that new car smell.

Right, of course, if you’ve used a lot of third-party components – and who doesn’t, that’s part of the strength of Delphi – then you’re going to need to find updated versions. In theory if you have the source code you can recompile the component libraries but in practice it’s never quite that easy, especially if they’re from something more than 5 years ago.

I just converted a fairly significant Delphi 7 project to Delphi XE10 last year – ~1.5 million lines of code – and for the most part it was plain sailing. We went out and found updated versions of the component sets we’d used and for some we converted to either alternative vendors (who frequently have tools to assist with this) or reworked code to use new controls. But overall it wasn’t that horrible. Some sections of code were rewritten, mainly around cryptography and some comms, but really that was about it.

The Delphi language is very good at being backwardly compatible.

Getting a copy of the latest version of RAD Studio/Delphi

Last year a momentous thing happened. Embarcadero, with the blessing of their new parent, IDERA, released a “Community Edition”. This is free as in beer and remains free for developers who are learning to code, experimenters and hobbyists and for Open Source projects.

What’s even more wonderful is that this Community Edition is exactly the same as the Professional Edition of RAD Studio. This means you can produce apps which will run on Windows, macOS, Android and iOS – without the need for anything else (iOS and macOS apps need a Mac – real or virtual – to deploy. That’s an Apple restriction).

Seriously – you could be teaching yourself to create mobile apps today. If you scoot on over to the Embarcadero Academy you can even find a whole load of tutorials on how to do it.

One set of program code – target all those devices. Why aren’t you doing it? 🙂

For those who are professional developers or who do not otherwise fit into the requirements of the Community Edition there are trial versions of RAD Studio where you get to play with the most powerful version of RAD Studio Delphi for free for a limited time.

Why Delphi 10.3?

I summarized it in the webinar like so:

  • GORGEOUS new themes and templates both for VCL and Firemonkey – all of them free via GetIt plus many built-in too
  • A deluge of new Windows 10 APIs
  • Specific VCL components targeting Windows 10 features and capabilities
  • APPx packaging and deployment – for local “ad-hoc”
  • APPx with Windows Store support • 64bit Windows support – especially important now for Windows Server 2019
  • High-res DPI support and “per-monitor V2”

Great – but what are they and how do we use them?

Well, to avoid making this blog post into even more of a word-monster than it is I’m going to create a new post here every day this week covering each of the new features and capabilities.

You can go and watch the webinar replay if you don’t want to wait – but if you can hold off I’ll be covering a whole bunch of Windows 10-specific tips this week you can slot into your own programs, almost without any effort.

Meanwhile, I’m off to carry on coding a Windows 10 alerter service – in Delphi 10.3 Rio, of course.

I’ve said it before – Delphi is my superpower.