RSS Reader UI Update – Mar. 19, 2018

User interfaces typically unite visual technology, data processing, and interactivity. Each of those broad facilities can coexist in a single code module or individual, focused defined modules. When defined as a monolithic unit, those facilities can be evolved in a manner that benefits the overall application. Eventually, it helps to have these functions implemented in individual components to better manage overall complexity. The latest C++ software code posted to GitHub contains no application level logic changes from yesterday’s update but the implementation is now spread across individual code modules.

The changes are most pronounced when the current version of the rss reader in the mainscreengenerator class is compared to previous versions.

Intricate User Interface Technology

User interface programming can become a fairly involved process. Solid modularity is a benefit when applying a graphics technology platform. This project use Allegro’s video game programming library (a C language library) that I have organized within a C++ wrapper. The C++ classes for this purpose are in the visualfunc::formulation namespace. The individual classes work together to invoke the right sequence of calls into the Allegro API to bring about a program window, graphics output, keyboard and mouse interactivity. This particular implementation strives for practical use in non-video game applications.


Test Each Module’s Build

Individual build scripts helps hone in on build errors in a particular module. At the same time, each script can be used in a higher level script. This approach actually sped up and focused the effort to split out the code into modules over the last 4 hours.

GNU C++ Build Scripts

The file system window shows the build scripts consolidated under a folder that represents the specific compiler the scripts invoke.

One Class Per General Concept

I actually preferred fewer implementation files for this project. You reach a point in some projects where there is too much code in one spot. A little more granularity in terms of refactoring the code into additional modules improves manageability.

News Reader Executable

After splitting modularity was expanded, the size of the executable barely budged. The result was growth of about 10KB for a debug executable. 

Primary Build Script

Again, all the modules and final executable can be built from an overall build script.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.