All posts by Stephen Ball

Stephen is a Charted IT Professional and the Associate Product Manager for InterBase at Embarcadero. He is also a Product Evangelist for RAD Studio, regularly speaking across EMEA. @DelphiABall

Key Target Platforms Update

I wanted to share some interesting data following a recent presentation looking into Modern Windows development.

75% of Windows Desktops use Windows 10!


Windows 10 is now used by 3 out of every 4 Windows desktop machines! This market share is up around 10% in 2020, having originally passed Windows 7 back in late 2017.

Windows 7 is down to around 18%, and falling. In part as Enterprises continue to shift to Windows 10 following Windows 7 going End of life in January. Windows 8.1 is stable at around 4%

What does it mean for me as a developer?

You need to make sure you applications are Windows 10 ready more than ever. Windows 10 has made fundamental adjustments to the UI layer in reaction to a number of hardware innovations, and patterns of use. This includes adjustments for PerMonitor support for different resolutions and DPI’s, and the enhancements around HighDPI support.

HighDPI support is no longer an optional item, without it your application could be rendered unusable on certain screens and the end user experience will suffer.

That said, there is still a reason to have backward compatibility to older versions of Windows. (Something the VCL helps support with its implementation of the new Windows 10 controls – YES – you can run then on Windows 7 and Windows 8 if you use the VCL)

If you are looking to add HighDPI support to your Windows applications, then I suggest starting with images, and check out the new TImageCollection and TVirtualImageList and also watch this webinar replay

For more about Windows 10, and some of the new controls and Windows 10 features in RAD Studio for Delphi and C++Builder, this 5 Unique Features for Windows 10 blog post is a good summary.

Windows and Android rule the roost!


The numbers are pretty clear.

  • 38.51% – Android
  • 36.27% – Windows
  • 14.12% – iOS
  • 08.25% – macOS
  • 00.83% – Linux

When it comes to the type of devices on the mobile side – its mobile (50.33%) and desktop (47.04%) all the way, with Tablets accounting for just 2.63% of the market share.


What does it mean for me as a developer?

It means Android (and also iOS) are a key platform and technical asset to target to expand the technical capabilities of your desktop applications. This barrier to entry is low as the adoption is high. This makes it an ideal target to enhance your product offering and maximize development return.

With more mobile devices in use that desktops, mobiles can not be ignored when it comes to product innovation. Mobile devices offer a developer a key different set of technical capabilities. e.g. Camera, Accelerometer, Compass etc, and when paired alongside Desktop solutions, enable innovative ways to do data capture.

With the core System libraries in Delphi being cross platform, it means you can fast track your mobile development through the use of a single code base as well. Large parts of the business logic can move from Windows, over to iOS and Android rapidly.

It’s also worth looking at the Enterprise version of Delphi to get access to InterBase ToGo for mobile as a run-time royalty-free database. The full on-disk encryption of the database provides the highest level of data security, typically reserved for enterprise servers, yet still within a small footprint, highly distributable database.

If you are looking to use a mobile alongside a local application, (and don’t need the data to go centrally first for processing) then the unique approach of AppTethering is certainly worth a look. AppTethering avoids the need for pushing data to a central server, making it faster (as data is local). If this sounds of interest, then definitely check out this webinar replay.

Alternatively, RAD Server is a great way to take existing business logic and make it accessible as a remote API. Click for more blogs on RAD Server

Regional Specific Trends

If you want to delve deeper into regional-specific trends, then I would suggest visiting and using the Interactive chats, powered by Fusion Charts (which also recently became a member of the Idera Group)

3 Libraries for improving Existing Applications built with Delphi

One topic I get increasingly asked about Delphi Programming when developers are migrating to the latest version of RAD Studio is “quick ways to improve their applications”. So in this post, I am going to summarise 3 favorites by focusing on the libraries in RAD Studio. If you are new to RAD Studio, then I would also recommend reading these, as they are very easy to implement and provide quick wins to new code too.

As with any actively developing and improving language and IDE, RAD Studio / Delphi is improving all the time. This summary is based on the questions I receive weekly focusing on what is in the box so to speak. While I barely scratch the surface here, I also want to point out that there is a great 3rd party community of developer tools offering even more options that you can explore.

Continue reading 3 Libraries for improving Existing Applications built with Delphi

Setting up the IDE for your First Android App

I have had a growing number of customers asking recently about getting started with Android programming with Delphi, so I thought it was a good time to refresh how to check your IDE is set up, how to enable developer mode on an Android phone, and show how you can rapidly get Android applications run and debugged from RAD Studio.

If you are new to Android development, then the first thing to note is that you need to ensure the IDE has Android support enabled. Under Tools > Manage Platforms, ensure Android is enabled.

You will also need to check Java is setup on your machine. This is because RAD Studio uses the Android SDK and NDK as part of the process for packaging and deploying android applications. One such part is the ADB program which tells the IDE what Android devices are attached to the computer.

If you already have Java installed, you can set the paths to the required elements required by the IDE under Tools > Options > Deployment > SDK Manager

With Java setup and Android tools enabled, you should be able to put your phone into developer mode and connect it to the Windows host to see it in the IDE.

If you have any issues with Android phone setup – check this post out.

The rest of the video shows running your first Android application directly from the IDE. If you want to debug the application, ensure you use DEBUG mode rather that RELEASE build. from the build configurations.

If you are using Debug mode, you still need to choose Target platform (for 32bit or 64bit), a target device, and then a configuration. – e.g. Development.

These options are used to setup and manage the development, release and files deployed. Something I will cover another time.

For more on Android development, check out the Embarcadero docwiki on Android app development

MKS Covid19 App Saving LiVes

The Military Institute of Medicine in Poland has been making the news recently with its app that is helping fight the spread of the global SARS-CoV-2 pandemic.

Piotr Murawski Ph.D, (Head of ICT, Military Institute of Medicine, Warsaw, Poland) shared recently with me how back on the 13th March, 2020, that after the SARS-CoV-2 epidemic reached Europe, the experience of other countries alerted his team that it will not be easy to control the infection, and testing will take a longer time than normal due to the numbers. This intern would have a negative impact on controlling the spread of the disease.

The solution

Continue reading MKS Covid19 App Saving LiVes

Open Innovation, RAD Server and Enterprise Connectors

The sheer volume of data that is collected has exploded in recent years thanks to digitalization and modern cloud architectures that support massive data collection, and encourage widespread cross-sharing of data.

The growth trend of having applications with easily accessible API’s, provide a rich base for rapidly adding functionality, and choice of functionality to new applications, based on existing software that is already being widely used. – Enabling a customer to expand their existing systems easily through the choice of software is a real example of Open Innovation. This approach makes it easier to get your software adopted into a customer’s existing business capabilities.

Continue reading Open Innovation, RAD Server and Enterprise Connectors

Developer Direct – IDE Special – 8th April

David, Marco, and I are back again on Wednesday 8th at 11am BST / 12pm CEST to talk about Development within the RAD Studio IDE.

After the previous session talking about working from home under Covid19, we asked for input on what you wanted to discuss. From the ideas submitted, we picked a discussion around the IDE.

We aim to share top tips and tricks, and also, as David is the Senior Product Manager responsible for RAD Studio IDE, (along with Visual Assist, – the Visual Studio plugin from Whole Tomato for C++ and C#), we should get some great insight to the background around a number of recent changes, and what to expect moving forward too!

Download the Calendar Invite

If you have issues with the Calendar invite, use this link for the live event. 

Developing from home

Working from home – webinar replay

As software developers, on the whole, it’s relatively simple to switch to working from home, and many of us work from home regularly, or all the time. However, with a quarter of the world’s population already in lockdown, the circumstances are not exactly the same as your typical week at work. 

With a majority of workers now trying to work from home, the daily mix of office news, banter, and general togetherness has been dramatically changed. 

Continue reading Developing from home