We Wear The Watch We Make

I am not just one of our software developers; I am also a user and so is everyone else on our team. Our insatiable curiosity and passion about drilling engineering and problem solving are the driving force behind delivering our products. Our goal is to save drilling professionals’ time and reduce risks, and if we do it right, we also help ourselves – BONUS!

Software development, specially drilling software development, requires collaboration from a pool of talents, ranging from drilling engineers, mathematicians, programmers and quality control personnel. A good software package is measured not only by the accuracy or comprehensiveness, but also by how easy it is to use it. The gaps between users and developers are always there. We try to bridge that gap by utilizing our own software on our consulting projects.

Using our own software transforms us from developers to decision-makers. We become more sensitive to users’ needs and more careful in our interface design.

It is not always easy, but it is a lot of fun. From every interface design we put into the software, we toss aside dozens more. If we are complaining about the number of clicks to accomplish a task, then the users would too.

The results?

The software we use is the software we develop, in other words, we wear the watch we make.

Wooden Barrel Theory

Have you ever seen those old-fashioned wooden barrels? I recently ordered one, Of course, my intention is not to study the theory indicated in the title, but use it as my foot SPA.

Wooden Barrel Theory - Pegasus Vertex, Inc - drilling software

Because of the way wooden barrels are made, people have derived a theory: the capacity of a barrel is determined not by the longest wooden bars, but by the shortest, as you can see illustrated below.

Wooden Barrel Theory Illustration - Minimum Piece

The theory can apply to numerous situations. A chain is only as strong as its weakest link. The durability of a product depends on the part that fails first. In military situations, sometimes all it takes to win a battle is to find the weakest point of the enemy and attack it. The performance of a team is severely limited by the least capable member. A fleet will only move as fast as its slowest ship. In plant or crop growth situations, increasing the amount of plentiful nutrients did not increase a plant’s growth. Only by increasing the amount of the limiting nutrient was the growth of a plant improved.

For a software product, we need to ensure the robustness of major functions. Ironically, the overall quality of a piece of software does not depend on the maximum number of fancy features, but on the minimum number of bugs or errors.

Fancy features in a software package may be eye-catching, but bugs are the killers of its usability. As we expand a computer program by adding more features, the chances of having more bugs grow at the same rate, if not a greater rate. It is up to our software development team to look at the balance of features and bugs.

We may have the best idea or architecture of a software package; however, if our implementation process creates fatal shortcomings, the success of the product will not exceed the size of the fatal mistakes.

Same rules apply to the drilling software development, including the levels of developers and qualities of programs. Needless to say, we strive to have more comprehensive programs (with minimum bugs). We also heavily invest in the usability of software by eliminating as many bugs as possible. After all, if there is just one short wooden bar on the barrel, all the other bars that are longer than the short one are actually wasted, right?

What Is Common between Elevator and Drilling Software?

Creativity, life or business each has its up and down, like an elevator. This article was triggered by an elevator in a hotel I stayed in Erbil, Kurdistan, Iraq. I spent one week there providing cementing software training to a fast-growing service company in the region.

One time I stepped into the elevator and accidently pressed ④. The button ④ lit up. My room was at level 5. Realizing the mistake, I pressed ⑤. Then, just out of curiosity, I pressed ④ again. To my pleasant surprise, the light on ④ was turned off. You know what? The elevator did not stop at level 4.

Here are the 2 pictures I took later to reproduce the steps.

what is common between televators and drilling software-Pegasus Vertex

My past experience told me that if I press wrong buttons, I have to forgive myself, either patiently wait for the unscheduled stop or let the elevator stop at untended level after I leave.

This new experience let me wonder why they design their elevators differently.  There must be reasons behind the design of elevator control panel. As a software developer, I find this new way of design the most natural. Because round buttons representing the hotel floors are actually check boxes: riders can change mind to go to room first instead of heading to gym. Plus, adding this “Cancelling” or “Checking off” feature does not affect other normal selections.

During software development process, developers use many controls in the graphical user interface (GUI). Among those controls, a radio button or an option button (⊙) is a type of element that allows the user to choose only one of a predefined set of options. On the other hand, a check box (☑)permits the user to make multiple selections from a number of options or to have the user answer yes (checked) or no (not checked) on a simple yes/no question.

In our drilling software such as MUDPRO(drilling mud reporting), we use these controls extensively. For example, in generating daily mud report, we provide checkboxes and options, allowing mud engineers to tailor the contents and style of the report.

Mudpro daily report - Pegasus Vertex

Checkboxes and options in MUDPRO Daily Report

Problem of programming a bank of elevators is often used as exercise for students majoring in computer science. The software program is to control the actions of each elevator, based on the information of the state of each button on the floors and inside the elevators, as well as the time elapsed since each floor-button is pushed. Drilling software provides technical solutions to the engineering problems in drilling operations, based on the operation parameters. The commonality of any programming tasks is to test the functionality and usability from a user’s prospective. This process requires constant exchange, back and forth between developers and users. This is also one of the reasons why upgraded versions are necessary. Software is not only a product, but also a process of improvements. This new control panel in the elevator might be an upgraded version.

MUDPRO, when generating the end-of-well recap, memorizes the users’ setting such as shown in the following graph, so the user can generate recap in the same style.

MUDPRO report memorizes users settings - Pegasus Vertex

MUDPRO report memorizes users settings

Our office is in a 5-story building. I take elevator at least twice a day. In the future, there might be elevators that can recognize the frequent-rider like me through eye recognition and automatically memorize where I am going. Of course, it will allow me to cancel my selection and visit my travel agent on the 3rd floor.

I am still dreaming… Elevator chime sounds. My floor is here and I got to go. Have a good day and I see you next time.


Art and Engineering of Drilling Software

Calgary is Canada’s oil center and the sister city to Houston. It is also a city of art and design.

There are quite a number of art galleries on 11th avenue in the southwest part of town. If I do have enough time to tour around, I’d prefer to visit Banff National Park, otherwise these galleries are the great substitutes. There are lots of beautiful paintings, many of them depicting the wonders of the Canadian Rockies.

In many ways, the creation of a painting is similar to the development of software. Artists have the urge to express their ideas. They construct the final image in their minds and plan the steps to achieve it. They use all the essential tools such as paintbrush, paints, palette, canvas and easel to translate their abstract image into artistic reality.

Similarly, during a typical software development, ideas are processed into technical specification represented by flowcharts and data arrays. Developers use computer language to translate the abstract formulas and logics into a tangible tool.


As drilling software developers, we have something to create for others, not because we have to create something, but because it helps others and shares information. It is like the painting process: with each practiced brushstroke of the sunset, it gets closer to its perfected final version. Eventually the artist (developer) says, “It’s done. This is it!”  Our recently developed software CEMLab (Cementing Lab Data Management System) is a debut of a lively “expert” on cementing.

The difference between art painting and software is that software continuously improves as the result of interaction between developers and users, while a painting is finalized once and for all.

We hope that our clients who provide cementing services will use CEMLab as their cementing lab’s platform for designing slurry, recording testing data, generating reports and managing test data. Together, we can make your job easier by continually making CEMLab better.