Quick Reaction Software

customized, rapid, relentless mission-critical tools
“We Solve Problems”

About Quick Reaction Software

Software development does not  always take place in a clean, well-lit room. That’s where we come in. We specialize in rapidly producing Windows software for mission-critical, one-of-a-kind, highly-customized tasks for which no commercial solution is available. Our turnaround time is days, not months. We've been deployed to unfriendly places; we’ve untangled horrible user interfaces; we’ve automated the clunkiest of start-up checklists. We know that urgency sometimes replaces formality. Finish this sentence: "It would be great if my system could _____." That’s where we thrive.

Why use Quick Reaction Software?

We don’t write software for the black boxes. We write the software that connects the black boxes. We don’t replace existing software; we extend it. We make it easier for operators to use. We turn raw data into useful intelligence. We’re expert middleware developers.

 - Windows GUI or fault-tolerant background services
 - functions can be compiled into a DLL for use in Python or Visual Studio
 - extraction, manipulation, transport of data
 - custom TCP/IP programming:
       packet injection, passive listening
 - geospatial applications:
       imagery, ArcGIS, shapefiles, Google Earth API
 - shaping output data for input into other systems
 - work with any file format
 - data fusion
 - adaptive algorithm development

Case Study 1: putting handles on a monster

Our lead programmer was a plankowner on the Saturn Arch program in Afghanistan (Yogi I and II). The original sensor was a one-of-a-kind, Three Letter Agency black box. It came with a clunky user interface, no user manual, and no start-up checklist. Instead of trying to replace the existing software, he was able to write intuitive wrappers that engaged the hardware with hooks, handled data transport, gracefully shut it down, and allowed mission commanders to collect 300% more data than before, with fewer errors. This is real world support to the warfighter.

Case Study 2: converting custom data to PPTX

The Night Eagle program in Iraq was demanding. Operators flew all night to collect data that was eventually distilled into a PowerPoint presentations for the battle captains. But the process of creating presentations was manual and tedious. Mistakes were often made and many precious hours could be lost.

We created a simple interface that allowed operators to convert their data packages into a PowerPoint presentation with just a few clicks. We figured out how to unpack the data package and extract its imagery and metadata. Then, by exploiting the OpenOffice Component Object Model, we could push maps, imagery, and data directly into a PowerPoint template, creating the PPTX presentation invisibly, in a fraction of a second. Because of our software, useful intelligence was put in front of decision makers in minutes, not hours. Lives were saved.

Case Study 3: improvise, adapt, overcome

Here's a great example of when something works great in some laboratory, but in the real world, operators struggle to make it work. Our lead programmer once saw how difficult it was for airborne JIEDDO operators in Afghanistan to send mission-critical data to the analysts on the ground. They were using a very noisy and unreliable TCP/IP air-ground data link. Normally, TCP problems are meant to be “self-healing”, but in this case, loss of signal could last for several minutes. Packet loss was unacceptably high. Files sent to the ground would stall half-way through, or arrive corrupted. Simply adjusting timeout lengths didn't work.

Blame who you want. But the warfighters needed support, right quick, not excuses.

Our lead programmer totally re-wrote their data transport software. To the airborne user, the interface was simple: drag-and-drop any file meant for the ground. Behind the scenes, the files were compressed, encrypted, and sliced into tiny packets. The packets were sent relentlessly by UDP to corresponding software on the ground that automatically verified their hash, re-assembled the packets in order, decrypted, and decompressed the file. Relentless was the keyword. Missing packets were re-sent again and again, forever, until they arrived. One user even reported that a file sent the previous day arrived intact when the system was started one morning.

Principle 1: clean software

We strive for reliable, tiny, clean, fast code, compiling it only with the minimum number of Windows libraries. We're unafraid of inline hand-written assembly to solve certain math-intense problems. Simple code is easy to debug, easy to modify, easy to understand. We use proven libraries for encryption, compression, graphics, file conversation and sockets. We promise not to be greedy with your CPU or network bandwidth.

Principle 2: intuitive user interface

User interfaces should be intuitive. Things should make sense. Our objective is to get someone fully trained on our software only after a minute or two of use. Or perhaps no training at all. One of our programs came with the directions, “Drag and drop the file. We do the rest.”

Real World Feedback
“You know what I like about your software? It just runs. Double-click and it runs. It never complains about a missing DLL, it doesn’t demand the latest version of .NET or some C++ library. It just runs.”

                – Director of Systems Engineering for Radiant Falcon,
                   Night Eagle, Saturn Arch (Yogi I and II), and Desert Owl
                   at SAIC's Special Programs Division