Towards a standalone application

We are look­ing for a suit­able plat­form to com­pile stand­alone ver­sions of Bol Processor BP3.

Currently, Bol Processor BP3 is the com­bi­na­tion of a con­sole (writ­ten in C lan­guage) and a set of PHP/HTML/CSS/Javascript files that act as its inter­face. A con­sole ver­sion of Csound can also be attached. See the Bol Processor ‘BP3’ and its PHP inter­face page for instal­la­tion details.

It all works beau­ti­ful­ly in a design that is com­pat­i­ble with mul­ti­ple 64-bit sys­tems: MacOS, Linux and Windows. However it does require the instal­la­tion of an Apache+PHP pack­age to run the inter­face. (We are cur­rent­ly using the free ver­sion of MAMP on Mac com­put­ers to devel­op the BP3 interface.)

The next step will be to cre­ate a stand­alone appli­ca­tion that replaces the web brows­er and its PHP/HTML/CSS files. The appli­ca­tion will have Linux, MacOS and Windows versions.

Over the past two decades, a num­ber of plat­forms have been devel­oped for build­ing desk­top appli­ca­tions that emu­late the behav­iour of a web brows­er. Most of these seem to have been aban­doned, or at least not updat­ed for years, but we are con­fi­dent that PHP Desktop will be eli­gi­ble for this process.

We urgent­ly need to eval­u­ate the abil­i­ty of PHP Desktop (in its cur­rent Linux imple­men­ta­tion) to com­pile a stand­alone ver­sion of the Bol Processor inter­face. We would like to hire a pro­gram­mer for this spe­cif­ic task. Please con­tact us to dis­cuss the terms of collaboration.

Below is a list of require­ments for com­pil­ing the PHP/HTML/CSS/Javascript inter­face. Please pro­vide links to alter­na­tive solu­tions in the com­ments at the bot­tom of this page, or pri­vate­ly via the Contact page.

Requirements

  1. Display a HTML/PHP page using links to its CSS file(s)
  2. Support the “require_once()” pro­ce­dure to bind sev­er­al PHP pages together
  3. Support all types of HTML “<input>” instruc­tions: fields, but­tons, check­box­es etc.
  4. Support “$_GET” and “$_POST” to han­dle forms
  5. Support PHP “open()” instruc­tion to create/update text files
  6. Support PHP “exec()” instruc­tion to send com­mands to the console
  7. Support multi-tag or multi-window work space
  8. Support Javascript “window.open()” to cre­ate pop-up windows
  9. Support HTML CANVAS graph­ics and PHP GD graphics
  10. Support the HTML Audio tag to stream WAV sound files
  11. Preferably imbed­ding Chrome browser

Note that no data­bas­es or SESSION vari­ables are used in the inter­face. Temporary data is kept in files that are auto­mat­i­cal­ly dis­card­ed when obsolete.

A glob­al vari­able “$which_system” can be set at the begin­ning of the code to com­pile desk­top appli­ca­tions run­ning on dif­fer­ent sys­tems. Minimum sys­tem ver­sions could be: MacOS 10.14 (Mojave), Windows 10, and Linux ≥ January 2019.

Leave a Reply

Your email address will not be published. Required fields are marked *