- RAD Studio FireDAC Support for MongoDB NoSQL Database - Jim McKeeth
- Windows 10 VCL Support in Delphi, C++Builder and RAD Studio 10 - Al Mannarino
- Five New VCL Controls in RAD Studio, Delphi and C++Builder 10 - Sarina Dupont
- Embarcadero RAD Studio 10 Seattle Now Enables Developers to Build Delphi and C++ Apps for iOS 9
- RAD NewsFlash - October 2015
- What's New in the Delphi, C++Builder and RAD Studio 10 IDE - Luis Navarro
- CodeRage X Online Conference Starting Next Tuesday
- Introduction to RAD Studio 10 Seattle - Marco Cantu
- IDE Fix Pack 5.93 re-release for Summer 2015 XE7 Hotfix
- CodeRage X Agenda Takes Aim at Software Development Productivity
- Summer 2015 XE7 Hotfix Available
- IDE Fix Pack – How do I know, I didn’t break the compiler
The 10th edition of the online CodeRage developer conference is starting next week, Tuesday to Thursday. The theme for this year’s CodeRage conference is " Develop Anything, Anytime, Anywhere ".
Most of you have probably attended past edition, and it is great if you have a chance to reserve a little time next week for training... better understanding Delphi and C++ Builder product features (not limited to the 10 Seattle release) and exploring solutions and third party components. The online conference has two parallel tracks devoted to the two programming languages used by RAD Studio developers.
The conference goes from 5am to 5pm US Pacific time, which is 8am to 8pm US eastern time, 2pm to 2am for those in central Europe, and so on. More technical information, the webinar software downlaod and so on at www.embarcadero.com/coderage/coderage-logistics.Object Pascal / Delphi Sessions
Among the Delphi sessions, I'll give the introductory Product Address, and there will sessions on Windows 10, IoT, Parse, AWS, DataSnap, VCL styling, core RTL, InterBase, VCL components, WinRT integration, security, parallel programming and multi-threading, MongoDB, Android services and Intents, mobile sensors.
R&D team member sessions including those FireMonkey, BeaconFence, EMS, and PAServer. Third party and Embarcadero components include FastReports, Gnostice, AppAnalytics, CodeSite, FastReport, FrameStand, and Arduino. Plus other sessions I've probably missed.
The complete list is at www.embarcadero.com/coderage/coderage-x-op-sessionsC++ / C++Builder Sessions
Many C++ sessions have the same content of those above, so the list is similar, and that should not come as a surprise. After a C++ Product address, the C++ specific sessions include a special "Meet the C++ team event", some component session like OpenWire, some FireDAC sessions, and more. As you can see in the list, some of the sessions are not strictly product specific but are only in one of the tracks, other are duplicated as the code demos will be specific to the track.
The complete list is at: www.embarcadero.com/coderage/coderage-x-cpp-sessionsRegister Now!
If you still haven't done so, sign up now at:
and don't miss the online sessions and live Q&A. We are expecting a packed house... good that we'll have enough room (ehm, bandwidth) for you all.See You Online
And see you online next week! I'm heading to Scott Valley, California over the weekend to help host the event, be there for live Q&A, and have my regular visit to the office, as well. We'll be online in the Embarcadero Community, Facebook, Twitter, Google+ and more, to engage with all online conference attendees and have also a bit of fun.
Called " Summer 2015 XE7 Update Subscription Update ", a new hotfix for XE7 is available on CodeCentral. As you can guess from the name, we planned to release it a couple of weeks ago (well, they say October is part of Indian Summer in California). Anyway, the idea is to use a "season" name, rather than a number, to make it is easier to refer to different fixes released over a longer time period.
It is important to notice that this hotfix is available only for Update Subscription customers. This is part of the new model introduced by the company since earlier this year and you can read more about at www.embarcadero.com/products/rad-studio/update-subscription.
What is the rationale of this approach? Many of our customers told us that even if they are on Update Subscription they don't plan migrating all developers, and even less all existing projects, to the latest release, which is why offering fixes for some of the most critical bugs in older releases is relevant. Notice we don't plan to update target operating systems support in older releases, although some exceptions might happen. If you need to target the latest operating systems, particularly the mobile ones, staying current with RAD Studio will be an advantage.
However, if you have projects based on XE7, this hotfix can help with a few quite core issues, mostly in the RTL. The list of actual fixes (a dozen, all customer reported issues either on QP or QC), along with the download -- a whopping 670MB, please ignore the "Download 0 bytes reference" -- is available at:
We are currently working on fixes for XE6 (very similar to the XE7 set) and XE8 (mostly focusing on regressions already fixed in 10 Seattle). This work is done as part of the new Update Subscription model promise to offer fixes for past versions for up to 2 years, which is a significant change from the past approach.
A new version of OS X was release yesterday, and we have provided a fix to PAServer for 10 Seattle to offer full support for El Capitan.
The downlaod is at cc.embarcadero.com/item/30398 and is offers also some improvements in iOS 9 support (you can now use the latest SDK to target older versions of iOS). Read more on Sarina's blog at community.embarcadero.com/blogs/entry/paserver-hotfix-for-rad-studio-10-seattle-ios-9-and-os-x-el-capitan.
For iOS 9 support you can also read community.embarcadero.com/blogs/entry/how-to-use-custom-info-plist-xml-to-support-ios-9-s-new-app-transport-security-feature and (if you are not using 10 Seattle) community.embarcadero.com/blogs/entry/workaround-steps-for-building-ios-32-bit-applications-for-ios-9-with-xe7-and-xe8.
Using the Microsoft Astoria Bridge (currently in beta) for Windows 10 phone (also in beta) you can run Delphi FireMonkey applications on a Lumia phone. This is certainly great news for the Delphi (and C++Builder) developers who want to target the Windows phone platform (beside the Android and iOS ones) with a single source code. Here are some of the steps, information, links to get you started.A Windows 10 Phone
First of all you need a Microsoft phone (Lumia) capable of running the Windows 10 insider preview. Not many phones satisfy this requirement (and there are further restriction for the Astoria bridge). I bought a cheap (80 Eur/90 USD) Lumia 435 phone. Basic, but good enough for some tests.
Once you have the phone, and installed a ton of useless updates (I found no way to cancel them, and having to replace the operating system wan't really much interested). Anyway, I was already signed up for the Windows 10 Insider preview and so I got to windows.microsoft.com/en-us/windows/preview-download-phone and installed on my phone the "preview app", which in turns can update the operating system. Took a while, but it was a very smooth process. Here is the phone with Windows 10 preview:
Get The Astoria Bridge
The second step is to sign up for the Astoria bridge, get approved by Microsoft (time might vary, but it is not immediate -- from few days to a few weeks, form past experience). The entry page for the bridge is at: dev.windows.com/en-us/bridges/android. Once you get approved, you'll be able to see all of the information. In short, you'll have to open the Android SDK manager, download some additional tools and Java interfaces from an external source, and install the wconnect utility from Microsoft. This can be configured as a bridge between Android adb command and the actual phone, so that the phone is seem by Android as an actual device -- and responds to any command as expected. Once the "adb/wconnect" bridge is configured (took me less than 10 minutes) the device will show up in the RAD Studio IDE:
Ready to Go
At this point you are ready to go. Take an existing FireMonkey application or build a new one, and just target the phone. At start up, the application have a little delay (there is some validation and API mapping taking place), but at runtime they seems to respond without any lag. Not everything works, as this is really a beta bridge, and some of the device sensors seem to be ignored. The only app I could not start is one with advertising, not a surprise.
Here are a few apps I installed and one actually running on the device:
Over the next few weeks (or months), as the Astoria bridge and the Windows 10 Phone OS emerge from beta and become more stable, we plan doing more testing and fully "certifying" the platform as one we support, providing eventual suggestions for migration, and possibly supporting specific Microsoft APIs. But the fact you can run Delphi and C++Builder Android applications almost unchanged on a Windows Phone, beside the other mobile platforms, is certainly a very good news. Single source compiled apps for iOS, Android, and now even Windows Phone is really a unique capability RAD Studio brings to developers.
Also, the applications that use the Astoria bridge are first class UWP (Universal Windows Platform) apps, so it should be possible to distribute and sell them via the Windows App Store. Stay tuned for more information, and let us know if you experience any obstacle (or any success) using the Astoria bridge.
There is only one more day to take advantage of the current offers for Delphi 10 Seattle, C++Builder 10 Seattle, and RAD Studio 10 Seattle.
Current offers include introductory 10% discount, upgrade from any older version, and BOGO (buy one, get one free), plus the free Bonus pack. All of the details are at:
Act now, offers are expiring tomorrow, September 30th. Upgrade to a great version of Delphi and C++Builder (see what customers are saying) while these great prices are available... and don't forget to add Update Subscription to your order, to receive updates, support, future releases, and access to special content.
I was looking into Quality Portal customer reports for the RAD Studio Project (RSP) and noticed that with Delphi and C++Builder 10 Seattle we closed many customer reported bugs, including most of the top voted. This is part of a continuos push for improved quality, performance, and stability that is part of our ongoing development effort. While the flow between the internal and the public bug system will be further improved (with easier categories and more options; and also making sure all internally closed bugs are matched in the public system), it is nice to see that transition to Quality Portal is helping us move in the right direction.
Below is a image with a snapshot (because data will change over time) of the bugs in the system with 15 or more votes, filtered by date (only bugs reported before RAD Studio 10 Seattle was released). You can see the Jira query at the top. There are 17 issues in this group, most of them are closed... and those closed as duplicates refer to a similar report that has been closed (so the issue has indeed been handled).
Of course, large memory address support has been part of the effort in closing the most voted one and a few more. What is still open? The "Smart ARC" (9946) is clearly a feature request, and so are the changes to project sort order (11311), inconsistency of projects sort order (11308), and run icons (9367). Two of the issues (9679 and 10417) have been partially addressed, but the issues are remaining open as we don't think work is complete. IDE high-DPI awareness (9678) is a top priority at this point, along with further work in the VCL in the same area. The other bug is the FMX 3D issue.
The much higher rate of fixes in the most voted bugs, along with the high number of overall bugs closed in 10 Seattle (including 331 user reported bugs, as you can see in the list at edn.embarcadero.com/article/44561), is a good sign or the product direction and I really hope it is appreciated.
I'll be presenting the keynote at the Delphi Tage event next Saturday in Fuerth, near Nuernberg. The Delphi Tage is a very large gathering of German Delphi developers, organized by user groups with the help of the local Embarcadero office. I've been to half of dozen of these events in the past few years, and they've always been great. The speakers are very knowledgeable and include international guests and third party vendors. The only drawback is that many sessions are in German.
For all information visit www.delphitage.de/ and don't forget to join for the Friday evening community dinner (and beer). See you there.C++ Events
Over the following week, I'll be back to Germany for two C++ focused events, in Hannover and Stuttgart. I'll be joined by C++ experts to cover all of the new C++ 11 language features and a general overview of C++Builder. More information at forms.embarcadero.com/EM15Q3DACHCBuilderSeminar.EKON
Finally, I'll go back to Germany for EKON 19, entwickler-konferenz.de/2015/en , a more international conference with sessions both in German and in English, in early November in Koln (or Cologne). Several speakers coming from the US, many well known German and European speakers, and lot of time for networking. This is one of the longest running Delphi-related events, this year in its 19th edition.
I'll be avaialble for a chat at any of these events, for a meeting with your team, or anything else. Can also bring printed copies of my latest Object Pascal book, if you want one signed -- but let me know in advance.
Here are 3 different news about components for Delphi, all very recent.RAD Solution Pack
This is a brand new collection of existing and popular components sold by Embarcadero. It is an easy to way have components covering the most relevant areas (grids, reports, charting, and more) in a single package. While some of the components are owned and produced by Embarcadero, many others come from third parties like Steema, Woll2Woll, and FastReport. Even if you don't need everything in the package, the single RAD Solution Pack provides significant saving compared to buying individual ones. And you get a higher traffic license of AppAnalytics and other features included as a bonus.
Notice that the price you can find on the store, or by asking sales and partners, does automatically include 1 year update subscription, covering new releases of the components (with new features) and updates of the components for new versions of Delphi and RAD Studio. Also, most components can be used both with 10 Seattle and with previous releases.
Information at www.embarcadero.com/products/rad-solution-packTorry's Delphi Page
The very popular Torry's Delphi components portal, one of the early sites for the products, has changed owner, with the new company behind it (Yamaco Software, from the Czech republic) moving to new servers and working on different improvements. Great to know this site has found a new home, after Maxim decided to step out (although he's still currently involved). More information in the announcement on the "old" Embarcadero forum (which got a new database and became much more stable recently, by the way): https://forums.embarcadero.com/thread.jspa?threadID=117553. Thanks again to Maxim for all of these years of support and to Yamaco Software for taking over the work.JCL and JVCL on GetIt
Finally, just a short notice about the availability of both JCL and JVCL (some pretty large and popular open source components collections, of JEDI fame) on the GetIt package manager for both XE8 and 10 Seattle. GetIt is rounding up some of the best and most popular open source components. And makes installing and updating these components a nicer experience. More information at community.embarcadero.com/blogs/entry/jedi-libraries-now-in-getit-package-manager.
Stay tuned for more component announcements by Embarcadero, the great third party vendors who partner with us ,and our lively open source community.
I've pushed a very large update of the demos coming with my latest book, Object Pascal Handbook, there are now 116 demos in the repository. Some of the demos use VCL, and while the ultimate goal was to migrate everything to FireMonkey, that would have taken too much time.
Direct browsing of the code repository is possible at code.marcocantu.com/trac/marcocantu_objectpascalhandbook/browser while the SVN link for working on the repository is code.marcocantu.com/svn_public/marcocantu_objectpascalhandbook/. If you already did a checkout, update the repository and you'll get almost twice as many demos!
The book is available in electronic format to any registered user of XE8 and 10 Seattle, and in print on CreateSpace, Amazon (US and European outlets), and other online book retailers.
Another round of blogs posts, articles and information mostly focused on the just released Delphi 10 Seattle.General Feedback on 10 Seattle
What developers are saying... community.embarcadero.com/write-blog-post/entry/delphi-c-builder-rad-studio-10-seattle-what-developers-are-saying (from David I)
Nick's latest installment:Blog Posts on 10 Seattle Features
Luis writes about per-monitor DPI awareness for VCL applications in the new release, including a nice video of the changes when you move a form between monitors and comparison with the reference Microsoft demo: community.embarcadero.com/blogs/entry/new-per-dpi-awareness-in-vcl-applications. Very relevant feature for VCL developers, and nice blog post.
In a different blog post Luis covers using Android services (a feature now supported directly from the IDE, with no need to low level work) to download an image in the background, even while the app has been stopped. iOS has a similar feature we support, but it not exactly the same underlying model. Read the article and get the code at community.embarcadero.com/blogs/entry/download-an-image-in-background-with-android-services
If you are interested in RAD Studio MongoDB support, make sure you check docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/. Installing the server takes very little time, if you know where to find the right information. You can also see the MongoDB snippet of the launch video at https://www.youtube.com/watch?v=J01gerMDANA&list=PLwUPJvR9mZHgRPPsXQs9CSd-yoXRZsG5L&index=23.
Sarina blogged about new FMX component styling options in the new release at community.embarcadero.com/blogs/entry/creating-a-custom-button-style-with-rad-studio-10-seattle. Sho also covered customizing TMultiView for Windows 10 at community.embarcadero.com/blogs/entry/using-tmultiview-in-your-windows-10-firemonkey-applicationsA Hotfix and a Hackfix
There is a rather simple hotfix available, an update to the DUnitX source code that was shipped in RAD Studio 10 Seattle, Delphi 10 Seattle, and C++ Builder 10 Seattle. Download for all registered users at cc.embarcadero.com/Item/30368
There is also an unofficial fix (more of a temporary stop gap or hack) if you need to use 125% or bigger font scaling in Windows 10 and see IDE tabbed dialogs with very large fonts. A full solution is being finalized and will be made available with an update, but for now you can lessen the problem by getting this temporary "imperfect" fix: cc.embarcadero.com/Item/30367 (and thanks to the author).More 10 Seattle Events Coming
You can tune in next Saturday for a very long and in-depth deep-dive webinar, coordinated by David I. See community.embarcadero.com/blogs/entry/rad-studio-10-seattle-deep-dive-saturday-sept-19-9am-to-2pm-pdt for more information. This webinar will go way beyond the shorter launch webinar. Highly recommended. I'll have some contributions.
The following Saturday, instead, I'll be giving a keynote at the German Delphi Tage www.delphitage.de/ in Fuerth. And I won't miss the beer the previous night. Lots of great speakers from Germany and other countries to this classic community event.
This will be my second live keynote, after the event in Manchester last week.
A new release of RAD Studio, Delphi, and C++Builder, called "10 Seattle" is available since Monday, and you are probably already aware of the news. If not head to:
to learn about the new great features, from the 2x IDE memory to the incredible Windows 10 support, from the new Android services to the MongoDB FireDAC integration... and much much more, as you can see even in more technical details at docwiki.embarcadero.com/RADStudio/Seattle/en/What%27s_New.A Few More Links
I think it is still worth pointing out to a few additional links and resources:
Eweek article introducing the product: www.eweek.com/developer/embarcadero-rad-studio-10-seattle-targets-windows-10.html
The Register article focused on C++Builder's new Win32 compiler: www.theregister.co.uk/2015/09/01/borland_c_now_legacy_as_embarcadero_releases_delphi_and_c_builder_10/
The team fixed 331 user reported bugs in 10 Seattle (274 from Quality Portal, 57 form the old Quality Central). See the list at edn.embarcadero.com/article/44561. It is likely the number is much higher, as many of the out-of-memory related issues are still open, pending feedback from the original submitters. We'll look forward to re-test and close a few more.Launch Webinar
Launch webinar taking place later today (and tomorrow, for Australia and Asia/Pacific time zones). Looks like we'll have a great crowd, but there is still room to register at forms.embarcadero.com/RADFirstLookWebinar-2015-09-02 . I'll be there presenting RAD Studio 10 Seattle with the other two product managers, Sarina and Luis. The idea is to introduce all of the main new features, as a technical and detailed coverage could take many hours. There will be plenty of demos, though.
If all goes smoothly, the webinar in itself will be just slightly over one hour, with live Q&A following it.
The yearly RAD Studio developers survey is closing in 2 days. If you can find the time to participate, we'd appreciate. And here are a couple of tidbits from it.
But first of all (and before you continue reading) if you haven't already done so, take the survey at www.surveymonkey.com/r/FGCCYNY . We know it is time long and time consuming and really appreciate your input. If you don't have the time, we understand.
Now, if you have taken the survey and had the patience to go to the end, you might have noticed a fun, trivia question asking for your favorite RAD Studio variable or type name. These are the answers so far:
- Global variable ReportMemoryLeaksOnShutdown is winning with 41% of the votes
- The exception type EProgrammerNotFound is close second with 37% of the votes
I'm really disappointed that the enumerated values Elf, Dwarf, and Wizard in TDeviceClass got less than 8%. I like those and the way they are documented in the help file.More seriously, we generally don't share survey data but there are a couple of (temporary) results worth mentioning, considering these are not absolute facts but depend on those who responded, of course, who are mostly "active" customers even if often using versions released years ago)
- FireDAC is now the most used database access library
- Microsoft SQL server and Mongo DB are the preferred relational and NoSQL databases
- Parallel programming library is the favorite RTL extensions done in recent years
Overall, we had a good response rate, but, again, we'd appreciate having even more. And a few extra votes for the elves ;-)
Lots of news, despite the summer month, and also a recap of things I already blogged about, in case you were taking some week off. And the first sneak peaks to coming features...The Yearly Survey is Open
- Coming Soon to Delphi ... Execute Background Tasks with Android Services!
- Coming Soon to RAD Studio ... Twice the IDE Memory Brings a new Level of Productivity, Performance and Stability
- Coming Soon to RAD Studio ... iOS 64-bit Universal App Debugging!
If you want to know all about the new, coming release sign up to the launch webinar, forms.embarcadero.com/RADFirstLookWebinar-2015-09-02Summer Product Announcements
Konopka Signature VCL Controls: www.embarcadero.com/products/konopka-signature-vcl-controls
CodeSite now from Embarcadero: www.embarcadero.com/products/codesite
My Object Pascal Handbook now in print: blog.marcocantu.com/blog/2015-august-object-pascal-handbook-print.htmlOther Recent Blog Posts
Craig Chapman has a long, detailed, and must read article on "Migrating your project from older versions of Delphi. The pitfalls." See chapmanworld.com/migrating-your-project-from-older-versions-of-delphi-the-pitfalls/
Windows 10 Developers White Paper by Embarcadero, introduced in my blog at blog.marcocantu.com/blog/2015-august-windows10-whitepaper.html
If C++ IDE code editor structure windows is blank on Windows 10 machine, here is a workaround by David I: community.embarcadero.com/index.php/blogs/entry/c-ide-code-editor-structure-windows-is-blank-on-windows-10-machine-workaround
That's all for now, stay tuned for more RAD Studio coming soon information in the coming days, and don't forget to take the survey and sign up for the webinar.
Embarcadero has released a white paper titled "Windows 10: The Big New Opportunity for Developers", explaining why Windows 10 matters and why RAD Studio is well positioned to serve the Windows 10 developer community.
You can find the white paper (after filling in your contact info) at forms.embarcadero.com/15Q3DownloadWindows10Whitepaper
The white paper has the following sections:
- What is Windows 10?
- What’s new in Windows 10?
- Windows 10 and RAD Studio
- Project Centennial: bringing desktop apps to the Windows Store
- Getting ready for Windows 10
It has been written by an external (and independent) technical expert and includes a lot of background information and technical details. Worth reading for everyone moving or considering to move to Windows 10... which should be all of the Windows developers out there!
PS. Sign up for the webinar "Ride the Windows 10 Release Wave" on September 2nd, http://forms.embarcadero.com/RADFirstLookWebinar-2015-09-02, which will provide a preview of the features in the NEW VERSION OF RAD STUDIO to further enhance Windows 10 support... and not only, given the new release will include many other compelling features.
As I already blogged on the Embarcadero community site at community.embarcadero.com/blogs/entry/2015-rad-studio-delphi-and-c-builder-developer-survey, the 2015 edition of the yearly RAD Studio, Delphi, and C++Builder developers survey is available and will remain open 10 days, until August the 28th. The survey has 100 questions divided in 18 pages and we estimate it can take 30 to 45 minutes to take it.
This is the link:
In case you don't have time to go over all sections, you can skip a page, as only a limited numbers of questions require an answer to continue. In this case, please complete the pages you are most interested in. Of course, we'll appreciate if you have time to complete all pages.
We know your time is valuable and so we greatly appreciate your participation in this annual survey, which will significantly affect the product development and planning for the next 18 months. There are also new questions this year to help us better understand how you are using the product.
Here is an overview of the process the RAD Studio team uses for processing bugs reported by customers, and the current status. Over the recent years, the effort in fixing bugs and issues reported by customers has increased significantly. We have numbers from our internal bug tracking system that can shed some light.
Before we get to those numbers, however, it is important to understand how the RAD Studio team tracks and manages bugs, how they are categorized and processed. I won’t get to the details, but an overview will help explain the rest of the story.From Quality Central to Quality Portal
For many years, the customer-facing tool for reporting bugs was hosted as Quality Central at http://qc.embarcadero.com. This was an internally developed bug-tracking tool that mapped to the internal bug tracking system, RAID. It is still there, but don't use it any more.
Over the years, RAID was replaced with an instance of Atlassian Jira (https://www.atlassian.com/software/jira), and Quality Central was remapped to it. Since last year, the team introduced the new Quality Portal (http://quality.embarcadero.com), which is also based on Jira but has different configurations and settings. The current flow from Quality Portal to the internal system and back is very smooth and it is significantly improving the communication between the team and customers reporting bugs.Bugs Flow and Status
The second information worth knowing, before looking to the actual data, is the flow up bugs and their status over time. For this, I’m considering the current system (there were differences in the previous combinations).
When a bug gets reported, it is copied in the internal system and is validated by a QA (Quality Assurance) team member. He might open it and send to the proper developer, close it because it is not considered a bug but the expected behavior, a “test case” error, close because it cannot be reproduced, open it as a feature request for future consideration, ask for more information to the bug reporter, close it as duplicate of an existing issue… and a couple of other scenarios.
At that point, if the bug is open, it is assigned to a developer, who can provide a fix for it, but also suggest a temporary workaround, can decide this is expected, or suggest merging it with future work. An individual developer doesn’t actually do this process alone: There are team meetings, “bug council” meetings, and many steps to access and re-evaluate over time the priority of issues.
There are a couple of further considerations here. The first is that when a bug is closed internally, its status is not immediately reflected in the public system. The reason is simple: Telling a customer the bug is closed but he or she cannot get the fix would be of no value. The bug is marked fixed in the public system when a fix including the bug is released. This is why in the public system there are huge spikes of fixed followed by periods in which it seems nothing is done. The internal system, instead, tells a more complete story.
The second consideration is that a significant number of bug reports that are not considered “errors” in the current implementation, but requests to extend a given capability are kept in the system. While internally tagged as “feature requests” they stay open and look like bugs not being addressed. In theory we could close them indicating the feature works as "currently" designed, and open a separate internal request for enhancements.
The last and final consideration is here we are looking to publicly reported bugs, but you have to consider that the majority of bugs is reported internally by the QA team, other developer, or internal users (incuding myself). Our goal and more consistent effort, of course, is to fix bug before the software is released. So the internal numbers tells a different story, but for this blog post we are focusing only on bugs reported by customers.Let’s Get to the Data
With this picture in mind, I’ve recently dug some data and some graph that help understanding the current status and the extra effort done recently on RAS Studio quality.
Faster Resolution Time. The first graph shows the yearly average resolution time over the last 4 years. This is how many days it takes on average to resolve an issue. Thinks are improving significantly, I’d say.
70% of Reported Bugs Have Been Solved. If we consider all bugs that have been reported over the same time frame (from 2012) and came from customers, we get a real picture of the effort. If you add closed and resolved issues, it’s a 71% of the total. Many of the re-open issues are also partially closed (they might not be optimal or complete solutions). Also among the open issues there are 279 (at a recent count) marked as feature requests, which brings the real number of open bugs further down.Conclusion
There is certainly much more information we can dig in our system to show how many publicly reported bugs have been fixed over time in the various product areas. The new public bug tracking system is also making it easier to follow the bugs status and it’s ensuring a better communication between customers, quality assurance team, and development team.
The RAD Studio team is focused on further improving the process and devoting more resources in fixing issues. The trends have been encouraging, but this doesn’t mean we think our effort is good enough and we are going to stop here. On the contrary, we see a positive trend and want to keep focused on that direction, increasing the timeliness of bug fixes, their numbers, and (which is what really matters) the overall product quality.PS: Clarification on Closed Vs. Fixed Issues
Some of the comments (including a few I didn't approve) hint to the fact that not all "fixed" issues have been specifically addressed by the team, given some might have been duplicate or coud have ended as being considered "test case errors". So I dug some extra information. Out of that bucket of closed bugs, over 3,200 individual and distinct issues have been fixed with actual changes in code. Wiht is roughly half of all of the issues that have been addressed.
My latest book, Object Pascal Handbook, is now available in print on Amazon and other outlets. I finished the book 2 weeks ago, got my proof copy earlier this week, and given it was good, I gave it the green light. The book, in fact, is self-published through CreateSpace, where it is available at www.createspace.com/5559999 (this is the online store I earn more from, but Amazon is also quite good on margins).
On the Amazon.com site the book is www.amazon.com/Object-Pascal-Handbook-Marco-Cantu/dp/1514349949 (and already selling, given it is going up in places in the "Langauges and Tools" category under programming). You can buy it also from the UK site (www.amazon.co.uk/Object-Pascal-Handbook-Marco-Cantu/dp/1514349949) and the German one (www.amazon.de/Object-Pascal-Handbook-Marco-Cantu/dp/1514349949) in which case I understand they print the book in Europe and ship locally. Other Amazon stores should have it, and other non-Amazon sites should get it as well in the coming weeks.
Cover price is 46.50 US Dollars, 31.50 UK Pounds, 43.50 in Euro (but Amazon has it a little higher). The final book is well over 500 pages.
More information is at www.marcocantu.com/objectpascalhandbook/ although I still need to udpate that page with the buy links, the complete TOC and the index, and more information. Should be done in the coming days. Along with sharing more of the source code of the demos.
The ebook remains a free download for XE7 and XE8 registered users, and should be updated with the complete version (3 more chapters from the last draft) shortly. I'm considering making it available as a paid ebook as well, but not immediately.
Beside announcing the deal with Raize Software (see my previous blog post), today we are announcing a new internally developed components focused on beacon fencing, that is a new technology for tracking mobile user indoor. You can read all about BeaconFence at:
In short, this is a technology based on beacons, that lets developer graphically design areas within an indoor building (a large store, a restaurant, a mall, a sports facility...) and define actions and event that fire when a user enters or exists the given area. The image below of the map editor gives you a feeling of the product, which is a component with some specific and very complex design time editors.
Again, head to the product page for more information and check our the "pay-per-use" pricing. You can sign up the free plan for BeaconFence, get the component, build and deploy a simple scenario. For more complex solutions, there is a deployment fee depending on the size of the building and related factors.
One of the reasons we are particularly proud of this product and this technology is that BeaconFence is the first commercial ready-to-use beacon fencing solution for software developers available today.
In case you don't know, Ray Konopka has been from the early days of Delphi one of the leading authorities on components development, thanks to his classic components development book, the countless Delphi conferences he has spoken about this subject (along with UI design and other VCL technologies) and the great set of high-quality components he built and sold as Raize Components. Ray has done a lot more with Delphi, in terms of tool, training, consulting and business development, and he is one of the Delphi community gurus.
This is why I'm extremely happy to see this acquisition by Embarcadero Technologies of his flagship components and his CodeSite logging tool (the light version of which already ships with RAD Studio). Embarcadero starts selling these components today. The components have been renamed as "Konopka Signature VCL Controls". The CodeSite Logging System keeps its existing name and is available for RAD Studio but also Visual Studio. Both can be bought today, along with subscription, from Embarcadero web shop and from our partners.
You can read the complete press release at www.embarcadero.com/press-releases/embarcadero-acquires-raize-components-introduces-new-windows-ui-and-logging-products-for-delphi-and-cbuilder-developers.
What should I add? Stay tuned for more add-on components from Embarcadero, to complement RAD Studio but also supporting other development tools.
Long time without blogging, but I took 2 weeks off and was very busy last week. Here is a short round of interesting tidbits for Delphi developers.Company News
Embarcadero opening its focus on more developers, beside those using our IDEs and programming languages. New nice developers landing page at: www.embarcadero.com/products/application-development . More information will get added to the page over time. Stay tuned.
The last person I'd have expected to start blogging about Delphi is Chuck Jazdzewski, who was one of the original developers of the VCL library and of Delphi itself (and after moved to Microsoft and Google). He had several posts in his http://removingalldoubt.com/ blog. They really explain some of the core foundations of Delphi, and titles are quite descriptive:
- removingalldoubt.com/programming/2015/07/17/the-biggest-bang/ (covering Delphi 1 launch)
Minecraft in Delphi? Kind of. Read www.fmxexpress.com/free-minicraft-game-source-code-for-delphi-xe8-firemonkey-on-android-and-ios/ Interesting. I've been watching my son play Minecraft, and set up a server for him. Good stuff.
Again, summer vacation is mostly over for me, now get back to work... and to blogging.