Facade Technologies Inc.
×

Hey there, we're about to drop a sweet new product called Facile!

A New Take on Automation

Facade Technologies is focused on bringing innovative solutions in automation to businesses. We believe the key to automation is leveraging the power of existing applications; However, most programs weren't created with automation in mind. Using our state-of-the-art software, you can take control of almost any application on your computer! We call it Facile, which means over-simplified or easy to use. Currently, our software is being developed for Windows exclusively, but we plan to expand to linux in 2021 and MacOS in 2022.

We expect to release our product this summer, so keep your eyes open!

What It Is

Facile is a desktop application built for Microsoft Windows that generates Python APIs that can control almost any software on your computer that has a graphical user interface. Through an intuitive user interface and a series of helpful prompts, you can create a custom API that can easily be adapted to fit your ever-changing software. These APIs are useful if you already know how to perform a specific task in an application. They make the most out of your knowledge - dumb programs are a thing of the past!

We're called "Facade Technologies", because the generated Python API that you design can be used to create a new front to an existing application. Using a Facile API as the glue, your applications can piggyback off of existing applications without the user even knowing.

NOTE: An API (Application Programming Interface) is a library that allows your program to interface with something that already exists. In this case, that's the software that you're building a facade for. Using APIs allows you to build complex systems faster by leveraging the power of a tried-and-true system.

How It Works

  1. Install Facile
  2. Have an application in mind that you want to automate actions in.
  3. Create a Facile project, which contains all necessary information about the target application and the actions that the user would like to perform through the API.
  4. Build a model of the target GUI. This is achieved very easily using our automated exploration tools. We'll decompose the target GUI into its constituent components and display a realistic model of what the target GUI looks like. With your help, we not only describe what's in the model, but also how it behaves. This is important because graphical user interfaces all have unique behavior. Having a model that accurately describes the behavior of the GUI is crucial to generating a robust API.
  5. Define actions that you would like to perform on components from the model of the target GUI. The user can define complex actions that describe the flow of data and sequence of events. These actions will be performed exactly as the user specifies in the generated API. The actions built by the user is what we call the "API model".
  6. Once the two models mentioned above have been created, the API can be generated with a click of a button. The API is complete with formal documentation describing each function of the API as well as an example program that demonstrates how the API can be used to build a facade. The generated API uses proprietary algorithms to robustly perform the actions specified in the API model.

An API can be used in as little as 3 lines of python code.

Example Use Cases

There are many uses for APIs that control graphical user interfaces. The most obvious ones are listed below, but a creative mind could think of more.

  1. Automation - This is the most apparent and perhaps the most powerful use of Facile APIs. Facile APIs are designed to act as the human in programs that are built for humans. Having a direct replacement would allow employees to focus work that requires more attention instead of pushing the same buttons over and over again. Even tasks that are partially repetitive can incorporate some level of automation.
  2. GUI Testing - A subset of uses for automation is automated GUI testing. Every developer that's creating an application with a GUI should be testing the GUI; however, this takes time and time is money. A Facile API can greatly simplify the process of GUI testing by automating user interactions. Of course, this requires quite a bit of verification code to be written, but that's very application-specific. Using a Facile API allows developers to focus on the verification code - the code that really matters.
  3. Cleaner User Interfaces - One company that we've talked to has wanted this product because their software is outdated, but too hard to rebuild. It has a lot of cutting-edge technology, but it's difficult to use and has an ugly user interface. Their solution is to hide their current software but use it as an engine running in the background. This is exactly what a Facile API can be used for, but they wanted to take it to another level. Their goal is to create smaller, custom applications that could be sold for a fraction of the price but would be extremely easy to develop and their flagship software would be used in the background without changing a single line of its source code.
  4. Connecting Multiple Applications - A lot of applications aren't designed to work in conjunction with other programs. It can often be very difficult to make changes to to software, and sometimes compatibility can feel like a forced afterthought that doesn't make sense. With Facile APIs, you can control multiple applications at the same time and move data however you see fit! Of course, this doesn't work with more complicated or proprietary forms of data, but it works great with moving simple data from one application to another.