Interfacist: The ULTIMATE Command Line Utility

Once you use Interfacist once, you'll use it forever: Interfacist.com

What in the World is Interfacist?

I am anything you want me to be!

Interfacist is the ultimate time saving program for the Windows OS. Interfacist allows you to easily create user interfaces that not only launch programs, but launch programs with variable parameters derived from the Ui. Interfacist is the Supreme Companion for command line programs. In fact you will find that Interfacist not only accelerates the way you work, but also definitively redefines the way you work by an order of magnitude. Once you use Interfacist once you'll never stop. You're about to enter a new paradigm.

Integrating Directory Opus and Interfacist

Interfacist allows one to create custom UI's to pass multiple variables into Directory Opus Custom Functions which can accept an array of arguments. This enables one to pass intricate groups of variables or inject Database records into Custom Opus commands easily.

Addressing the inherent challenges of scripting

There are an array of scripting languages that help us to automate tasks: vbscript, batch files, python, csscript, PowerShell and others. The power of scripts lies in the ability to pass dynamic arguments to alter what the scripts do as opposed to a script being hard-coded. Up until the advent of Interfacist passing arguments into scripts has been a challenge seemingly stuck in the stone age. Typing in dos prompts is the legacy way of doing things. While scripting is immensely powerful and serves a great purpose, what if?

  • What if you could easily and quickly build a UI to pass arrays of arguments to your scripts?
  • What if you could easily wire up a Database or CSV file to any type of script?
  • What if you could just drag and drop a file and process it using a sequence of regular expressions?
  • What if you could click a button to run any process on every record in a Database or CSV file?
  • What if there was a revolutionary file type that can embed any text based file, manipulate it, then run it?
  • What if there was a way to directly inject multiple variables into any file while bypassing traditional command line arguments?
  • What if the syntax to build the UI are just ultra-simple single line statements?
  • What if you wanted the perfect app to really leverage complex command line programs?
  • What if every aspect of the user interface was 100% skinnable?
  • What if the you could easily build a preset system using CSV files or Databases?
  • Enter the realm of the future: Interfacist

Interfacist accelerates your workflow in a plethora of practical ways

What is a CHiP?

Interfacist is a CUSTOM FRONT END DESIGNER, this front end is known as a CHiP (Custom Hyper Interface Prototype). This CHiP is a rich collection of Controls of different types, controls like textboxes, drop down lists, date and time pickers, buttons, numeric sliders etc. These controls populate a customizable window made of of rows and columns. What makes Interfacist Ultra-Powerful is that you can make a super responsive custom interface instantly by writing simple statements in a plain text file. This CHiP directly controls any command line program and can pass whatever values you need as hard-coded arguments or arguments based on control values. So each CHiP is like it's own program, or more accurately an Interface for a program. CHiPs are inherently infinitely flexible and allow you to create functional UI's ranging from very simplistic to super-intricate data driven monster CHiPs. Using the /auto_save option saves all control values so when you re-open your CHiP you can pick up exactly where you left off! In addition to auto-saving you can create complex preset systems using the '-ci' control (Internal CSV Dropdown Control) which facilitates storing and managing named preset values for every control.

CHiP syntax is designed to be absolutely minimalist in structure, there is zero fluff. The following text creates the CHiP above, note the simplicity. The substitution syntax is also simple, just use the control name within tildes ~ControlName~. Options and controls are defined using the premise of simplicity. CHiP Controls are preceded by the dash character '-' and CHiP Options are preceded by the backslash character '/'.

-a Resize|nconvert.exe|-q ~Quality~ -ratio -resize ~Vertical~ "~!~"
-s Pixels|400|3000|50|1650
-s Quality|5|100|5|100|%
-b Vertical|0 ~Pixels~|~Pixels~ 0|False

A CHiP's design & function is defined in a .CHiP file (a text file with the extension .CHiP). The type, contents, color, and sequence of the controls are 100% user definable. For example you can fill a slider with the numerical range and increments you need in order to suit a specific task such as using a slider thats 100-5000 for resizing files. Lastly you will add buttons to execute whatever program you want using these parameters. Interfacist runs CHiP's, CHiP's run your programs.

  • Populate a combobox with the filtered contents of a specific recursed folder that lists files and/or directories.
  • Populate a combobox with the contents of a MSSQL or ODBC database query.
  • Populate a combobox with the key value pairs of a parsed csv file.

The collection of control values from your CHiP are passed as arguments to any command line program you specify. Furthermore the value of any of the parameters in the CHiP file or CHiP.def file can be referenced and injected into any command. Just enclose any option name (lowercase) in exclamation points as in: !your option!

More than 50 Control Types to choose from

Interfacist has a rich array of powerful controls to streamline your processes

Interfacist gives users the choice to use numerous controls to achieve their objectives however complex it may be. Apex buttons are extremely powerful. You define what happens to a file/folder when they are dropped onto this button type. For example you can have a Apex Button that resizes any image dropped on it to a specific dimension. The beauty about the is that you can have other controls on the CHiP designated to set parameters like width, height, quality, and any other settings you need to pass to a command line program. The Apex button can run a sequence of commands on every file/folder dropped on it.

In addition to the regular controls like buttons and textboxes Interfacist has some unique control types.

  • Interfacist can swallow, manipulate, and eject any type of script file.
  • Button that runs a sequence of Regular Expression operations on a file or the clipboard.
  • Button that runs a function on every row returned from a database query or CSV file.
  • Pop-up spreadsheets that display database query results or CSV records and can be clicked to execute a function using the rows values.
  • Evaluation fields that can do complex arithmetic functions using values from other controls in the CHiP.
  • Buttons that you can drag and drop files onto which execute regular expression operations on the dropped files.
  • Pick RGB colors with transparency support from a color picker.
Evaluation fields are also extremely useful. They auto-evaluate numeric expressions on the fly and can reference other control values for cascading calculations.

Complimenting numeric evaluation fields are regular expression find/replace fields that auto update their text based on a regular expression. These regular expression fields are very useful for formatting values in very specific ways.

Interfacist is especially useful for web developers. It facilitates rapid testing by injecting content into any file or 100 files at once.

CHiPs can embed any type of script file for self containment

Embed any kind of text based file in the CHiP to make it portable

Interfacist can embed any type of text based file within it's CHiP and manipulate the file by injecting arguments into the file and then run the file directly or any program that references the file. Embedded files are fully editable and can be exported if desired. So instead of having 10 batch files and 10 powershell scripts and 10 vbscript files in separate directories, all 30 files can live inside of a single CHiP and be executed from buttons on the CHiP while being injected with variables from the CHiP on the fly! If you desire to maintain the files in their respective directories a CHiP can still consolidate them into a single UI for easy access.

Script injection

Interfacist can inject UI values into any text based file and subsequently run the file. For example this HTML file you are reading was generated from a template with placeholders having corresponding names for controls on the UI like (~Color~, ~Font~, ~Size~, etc...). This HTML file was updated in memory with the current values of the controls, written to disk, and then run. Interfacist's simple substitution syntax facilitates easy script injection in conjunction with the UI for changing multiple variables easily. Select which values in the UI controls that you want injected into any file or command line. Unlike a simple find and replace function. This Script Injection can find and recursively replace any amount of find/replace pairs at once followed by executing anything you want to do. In this instance this HTML file has an array of colors and fonts updated to reflect the current CHiP's selected values. Template files can live inside a CHiP or reside on the file system.

The values in the UI can be linked to internal CSV files( database records, CSV files, or simply typed in or modified using the various controls you defined.

Unlock the power of CSV Files & Databases to Drive CHiPs

Interfacist is a BOSS when it come to utilizing data sources to populate your CHiPs

Page through Datasets retrieved from MSSQL, ODBC Sources and CSV files. Interfacist can reference internal and file based CSV files. Internal CSV files (saved in the CHiP) can be auto-generated or imported from files. These internal CSV can be used to save presets which can update every control with the selected rows values. Furthermore internal CSV's can be exported and iterated to run any function for every row.

  • Multithreaded database results can be pulled from multiple databases simultaneously.
  • The dataset from your query can also be saved directly to a CSV file.
  • CHiPS have a auto-expand function that automatically creates a new CHiP with a UI based on your queried columns which can be paged to view all the records with their respective fields.
  • This functionality allows one to quickly create advanced database driven preset systems.

It's the Ultimate way to experiment on the Command Line

Quickly change multiple parameters with a UI to trigger complex command line programs.

Populate your CHiP's controls directly from CSV files to leverage the power of Datasets

Interfacist also connects directly to local or remote databases. You can run any process against a entire query result or just one record which you can manipulate any way you desire. Connect Interfacist natively to Microsoft SQL or any database supporting ODBC. Interfacist not only displays Database or CSV results in a Grid, the Grid records can be clicked to execute any function on any entry! To say this functionality is powerful is an understatement.

Apex Buttons: Ultra-Powerful Custom Drag and Drop Operations

Define precisely what happens to a file or folder when dropped onto a button

Interfacist facilitates the creation of a 'surface' for multiple drag and drop operations. Define multiple buttons to process files or folders any way you like and then just drag your files/folders onto the button, done! Enter the realm of Apex Buttons. The simple syntax uses a single line to define a control type and the functionality that you want it to have. It's very simplistic to use but extremely powerful.

The center column of controls is defined by the simple commands below (Button Name|Executable|Arguments). The "~!~" is the place holder for the files/folders that are dropped onto the Apex Buttons. This structure is much more efficient than having a folder full of separate batch files. Even if one were to write a single batch file to encapsulate all the functionality in this single CHiP it would be a lot more writing and in the end more difficult to use than this drag and drop UI. CHiPs greatly simplify the way one works.

-a Rotate_90|C:\Ancient\XnView\nconvert.exe|-overwrite -jpegtrans rot90 "~!~"
-a Rotate_180|C:\Ancient\XnView\nconvert.exe|-overwrite -jpegtrans rot180 "~!~"
-a Rotate_270|C:\Ancient\XnView\nconvert.exe|-overwrite -jpegtrans rot270 "~!~"
-a Vertical_Flip|C:\Ancient\XnView\nconvert.exe|~File_Type_Change~ -q ~Quality~ ~OverWrite~ -yflip "~!~"
-a Horizontal_Flip|C:\Ancient\XnView\nconvert.exe|~File_Type_Change~ -q ~Quality~ ~OverWrite~ -xflip "~!~"

Simple to use CHiP Syntax!

The UI below is generated from just a few lines of text and is quite useful. Choose your desired values using the controls on the CHiP, then just drag your files onto the button to resize the files. The values of the controls are injected into the command line.

image

/auto_save true
/myapp C:\Ancient\IrfanView\i_view32.exe
/widths 300|175
/title Interfacist Simple Resizer
/top true
-s Width|100|4000|100|2500| Pixels
-s Icon_Width|16|128|16|128| Pixels
-s Quality|10|100|10|90|%
-s Sharpen_Percent|10|100|10|80|%
-a Drop_To_Resize|!myapp!|"~!~" ~Size~ ~OverWrite~ ~Sharpen_~ /resample /aspectratio /jpgq=~Quality~ /convert="$D$F"
-b Size|/resize=(~Iconize~)| |True
-b Iconize|~Icon_Width~|~Width~|False
-b OverWrite| |/makecopy|True
-b Sharpen_|/sharpen=~Sharpen_Percent~| |False
-a 800_Pix|!myapp!|"~!~" /resize=(800) ~OverWrite~ ~Sharpen_~ /resample /aspectratio /jpgq=~Quality~ /convert="$D$F" 

Tabbed Power

Utilize tabs to goup your CHiP's functions.

Tabs are awesome in Interfacist. Beyond simply organizing the functions on a CHiP and extending it's functional footprint, tabs can be switched to easily when dragging and dropping files by dragging on top of the tab names. Once you set your desired column and row counts (using the options for /rows and /columns) any overflow controls will be placed into auto-generated tabs. Tabs can be named and also have independent backgrounds using the /pages option.

Interfacist Benefits

  • Instant front end development facilitating Rapid UI Prototyping
  • The Zenith of Custom UI Command Line Leverage
  • Super Easy Syntax for UI Generation
  • Multithreaded Database Harvesting
  • Multithreaded File System access
  • Wide Range of Control types for your CHiP
  • UI FIRES UP INSTANTLY when run
  • Literally infinite Applications
  • Super Extensive Skinning Options
  • Instantly Generate Batch Files with custom parameters
  • Designed with targeted output in mind
  • Hyper-Advanced leveraging of file managers like Directory Opus
  • Create an accelerated Interface for any type of command line function you can imagine
  • Create Interfaces to control ANY command line program in the Windows OS, Phenomenally Powerful
  • Leverage Complex Command Line Programs like ImageMagick, FFMpeg, HandBrake, Nconvert, Compression Programs
  • A new paradigm in instant front end development, Millions of CHiPs available online.
  • Facilitates easy COMMAND LINE EXPERIMENTATION for tuning audio/video batch processing
  • Populate Controls with YOUR CONTENT
  • Inject your control values INTO the Command Line as Variables.

CHiP Forensics Viewer

View Live changes to your CHiP as you manipulate the control values

The CHiP Forensics view serves useful information about the CHiP along with key reference information. The Forensics viewer also gives details on errors in the CHiP that prevent it from running.

Interfacist Skinning Options are RIDICULOUS!

Interfacist allows you to skin every single aspect of the interface to your liking.

Buttons can also be skinned on an individual level allowing for very fine tuned customizations.

If you use Directory Opus, you will certainly love Interfacist, guaranteed.

It's fast, it's completely customizable, and it's utility is unprecedented.

2 Likes

Might be better to edit this down. This looks like the entire manual for the tool, not a brief introduction pointing people to more information if they need it.

It will become out of date, as well as being an excessive level of detail for this part of the forum.

4 Likes

Maybe it's just me and maybe I'm hypersensitive, but when I look at the name of this tool, I see and focus on the word Fascist. Yes, I know that there is no "s" in the name of the tool, but my eye, especially at a quick glance, sees fascist and not facist. Given today's political environments around the world, I might humbly suggest re-thinking the name of the tool.

2 Likes

I had the same thought and didn't even know it was misspelled. Then I thought maybe it comes from someone whose native language isn't English, but maybe one in which the thoughts we had wouldn't occur, but the stuff on the website doesn't seem to give any hint of that.

Leo and I both had similar thoughts about the name :slight_smile:

Looks like a very powerful tool though, although the amount of info given above makes it a bit hard to quickly get a feel for what it can do.

1 Like

Greetings, first of all thanks for the feedback, it's appreciated and unexpectedly intriguing. I'm certainly not trying to offend anyone and I'd like to sincerely apologize in advance to any who may have been inadvertently infuriated by the name of the application.

In the English language the suffix 'ist' is often used to denote 'one who does something at an expert level', for example: an Artist, Environmentalist, Bassist, a Keyboardist, a Percussionist, a Scientist, etc. This program creates free form user interfaces, so I combined the term interface and the suffix 'ist', hence Interfacist. The term Fascist is not only spelled differently but it's also pronounced differently (it's actually pronounced 'Fashist' with a 'sh' sound and not 'faceist'). In my mind there was zero relation, the program has nothing to do with Fascism and it's spelled differently, I didn't anticipate that the title would be the center of the conversation versus the functionality of the program but here we are.

Regarding the explanation of what Interfacist does: This has actually been a major challenge for me because it does so many things. As far as I know there isn't a program like it in existence, so clearly conveying the features and advantages has been obviously very tough (that's why the first section is titled 'What in the World is Interfacist?' which I thought was effective but evidently it isn't). I didn't want to omit anything important so I guess I threw everything at the wall. How do I condense immensity succinctly? I'd appreciate any feedback on this.

Lastly to rcoleman1943, you're very insightful, my native language is English, however I was born in the Virgin Islands which is culturally very different so my sensitivities are different as you stated. Again I truly appreciate the honesty and sincerity of all who commented, it's certainly not what I expected but is definitely invaluable. So now I'm considering a new name and domain name, wow!

1 Like

@Zion Please help us understand how your program would tie in with DOpus.

As for the name... Another word to denote expertise is Guru. Perhaps GUI Guru may prove more apropos and potentially less divisive...

I did figure out overnight that the name was probably related to interface which didn't even occur to me on first read.

I'm not sure, but probably interfaceist including an e woud have made me more inclined to mentally pronounce it with a long a and less likely to have had the reaction I had.

2 Likes

InterfaceIT

2 Likes

Check out this video demo of using Interfacist with Directory Opus.

image

2 Likes

...or Interfist :wink:

1 Like

@anon94230625
lol

@Zion
Besides the name (I thought the same as everyone else at first glance and I can't unsee it now, sorry.), I do want to try the product. I think it's a great idea. I wanna try it with Handbrake for myself. I can also think of ideas for using it to help family/friends that aren't so computer savvy. Thanks for making the product!

1 Like

Thanks for the demonstration. Much clearer how someone could leverage it in DOpus and other applications.

Went ahead and made the purchase... Keep up the great work!

2 Likes

I started watching the video tonight.
I'll be looking into it as time permits.

The decision was easy.
It really is an authentic Jamaican voice.
I worked with a fellow from Jamaica for about 2 -3 years.

Strongly now,
Yaah Maan !
It sounds almost like a German Ja followed by Mahn.
Perhaps a new name for it should reflect Jamaican Culture ?

1 Like

What does it do better than DO native GUI features?

Greetings, Interfacist is a dedicated UI/Frontend builder with a very wide range of features like Presets, Database Connectivity, CSV Management and other features. It's not to be compared to Directory Opus which is a different class of application, it elegantly compliments Directory Opus.

Download the free trial and check it out to get a better understanding of it's capabilities.

That's what I asked myself after the video. Above all, the rudimentary things can be solved with easily dlgchoose etc. in the same way. And unfortunately the non-Windows-compliant GUI doesn't appeal to me at all.

The possibility of saving presets stood out a bit, as did the controls, but that can also be solved with the built-in script language and then the general question arises whether I should also familiarize myself with an additional program or rather read more into the script language like VB or JS? Especially since there are enough templates here where you don't have to reinvent the wheel.

Greetings Sasa, I'm not certain if this is apparent, Interfacist can target any program, not just DO.
The video shows a simple example of how one can use it with DO.

Also every single aspect of the look of Interfacist can be customized easily so you can make it look like whatever you want (Windows-compliant). If you get a chance, check out the trial.

Interfacist is ideal for Handbrake and it's exceptional for FFMPEG in particular because it has so many command line options.

I see, so this is a utility that "accidentally" overlaps parts of DOpus functionality.

I am not expert in the area, but I am pretty sure there exist tools which allow to build such GUIs even graphically (ie. drag and drop items from controls palette etc.), not from a text file.