Noutați

This Is How To Explain Automation To Your Boss

Behind every successful organization, especially those specializing in windows application development, are innovative solutions and strategies which were, at some point, just ideas in the minds of employees like yourself. You’ve probably identified areas of improvement in your organization’s workflows, and automation signifies a business potential if you can turn your ideas into reality.  According to a renowned American advertiser, Lois Wyse, “the only people in the world who can change things are those who can sell ideas.” Most of us realize it’s not enough just to spot automation as a business potential; we need to ideate, evaluate, and get buy-in from our bosses to move from idea to implementation. This is not always easy; more often than not, our bosses are busy people who might already be overwhelmed with executing their own priorities as well as that of their higher-ups. So, taking on a new approach may take a back seat to their day-to-day activities.  Automation is changing the way businesses run and manage processes; from improved asset utilization and increased productivity to faster process completion, the opportunities could be endless. You know all this, but how do you get your boss to buy in? How can you tailor your explanation to your boss’ goals and values? It is essential for anyone looking to sell anything, an idea or a product, to understand their audience’s goals and values. In this case, you need to know your boss’s unique blend of business goals and values. One way to go about this is by speaking directly to your boss on their goals and vision for the organization. For example, your boss might want to eliminate data silos, facilitate faster decision-making or faster process completion, and ultimately double revenue in four years. In addition to the many benefits of automation, it unlocks data silos, bringing data together from disparate sources and allowing for better data consumption and analysis. With the feedback from your boss, you can draft explanations and recommendations on all the revenue benefits, alongside a working strategy on how you hope to implement it. For example, what automation tools you’d be employing, what processes, and how you can double revenue by saving money through automation. How can you support your explanation with evidence from similar companies? Although recent advances in control system technology and machine learning have taken workflow automation to new heights, businesses and employees have been benefitting from its implementation for quite some time. For example, Amazon has been reaping automation benefits since 2012, when they bought a robotics company.  So, identify successful competitors within your market that are implementing automation and probably poaching your customers. This shouldn’t be a difficult task; odds are every organization implementing automation with the right strategy is successful. Locate them and use them to support your explanation. You can also include a detailed comparison of the two systems, with and without automation, using a reasonable sample size of companies before and after adopting automation. Photo by fauxels from Pexels How can you bring in an automation expert to bolster your case? If your boss is like mine, they probably trust the word of an expert more than that of his employee. Except you’re an automation expert yourself, offering to bring in one to explain further the new technology merits will definitely bolster […]

Read More

Advanced Curve Fitting with FNC Math Components

New version 3.2 of TMS Analytics & Physics library introduced FNC components for creating math applications with minimal code writing. The previous article described how to implement curve fitting. In this article, we’ll continue the theme and explain some advanced features for function approximation. Generally, we use some standard basis functions for curve fitting: Fourier basis (sine and cosine functions), polynomials, exponent functions, and so on. In rare cases, we need specific basis functions to approximate the data. The TMS FNC math components provide a straightforward way to create a basis with any set of functions. Moreover, we can develop and test the basis right in design time. The component for creating a basis with a set of user-defined functions is TFNCLinearBasis1D. The component provides the following published properties: Variable (TVariableProperty) – provides the name of the variable for the basis functions. Coefficient (TVariableProperty) – provides the name of the coefficient for the fitting problem. Order (integer) – number of basis functions for approximation (read-only). Expression (string) – math expression of the constructed function (read-only). Parameters (TParameterCollection) – a set of parameters for parametric basis functions. Functions (TParameterCollection) – a set of functions to construct the basis. The two last properties provide the functionality to construct an arbitrary basis. With the Parameters property, you can add named values into the math environment and then use them to parametrize the set of basis functions. The Functions property allows to add, edit, and delete functions via standard Delphi collection editors. The collection contains items of TFormulaProperty type. When you add an item to the collection you can edit it with the Object Inspector as shown in the picture below.  The class TFormulaPropery has several properties and a built-in mechanism to check the function for correctness. If you input a math expression that is not valid in the current context, the Error property will indicate what is wrong in the formula. An example is shown in the following picture. For our example, we created the collection with three basis functions: ‘1’, ‘log{2}(x/A)’ (logarithm to the base 2), and ‘P{3 2}(x/A)’ (associated Legendre polynomial of 3-rd degree and 2-nd order). Then, following the instructions described in the previous article, we added a data source, an approximated function, and a plotter to draw the function on the FNC chart. The final resulting FMX form at design time is shown in the picture below. The main advantage of using the FNC math components is that you can select appropriate basis functions without running the application. At design time you can change parameter values and math expressions of basis functions. The changes will immediately affect the approximated function and you can see as the fitted curve looks on the FNC chart. Also, you can verify that the approximation succeeded by looking at the properties of the approximated function, as shown in the following picture. Another feature of the FNC math components is that they work with symbolic data representation. Although the approximation uses discrete data as input, the result is a symbolic expression of the curve. So, we can use this expression for some advanced analysis. For example, we can evaluate the derivative of the function.      The TFNCApproxFunction1D is a descendant of the TFNCBaseFunction1D class. Thus, we can use the same approach, as described in this […]

Read More

How to Get More Results Out of Your JavaScript Grid Libraries

  Showing a large volume of information at once on a website without affecting the loading speed while allowing users to do complex operations on the data is quite challenging. To solve this problem, web developers can use data grids that render data in rows and columns similar to an HTML table. Today, several JavaScript grid libraries, such as Sencha Ext JS, allow users to load millions of records efficiently and do useful operations such as sorting, scrolling, filtering, and grouping. However, you must know how to get more results out of a JavaScript grid library so that users can get the maximum benefit and the best experience in table operations. If you are a web developer looking forward to using our JavaScript grid library, follow this article to know how you can get the most out of it. Why do you need to use pagination? When there is more information to load, rendering it in one page may require users to unnecessarily scroll through the page, which will affect the user experience. In such cases, you can use pagination, allowing users to view the entire data set by navigating through pages. Most javascript grid libraries come with support for pagination. Ext JS grid library also offers an automatic pagination option through its specialized toolbar that loads part of the data on one page. Therefore, always ensure to use the pagination option to make a web page less complicated and user-friendly. How to integrate Widgets into your grid? Sometimes data in a grid can show important information to the users, such as trends, patterns, progresses, and percentages. It will be really helpful if there is a way to visualize the patterns hidden on those data to better understand the story behind the numbers in grid columns. For such scenarios, some JavaScript Libraries provide the ability to integrate UI widgets for data visualization. For example, Ext Js Grid Library, allows you to add UI components or widgets such as bar charts, buttons, inline graphs, etc., into columns. Why is Pivoting important? If you want to show information summaries to your users, make the best out of pivoting in grid libraries. A pivot grid helps to show summaries from a large amount of information. It also enables users to understand the useful insights from the loaded data set. For example, suppose you are developing a web application for a company that helps management to understand which products have the most sales. In that case, you can easily show that information using pivoting. Why do you need to make use of data export and import? Clients are often required to export records into an external datasheet like an Excel sheet to separate references to the data. Allowing users to export the data in different formats, including CSV, PDF, and text format is a useful functionality you can offer. When exporting data, it is important to understand how much data, a specific format like an excel sheet, can contain to allow data export part by part. Users then can use the data for their analysis and as internal references. In addition, importing data from external sources is very useful. Check if your grid library provides these features and use them whenever you want to build a dynamic grid from an external data source. Why […]

Read More

Everything You Need To Create Windows Apps With C++

When you want to create a new app for Windows 10 or a new version, Windows 11, the first decision you make is what type of app to build. No matter what your app idea is there is a great selection of Windows app development tools to choose from. Microsoft has focused it’s more recent efforts on the C# programming language and its own proprietary technologies of WPF, UWP, WinForms, and .NET MAUI. You can use Microsoft’s tools to create Windows applications but there are a couple of other options which give more independent functionality and with the added bonus of huge productivity gains. This article contains all the information you need to get started building apps in C++ for Microsoft Windows. I’ve started using Dev-C++ and had a lot of fun figuring out all the things I can do with console applications. I really enjoying building C++ Win32 desktop applications, sometimes called classic desktop apps. You can get the latest and updated version of Dev-C++ from the Embarcadero website. Embarcadero Dev-C++ is a new and improved fork of Bloodshed Dev-C++. This fork is sponsored by Embarcadero. Embarcadero Dev-C++ now has a modern UI and UX and some great new features too. Where can I find details on building Win32 desktop applications with The Dev-C++ IDE? Here is a brief article on building Win32 desktop applications using the Embarcadero Dev-C++ IDE. What are ‘Classic Desktop Windows Apps‘? Win32 desktop apps are the original app type for native Windows applications that require direct access to Windows and hardware. Because of this, Win32 native applications have the highest performance for GUI apps and easy direct access to system hardware. Using the Win32 API with C++ makes it possible to achieve the fastest app speeds and efficiency by taking more control of the target platform with ‘unmanaged’ code than is possible on a ‘managed’ runtime environment like .NET. Here are a few highlights of what the Win32 API offers to enable you to build high-performance applications: DirectX, Direct3D and DirectCompute Access to performance-oriented instruction sets like SSE and AVX through intrinsic functions Hardware level optimizations However, developing at such a level requires greater care and attention to get things right and it might take more development time. What is a faster and easier way to create GUI applications? While playing with C++ in the Dev-C++ IDE, I came across Embarcadero’s C++ Builder and then RAD Studio Delphi. Specifically, I started using Delphi with Visual Component Library which is often abbreviated to ‘the VCL’. The VCL is a set of visual components (ready-made blocks of code and functionality) for the rapid development of Windows applications in the Delphi language. The VCL includes dozens of ready to use visual components and a wide variety of non-visual components and utility classes for tasks such as: Windows 10/11 application building Database applications Client/Server applications Console applications and more With visual components such as the form, edit, button, panel components, designing and building graphical applications is much faster and more efficient than laboriously creating everything from scratch.  In terms of UI libraries, the VCL has always been considered the best wrapper on the native Windows API. Moreover, Delphi and the VCL offer a much better encapsulation of the COM layer on Windows. Additionally, Delphi offers a great and […]

Read More

The Best JavaScript Framework Alternative to Open Source

Every organization has different tools to support internal processes. As companies scale, IT teams are faced with the growing complexity of user requirements, which often go beyond the capacity of consumer software. IT executives everywhere are turning their attention to custom solutions to better accommodate their organizations’ needs.  In this article, we’ll dive into the key areas for choosing a development framework for your enterprise applications. You’ll learn about the common challenges with open-source software and what makes Sencha Ext JS the best alternative solution. What to consider when developing enterprise software  Regardless of the usage areas, the foundation of every high-performing enterprise software boils down to the development framework. If you’re in charge of developing a new application, chances are you’re considering open-source frameworks like React or Angular.  Now, open-source packages come with a whole different set of challenges: Security risks: Enterprise applications process sensitive data, so you’d want control over the system accessibility and user permissions. If you rely on open-source projects developed by a broader community, there may be little control over the source contributions.  Maintenance effort: Enterprise software has unique requirements. Unfortunately, many open-source frameworks are not enterprise-ready for your particular use due to the nature of third-party code. You’ll also need to compromise the standard support your IT team requires. Ease-of-use for user adoption: Lack of UX expertise or bandwidth makes it difficult to deliver the optimum user experience unless your team has reusable UI components for every project. Considering the factors mentioned above, you should handle open-source frameworks with care, especially for mission-critical environments.  An ideal development framework should also offer: Version control or IDE-like experience with a native debugger Robust and granular access control functionalities Option for being self-hosted  Why choose a proprietary framework? The easier you can build and deploy apps, the more efficiently you’ll be able to address constant feature requirements from your users. And that’s just one among several advantages of closed-source frameworks. Enterprise-grade security  Security is probably the main driver for closed-source adoption among enterprises. Having controlled and authorized access to the source code is critical for enterprise software. Dedicated support and training resources You don’t have to worry about spending hours searching through docs or community forums to find answers to your problems. Using a commercial framework, you’ll get professional support from the vendor. The available documentation and user guides also directly cater to your use cases. High code quality Open-source frameworks don’t necessarily have the same level of attention to quality as their commercial counterparts. Proprietary options give you complete customizability to design software for very specific needs so your team can save time on development while ensuring the usability of the code immediately upon installation. On top of these benefits, you’ll be provided with a standard license agreement, which comes with indemnification and warranty. This means fewer headaches over open-source licensing terms and compliance issues. Ext JS: A powerful JavaScript framework for custom software development Ext JS is a JavaScript framework that offers a component library for building rich client, cross-platform web applications. It is especially suited to handle enterprise applications with large volumes of data. With Ext JS, you’ll have access to over 140 prebuilt UI components, including form builder, calendar, tables, charts, and more. Plus you’ll have the ability to visualize and analyze data […]

Read More

The Power Of The Future Is Rooted In The Past

First programming languages were written in the 1950s, long before our modern day ide software was even a twinkle in the eye of the most forward-thinking minds. Those early languages were very close to the hardware. Instructions were extremely unsophisticated and were almost one-to-one conversions of a circuit’s purpose: load value, multiply value, subtract value. In fact, multiplication was achieved by simply adding a value multiple times so “4 multiplied by 3” was really “load 4, add 4 to that, add 4 to the result, print the result“. In essence, the programming language was a series of grunts used to communicate those absolute essentials to the computer to get the work done. Was it a language? Of sorts, yes, but only really a step away from a traveler stranded in a foreign country gesticulating wildly with hand signals at a bar tender in order to get the drink they want. It was a struggle. It was arduous and error prone even though the hardware limitations meant the actual quantity of instructions which could be fed to the hardware were tiny by today’s standards. Programmers were speaking the language of the computer to make the computer’s life easier. We grunted, they understood. It was magical. What is a high-level computer language? Margaret Hamilton with the code she and her MIT team produced for the Apollo project. Source: WikiMedia Commons This onerous and laborious level of communication endured for a few years. Even by the time of the first moon landings the instructions were still designed to make the job easy for the computer with little or no deference to the ease of human comprehension. The capacity for the computer’s instruction store – where it put actual “what should I do” had massively increased but you still had to be something akin to a superhuman to write code which worked reliably. No wonder that time spawned so many comparisons of programmers to wizards and warlocks! Of course, the time came when a push towards making programming languages more human friendly arrived. Algol, Fortran, COBOL and C all broken new ground in abstracting those LOAD, STORE, SHIFT LEFT and ROTR computer-edible instructions into something more palatable for human programmers to consume. The shift from wizards and warlocks towards more regular humanity had begun. What happened to computer programming in the 1980’s? The 1980s were a huge boom time. That early abstraction of computer instructions in the “high level” languages such as BASIC and COBOL had gone a long way to making programming more accessible. The advent of the semiconductor and advances in miniaturization brought about programmable calculators, the first digital watches and, eventually the first personal computers which freed computing from the enormous room-sized behemoths of the ’60s and ’70s to a box which could be plugged into an ordinary power supply and would fit on the average office desk. Now, in theory at least, everyone could have a computer. Computing was personal. Why did the personal computer spawn a new era in computer languages? The invention of ‘personal’ computing meant that suddenly the possibility of writing and using computer programs could spread to ‘normal’ people. It was no longer constrained to the environs of huge corporations with development staff who were university-trained at great expense. The ordinary individual could write code for the personal […]

Read More

A Beginner’s Guide To Using A JS Grid

Every veteran web developer once started from a place of rudimentary skills. You get more proficient at web development only when you devote time and effort to the craft and learn new technologies. The advent of the internet has brought plenty of resources at your disposal for you to utilize for a smoother learning experience. Therefore, you shouldn’t shy away from trying out things one at a time and growing further. While the learning process looks different for every beginner developer, one common aspect is their mistakes. Such mistakes are great teachers that give a lifelong lesson for better professional growth. However, it would be more beneficial if beginner developers could learn from each other’s mistakes and save themselves from wasting time on repeating them. When it comes to a JS grid, the scenario is very similar. There are many libraries and tools for you to explore and learn. However, you can benefit from a resource that provides you with a roadmap about data grid libraries and how you can start using them. You could learn about some viral libraries like Sencha Ext JS that some major enterprises use for building robust data grids. This article will focus on what aspects make data grid libraries stand out and what you should know as a beginner trying out data grids. What Tool Can Help Build A Robust JS Grid? Building a JS data grid means working with two different technologies that are neatly integrated into each other. One is JavaScript, one of the fundamental languages of the web that controls the functionalities and back-end logic of websites. The other is data technologies that handle, process, and chart up the data into a grid for you and others to use.  Since both of these are radically different, you need a tool that integrates both of them sufficiently. The best way is to utilize a JS grid library within your codebase and use its methods for building data grids. While you could look into other options, such as using the front-end framework or using HTML to build grids, using a dedicated grid library has much more advantages. However, you’ll need to ensure some vital fundamental aspects in your chosen JS grid library since there are so many options out there. Some of them are briefly described below: Robust Data Features: The JS grid library should have all the essential data operations you and others can use. Standard operations like pivoting, filtering, managing rows and columns, and aggregation are a must. Strong Visual Aesthetic: It won’t be helpful if all power of the grid library is behind the screen and the rendered grid is unusable. Therefore, it must have a user-friendly UI for a better user experience. Thorough Documentation: Every developer needs help occasionally, and the tools they use should provide that. The JS grid library should supply documentation and examples for a better development experience.  Easy-to-use Interface: While the grid library should come packed with features and a fantastic UI, it shouldn’t have to translate to a challenging development experience. The library’s methods and interfaces should be a breeze for developers to work and create powerful data grids with. You can trust it with your data grids after you have ensured that your preferred data grid library will deliver in all the above […]

Read More

Looking back at 2021, an inspiration for what 2022 can be

The daily chore easily makes one forget the milestones reached and the goals ahead.  As such, it is good, with the start of the New Year, to look back of what has been achieved in the past year and set the goals for the new year. First of all, let me wish you a great new year 2022! I made a habit of wishing friends & relatives “to maximize the number of happy days in the new year“. Good health, success, good relationships, interesting work, achievements, luck, new experiences all contribute to happiness. So, when you can maximize the number of happy days in 2022, it is very likely you’ll be blessed with a mix of these things! At the same time, only in utopia, every day will be filled with happiness, so it also helps being prepared for some less successful days. 2021 Looking back at our milestones & achievements in 2021 actually positively surprised me. Even when we often get the impression that on a daily basis, we sometimes spend a lot of time fighting all kinds of little or big technical issues and have the impression we only move forward in baby steps, when looking at it in the scope of a full year, it appears a lot has been done. A summary Release of TMS Web Academy In the beginning of 2021, we launched our new platform TMS Web Academy, which is an online platform for bringing webinars to you where you can learn everything about our products. Since its launch, we already organized about 20 webinars that were free to attend. If you missed these, the replays are here. Of course, we continue along this path with new webinars for 2022 we’ll shortly present. TMS Web Academy proved to be a welcomed replacement for live events we could not hold due to covid-19 as well as a way to reach more developers world-wide. Launch of TMS Miletus  Miletus is our technology that enables you to create cross-platform desktop applications created with a single code-base and using web technology. Not only did we achieve to bring application generation for Windows, Linux and macOS from just your Delphi IDE running on Windows, we added to that also the Raspberry Pi OS target and we also added support in TMS WEB Core for Visual Studio Code. With Visual Studio Code, you can generate these types of applications directly from your favorite Windows, macOS or Linux machine.  Launch of TMS FNC WX Pack A completely new product saw the light in 2022, the TMS FNC WX Pack. TMS FNC WX Pack offers functionality that is hard to find or not existing for Delphi developers based on existing and proven web technology libraries. This includes so far a WYSIWYG HTML editor, an OCR tool, QR & barcode generation & detection, JSON data formatter,… and more is coming for 2022. High DPI to TMS FNC UI Pack With the release of Delphi 11 running in high DPI on Windows, it was critical to also bring full high DPI support in TMS FNC UI Pack. TMS FNC UI Pack is our universal (cross-platform/cross-framework) UI control bundle for VCL/FMX/LCL and TMS WEB Core. Our FNC UI controls were already looking crisp in FireMonkey apps, but now they also do in VCL high DPI […]

Read More

Introduction to Python GUI Development with Delphi for Python (VCL & FMX)

Part 1 starts shortly at 9 AM CST, and Part 2 on using Delphi FMX for Python to target Android is in two weeks on January 26th at 9 AM CST. Learn how Embarcadero’s newly released free Python modules bring the power and flexibility of Delphi’s GUI frameworks to Python. VCL and FireMonkey (FMX) are mature GUI libraries. VCL is focused on native Windows development, while FireMonkey brings a powerful flexible GUI framework to Windows, Linux, macOS, and even Android. This webinar will introduce you to these new free Python modules and how you can use them to build graphical users interfaces with Python. Part 2 will show you how to target Android GUI applications with Python! Come back here for links, slides, and the replay.

Read More