angle-graphic

A New Feature Every Week – Customer Appreciation Summer

image

When a customer makes the decision to use CxAlloy TQ they are not only investing in the CxAlloy TQ of today but also what it will be in the future. We understand that, which is why we are always trying to make the software better, whether that’s performance improvements, major new features, or even significant reworkings to enable new functionality.

Sometimes, though, we can get too focused on the big features and forget to also improve the smaller parts of the software – those minor annoyances that aren’t a big deal in isolation but can be frustrating when encountered every day.

To address those, this summer we’re trying something a little different. Rather than spend months on some significant new feature, we will be releasing one new feature every week for twelve weeks. That’s twelve new features in three months. Better still, these features have been sourced entirely from customer requests and include some of our most requested features.

And we’re starting this weekend!

The First Weekly Feature – Batch Manage Attributes

Over the weekend we will release the first of our twelve summer features – the ability to batch add, edit, and delete equipment attributes. From the equipment list, select multiple equipment. In the action bar that appears, click “Attributes”, then one of “Add”, “Edit”, or “Delete”.

image

A bonus feature has snuck into this release as well – you will be able to add new attributes “on the fly” (assuming you have the permission to manage project settings). This includes when importing equipment – no more canceling out of an import because an attribute you need isn’t in the list.

image

Upcoming Weekly Features

In addition to batch managing attributes, the following features will be released in June and early July:

  • Report generator table of contents
  • Batch change test attempt status
  • Project dashboard PDF
  • Copy meeting agenda and minutes between projects

We’ll announce more features as we get closer to their release, and each week we’ll post a short blog post about that week’s feature.

Coming Soon: A New Way to Track Feature Requests

If you’ve participated in one of our webinars or monthly trainings, or talked to anyone on the team for long, we’ve probably asked for your feedback and suggestions. That’s because we are deeply committed to building a product that solves your problems before anything else.

That commitment may not always be as apparent as it should be because we don’t always communicate what we are doing with those suggestions.

We want to solve this. Starting later this summer we will be rolling out a new portal where you can make feature requests, see others’ suggested features, and vote on the features you like. You’ll also be able to see responses to requested features from the development team. We’ll be indicating whether we plan to implement a requested feature. Estimating timelines is notoriously difficult with software, but in time we hope to even include estimated delivery dates for some features.

We think you’ll really love this summer!

Dropping Support for iOS 9

Version 3.2 of the CxAlloy TQ app will drop support for iOS 9. This change will affect some older devices that are unable to update to iOS 10 or 11:

  • iPad 2
  • iPad 3
  • iPad mini (original model)
  • iPhone 4s

If you are using one of these older devices, you will be able to continue to use a version of the app prior to 3.2, but you will no longer receive updates via the App Store.

App versions prior to 3.2 will continue to sync to the server for the foreseeable future, but at some point new features will require us to prevent syncing from these older versions. We will give advance notice when that happens.

If you have any questions about using the app on these older devices, or if you are unsure if your device is affected, please email us at support@cxalloy.com.

Checklist Upgrade Now Available in Beta

We are happy to announce beta availability of the checklist upgrade!

The checklist upgrade replaces checklist sections with new “Group” pages and updated “Batch Add” and “Copy from Account” functions. In combination, these features give you more control of, and visibility into, your checklists while not losing any of the benefits you currently get with sections.

This brief video gives an overview of the changes you’ll see when upgrading a project.

https://cxalloy.wistia.com/medias/orbh0ef5cy?embedType=async&seo=false&videoFoam=true&videoWidth=640

Once a project is upgraded you’ll be able to do things that weren’t previously possible, such as:

  • Batch reassign all the checklists assigned to the Electrical Contractor.
  • Print the list or detail of all checklists assigned to the Mechanical Contractor.
  • View a single page containing all lines of all checklists with status “Incomplete”.
  • Customize the name of checklists you create through the “Batch Add” process.
  • And much more…

For all of the nitty-gritty details of the checklist upgrade, please read our Checklist Upgrade Guide.

What Do We Mean by “Beta”?

By beta we mean two things:

  • An organization must request access to the checklist upgrade and be added to the beta list before they are able to perform the upgrade.
  • Although we are not aware of any specific issues, there may be limitations or bugs during the beta period, and additional features may be added later.

If you are interested in upgrading your projects during the beta period, please contact us at support@cxalloy.com.

Other Improvements

This checklist upgrade launch was part of our version 4.21 release, which went out last weekend. The release included a handful of other features as well, including showing issues and files per-line in the checklist and test PDFs. Read the Release Notes for all of the updates.

Coming Up: Customer Appreciation Summer

We are incredibly grateful to you, our customers, and we want to not just tell you that, but show you. To that end, we are making this summer a “Customer Appreciation Summer”, during which we’ll be delivering as many of your most-requested features as we can.

All summer long we will be regularly releasing new features based entirely on the requests we have gotten from customers. Sometimes improvements addressing small frustrations get pushed back in lieu of big updates – this summer will be all about all those little annoyances (don’t worry, they’ll be some big ones too!). We think you’ll love it and we’ll share more details soon.

Swipe Right on Checklists and Tests in iOS

We’re excited to tell you about our latest iOS release: version 3.0! We felt it was justified to break out the “version 3″ guns for this one, as we’ve completely overhauled how you answer checklist and test lines. Take a look:

image

Before we dive into the changes in 3.0 it’s important to clarify that this is not the checklist upgrade that will remove sections. That upgrade is both separate and opt-in, so even after we release it your organization will choose when to make the change. You can read all the details of the checklist upgrade in our checklist upgrade guide.

With that out of the way, let’s look at what’s new in 3.0. There are four big changes:

  1. You can now attach photos to individual lines.
  2. You can swipe a line to answer it.
  3. Line actions are now hidden by default. Tapping a line opens it and shows you relevant actions.
  4. You are now automatically prompted to set or confirm linked attribute values (i.e. “Manufacturer”, “Serial Number”, “Air Flow”, etc.).

Attaching Photos

All the other changes in this release were really driven by the first feature we wanted to add: attaching photos to individual lines of a checklist or test. And we did it! You can now add one or more photos to any line, just like you can on the web.

Simply tap to open the line then tap “Add Photo”. As the button indicates, you are currently limited to attaching photos in the app. We hope to allow you to attach other types of files in a future update.

Opening Lines

When we decided to put in the “Add Photo” button for lines we realized that trying to add another button to the interface was just too much. That led us to change how the lines are shown.

image

Lines now show only content, not buttons. You can see the current answer, the question, any note or attribute value, and how many files and issues are attached.

The actions that were previously shown with the line (”Add Issue”, “Note”, etc.) are now shown when you tap the line to open it. This allows us to have more actions, like the new “Add Photo”, without overwhelming you with a screen full of buttons.

Swiping to Answer

The advantage that our previous approach had was that you could answer “Yes” to each line with just one tap. We realized that by hiding buttons until you open the line, you would have to tap each line twice – once to open the line, again to answer it – to complete a checklist or test. That wasn’t acceptable.

To solve this we adopted iOS’s swipe actions. Now, you can swipe a line right to reveal the “Yes”, “No”, and “N/A” answers. Better yet, you can answer “Yes” with a single long swipe. We’ve found that swiping to answer is just as fast as tapping to answer was previously.

image

Confirming Attributes

With all these changes we took the opportunity to revisit how we handle lines with linked attributes. A “linked attribute” is a line that has been set up to record a specific value such as “Manufacturer”, “Serial Number”, etc. Previously you had to tap “Note” to record the value, and although you could confirm an existing value it was easy to miss and unintuitive.

In version 3.0 we’ve totally rethought how this should work. We realized that you wouldn’t ever want to say “Yes” to a line that is asking for a value without actually recording that value. That “Aha!” moment led us to a new approach that automatically prompts you to record the value anytime you answer the line with a “Yes”.

image

This approach has several benefits. It simplifies the process for completing checklists, as now you can just answer “Yes” and the app will tell you if you need to record a value, and it makes it faster to fill out a checklist as the video at the top of this post demonstrates.

For the Nerds

One last note about this release. You may be aware that Apple revealed a new programming language called Swift in 2014. It’s been clear for a while now that Swift is the future for iOS apps. Over the last several years we’ve been porting the app over to Swift, and with 3.0 the app is now 99% Swift code. It’s no small task to port a code base to a new programming language and I’m proud of our mobile team’s efforts to get it done and their foresight in starting on it early.

Keep Us Posted

We’re always interested in your experiences with the app and CxAlloy TQ in general. If you get a chance, let us know how it’s working for you at support@cxalloy.com.

Announcing New Checklists

CxAlloy is excited to announce a revamped approach to how we handle checklists. This upcoming change will give you greater control over creating, managing, and reporting on checklists.

Currently, checklists in CxAlloy are comprised of sections. While this allows for easier consolidation, it can often hinder your ability to effectively organize and report on checklists. Our new approach will aim to move away from checklists having sections by converting those sections into checklists themselves. By doing so we’ll be able to implement several new features that aren’t possible with the current system; specifically:

  • Allowing you to view and report on a list of only those checklist sections with a certain status or assignment. No more “Multiple Statuses”!
  • Allowing you to batch change the status or assignment of a set of checklist sections without having to change the status or assignment of other, unrelated checklist sections that happen to share the same parent checklist.
  • Simplified, more meaningful dashboard-level reporting.
  • An update of the batching system allowing the selection of multiple templates for a set of equipment, enabling you to create more than one checklist per equipment during the batch process.
  • Allowing the selection of multiple templates when copying to and from the account.
  • The creation of new “group” pages that show all the checklist sections for a given sort group on one page, and the subsequent printing of a given group page. For example, you could view all the checklist sections grouped under the “Mechanical” discipline on one page.

As we approach the release for this checklist rework, we’ll release several help articles to explain the specifics of the update, how to do some common tasks, and what you can do to prepare for these changes.

Importantly, conversion will be optional for existing projects, so the update won’t affect any ongoing work. On the other hand, if you want the new features you will be able to choose to convert existing projects on a project-by-project basis.

You can look forward to these improvements as we take the next few months to make this transition as smooth as possible. Keep a look out for more details, FAQs, and videos over the coming weeks and if you have any questions or concerns please get in touch at support@cxalloy.com.

Faster File Uploads and Performance Update

This past year has been an exciting one for CxAlloy TQ, with tremendous increases in users, projects, and activity.

One thing that comes along with a great year like we’ve had is a commensurate increase in the demand on our software infrastructure, and the possibility of performance problems. We hit those a couple of times this year, but we’ve worked hard to not only restore performance every time, but actually improve it. That story continues with our release this week that dramatically improves the performance of file uploads.

As part of this I also want to introduce to you our new status page, status.cxalloy.com, that will not only give you information for any planned or unplanned downtime or performance issues, but also be a public accounting of our commitment to great performance by showing you real-time and historical information on the performance of CxAlloy TQ.

The Challenge

The usage we are seeing today is significantly more than what we saw a year ago, or even a few months ago. This chart from a few months ago gives a good idea of the increases we’ve experienced.

image

June 2017 saw 80% more activity than June of 2016 and 50% more activity than January 2017, just six months earlier.

We are of course happy to see CxAlloy TQ grow, but it can create performance bottlenecks. We firmly believe that your experience shouldn’t be affected by the success of our platform.

To achieve our goal of great performance at all times, we have to look at many areas. For us our biggest bottlenecks are:

  • Database access
  • File uploads and downloads
  • Mobile syncing

Consequently, we have made improvements in each of these areas.

Database Access

Databases are slippery beasts, and small choices can have huge impacts (both positive and negative). The first thing we did this year was work through all of our slow queries and implement optimizations. We are careful to optimize in ways that have only upside, as some optimizations can make one area better while making others far worse. We made huge improvements here, particularly with history and checklists and tests.

In addition, in late June we moved to a much more powerful database server (82 GB RAM!) with a newer version of MySQL to give us significantly more headroom than we arguably need. This allows us to all but eliminate hardware as a performance bottleneck.

File Uploads and Downloads

We’ve seen an incredible increase in file uploads since the turn of the year.

image

June 2017 file uploads were 4x more than February 2017.

Before our release this week, both file uploads and downloads passed through our servers. The more files, the more our servers have to do, and that additional work can make uploads slow and even impact the entire site.

One obvious solution to this increased volume is to deploy more servers. However, we thought there was an even smarter solution than that.

The key is to realize that ultimately these files are not stored on our own servers, but in Amazon’s cloud-based S3 service. We realized that if we could cut our servers out of the loop, so that you upload the files directly to their ultimate destination, and download them directly from there, then our servers wouldn’t have to handle that load at all. Uploads and downloads would be faster and the application would be faster.

The release this week does just that for uploads. Our internal testing shows uploads are often over three times faster due to this change.

By offloading that work to Amazon we benefit from their best-in-class capacity, speed, and reliability. And since we were already relying on these services before, this change is a clear win.

Mobile Syncing

Last year we dramatically increased the speed at which a project downloads to a mobile device by offloading much of the work to our servers. This change has created a huge benefit for our users over the old process. It works so well, in fact, that it highlighted another bottleneck: syncing.

Syncing is a complex process compared to the relatively straightforward project download. It takes significantly longer as well.

There isn’t a good way to offload this work to our servers like we did with project download. It has to be done on the device, which is sometimes subject to older hardware and poor network connectivity. Not ones to shy away from a challenge, however, we’ve been drafting plans to ease this sync burden.

Unlike the systemic change with project download, these changes are small and incremental improvements. We’ve already implemented optimizations on the server to increase the speed at which the server processes syncs. Future changes include:

  • Doing many small syncs that happen periodically in the background, even when you aren’t using the app.
  • For large syncs we will leverage our project download system to replace the stale data on the device with fresh, quickly-bundled data from the server.

Making Ourselves Accountable To You

One way we can ensure that we don’t step off the gas on performance improvements is to give you an unfiltered view into how well we’re doing. We decided to do just that: our new status page provides both real-time and historical data on application performance.

image

The Apdex graph shows both current (Day) and historical (Week and Month) performance.

This Application Performance graph uses the industry-standard Apdex metric to chart real-time performance. This simple metric measures how many requests are met under a defined time limit. We use a relatively standard value of 0.5 seconds as our benchmark.

This is a level of transparency we’ve never provided before, but I’m excited about it. It will drive us to be more disciplined in both maintaining and improving performance, and push us to do the the one thing that really matters: helping you to run your projects as effectively and efficiently as possible.

Areas Served

https://www.youtube.com/watch?v=HC-R3txzgJQ
Celebrate the release of Areas Served with this classic scene from “You Got Served”

With our most recent update you can now define what areas equipment serves. You could previously record this information as an attribute, but having a dedicated place for it gives you the following benefits:

  • You can leverage the locations you have defined in the project by selecting any of your previously defined spaces, floors, zones, or buildings.
  • You can filter and sort based on area served.

You can read all the details in our support documentation.

I would be remiss if I didn’t thank one of our customers that really wanted this feature and provided us with great feedback. They are engaged on a highly demanding project – one of the biggest projects in the world – and their insight helped us get this right, including allowing multiple areas served per equipment.

That isn’t too unusual, though. Almost all of our new features are influenced by our customers and users. If you have an idea for a new feature or a suggestion for improvement, please let us know by emailing support@cxalloy.com.

Attach Files to Checklist and Test Lines

You can now attach files to checklist and test lines! We know that many of you have wanted to be able to more precisely link files to the specific line they relate to, and now you can!

Files attached to lines are still shown in the overall “Files” section of the checklist or test. If a file comes from a specific line we indicate that on the file, including a link to scroll you directly to the line it comes from.

On mobile, files attached to lines will be available in the “Files” section of the checklist or test. It is not yet possible to attach files to lines in our mobile apps. We are working on an update to the iOS app that will add this functionality.

This update is part of our 4.18 release, which includes a few other small additions including a fun one (what could it be? 🤔). You can read the details in our release notes.

iOS Support Site

We recently rolled out a new support site, support.cxalloy.com. The new site provides several advantages; search is perhaps the most important. With this new site we will be continually updating and expanding our support content. Our first update is the addition of iOS support documentation, which you can find here.

In Case You Missed It

Our prior release, 4.17, added several new features including the ability to attach files to meetings. Read the release notes.

Checklist and Test Speed Improvements

Recently we have heard from many users that it was taking too long to load checklists and tests. We heard your complaints and started working on solutions a couple of months ago. Since then we have released several updates targeting checklist and test performance, with the most significant update coming out today.

You’ll find that checklists and tests now load much faster, with the average time coming down from upwards of 5 seconds to less than a second.

We are not done improving performance and will continue to make the site faster in our regular updates throughout this year. As always, please let us know how we are doing and where we could improve by emailing us at support@cxalloy.com.

Dropping Support for iOS 8

Version 2.5 of the CxAlloy TQ iOS app will drop support for iOS 8. If you are currently running iOS 8 you’ll want to update to iOS 9 or iOS 10 so that you can install the update when it becomes available. The update will be available within the next one to two weeks.

This change doesn’t affect the devices we support. Every device that can run iOS 8 can also run either iOS 9 or iOS 10.

Rewriting History

image

In March we released version 4.16 of CxAlloy TQ. It was a moderately sized release in terms of new features, but behind the scenes it was one of the more extensive updates we’ve ever done. I’d like to give you a peek into the engineering that went into this update.

One of the marquee features of CxAlloy TQ is that we track every change to your data. Any time an issue status is changed, a checklist line is answered, a meeting is created, or anything else happens, we record the change and who made it.

Having a full history of every data change in the system has proven incredibly useful. We use it to power the syncing in our mobile apps and to dictate what emails we need to send (and the content of those emails). We’ve used it to rebuild the statistics for every project in the system (twice). And of course we use it to show you what has been happening in your projects.

Unfortunately, the code to get at all this wonderful data was… not great. In fact it was kind of terrible. It was hard to understand. Because it was hard to understand, it was difficult to update or add to. History code quickly got a reputation among the team. For years there was a comment in the primary file: “HERE BE DRAGONS!!!”.

image

Worst of all, it was slow. I’m sure if you ever spent time viewing project or item history you dealt with long waits. And that wasn’t just bad for you – because history didn’t work with the database in an efficient way, it meant that the database spent a lot of time getting history data. That could potentially delay other requests and slow things down for everybody.

Given all this we knew we needed a new approach. The issue is that it’s an inherently difficult undertaking. Our history table is massive, sitting today at over 125 million rows. That creates challenges for making efficient database queries. And each history item could potentially need information from any other table in the database. Add to that the need to convert raw change data into nice English sentences like “Jacob Terry changed the status of Checklist Section Controls from Not Started to Started in Checklist AHU-1” and you’ve got a pretty complex project.

Learning from History

After a lot of experimentation and false starts we landed on an approach that divided the code into three discrete tasks:

  1. Finding the set of related items.
  2. Finding the history for those items.
  3. Converting those history records into standardized “Events” with all the necessary information for displaying them.

Now when you load the history for an issue we go through these three steps. First, we find all the items that are related to that issue. That may include issue comments and uploaded files. Then, we get the history records not only for the issue itself, but for those related items as well. Finally, we convert those history records into standard Events that contain all the information we need to show a nice sentence like “Jacob Terry changed the status of this issue from Open to Closed”.

By separating the history into these three tasks we’ve been able to optimize each part so that it runs much faster. It’s also made the code far easier to understand so that it is easy to add new functionality or improve existing functionality.

Events, Compounded

The real meat of our new structure is the concept of an Event. An Event is a standardized representation of a data change. It contains detailed data on the state of the record before the change and after the change. It contains the ID and name of any related items (i.e. issue “RVR-7-2”; checklist “AHU-2”). It also contains components of the sentence we show, such as the verb (“uploaded”, “added”, “edited”), preposition (“from Open to Closed”), subject (“Jane Doe”), and so forth.

Some of this information (such as the name of an item) requires database lookups. We use fast, efficient queries against primary keys to get that information, and we cache the results so repeated requests don’t require a second trip to the database.

We also created a second type of event, a Compound Event. Compound Events are what you see when you view Project Activity. Compound Events represent a group of similar Events. We group Compound Events not only on the nature of the event (adding an issue comment vs. answering a checklist line) but also on when they happen. If you answer checklist lines in quick succession, for example, those will get grouped together into one Compound Event. If you answer one line in the morning and another one after lunch, that probably won’t get lumped into the same Compound Event.

Compound Events are great for a few reasons. On the engineering side they don’t require all the database lookups that regular Events do so they are even more performant than Events. We can also adjust the time-based grouping to whatever interval we want (a minute, an hour, a day, etc.) so it gives us a lot of future flexibility to create things like weekly activity summaries.

On the UI side they allow you to get a sense of what’s been going on in your project without overwhelming you with a giant list of events. You can then selectively expand the Compound Events you are interested in to get more detail.

Additional Benefits

Our overhaul delivered the biggest benefit we were looking for: improved performance. But we also were able to leverage the new, superior code structure to add in a lot more improvements.

  • Previously we hid checklist and test line changes. We now show all changes, including checklist and test line changes.
  • Previously we hid changes that happened if something was a draft, but related events (like commenting on a draft issue) would still be shown. Now we hide those events as well.
  • We’ve added many more filters to the project activity page.
  • Previously activity for a person was limited to only the past seven days. Now we show all activity.
  • Previously the history included in PDF reports was less detailed. Now it shows the exact same information as shown on the web.

And that isn’t even all the improvements!

History of History

It took us a long time to make this happen. The first code for this new approach was added in October of 2015, and we had been discussing it for quite a while before that. For all those that waited through long load times when viewing project activity or other history, thank you for your patience.

“Here be dragons no more.”

image

Filters Everywhere!

image

Back with version 2.2 we added filtering to the equipment list in the iOS app. This was a great help users to drill down to just the equipment that they were working with. It worked so well that we decided to bring list filtering everywhere in the app.

Getting Started With Filters

To use filters, look for this icon at the top of a list.

image

In this example, I’ll be filtering down our Construction Issues list to find a specific issue that I’m looking for. As you can see from our newly-added list counts, we have 93 construction issues currently logged. Tapping this button will bring up the filters screen.

image

The filters screen will look different depending on if you are filtering issues, tests, etc. If you select a filter, you’ll be presented for the options for that filter.

image

So, for example, if we wanted to get all of the issues tagged with the “Mechanical” discipline, we’d tap “Discipline” in the Filters list and then we’d select “Mechanical”. You can even select multiple options for each filter.

Before we apply the filter, let’s add one more constraint to our search. We know the issue that we’re hunting was due sometime last September. So let’s go to the “Date Due” filter and take a look at our options.

image

Like the CxAlloy TQ website, we have a few presets to get us started with dates as well as the ability to define custom date ranges. Since we’re trying to find the issue that was due last September, we’ll set the “Start Date” to September 1, 2016 and the “End Date” to September 30, 2016. Now we’ll go back and apply our filters.

image

Eureka! We found the issue we’re looking for! We also see that the issue was never closed. Time to follow up!

This was a simple example but filters are powerful tools for creating custom views of your data. For example, if you wanted to find all of your open issues, you could filter by issues assigned to you and issues that have any status but “Closed”. Similarly, if you wanted to find all issues for a certain room, you could filter by “Space” and get just the issues you need.

We’re looking forward to see how you use filters to get a better look at your data. As always, if you have any questions or suggestions on how to make filters even better, send us an email at support@cxalloy.com.

Introducing Meetings and Tasks

It’s finally here. Today we are rolling out our new Meetings and Tasks sections to all accounts and users.

https://cxalloy.wistia.com/medias/a2viyjitz2?embedType=async&seo=false&videoFoam=true&videoWidth=640

Meetings

We want you to be able to use CxAlloy TQ to track and manage all of your commissioning work, and meetings was a large hole that we knew (and you told us) we needed to plug.

Our ambition with Meetings is to give you a fully featured, easy to use, and powerful solution for tracking the issues, tasks, and discussions that happen as part of a meeting.

The heart of Meetings is the Agenda and Minutes, both of which allow you to combine freeform text with issues and tasks. New issues and tasks can be easily created and existing issues and tasks can be referenced. Of course you can format the text as well, including bulleted and numbered lists.

There’s more to meetings such as tracking Distribution and Attendance, easy emailing to the distribution list, PDF reports, draft functionality, and more. You can learn all about the features in Meetings in our extensive Help documentation.

Tasks

Tasks are to-dos for your project and provide the perfect place to track many of the activities that need to get completed as part of the job but aren’t issues. Tasks can be anything from coordinating schedules to arranging food for the topping out party.

Tasks have been purposefully designed to be simple and lightweight. For example, unlike issues, tasks can be added directly to the Task list. You can learn much more about Tasks in our Help section.

Attend Our Meetings and Tasks Webinar

Join us on Thursday, January 26 or Friday, January 27 for a special Meetings and Tasks webinar where we will walk through all of the new functionality, answer your questions, and get your feedback on how we can make these new features even better. Register here.

CxAlloy TQ for iOS 2.2: Faster Project Downloads and Equipment Filtering

You may have noticed that it has been pretty quiet along the iOS front for a few months. That’s because we were pouring a lot of effort into a major update that we recently released: Version 2.2.

image

Project Pain Point

Our users are depending on CxAlloy TQ more than ever. They are also using CxAlloy TQ for bigger and bigger projects. We think this is great! The iPad 2, however, begged to differ. We received feedback that for some users, these Very Large Projects (as we creatively refer to them) could sometimes take tens of minutes to download on older devices and slower connections. This wouldn’t do.

The problem stemmed from just how Large these projects can get, some of which include hundreds of thousands of records. In order to use these projects offline, all of this data had to be downloaded to the device, processed, and inserted into a local database. It was a taxing process for almost every one of the major resources of a modern computing device: memory, CPU processing, disk speed, and network transfer. With all of those resources churning away, the battery would take a pretty big hit. Designing performant software means trying to get the app to do as little work as possible and in this situation, the app was doing an awful lot of work.

Mobile device speed has had major increases over the past few years. For the iPad Pro, downloading a Very Large Project would barely cause it to break a sweat. For older devices, however, this was a grueling task. It wasn’t fun for the user, either, who had to wait as the device strained under the load.

Interested in CxAlloy TQ? Learn more at cxalloy.com

Pull Your Weight, Servers

We have some very powerful servers running the CxAlloy site and we decided to see if by leveraging that power, we could give the mobile devices a break. We ran a test to see if we could offload project download work from the device onto the server. In our initial test, a Very Large Project that took 20 minutes to download and process on an iPad 2 only took about 2 minutes on the same device when we moved the processing to the server. We were definitely on the right track.

In the end, we managed to move all of the processing needed from the app to the server, leaving the device to merely download a ready-to-go project file. iOS devices are highly optimized for downloading files so we went from these older devices straining to keep up to downloading the project with a barely noticeable amount of effort.

Time to Slim Down, Projects

We were very happy that all the app had to do to get a project from the server was to download a single file. But our work wasn’t done, yet. For Very Large Projects, this file could sometimes be over 100MB in size. That’s a lot of data. On an LTE connection or on speedy WiFi, this may be pretty quick, but some of our international users (¡Hola Chile! 🇨🇱) have slower WiFi connections and since the app is used primarily in the field, sometimes users need to download a project in the field over a very slow cell connection.

We were curious to see if HTTP compression would come to the rescue. HTTP compression is a technology by which data is zipped up before it is sent down from the server to the device. This is similar compression that is utilized by the .zip files on your computer, but with HTTP compression, the zipping happens in real-time as the data is transferred to the device.

So, we ran a test using a project whose download file came in at a relatively svelte 15MB. We turned on HTTP compression and were impressed to see that it managed to squeeze the download down to 2.7MB. That was about an 80% reduction in size. The actual savings for your individual projects will vary, of course, but it will definitely be an improvement for users on slower connections and those with metered data.

We extended compression to the sync process as well, reducing transfer time and data usage.

Equipment Filtering

The majority of development time for 2.2 was in the new project download, but we managed to also slip in a much requested feature: filtering.

image

Currently only available on the equipment list, filtering allows you to limit the list to only the equipment that matches the criteria you specify. Just like on the desktop you can filter by status, discipline, equipment type, location, and system. To try out the new filters just click the new Filter icon next to the Sort icon at the top of the equipment list.

image

A future version will bring filtering to the other lists.

Other 2.2 Features

Project download performance and equipment filtering isn’t the only thing new in 2.2. Here is what else you’ll find:

  • New project download icon and text provides more transparency into the download process
  • Removing a project from a device is now much faster
  • Tons of bug fixes

Wrap Up

We take performance pretty seriously here and we are excited to provide our users with a new project download system that will significantly improve wait times and battery life while using our app. We’re curious to see what you think of the new download times in Version 2.2 and if you have any comments or questions, please let us know at support@cxalloy.com.

Coming Soon: A New Look and Meeting Minutes Beta

We’ve got a lot of exciting things cooking at CxAlloy right now. First, we will be releasing a major update to CxAlloy TQ with a new look and new features in the next few weeks. Second, as part of that release we will be rolling out a beta to select customers of our new “Meetings” and “Tasks” sections. Finally, we will be updating our CxAlloy TQ iOS app to dramatically reduce the time it takes to download large projects.

A New Look

The first update that’s coming is a new look for the site that gives you more space. As we started work on meeting minutes we realized our current design can feel cramped in some places. This was particularly noticeable when typing a lot of text, such as in our progress reports or the upcoming meeting minutes.

We decided to fix the problem. Our new design is a “full width” design that will always fill your browser window. We’ve also created more vertical space by consolidating the navigation bar at the top of the site and removing the footer.

image

Dropping Internet Explorer 8 Support

As part of these changes we will be dropping support for Internet Explorer 8 (IE 8). We’ve always prided ourselves on our broad browser support and that isn’t changing, but the need to support IE 8 has greatly diminished over the past three years. In this case less than 1% of visits to CxAlloy TQ come from IE 8 or below. In fact, in the last month we had more visits from IE 7 (which we have never supported) than IE 8. Because of this low usage and because IE 8 would prevent us from building meeting minutes the best way possible, we are dropping support for Internet Explorer 8 with this release.

Contacts

This update will also be adding the concept of “Contacts”. A contact is a person that you add to a project for informational purposes only – even though they will show up in the project directory, they will have no access to the project and receive no emails pertaining to the project. A contact is set by selecting the new “Contact” permission preset.

image

Issues, checklists, and tests can still be assigned to contacts. As a contact will not have any awareness that they are listed in the project and will have no access to the project, they will not be notified of assignments. Because of this important difference contacts will be labeled as such in the assignment dropdown.

image

Contacts can be granted access to the project at any time, at which point they will be emailed an invite just like any other person added to a project. Because of this contacts will still require an email address along with a first and last name.

We are adding contacts because we needed them for our new meetings section (more on that below), but they open up some new possibilities. For example, you could have a project that only a few people have access to but that tracks the assignments for a much wider group of people.

As part of adding contacts we will change what happens when you add someone directly to an account rather than to a specific project. Currently you can add a person to an account and they will receive an invitation regardless of whether they are made an account administrator or not.

Unfortunately if you add someone to the account and they aren’t an administrator, they won’t be able to do anything when they log in. Their Home page will not show any projects and they won’t be able to access the account area.

To address this we will only send an invitation when adding a user at the account level if they are also made an account administrator. Otherwise we will wait until they are added to a specific project to send them the invitation.

Meetings and Tasks Beta

This is a big one. We’ve been working over the past year to bring a Meeting Minutes section to you. In fact, it’s so big that we are calling it just “Meetings” instead of Meeting Minutes because it encompasses more than just the minutes. Meetings will cover the agenda, distribution list, and attendance in addition to the minutes themselves.

image

Meetings has also prompted the addition of Tasks as its own section. Tasks are just what you’d expect: simple items with a description, a due date, and an assignment. Tasks have a status of either Done or Not Done, and tasks can have comments.

We will be launching Meetings and Tasks initially as a beta with a few select customers. We think we have a solid foundation but we know there is more functionality to add and, of course, bugs to address. We plan to slowly add more customers to the beta as we work on it until we are confident in a full release.

Import Improvements

Importing will get a nice update as well. We’ve made two improvements to reduce the time it takes to step through an import. First, we’ve fixed how it guesses the field each column maps to. After the update the import will look at the first row of your spreadsheet and check it for common headers. This means that if you label your columns (i.e. “Name”, “Discipline”, “Type”, etc.) in the first row of your spreadsheet the correct field will get preselected. Multiple common headers are checked. For example, “Name”, “Tag”, “Equipment”, and “Equipment Tag” headers will all match to the “Name” field. It ignores capitalization as well so “name” and “Name” will work equally well.

The second change is a follow-on benefit of this new approach. The import will now preselect attribute fields as well. This means that if you have a column labeled “Manufacturer” in your equipment import, the import will detect that and preselect the “Attribute” field and “Manufacturer” as the specific attribute. As you can imagine, this can save a lot of tedious clicking when importing a spreadsheet with many attributes.

Faster Project Downloads on iOS

On iOS we have been working on dramatically improving the time it takes to download projects. The time savings will be most evident with large projects that are downloaded to older devices (iPad 2′s, for example). In our testing we have seen projects that previously took 20 minutes to download reduced to only two minutes.

As part of this work we made some other small improvements to the downloading experience. For example, you’ll now see status messages for each project you are downloading to let you know what is happening.

Coming Soon!

This update will be out in a few weeks. We love feedback so if you have any questions or suggestions please reach out at support@cxalloy.com.

Get Better Answers with the New Project Dashboard

This weekend we rolled out an update to the project dashboard that we think you’ll like. Our primary goal with this update was to better answer the questions you often have about your project – questions such as:

  • What remains to be done?
  • Who is assigned to do the remaining work?
  • How fast did we do the work?
  • Where are the bottlenecks?

Here are a few ways we tried to give you more insight into your project.

image

We’ve updated the overview to give more detail:

  • We now show the totals for each section. Having 75 percent open issues is one thing with four issues and something quite different with 300.
  • We’ve separated issues by phase so unresolved or in progress design issues don’t obscure the situation with your construction issues.
  • We’ve added checklist and test line progress for another perspective on checklist and test completion.
image

We’ve made the section-specific tabs (issues, checklists, tests, and equipment) a lot more useful by adding more breakdowns, including two of the most requested ones – by assignment and by discipline.

image

We’ve added analysis of time to close, including a visualization on the time issues spend at each status on their way to being closed.

There’s more, of course, and I encourage you to click around and see what all we’ve added.

We were able to achieve some secondary goals as well:

  • Anything that can be clickable, is.
  • The dashboard now respects the user’s permissions. If a user can’t view a section, they won’t see any data for it on the dashboard.
  • The dashboard loads faster.
  • Each dashboard page can be linked to directly (not available in IE 8 and 9).

Of course the big question you have is: can I print it? Not yet, but soon. We are working on it!

Other Improvements

As always this release includes other small changes and fixes. These include:

  • Account administrators can now access draft field observations and draft reviews.
  • Changing an item away from a restricted status now requires the same permissions as setting that restricted status.
  • When adding a person to a project, the option for that person to receive the daily digest emails is now unchecked by default.

You can visit our help section to see our full release notes. Thank you for using CxAlloy TQ and don’t forget to let us know what you think of these new features at support@cxalloy.com!

2015 In Review

We at CxAlloy want to thank you for a wonderful year. CxAlloy TQ has grown tremendously in 2015, and so much of it we owe to you. We brought out a lot of new features over the course of the year and almost all of them were driven or influenced by suggestions from you, our customers.

Winter

We started off the year with a big release that brought significant improvements to our checklists and tests. We reduced page load times, added additional sorts, and, most importantly, added the ability to see the completion percentage of the checklist or test at a glance.

Shortly after we brought the first batch of many new features to our report generator; the ability to include a folder of files.

On the iOS side we brought in the “linked attribute” functionality for checklists and tests.

Spring

In May we made our report generator available to all accounts, not just those who paid for premium features. Other updates included section reordering, a beta of file embedding for Office documents, and several UI improvements.

On iOS we improved the search and sort interface and added additional sorts.

Summer

In July we overhauled file attachments to look better and enable more actions, such as renaming, batch downloading, previewing, and tagging. We also updated how we handle attributes to enable greater flexibility in managing the attributes in a project.

On iOS we added the equipment section, allowing you to view and manage your equipment data in the app.

Fall

In October we rolled out one of our biggest updates ever. The highlight was the complete revamp of checklist and test lines, allowing you to view the full history of lines, easily confirm linked attributes, and many other improvements. The release also added a new “Duplicate Project” function, new file embedding options in the report generator, improved loading times, and more.

On iOS we released version 2.0 of our app, a complete rewrite to accommodate the new split screen functionality in iOS 9. As part of that rewrite we also updated the checklist and test interface to show completion percentages.

On to 2016

We picked up the pace in 2015 and we will be accelerating development again in 2016. Dashboard updates, meeting minutes, tasks, and checklist and template improvements are among the many updates we will be bringing to you, again driven by your feedback. Thank you for using CxAlloy TQ and helping us make it the best product it can be!

Upcoming App Update Drops Support for iOS 7

Two months ago we shared some details about our upcoming update to our iOS app that will, among other things, allow you to use it alongside other apps on the iPad.

This update is currently in review with Apple and will be released soon. Importantly, the update will not support iOS 7. If you are running iOS 7, you will need to update to iOS 8 or iOS 9 to get the update. Every device that is running iOS 7, with the exception of the iPhone 4, can be updated to iOS 8 or iOS 9.

Supported Devices

Any iOS device that can run iOS 8 or iOS 9 will be able to run the updated CxAlloy TQ app. The full list of supported devices is:

  • iPad 2
  • iPad 3
  • iPad 4
  • iPad Air
  • iPad Air 2
  • iPad Pro
  • iPad Mini
  • iPad Mini 2
  • iPad Mini 3
  • iPad Mini 4
  • iPhone 4s
  • iPhone 5
  • iPhone 5c
  • iPhone 5s
  • iPhone 6
  • iPhone 6 Plus
  • iPhone 6s
  • iPhone 6s Plus
  • iPod Touch (5th Generation)
  • iPod Touch (6th Generation)