What we’re working on this week

As usual, this stuff may take a few weeks to filter down into the production servers so you may not be playing with it until then, but I like to explain what we’re working on, to keep us excited and keep you apprised of upcoming stuff. If you want to give FieldMotion a try, plese ask for a demo.

The main features we’re working on this week:

  • Letting your customers pay their invoices through PayPal
  • Adding stock to sub-tables in forms
  • Purchase Orders
  • Imports overhaul

Some of our clients have expressed an interest in being able to send out invoices right from the field worker software and have the customers pay them as soon as possible. Maybe even before the worker leaves the location of the job. Or, we could add it into the OnComplete logic, so the workflow management system automatically sends out a PayPal invoice upon completion of certain kinds of jobs. For example, if you’re using FieldMotion as pest control software and you’re out on a simple elimination job, you may want to invoice before leaving the premise. other job types, you may want to tweak before signing off on – maybe there’s stuff like mileage or discounts to work out.

We shuddered at the thought of storing credit card details anywhere at all on our system, so that idea was totally vetoed. PayPal, though, works for everyone – if your customer prefers to pay through credit card, PayPal allows you to do so. One of our juniors is currently working on his personal copy of the CRM to make all of this happen. Once that’s working, we’ll then expand the scope out so it can be done from the app as well.

Up until now, when stock was used on the job, it was marked off against the job as a whole. But some clients prefer to be able to point at a sub-part of the job’s form and say “it was used there”. To do that, we’re adding stock to sub-tables.

It sounds easier than it is! Doing the app part may just take a few hours, but I also need to make sure it’s editable on the CRM, that it goes neatly into reports, than it updates stock values correctly, and that it is easy to use. Simple workflow software is hard to write. This may take days. We’ve had this in mind for months, but each time I wanted to get started on it, something else more pressing would rear its ugly head. But, we’re finally getting it done now.

The Purchase Orders project is taking a while to do, but I have a reliable and thorough developer working on it so I know when it’s done, it will be done well. Checking on the issue tracker, I see she’s currently working on the final big part (recording and distributing Goods In). The other issues left open are minor and really just a matter of tidying up. This looks promising.

On the Imports overhaul – I’ve finished the FTP-based customer import to the point that the client it was for is happy with it, and it’s working so well that we’re considering using it ourselves for all our own imports. I’ll talk to the head of implementation today about giving that a trial.

My plan is to have all our various threads come together into a completed tapestry before the end of the year. I think we’re on track. We should be able to spend December and November just cleaning up minor issues and bugs. A good year.

Imports, emails, purchase orders

Over the last few weeks, we’ve been working away on various little projects to improve our field service management software.

Yesterday, I finished the first prototype of a new importing system where our clients (you, maybe?) export their customer or job data in whatever common format they like (CSV, XLS, XLSX for example), and use our new import mapper to easily link your headers to ours and do your import.

To demonstrate it, we set up our system to check an SFTP server (like Dropbox, but more fundamental) at a specific location. We put a demo customer file in there in CSV format, and the system was able to detect that and import it automatically.

How did it work?

We put a demo file there first, then ran an “import map wizard”, which found the file and read it. It listed the column headers of the file headers on one side of the wizard, and our own internal customer headers (how we record customer data in the relationship management software) on the right. We then clicked the appropriate fields on the left side and right side to match them, until they were all matched.

Sometimes, there is a mismatch. For example, in our field service software, customer names are recorded as a single field, “customer_name”, but in your database, you may have them separated into multiple fields (title, first name, surname). So, we added the ability to automatically concatenate fields while importing, to join the various fields together and form a single match that we can then import.

Also sometimes, there will be a field in the import which you really want to import but don’t have a matching custom field in the workflow management system already. So, we add that you can automatically add that as a new custom field.

After setting up the import map, we saved that so that the management service software knew how to handle future files.

On the emails front, we’ve been diagnosing issues with sending emails to companies such as Google. Because job management software sometimes involves sending a lot of emails purporting to be from our clients’ domains, we are classified as “bulk senders”.

Google makes it very clear that there are certain rules they want bulk senders to follow.

Today, we made a change to our outgoing emails so they now have a From header saying “no-reply@fieldmotion.com”. This is because of Google’s rule 3: “Use the same address in the ‘From:’ header on every bulk mail you send.”. We can’t use a client’s email address because every other client would then think the email was spam and mark it so, making it very difficult for us to deliver our reports!

Google says very clearly that “unauthenticated emails with attachments may be outrightly rejected, for security reasons.” Since our emails tend to have reports attached, if we do not authenticate them, following their rules, then we risk having the emails completely rejected.

And so, if you receive a report that has “no-reply@fieldmotion.com” written in it, don’t panic.

On the Purchase Orders side, I’ve just had a chat with the lead on that project and she says that what we were (my fault) initially trying to do is way more complete than what most market leaders actually do. Most system handle just basic order tracking, so we’re pushing in that direction instead to get that done. The way we count progress is through issues created/completed, and we’re at about 4 completed, 7 incomplete. Some of those incomplete look small, but you can never tell! Programming is like solving math – sometimes simple-looking things end up being hard (Fermat’s last theorem, for example).

As an example, I had it initially that when you make an order, you can order any stock at all, and the system would break it apart into separate orders for each supplier that might be needed to fulfil that order. For example, if you were using FieldMotion as pest control software, you might order bait boxes and pellets in the same order, even though the two might actually be supplied by different suppliers. It turns out that usually when an order is being made, it’s from a specific supplier – I was just complicating things. So, we’ve managed to simplify it a lot.

In programming, we tend to write out the major points as single issues, and as we dig deeper, we write separate issues to handle any side-projects needed to complete them. The fact that we’re on only 11 issues after a few weeks into this project is pretty good. Means we’ve not had to build structure elsewhere to support what we’re doing here.

And then as usual, we have the smaller day-to-day jobs going on. We work with external developers, for example, to help them use our API efficiently. This sometimes involves us writing new entry points if it will help the developers, or making some existing points more consistent.

Why certification is important

We’re working through certification at the moment for some ISO standards and some computer security standards, in order to prove to ourselves and our service management software clients that we’re doing everything correctly and by the book. At first, we were exasperated at the need for these things, but there are really important reasons why certifications are necessary, as I’m sure you are already aware!

It’s not good enough us saying “your data is safe with us”. Anyone could say that. But if you are to use our service, you would be much happier to hear that a third-party who has no reason to lie has assessed our business and pronounced it safe.

A lot of our risk assessment software clients are risk assessors for the fire industry, or inspectors for pest control. In those industries, it is important for their customers to be able to point to their certificates and say “We were inspected by independent experts, and pronounced up to standard”. This is especially important when you watch the news and realise what can go wrong if you’re not up to standard. The recent fire in London’s Grenfell Tower is an example. An example certification in the fire risk assessment industry is the PAS 79 2016, which we do as standard in our fire risk assessment software.

Our own industry involves data management and data security, so we spend a lot of time working on security. We use vulnerability checkers such as Nessus and Metasploit in order to find issues in our workflow management software that might already be known about elsewhere, and we use penetration testers to find the issues that software can’t find.

Of course, it’s not enough to simply say “I tested my software and it is secure”, which is why we deliberately hired penetration testers (good hackers) to try break into our systems. So far, not a single crack in our wall has been found.

Our fire safety and pest control software clients provide certification of a different and probably more vital importance – if you go to a restaurant, you want to know that the restaurant has been inspected by a pest control company and does not have bugs or rodents walking all over the food. And if you live in a house or work in a building (which you probably do), then you would like to know that the building has been inspected by a reputable third-party fire and risk assessment company and found to be safe.

There are advantages to choosing certification companies that use FieldMotion. We have proven over and over that we can cut down on the time it takes for an inspector to finish their inspection and write up their documentation. And, because everything done through FieldMotion is recorded digitally, there is an easy-to-search history of everything that your inspection company has ever done relating to your property.

Also, because we provide our job management software clients with “customer portals”, which allow their customers to click in and see all work relating to them, it is possible that you’ll have your certification printed and placed on your wall within minutes of the engineer finishing the inspection.

Improved reports for risk assessment industry users

This week, we concentrated on improving the creation and output of reports for risk assessment software.

These reports tend to be 60 or more pages long (the PAS 79 2016 report, for example), and so can normally take hours of tedious work for the engineer to fill out. By using FieldMotion, you cut that down to just the click of a button.

We overcame two difficulties this week – the first is that some service management software reports may require a mixture of landscape and portrait pages, and the second is that there can be a lot of repeated sections in reports, where the details may change, but the layout stays the same (header, title, questions, etc).

We already were able to provide mixed landscape/portrait pages when creating reports in PDF format, because the way we created those pages was more like painting than writing – each element on every page was precisely formatted and positioned. But with the newer risk-assessment type forms, we needed a more flexible format, so created a method of report-generation that produces Word-style documents, which are flexible and can be as long as they need to be.

The problem with generating Word-style documents (could be OpenOffice, Word, WPS, or any other similar format), is that they’re not really designed to be created by a server, so we need to generate them in HTML format, and then convert to Word by using third-party conversion software, such as libreoffice, phpdocx, and other conversion methods. There is always a loss in the translation.

In a way, it’s like trying to write a book in German by first writing it in French and then using an online translator such as Google Translate to convert from the French to the German. There will always be a loss in either meaning or nuance.

This week, we found a way of improving the existing Word document conversions so that they retained our instructions to switch to Landscape or Portrait at specific points.

The next big breakthrough this week was in how we are now able to easily create large repeatable sections in custom-formatted ways, in a way that’s much easier for our end users than the previous method we had.

It’s hard to describe in text when I mean by this, but I’ll do my best.

In risk assessment reports, there will be parts of the report where you must itemise each risk, such as fire hazards, doors, combustibles, gas canisters, and must provide some information about each of these, including how the company mitigates risk for them, any expiry dates, etc.

The same is true of other similar industries, such as pest control, where there will be bait boxes inspected, etc., and reports drawn up about them.

This kind of item investigation is predictable – you know that if you have ten fire extinguishers, then there will be ten sections in the report which look similar.

Before this week, we had no way of providing an easy way to enter this into the risk assessment or pest control software such that there could be an arbitrary number of items investigated and reported. Field management software is filled out on mobile devices, which by their nature do not have keyboards or other methods of easy mass-data-input, so anything we could do to improve this was needed.

This week, we came up with a method of drawing up a layout of how the data should be shown, and then telling the report “output the data using that format”, applying the rule to specific tables filled in on the app.

This allows us to have arbitrarily large numbers of items entered into the form and printed to the report in an easily-formatted way.

It was a good week for our workflow management system – two big advances that reduce the work needed by both the end-user, and by the implementation team that generates the report templates

if you used FieldMotion, you would already be setting up the barbecue

It’s already well-known that field service management software cuts down on the time you waste filling in reports, so let’s just get past that.

image: barbecue image by Kornekar

Wouldn’t you prefer to be outside working on your sunburn or showing the neighbours how well you can burn your kebabs?

If you want to take advantage of the time-saving that you get from using workflow management software that automates all of your paperwork and builds your reports for you so you don’t need to do it yourself, ask us for a demo. We promise to not disturb you during your barbecue. After all, we’re too busy working on our own annual lawn-mowing and gardening to care! But, we’ll get back to you as soon as the rain comes back (you know; tomorrow).

I was going to write a load of industry-specific stuff, like how we’re saving time for fire and safety inspection officers by automating their PAS 79 records, or how our pest control software’s recurring jobs make the business a pleasure to do, but you know what – I’m off out into the sun to enjoy myself.