Sending Invoices

One of the key features of the Sales Manager is the ability to email invoices back to head office. This uses a package called JavaMail, which has been ported from standard Java to Android. It allows mail to be sent via any SMTP server, not just the one used by Gmail.

Originally the Android client allowed the user to use any email account, when sending invoices. This meant that he had to specify the address of the SMTP server, but unfortunately most users do not know what this was. Mail services will usually tell you what the address of their POP3 server is, but this is not the same thing.

I got so many support requests about this that I decided to restrict the feature to Gmail accounts. The problem with this was that Google got very shirty about emails being sent autonomously. So I started to get support requests about this, and the error messages being returned by JavaMail did not help.

To resolve this, I plan to allow invoices to be sent from Outlook and Yahoo accounts, and possibly other mail services as well. But I doubt that I will return to the free for all that I allowed in the past.

Party Tricks

Two features were added to the Android and iOS clients because they looked promising, but turned out to be less than stellar in practice.

  1. Scanning barcodes, using the camera on a mobile phone. This was a spinoff of a Google funded project called ZXing, which was mainly mainly concerned with scanning of QR codes. That project has since been defunded, and parked on GitHub. A similar iOS project is now abandonware.
  2. Using maps and location services. Google kept changing the way that these services worked, while Apple decided to move away from Google Maps altogether, and introduce its own mapping service.

In both cases there were practical difficulties, which would have persisted even if these issues had been resolved. The features were no more than party tricks, even when they worked. I have decided to remove them from both clients.

End of the line for existing iOS client

My recent attempt to recompile the iOS client with the latest version of XCode has exposed a number of issues:

  1. The code is written in Objective-C, which is not well supported any more.
  2. Apple is constantly changing the architecture of its CPUs.
  3. My test iPhone is no longer supported.
  4. There is no obvious equivalent to the Android Navigation Drawer.
  5. My storyboards are large and unwieldy.
  6. My Hackintosh setup is stretched to the limit.

The only practical solution is to freeze the existing app, and possibly develop a new one in Swift.

PC fixed

I finally managed to fix the keyboard on my Windows PC, a luggable HP ProBook. Over the next few weeks I will be updating both the Android and iOS clients.

Bookmarks

This page contains all the late-breaking news for the Sales Manager. Regular users should consider bookmarking this page, rather than the home page, which is aimed at prospective users.

AutoSSL

The security for the vanware.co.uk domain no longer uses a conventional SSL certificate. Instead it uses a new feature of cPanel, called AutoSSL. This uses free certificates from an outfit called Let’s Encrypt, which is part of the Linux Foundation. AutoSSL is completely stable, and is the option of choice for most smaller domains. The purpose is not to save money, but to avoid the absolute polaver of replacing the certificates manually. The Certificate Authorities were the problem, not the solution. They were either greedy or incompetent, or both.

iCloud Progress

8 Feb 2019

Designing new interface for iCloud screen. This is necessary, because Dropbox had a completely different paradigm.

7 Feb 2019

  • Recharged test device.
  • Upgraded software on both PC and test device.
  • Connected to test device.
  • Fixed minor bugs in iCloud screen.