Watch, Follow, &
Connect with Us

Stephen Ball

InterBase XE7

InterBase XE7 - Download it now! 

Its been a busy week with the launch of InterBase XE7, the LIVE events and a well attended global webinar! As the Product Manager for InterBase, I have seen the planning, development and delivery of some amazing new developments over this last year or so, and its been great being able to share all this great new stuff with you!

Whats new in InterBase XE7?

In short, the big headline items include

  • Change Views
  • New - 64bit Linux support
  • New - Ubuntu Linux support
  • A number of speed improvements (as you would expect)
  • 64bit transaction ID’s = longer running databases
  • Incremental data dumps for faster backup
  • Additional API support
  • Performance Monitoring updates

Change Views!

InterBase XE7 (codenamed DeltaForce during development) introduces "Change Views", which is a whole new way to track and manage changes (Delta’s). If you have ever wanted an easy way to identify what delta data is needed to keep your local cache up to date Change Views is for you!

Change views identifies data at the field level with exceptionally low footprint on the database, regardless of 1 or 1000’s of subscribers.

Change views introduces a subscription based model that enables you to create a subscription for Inserts, Updates, Deletes to specific tables either completely or partially. A subscription can contain links to one or more tables.

"Tracking and managing data changes to multiple destinations has never been easier; just subscribe and query with SQL!"

InterBase - the 64bit database for Ubuntu!

InterBase is also now available for Linux 64bit for the first time on RHEL 6 and 7, SUSE 11 and also for the first time official Ubuntu 14 support.

Incremental Data Dumps

A data dump is a read only copy of the database. For XE7 they are suggested as the best way to backup the database due to their speed at getting the copy updated to reflect the live version quickly, managed by delta change tracking.  This can either be done via the command line using gbak, via IBConsole of via a new services API. If your using Change Views, then you should use Incremental Data Dumps to ensure subscription tracking is maintained.

64bit Transaction ID’s

One great thing about InterBase is that its an embeddable database, i.e. you can install it silently in part of your application. In the past, for exceptionally heavy users with 10’s of 10,000’s of transactions a day you used to be looking to schedule monthly backup and restore’s to ensure you didn’t run out of transaction ID’s at peak time. With XE7, transaction ID’s are now 64bit in size meaning that even if you were using 10,000 transactions a second, you can run for 150+ years (just a tad longer!)

Updated InterBase Documentation

InterBase has long been one of the best documented products at Embarcadero and along with the traditional InterBase documentation, InterBase XE7 also has its own docwiki site with detailed notes about the new product features

Really look forward to hearing about what you get up to with Change Views and the other new features of InterBase. 

Posted by Stephen Ball on December 5th, 2014 under InterBase | Comment now »

InterBase XE7 First look webinar - Thursday 4th December

InterBase XE7 First Look / Launch Webinar

I’m really excited about what we have coming up in the InterBase XE7, in perticular change views. I have been on the road over the last 2 weeks in person to present and talk to developers, system architects etc about what InterBase DeltaForce (XE7) can help you achieve and how it can dramatically assist you throughout the product life cycle. Join me on Thursday to see first hand @InterBase #ChangeViews working live through RAD Studio
InterBase XE7 First Look

  • 6AM San Francisco / 9AM New York / 2PM London
  • 11AM San Francisco / 2PM New York / 7PM London
  • 5PM San Francisco / 5-Dec 10AM Tokyo / 5-Dec 12PM Sydney
Posted by Stephen Ball on December 3rd, 2014 under InterBase | Comment now »

Parallel programming and XE7 in Sweden

Today I have been continuing the XE7 world tour events, this time in Stockholm. (following on from Gothenburg on Monday and Denmark last week), in fact Yesterday was great, visiting the Gothenburg Delphi Meet up who were celebrating 10 years of gathering. Congratulations guys! :-)

Parallel programming

Its been an interesting few days in the sessions, with a lot of buzz around the new Parallel programming library and everything this opens up as cool possibilities to existing VCL developers. To quote a developer at the event today after seeing Parallel Programming Libraries Tasks, "I didn’t know I needed this until I saw it, now I really need this in my code". The ability to code multiple tasks at the same time without blocking up the UI is exceptionally powerful. I am sure we can all think of those times in code where we have multiple activities that need to happen. Using TTask now you can have them all happen at the same time which is amazing.

While this feature is there for parallel programming is a multiple platforms, cross platform, single code base feature that also works with FireMonkey as well as Windows.


One question I have now received at a few events is about the Parallel programming library and if you can control the number of Threads it will go create. The short answer is yes, but it may be better create your own pool. (more details on the TThreadPool from the Parallel Programming Library here.

Below is a picture from today captured and shared via an App tethering applications with a single like of code n the server.

Great to see you all again in Denmark, Stockholm and Gothenburg and to hear about the amazing things you are writing with your software for Police vehicles, airport security, bookings systems, bio-nuclear health care, chicken farming, wind turbine, energy management, hair dressers, personal trainers and so much more aside, and thank you for all the kind words about the vision embarcadero has with the RAD Tools.

Posted by Stephen Ball on September 23rd, 2014 under C++ Builder, Delphi, ednfront | Comment now »

Blog migration

As I am sure a number of you are aware already, the blogs are being moved to the new community system that is running online, containing New, Events, Blogs, Forums etc.

As part of this new upgrade, the blogs are all moving to

You can still catch up with my InterBase and RAD blog in the mean time on or with me on twitter @DelphiABall.. Happy coding!

Posted by Stephen Ball on September 4th, 2014 under Uncategorized | Comment now »

Updated InterBase roadmap

The InterBase Roadmap for 2014 and beyond is now available on the Embarcadero developer network website.

The roadmap highlights some of the exciting things the InterBase team has been working on recently along with what is planned this year and beyond. While the roadmap highlights a part of what is cooking in the labs, I just want to add that it is not a complete list of what is being worked on and everything is not set in stone.

The official document is located here

Posted by Stephen Ball on July 10th, 2014 under InterBase | Comment now »

AppTethering Leaderboard - Passing Objects Remotely and using Resources

AppTethering opens up a range of powerful features for coupled applications. Beyond the basic features for calling remote actions (which is rather cool and quick to setup) it is also possible to share resources between applications.

To give you an example I have built a Scoreboard that records the best scores in a simple game. As the scores come in and the leaderboard is updated, it rebuilds the resource that is then automatically sent out to the connected clients.

Using the TTetheringAppProfile.Resources you can add at Design time or run time a TLocalResource. The TLocalResource has a concept of being either Shared or Mirrored (set via the Kind property). In the example of the leaderboard both the Game (clients) and Leaderboard (server) have the same resource added to their TetheringAppProfile with the difference being that the clients have the kind as Mirror rather than Shared.  As the central Shared resource is updated this is broadcast to the clients and the TLocalResource then fires its OnResourceReceived event.

So with that in mind, see it in action and download the code sample.

Posted by Stephen Ball on June 5th, 2014 under Delphi, FireMonkey | Comment now »

How to convert an object to JSON and back with a single line of code

Ever wanted to take an Object into a format that is easily persisted and back? Well now you can. New in XE6 is the REST.JSON unit. This allows you access to TJSON a class with some very helpful class methods. Using TJSON you can convert an object to a JSON string and back with a little help from generics along the way.

The following code uses a class called TFoo that has a Foo and a Fee property (string and Integer) Using TJson you can then see how to covert the object to a string and back ready for storage, transport etc.

uses REST.JSON; // Also new System.JSON
procedure TForm1.Button1Click(Sender: TObject);
  Foo: TFoo;
  Foo := TFoo.Create;
    Foo.Foo := 'Hello World';
    Foo.Fee := 42;
    Memo1.Lines.Text := TJson.ObjectToJsonString(Foo);
  Foo := TJson.JsonToObject<TFoo>(Memo1.Lines.Text);
    Foo.Fee := 100;

If you want to watch this being demo’ed this very show video shows it in action

Posted by Stephen Ball on June 5th, 2014 under Appmethod, Delphi, FireMonkey | 2 Comments »

@Appmethod and @InterBase in Sweden

Yesterday I had the pleasure of speaking at the 2014 Dev:Mobile event in Gothenburg on Navigating the enterprise road to mobile with @Appmethod and also around Secure Multi-platform database development with @InterBase.

StephenBall at DevMobile Gothenburg 2014

StephenBall at DevMobile Gothenburg 2014

The sessions had lots of Interesting questions, some of which from the database side will be covered in the next weeks webinar "Rising to the data security challenge" (Wednesday 28th May)

There were lots of amazed faces seeing how with Appmethod you can develop fast applications faster with Visual Live Bindings, access to BaaS etc and still have the applications as compiled native code! For those wanting to learn more quickly then I recommend the new series of 20 minute drop in Developer Skill Sprints running every Tuesday and Thursday (starting on the 29th May)

Posted by Stephen Ball on May 23rd, 2014 under Appmethod, InterBase, ednfront | Comment now »

Looking to rise to the data security challenge?

Join me on Wednesday 28th May as we rise to the database security challenge on Windows, Android, iOS, Mac OSX, Linux and Solaris.

Data security is a hot topic right now, and one that is causing a lot of headaches. When it comes to securing your data and applications, small changes can make a massive difference. During the webinar there will be a number of tips relevant to whatever platform or database you develop with. We will also look at how to address a number of these challenges easily by exploring secure database storage with InterBase.

To find out more on this topic, or even if you can’t make it and want to catch the replay later, register now and "Rise to the Data Security Challenge".

Wednesday, May 28, 2014

  • 6AM San Francisco / 9AM New York / 2PM London / 3PM Milan
  • 11AM San Francisco / 2PM New York / 7PM London / 8PM Milan
  • 5PM San Francisco / 29-May 9AM Tokyo / 29-May 10AM Sydney

Mobilizing Enterprise data - Free White Paper.

If you want to get a head start before the webinar, then it may also be worth downloading this free white paper
Posted by Stephen Ball on May 6th, 2014 under Events, InterBase | Comment now »

Remote Object Persistence with Parse and Kinvey

New BaaS components introduced in RAD Studio XE6 now make it easily to use remote data storage services offered by Kinvey and Parse along with Push notifications, File Storage and user authentication.

This can greatly reduce the infrastructure that you need to code, develop and manage with your application which speeds up time to market for including these features and can drastically reduce cost.

In the typical RAD, Object Orientated style there are a set of new interfaces behind the scenes that are implemented by new provider components that hook into the core components that work across providers, allowing you to code this effort once and work with it over Windows, Mac, iOS and Android.

In this short introduction video you will see how to work with the remote data store as an object persistence layer, learn about the new TBackendObjectList that contains the objects along with TBackendEntityValue to give you unique ID’s for each object without having to code that yourself, which is very cool indeed!

The video uses demo code that is in code central, submission 29846. NOTE: You will need to have a Kinvey or Parse account to use the demo, but a suitable accounts is quick and free to setup.

Posted by Stephen Ball on April 23rd, 2014 under Delphi, FireMonkey | 2 Comments »

Server Response from: BLOGS1