CxAlloy TQ Update – Custom Branding and More

CxAlloy TQ just got a big update over the Labor Day holiday. This update includes some highly requested features, like custom branding, plus a few surprises that we think you’ll like.

Dashboard

The first thing you’ll notice is the updated project dashboard. This new dashboard does a much better job of giving you a true overview of your project’s status. At the top you’ll find status breakdowns for issues, equipment, checklists and tests. Below that you’ll find detailed information about your project’s issues, including the average time to close issues and a graph of issue statuses over time (if you aren’t seeing any historical issue data, don’t worry, we’ll be backfilling this information in the coming weeks). Finally, we’ve included some metrics to identify pain points: a list of the disciplines (such as mechanical, electrical, etc.) with the most issues, and a list of the assets with the most issues. Over time we hope to expand out these metrics, so if there is something you’d like to see, please let us know!

Custom Attributes

The next feature is one we have been piloting for a while behind the scenes: custom attributes. Attributes are named properties of assets, such as model number, voltage, air flow, and so forth. You can now add your own custom attributes to your project. We still provide our global list of common attributes, but if you’ve got something unique you’d like to track as an attribute, no problem! Just go to the “Attributes” section in your project settings and add it. Custom attributes work just like any other attribute, so you can link your checklist and test lines to them in addition to adding them directly to an asset. And for account administrators, custom attributes can be added at the account level. Those attributes are then accessible to all projects within your account.

Finally, we’ve delivered white labeling for our premium customers. White labeling allows account administrators to replace the CxAlloy logo with a logo of their choosing. This logo will be used on the site itself and in all PDFs. White labeling fits in perfectly with our philosophy: we want to help you build your brand, not have you help us build our brand. When you are successful, we are successful. We consider all of our customers partners and we hope white labeling will strengthen that partnership.

Of course, as always, there are a number of smaller changes and fixes to make the software work better for you. To learn more you can read our release notes.

We’re quite proud of these new features and we certainly hope you like them too. If you have any questions or suggestions, please get in touch. We are listening.

Jacob Terry

Director of Product Development

Smoke, Mirrors, and 300 Milliseconds

Tablet devices, particularly the iPad, have been described as “terrible computers with pretty decent graphics processors”. The hardware capability of your iPad is far less than what you’d find on the computer on which you are likely reading this post. That created a challenge when it came time to design CxAlloy TQ for tablet devices. The iPad seems pretty quick – icons slide around the screen as smoothly as you can swipe them. Even using CxAlloy TQ from Safari on iPad seems to operate similarly to using it from a desktop browser. So, it may seem like designing a tablet-oriented interface for the software would just be a matter of creating bigger, touch-friendly buttons, right? Not exactly.

Offline Changes Everything

With the CxAlloy TQ mobile web app we wanted to do more than provide a touch-friendly interface for the software. After all, the desktop software is already fully functional on an iPad. The primary purpose of CxAlloy TQ would be to work offline. This one feature, offline access, completely changed how the mobile app would function compared with the desktop version. It would be a challenge, but we knew we could tackle it. And we knew we had to – the benefits of being able to work in the field without an internet connection were just too great to ignore.

One of the biggest challenges was performance. So-called “native” apps – those you’d download from the App Store or Google Play Store – interact more directly with the hardware[footnote 1], while the web technologies upon which CxAlloy TQ is built operate at a higher level. Using web technology gives us more flexibility to fix bugs quickly and roll out new features as soon as they’re ready, but require us to more carefully optimize our code to ensure the app is fast and responsive.

You may think it can’t be that difficult since you probably visit lots of regular web sites on your iPad and they don’t have any performance problems. Perhaps you’ve even used CxAlloy TQ – the desktop version –  from your iPad and found that it is pretty zippy. This is because of another advantage that traditional web apps have – servers. Most of the heavy lifting of searching through records and building pages is done by dedicated servers that were built to do just that. So, every time you visit a page in CxAlloy TQ, most of the work to create the interface in front of you was done by the servers and shipped down to your browser. But in order for the CxAlloy TQ web app to work offline, it can’t depend on the availability of the server to do the heavy lifting. It’s on its own to process data and build the interface. It has to do this with the iPad’s relatively meager resources.

Zombies, Workers, and Hardware Acceleration

So how do we manage to create a fast and responsive web app? Well, there are a few tips and tricks we can use to spread the work around and manage the device’s memory effectively.

For example, when the software syncs its data up to the server, it does it using a background process called a “web worker” which means that the main processor can spend its time making sure the interface is snappy while the background is busy chugging away sending records to and from the server.

Another trick is to utilize 3D technology to draw the interface in the mobile web app. This may seem odd seeing as how there aren’t any 3D graphics in the software, but by offloading certain interface elements to the tablet’s 3D hardware (which is surprisingly powerful), we can free up the main processor for data crunching while still keeping things sliding around smoothly on screen. Offloading something onto a dedicated piece of hardware is called “acceleration” and it’s a good name; graphics that are hardware accelerated are much, much faster than those controlled by the software itself.

Another challenge with offline web apps are zombies. Zombies are bits of code that seem to go away but actually hang around eating up memory (or “brains”, if you like) which slows things down.  They also sometimes will pop back up, causing errors when you least expect it. Like most zombies, they are difficult to track down and dispose of and will generally ruin your day. On desktop web apps, zombies are cleared out every time you navigate to a new page, but since the page never really refreshes in an offline app, we have to be vigilant in order to not cause zombies.

A Nip Here, A Tuck There

Hardware acceleration, background processing, and zombie-hunting coding practices are good overall habits for making sure things are running as smoothly as possible, but unfortunately, there is nothing we can do to speed up the iPad’s hardware. Some actions are just slower on an iPad. In those cases we can employ techniques to make the software feel faster.

Recently, we removed a 300ms delay on tapping elements such as buttons in the app. By default, an iPad will wait 300ms after you touch the screen before it counts it as “tapped”. It does this just to make sure you aren’t holding your finger down in order to “press” something. We don’t have anything in our interface that needs to be “pressed” so we included code that doesn’t wait for this 300ms before declaring something “tapped”. The result is an almost imperceptible change than makes everything “feel” much faster even if we only cut out 300ms from a tap.

Another recent change that helps to make the software feel faster is the addition of a loader on a record’s detail view. When you load up the checklist section, for example, it has to not only load up the list of checklists, but it has to load up the first checklist in the list (or the last one you viewed), as well as all of the checklist lines for that checklist, images that have been downloaded, and issues. It’s a lot for a humble iPad and it takes some time. By adding a large loading animation we communicate to the user that their request was received, providing a visual indicator for what is happening. We also added immediate color changes to list items when tapped to confirm to the user that the software has received the action and is working instead of the user waiting to see if the software really did register their tap. Uncertainty over what the software is doing leads to discomfort. And discomfort is a slow feeling. It may seem a little “smoke and mirrors”, but the end result is a mobile web app that feels responsive and quick even as it is processing large amounts of offline data.

— footnotes —

So-called “native” apps – those you’d download from the App Store or Google Play Store – are created using native technologies that are translated (or “compiled”) to the binary code that computers can understand before they are sent to users. Web technologies upon which CxAlloy TQ is built is “interpreted” code, which means that it is translated to machine-readable binary code every single time you use the app. Interpreted code is much more flexible than compiled code, allowing us to fix bugs and address problems more quickly and easily as well as give us the potential for a cross-platform app. But, since interpreted code is converted when it is run, it is slower than compiled code.

Introducing Progress Reports and Improved PDFs

I’m pleased to announce the launch of Progress Reports as part of the latest release of CxAlloy Total Quality (TQ). This release also features revamped PDFs and a number of other improvements. I’d like to give you a quick tour of these features and share with you some of our thinking behind them.

Progress Report
The new Progress Reports section.

Progress Reports enable project managers to effectively communicate work done over a given time period. Project work happens in a lot of ways and in a lot of places – at planned site visits, in impromptu conference calls, at scheduled meetings, and via email, to name just a few. Some of this work is planned and structured, such as functional testing, while other work happens extemporaneously. Progress Reports allows for efficiently communicating both structured and unstructured work. For unstructured work, project managers can outline the work completed however they see fit as part of the “Actions and Activities” component of the report. CxAlloy TQ provides the common formatting tools necessary to write an effective summary of work, such as bold, italic, and underline text formatting and bulleted lists. Structured work over the selected time period (such as issues closed, checklists completed, and tests attempted) can be included automatically by simply selecting those options when printing the Progress Report PDF.

Progress Report Details
The Details section allows you to see what’s happened during the selected time period.

Progress Report Editing
Common formatting tools are available.

Progress Reports can be found under the “Reports” tab in your project. By default only account administrators have access to Progress Reports. Account administrators can grant access to other CxAlloy TQ users on the project by updating their permissions.

This update also features expanded and improved PDFs. We updated our PDFs to better accommodate the needs of project managers and in response to customer feedback. One thing we heard was that it wasn’t sufficient to include the project logo on only the first page of a given report. Now each printed item (such as a checklist or test) has a full header, including the project name, number, and logo. We also added full title pages to more clearly communicate the contents of a given report. Finally, we made the issues PDF more compact. Now this frequently printed document will require less paper and be easier to manage in the field.

The project name, number, and logo now repeats for each item.
The project name, number, and logo now repeats for each item.

PDFs now feature a bold, clear title page.
PDFs now feature a bold, clear title page.

Not only did we improve the PDFs, but we added a lot of new ones! You can now print a PDF for any asset: spaces, zones, floors, buildings, equipment, equipment types, and systems.

As usual you can see the full list of updates in this release by checking the release notes.

I hope you’ll use and benefit from these new features. If you have any questions or comments, get in touch! We love to hear from our customers.

Jacob Terry

CxAlloy Director of Product Development