Skip to content

Register for "Delphi Practical Workshop", Belgium, March 3rd

Good news!

On March 3rd, in Hotel ter Elst Edegem, just south of Antwerp in Belgium, there will be the second edition of "Delphi Practical Workshop" that was run mid December in the Netherlands.

The workshop is organised by Barnsten, Delphi Company and Embaradero and you can register now for it at Barnsten website.

I’m going to co-present with Danny Wind, from the Delphi Company, a practical hands-on workshop to get up and running with the latest technologies in Embarcadero RAD Studio 10 "Seattle" including:

  • New VCL Windows 10 components including TSplitView, TRelativePanel, TSearchBox, TToggleSwith and TActivityIndicator
  • New Delphi 10 WinRT support for working with Windows 10 functionality including new TNotificationCenter and TSharingContract components
  • Using Parallel Programming Library for responsive applications
  • Building VCL applications with FireDAC database access framework
  • Using REST and JSON for creating multi-tier solutions
  • Building mobile Android and iOS app from the same source code with Delphi multi-device projects

This is "hands on" training, every attendee will receive printed manual with lab exercises and is expected to have Delphi 10 "Seattle" installed before the session. If you do not have it yet, you can download the free trial.

Don’t wait! Register now here!

Here is the photo from our last Delphi Practicum last month:

Delphi Practical Workshop in the Netherlands

My "3D Data Visualization" Skill Sprint

The New Year 2016 has just begun and we are all at Embarcadero busy with new ideas and activities. This week I have the privilege to kick off the new series of "Developer Skill Sprint" webinars with "3D Data Visualization" session. This time every week we have one theme with two webinars. Each Tuesday there is Delphi skill sprint and each Thursday there is its C++Builder version. The full schedule of 2016 Spring Skill Sprints until March 31st is available at www.embarcadero.com/landing-pages/skill-sprints

I have always considered myself Delphi and Object Pascal developer and this where my key skills are, but I must admit coding in C++ is fun as well and today I have three 3D Data Modelling sessions purely using C++ language and Embarcadero C++Builder IDE.

The webinar is prerecorded and run at different hours to allow developers from all around the world to join and be able to participate in a live Q&A session.

Skill sprints are short, typically under 30 minutes long presentations for developers focusing on just one feature or topic and with focus on live demos. My "3D Data Visualization" session is no different. After just 5 minutes of introduction to basic FireMonkey 3D programming concepts I’m jumping directly to live demos. The first demo is "Earth and Mars" interactive visualization app that is built from scratch in either Delphi and C++Builder. The source code for both Delphi and C++ version of this demo can be downloaded from Code Central. The second demo is already prebuilt and it is "Molecule Hero" 3D interactive chemical molecules viewer with source code available from GitHub and also available from Google PlayStore to install directly on an Android device. I’m still working to get it uploaded to Apple AppStore.

FireMonkey 3D Architecture

The beauty of FireMonkey 3D programming is that you do not need to be expert in low level 3D API calls and arcane matrix calculations to be able to quickly build stunning interactive 3D apps with high-level reusable components. You can use either C++Builder or Delphi and from the very same project source code you can natively build your app for Android, iOS, Windows and Mac! FireMonkey provides an object-oriented abstraction layer, so you write your code once and it is translated to either DirectX calls on Windows or to OpenGL on other platforms. That’s a big deal.

FireMonkey 3D Graphics Architecture

One of the key strengths of Delphi and C++Builder is the fact that it comes with the full source code, so you can look under the hood to see how things are implemented. In FireMonkey 3D the key class is "TContext3D" that provides abstract common model of different 3D APIs and depending for which platform you compile there is a different implementation class that does the actual job of calling into 3D APIs.

FireMonkey Cross-Platform 3D Graphics Architecture

If you want to go low-level you can call "TContext3D" class methods directly, but most of the time it is easier and more productive to use high-level 3D object components provided by FireMonkey, like spheres, cubes, planes etc, to model your 3D worlds.

FireMonkey 3D Objects

In addition to 3D objects there are also other specialised components like camera, light, model3d, dummy and proxy object that are useful in programming interactive 3D data visualisation.

"Earth and Mars" Demo

In the skill sprint I’m starting demo part from building a simple interactive 3D app from scratch. First you need to create a new "Multi-Device Application" in C++ or Delphi. Go for the "Blank Application" template and add to the form "TViewport3D" component and align it to "Client" so it occupies the whole screen. Add a TDummy component and two TSphere components to it that will represent Earth and Mars. Now add two "TTextureMaterialSource" components. There are many free textures for different planets in the Internet. Just download ones that you like and load them into texture components. The next step is to set "MaterialSource" properties of both spheres to point proper texture material source components. At this stage you should see a static visualization of two planets. In the demo I’m adding TFloatAnimation component to Earth and I’m animating its "RotationAngle.Y" property, so the planet nicely spins. The next step is to add some interactivity. FireMonkey 3D objects have user events so you can for example implement "OnClick" event on Earth sphere component to move it closer and further from the viewer. In the last step I’m adding camera component and code to change the point of view into the visualization.

"Earth and Mars" demo in C++Builder IDE

The full source code of this demo is available from CodeCentral and you can also watch the skill sprint replay for the actual steps to build this demo with additional explanations.

"Molecule Hero" interactive 3D chemical molecule viewer

The last demo in the skill sprint is a 3D chemical molecule viewer that I have built as an example of a complete Delphi app that is available from an app store with all source code provided on GitHub under MIT open source license so it is effectively completely free for reuse.

In the previous 2015 Developer Skill Sprint series I have been showing how to publish this app to an AppStore without really going into the implementation details. This time the focus is on the actual code. The visualization code has the same structure as explained in the "Earth and Mars" demo. The only difference is that the chemical molecule model is built dynamically with spheres and cylinder based on information read from a PDB file, which is standard file format for exchanging molecule structure data.

In this very first version of "Molecule Hero" app PDB data for different molecules is hardcoded. The next step for me is to provide code to load arbitrary PDB from an URL, but this will require adding some more logic into PDB parsing code.

sd"Molecule Hero" 3D Interactive Chemical Molecule Viewer

The C++ 3D Data Visualization skill sprint starts soon, so I need to finish this post quickly:-)

I hope that you will enjoy every single Embarcadero Skill Sprint session in coming weeks. The full schedule of upcoming skill sprints is available at www.embarcadero.com/landing-pages/skill-sprints

"Delphi Practical Workshop" in Hoofddorp yesterday was great fun!

I have teamed up with Danny Wind of Delphi Company, Delphi MVP in the Netherlands, to prepare and run the whole day "Practical Delphi Workshop". After few weeks of preparation yesterday was the big day! 18 Delphi and C++Builder developers showed up in the morning in the Crowne Plaza Schiphol hotel in Hoofddorp with their laptops with Windows 10 and Delphi 10 "Seattle" installed for an intensive workshop to get up to speed with the latest and greatest version version of our favorite development environment - Embarcadero Delphi 10 "Seattle"!

The format of the workshop was experimental, but it worked well. We had six standalone 60 minutes labs. Each lab started from the introduction to a specific feature or functionality, followed by practical exercises first run by the instructor and then completed by attendees using printed lab manuals.

Each of us, Danny and me, prepared three labs and we were switching. During practical exercises we were there to assist developers in completing their labs.

What we have been covering yesterday?

  • New VCL Windows 10 components including TSplitView, TRelativePanel, TSearchBox, TToggleSwith and TActivityIndicator
  • New Delphi 10 WinRT support for working with Windows 10 functionality including new TNotificationCenter and TSharingContract components
  • Using Parallel Programming Library for responsive applications
  • Building VCL applications with FireDAC database access framework
  • Using REST and JSON for creating multi-tier solutions
  • Building mobile Android and iOS app from the same source code with Delphi multi-device projects 

All labs seemed to be received very well and we have got a lot of positive feedback, so we are looking to do more of those in the future. Stay tuned!

 

Embarcadero Team in Top 7 of Amsterdam Museum Night Hackathon 2015

Great news!  Our Embarcadero Team qualified to Top 7 of Amsterdam Museum Night Hackathon.

Embarcadero Team members were:

  1. Paweł Głowacki, Team Leader, Main Developer and Architect, Embarcadero Senior Consultant and EMEA Technical Lead for Developer Tools

  2. Sarina DuPont, GUI designer, Embarcadero Senior Product Manager

  3. Stephen Ball, Database designer, Embarcadero Sales Consultant RAD and Associate Product Manager (InterBase)

Our application was called "Amsterdam City Miles". 

Here is the official 1 minute video that was part of our team hackathon submission https://www.youtube.com/watch?v=1mMSZA2kFQI

“Amsterdam City Miles” is an innovative mobile app for creating balance in the city of Amsterdam by using gamification techniques for smart crowd management.

 The app user is presented with a list of museums, restaurants, bars, shops, events and other touristic points of interests in the city with the current distance to a selected destination and the number of virtual coins (“Amster Guldens”) that can be earned by going there within a certain timeframe.

In order to receive virtual credits, the user needs to tap on the “I’M GOING!” option next to a selected point of interest. After getting to the selected POI, the mobile app automatically adds virtual coins to user wallet using beacon proximity events or GPS location if a location is outdoors.

Users can use their virtual coins on coupons and promotional offers at selected locations within Amsterdam. The app is also using a system of badges that are awarded to app users after collecting a certain amount of credits.

Users can also receive mobile push notifications with special offers for visiting certain points of interests and share their achievements through social media.

The hackathon started two weeks ago with a kick off in Van Gogh museum. The theme was "City in Balance" so we have decided to do something around smart city crowd management.

This time Embarcadero ended up at equal 4-7 places out of 20 teams and 130 developers, designers and visionaries! Next time we are going to win!

RAD Studio 10 in Bratlislava

I’m just back from a great RAD Studio 10 "Seattle" presentation that I did to Delphi and C++Builder developer in Bratislava, the capital of Slovak Republic.

Bratislava, 5th Nov 2015

It is always nice to visit Bratislava, meet great people and have fun playing with Delphi.

The new RAD Studio 10 is such a great release, so I could probably spend countless hours discussing IDE improvements, great Windows 10 support, new mobile and IoT features, working with MongoDB no-sql database with FireDAC, integrating with Amazon Web Services and much more.

Very good trip!

My Amazon Web Services Programming with Delphi CodeRageX session

In a moment my "Amazon Web Services with Delphi" CodeRage X session is starting. I’m very excited and the sessions so far were very good. It is still 2 and half more days to go!

The source code for the demos shown during my AWS Delphi session has been uploaded to Embarcadero Code Central for you to have a look and enjoy! You can download all demos from http://cc.embarcadero.com

What is cloud computing?

"Cloud Computing"refers to the on-demand delivery of IT resources and applications via the Internet with pay-as-you-go pricing. You can think of the cloud services as a large scale, publicly accessible collection of compute, storage and networking resources. These are allocated via web service calls using HTTP protocol. In other words it is a „programmable data center” that your applications can integrate with. Cloud Computing providers such as Amazon Web Services own and maintain data centers across the globe with the network-connected hardware required for these application services, while you provision and use only what you need.

 

What is Cloud API?

Cloud API is the collection of classes that let you integrate your Delphi or C++Builder apps with cloud services like Micorosoft Azure and Amazon Web Services.

Cloud API Architecture

Accessing Amazon Web Services with Cloud API

The very first thing in order to start working with cloud services is to create an account. In case of Amazon Web Services you can do it easily at http://aws.amazon.com. There is something called a "Free Tier" where you can experiment with certain services for free for the first year. In order to access AWS securely you should also have a look at "Identity and Access Management" service (http://aws.amazon.com/iam).

Cloud API provide classes to access Amazon

  • Simple Storage Service (S3)
  • Simple Database Service (SimpleDB)
  • Simple Queue Service (SQS)

On the "Cloud" tab you can find "AmazonConnectionInfo" component that you use to enter your access credentials. In order to access specific functionality of these you need to instantiate one of the Cloud API classes that represent a given service passing to their constructors a reference to your TAmazonConnectionInfo component.

The first demo that I show during the session is "Cloud Images" that is a mobile app that integrates with S3 for storing images taken with a camera and SimpleDB for storing references to them. I’m also showing "CloudAPITest" demo that comes with installation of RAD Studio 10 "Seattle" and illustrates calling all supported methods on these classes.

Cloud API for Amazon Web Services

Extending Cloud API

The next step is to use Cloud API to access services that are not supported out-of-the-box. I’m showing how to do it on the example of the Amazon Simple Notification Service (SNS) that let you send notifications using different protocols including email, http and even mobile push notifications.

Extending Cloud API to support Amazon SNS

The full source code of my Amazon Web Services Delphi CodeRage X demos is available from http://cc.embarcadero.com 

 

RAD Studio 10 "Seattle" on the road…

It has been less than a month since the newest RAD Studio, C++Builder and Delphi version 10 "Seattle" have been released. I’m enjoying every single moment using it and also showing the new and improved features to developers in different countries. Back from the first round of events, so sharing photos would be in place. Unfortunately not from every event there are good quality ones, but just few highlights.

I was doing keynote at the BIG DELPHI conference in Leiden that attracted many developers and vendors. I loved the "RX" cakes:-)

RAD Studio 10 "Seattle" cakesDelphi developer at BIG DELPHI conference

RAD Studio 10 "Seattle" launch event in Warsaw, Poland - September 2015

RAD Studio 10 "Seattle" in Warsaw, Poland

BeaconFence, Ray Konopka VCL Signature Controls and other new Delphi stuff

There is a lot happening in the Delphi world recently. There are many new components and technologies available for Delphi programmers, many of them are available separately from Delphi, C++Builder and RAD Studio. In fact the list of Delphi "add-on" technologies is growing longer, including AppAnalytics, InterBase, EMS, Ray Konopka Signature VCL Controls, CodeSite and all other components available from inside of the IDE via GetIt.

Since the release of RAD Studio XE8, I have been doing a lot coding and presentation around mobile apps that are using beacons for proximity awareness.

I was thrilled to see that Embarcadero has just released "BeaconFence" components and designers for building professional beacon-powered solutions.

There is a couple of Delphi blogs I’m monitoring and one of my favourite is Marco Cantu, Delphi Product Manager, blog. That’s where I found out that Chuck Jazdzewski, one of original creators of Delphi, started to blog about Delphi. How cool is that!

BeaconFence, Ray Konopka VCL Signature components and other new Delphi stuff

There is a lot happening in the Delphi world recently. There are many new components and technologies available for Delphi programmers, many of them are available separately from Delphi, C++Builder and RAD Studio. In fact the list of Delphi "add-on" technologies is growing longer, including AppAnalyticsInterBase,EMSRay Konopka Signature VCL ControlsCodeSite and all other components available from inside of the IDE via GetIt.

Since the release of RAD Studio XE8, I have been doing a lot coding and presentation around mobile apps that are using beacons for proximity awareness.

I was thrilled to see that Embarcadero has just released "BeaconFence" components and designers for building professional beacon-powered solutions.

There is a couple of Delphi blogs I’m monitoring and one of my favourite is Marco Cantu, Delphi Product Manager, blog. That’s where I found out that Chuck Jazdzewski, one of original creators of Delphi, started to blog about Delphi. How cool is that!

RAD Studio in Tel Aviv rocks!

Just back from Software Development Conference in Israel. There was probably around 600 attendees gathered in Hilton Tel Aviv hotel.

It is always great to meet existing, loyal Delphi developers. They are very happy with the latest versions of RAD Studio. At conferences like this it is also interesting to meet developers new to Delphi and C++Builder. Embarcadero message of "native multi-device development from one source code" resonates very well and developers love the possibility to build your application once, with visual reusable-components, using C++ or Object Pascal. New XE8 multi-device previews and FireUI form designer really shine.

My 30 minutes presentation of capabilities of RAD Studio XE8 was very well received and there were many detailed questions. As an example of a multi-device app, I have created XE8 version of my XE2 "Chemical Molecules Viewer". I’m still working on improving it and eventually deploying to app stores. The name is new as well: "Molecule Hero"!

Here is "Molecule Hero" app compiled for all supported platforms: Android, Windows, Mac and iOS!

All four apps are compiled natively from the very same Object Pascal code!

Bad Behavior has blocked 1729 access attempts in the last 7 days.

Close