Software Development

Arcus Platform version 3.0 updates

Busy start to 2020 for the Askaris Arcus platform, big version 3.0 release translating both the portal and offline tablet interfaces into the end users native language, which will be huge for our client’s Brazilian, Norwegian and other global Operations.

Up next will be a multi-year improvement to the Dropped Object inspection framework, and further translation improvements – including a self learning multi language translation process – this will allow reports to be carried out in a a native language and then proof read and translated into multiple additional languages – another huge time saver.

The Arcus platform is used predominantly in the OIl and Gas sector to facilitate audited regulatory inspections, but as a full Asset Management suite it has uses in many other sectors.

#assetmanagement #inspectionsoftware #askaris #arcus

Find out more at – https://askaris.com/

Chrome OS has stalled out – is there a tablet shaped future for Android?

Chrome OS has stalled out:

But Android apps, so far as I can tell, are basically the plan for Chrome. Certainly, Linux environment support is great for enthusiasts and developers, but there are very few commonly-used commercial applications available on Linux, with no sign that will change in the near future.

A comment not so much about Chrome OS, but it’s lack of good tablet optimised applications mirrors that of Android as a whole. The Arcus project I lead for Askaris runs primarily on Android powered tablets, but outside of the Atex rated specialised devices sourcing consistent hardware is a struggle, less and less good Android tablets available, and Chrome OS has probably hindered that, not helped it.

A chicken and an egg, no devices, so no users, so no demand, so no apps. Apple at least has the cash and incentive to have jumped into that cycle and invested / motivated. Outside of Samsung and Google (who keep making poor decisions!) who can do that for Android / Chrome OS?

Updating Apps that Use Web Views – Are you affected?

Updating Apps that Use Web Views – News – Apple Developer:

If your app still embeds web content using the deprecated UIWebView API, we strongly encourage you to update to WKWebView as soon as possible for improved security and reliability. WKWebView ensures that compromised web content doesn’t affect the rest of an app by limiting web processing to the app’s web view. And it’s supported in iOS and macOS, and by Mac Catalyst.
The App Store will no longer accept new apps using UIWebView as of April 2020 and app updates using UIWebView as of December 2020.

In layman terms if your app loads content from the web, eg a webpage or a web application then this could affect you. For Xyroh clients, especially those based on Xamarin forms this should’t be a problem as they already use WkWebView.

Worst affected will be those who have stale apps, or aren’t being regularly supported by the original developers – in those cases please get in touch, we can do an analysis of the original source code, let you know if affected, cost to fix and support going forward, and the side effects of doing nothing – basically let you make an informed decision.

Andy Flisher is a Software Developer based in the North East of England with over 20 years software development experience. He is available for hire and specialises in cross platform mobile app development, web applications, desktop software, bespoke cloud architecture solutions and providing outsourced project management services.

Xamarin Cross Platform Application Development – Book Review

This is a review of the recently published book “Xamarin Cross Platform Application Development” by Jonathan Peppers.

This book is openly marketed at existing, experienced C# developers so it’s certainly not for beginners, and whilst I don’t fall into this category the nature of projects I work in require mostly ‘linear’ development (Web, PHP, Perl, Python, VB etc over the years) so concepts like MVC, MVVM and in particular IOC (Inversion of Control) are newer and less clear. Thankfully this book has resolved that through it’s excellent practical examples.

One area this book doesn’t touch on hugely is the level of planning required for MVC applications, you can’t just ‘jump in and code’, but that’s potentially a book in itself, but what the book does very well for me, is explain the View, ViewModel, Model and Controller concepts in terms of the classes and data layers required. The book also introduces Interfaces (something I always saw as an unnecessary layer of complexity) which I now ‘get’ in terms of flexibility, and in particular to give the developer options in a cross platform environment.

The icing on the cake is ‘Inversion of Control’, whilst the book doesn’t particularly explain this convention in huge detail, I think it is actually to it’s credit, any more and the reader will be bogged down in unnecessary detail and complexity. It basically gives us the service layer that ‘glues’ the application together, allowing use to create and register our ViewModels as Services and thus make them available to use throughout the app with a single line of code. I’m sure that my description is not hugely more constructive than the words in the book themselves, but the working example of the XamChat application completes it.

Which is my main point, am sure many people work differently, but for me working examples of code are what makes it stick in my mind, it helps it all make sense. Throughout this book you will be building bit buy bit a working chat application, firstly in Xamarin.iOS (but using the all important cross platform and code sharing concepts learnt at the beginning of the book), and then re-implementing the same application logic in Xamarin.Android. The nice touch, which some may see as lazy, was that with the Android example you are taken to a certain point and then left to finish off using the examples you already have. A real, and practical exercise which I think will do the reader good. It wouldn’t be a huge leap further to recreate in Windows Phone, for the ultimate practical extension.

The Xamchat application is then extended through the Windows Azure platform to use their backend for data storage (a good example of how the same Interface can be re-used to store on different platforms), and to implement cross platform push notifications.

Lastly there are chapters on using Xamarin Components (including Xamarin.Mobile for Contacts, Camera and Location functionality), and actual App Store submission and their different processes, processes that even the most experienced developer can struggle with (Apple Certificates and Profile expiry anyone!).

In summary, this is an excellent book for any would be cross platform mobile application developer, yes you need a good understanding of C#, MVC and similar concepts, and the individual mobile platforms and general development processes themselves, and those things don’t come over night, but this book binds it all together with real world examples, working code (a novelty for some books) and actual code and methods you can take away and use in the real world.

Buy it, read it, and take as much as you can from it – “Xamarin Cross Platform Application Development” by Jonathan Peppers

Jacksons Law Livetrack – Case Management

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

Jacksons Law is a major North East law firm that advises both commercial and private clients and practices across all core areas of law. Their need was for a central information management portal that they could use to update and share information securely with clients with regards the progress of cases

Technical

Client Jacksons Law LLP – Major North East based Law Firm

Platforms Web

Technologies PHP, CSS, JQuery, Javascript, MySQL, Document Management

Development Web Development

Case Study

Jacksons Law practice law in a wide variety of practice areas and as such the individual needs, or specialisations of case management in one practice area can differ widely from those of another. In addition Jacksons have a wide variety of clients all of whom have a range of individual case and account reporting expectations, the challenge for dotUK was to present a solution that could encompass all needs, yet remain simple and manageable.

With Jacksons operating out of multiple sites, and to alleviate information security issues of allowing external users into their infrastructure it was decided that a web based system would be the most cost effective and simplistic to deploy and mange. In addition it would allow us to operate a mobile optimised interface for end client users that operate on site and on the road.

The system was built with a concept of case ‘Systems’ where a System mapped generally to a specific area of legal practise, eg Personal Injury, Conveyancing, Employment Law etc, in this way we could apply system specific modules to the cases within and

hence extend the specific functionality. This also allowed us to extend Systems for use by key clients, offering an enhanced branding experience for key client end users, enhanced and client specific reports and metrics, and internally SLA highlighting to ensure contractual targets were met.

The overall concept was however kept simple, allowing Jacksons staff to create cases within their permitted systems, allocating cases to end clients and updating cases with notes, attach documents, and report key milestones. In addition modules that allowed the client to keep track of running costs, and report on costs on a cost centre basis were created. External access is managed fully by Jacksons, with a hierarchy of client user permissions that allow data access to be restricted in a granular manner to department heads or end users as required.

The system is accessed over SSL as an industry standard, and is hosted on dotUK’s own Cloud hosting infrastructure here in the North East that allows use to offer high availability, fault tolerance, non interruptive snapshot backups and clustering options based on the clients requirements.

For more information, or to discuss case management or end user self service solutions tailored to your industry requirements please don’t hesitate to contact us for a consultation.

IPL – Quote Management and CRM System Case Study

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

International Procurement, a Stockton on Tees (North East) based supplier of severe service isolation solutions, needed a means to better automate and streamline their already complex request, quote, supply and invoicing workflow,

Technical

Client International Procurement – Critical & Severe Service Isolation Solutions

Platforms Web, Web Services, Kashflow

Technologies PHP, CSS, JQuery, Javascript, MySQL, REST API, JSON, Kashflow, SOAP

Development Web Development, Web Services Integration, Kashflow Integration

Case Study

The IPL sales process workflow is complicated by the very precise specification and requirements attached to each and every order, often a customer enquiry for a product will be met with a variety of options from a supplier, may have to meet complex supply requirements (including lengthy import, export and trade embargos), and even build to order solutions.

With that in mind, dotUK built, upon their in-house web services framework, a cloud based software solution that runs in the web browser, and is accessible both internally, to allowed users on the road or in home working environments, and to mobile and smartphone devices over the web, bespoke to IPL’s requirements.

The summary workflow required was in essence;

• Record Enquiry

• Manage Supplier requests (with quote and attached document management) to fulfil the enquiry

• Freeform Quote Generation (Multiple Quotes and Variations)

• Quote to Order process

• Supplier Purchase Order generation to fulfil the client order

• Invoice generation, and customer management to the web based Kashflow accounts software

Where document generation was required we standardised on PDF as a consistent, non-editable output format, and the system automatically maintains copies of the last generated version (eg for quotes), and also maintains an archived history of prior versions.  The system also allows for management of archived records, repeat ordering, and reporting on sales and overdue enquiries.

The Kashflow accounts software integration, also web based, through it’s own SOAP based API meant that simple requests such as pushing invoices into their accounts software moved from being a one line requirement, with traditionally a costly, time consuming and frustrating integration phase, became as simple as it should be.  A custom written Kashflow module was written as an extension to our web services framework that integrated seamlessly, and allowed us to continue using the same methods for data exchange and document generation.  Something that wouldn’t have been possible with traditional desktop based accountancy packages

Christmas Cards for Schools Clustered Print Generation

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

Christmas Cards for Schools based in Middlesbrough here in the North East, part of Fundraising Creations, offer Fundraising solutions for Schools, their primary product being the production of bespoke printed and customised Christmas Card packs personalised with the pupils name, class and of course their own drawing. Having been responsible for the production of in excess of 1.1 million cards in the Christmas 2013 season efficiency and scalability are high priorities

Technical

Client Christmas Cards for Schools Ltd – Middlesbrough based School Fundraising

Platforms Linux, Web, WebServices,

Technologies PHP, Perl, CSS, Jquery, MySQL, REST, ImageMagick, Apache, Clustering

Development Web Development, Web Services Integration, Synchronisation

Case Study

To understand the scale and requirements to create, print and distribute in excess of 1million Christmas Cards in a 3 month period each year it’s probably beneficial to understand the workflow required, and the stages at which dotUK have been able to build out and scale, thus adding capacity each year.

• Participating Schools are sent Artwork kits

• Kits are returned and the drawings are scanned, grouped, and filed into our Web Based storage system

• School batches are processed within our processing cluster leading to the creation of digital print ready personalised images (1 Per child)

• Print ready images are synchronised to the print partner who takes responsibility for print and distribution, feeding back status to the storage system dashboard.

Due to the system being highly seasonal dotUK have built a bespoke hosting infrastructure that offers a cost effective, but highly scalable hosting solution. Services that are required year around are separated from the seasonal processing cluster, thus offering a base line cost for the majority of the year. The processing cluster is build in such a manner, that additional processing nodes can be added at 15minute deployment windows, and will automatically join in the pool of processing power, but can be removed when surplus thus reducing hosting and running costs that are unwarranted.

To maintain maximum data integrity, control, and compliance in excess of UK Data Protection requirements, the hosting cluster and processing engine is a bespoke, privately hosted solution provided, hosted, and monitored by dotUK

Depending on the solution offered to the school the workflow may include digital samples that are offered initially to the school prior to order, but ultimately school co-ordinators enter their school order quantities online through their own access portal, which triggers the print cluster and sync services to push final orders to the print partner.

In addition to the core card generation workflow, we also generate supplementary personalised products, and fully automate other ancillary services such as billing, marketing / kit requests and the ability for parents to view online samples prior to order

Dale Care – Call Log Comparison Case Study

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

Dale Care are a home care provider based in the North East of England, and operate in County Durham. They have an existing call confirmation system that confirms calls within the Staffplan system, however logged calls did not tally with actual calls, and it was time consuming to manually compare

Technical

Client Dale Care – North East and County Durham based home care provider

Platforms Windows Server, SQL Server, Staffplan, NEC Phone System

Technologies Python, Windows Exe

Development Software Development, Windows Server

Case Study

A key factor in how Dale Care manage, and bill their home care services is through quickly, and accurately confirming calls made by carers to clients at their homes, into the Staffplan management software specific to the home care industry. This is done primarily by the carer ‘phoning home’ from the client’s home, and the CLI is matched, recorded, and the visit logged into Staffplan.

This matching is currently done by a call logging box the runs in parallel to the existing NEC phone system and is monitored by a standalone windows server based application. However not all calls are being confirmed within Staffplan, yet the are identified in the NEC Phone System logs, which leads to discrepancies in payroll claims, and potentially under billing for clients as the system does not believe home visits have been made.

As a short term solution dotUK provided a daily analysis tool that runs as a scheduled task that picks up all call logs on the dedicated inbound phone system trunk and attempts to match them with confirmed calls in Staffplan, this matching is done with a time threshold to allow for subtle time logging differences, and highlights any calls the phone system has identified that are not properly confirmed. These calls are then output on a daily management report that allows Dale Care staff to batch update Staffplan, and correct the anomalies, and saving significant man-hours in chasing manually reported discrepancies.

Both the NEC Phone System, through the My Calls add on, and Staffplan utilise MS SQL Server s the back end database, and for simplicity dotUK chose to utilise a simple Python script compiled as a 64bit Windows Server executable running as a scheduled task, as the method to implement this call comparison.

Stockton’s Big Challenge Active Travel Portal – Case Study

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

Stockton’s Big Challenge is a web based community competition initially funded by Stockton on Tees Borough Council, NHS Stockton on Tees, the Big Lottery and Sustrans. The aim is to build awareness of Active travel and encourage a healthier lifestyle across Stockton by encouraging people to walk or cycle to work.

Technical

Client: Sustrans / Stockton Active Travel

Platforms: Web, Web Services,

Technologies: PHP, CSS, JQuery, Javascript, MySQL, Animation, Charting

Development: Web Development, Web Reporting, Jquery Animation

Case Study

Stockton’s Big Challenge was pitched as lottery funded concept aimed at encouraging local (Stockton on Tees Borough) Employees, and Employers alike to ditch the car and cycle or walk to work, in essence embrace ‘Active Travel’ and enjoy a fitter healthier lifestyle – all through the power of competitions

The competition premise was simple, each and every time you under took ‘Active Travel’ you logged in to the site, recorded the date, distance, time, and reason for travel. These journeys were then logged and your cumulative total displayed in terms of miles travelled, calories used, kg of fat burnt, kg of CO2 saved, and Parmo’s!

For those not local to Teesside the Parmo is a regional delicacy of note (http://en.wikipedia.org/w…) which through it’s ingredients of cheese, béchamel sauce, and being deep fried has a ridiculously high calorie count!

The Parmo Calculator was the welcomed challenge in the development as the concept was that we would allow site users to visualise their journey in terms of Parmo’s dropping to a plate, the shock factor being the tiny fraction of a Parmo that most journey’s equated to. We also made the calculator available as a stand alone tool that visitors could play with and drum up publicity. It worked, gaining the challenge and dotUK local coverage in local press, radio interviews, and even linked to and referenced by the Wikipedia article above.

The competition itself was broken down to allow businesses of different sizes to also compete by entering teams of employees (the cumulative score of their employees being totalled), as well as the individual completion. All user journeys, their ‘Parmo Counts’ and a dynamically generated report of miles walked / cycled over time was available in the individual users portfolios.

From an administration point of view, all aspect of the system were run form a secure web based control panel, this covers both user management, flagging ‘suspect’ journey logs, content management, and competition and winner management. The competitions were designed to be run time and time again between specific date ranges so we built tools that allow new competitions to be defined and journeys automatically entered between the relevant dates. Some winners prizes were also drawn at random so we created tools that allowed winners to be picker honestly.

When a competition is active the real-time statistics are published to both a widget on the home page and also to a dedicated live results page showing the scoreboard in terms of individuals and employers in the region. To further motivate year on year competition the historical archives of past competition results are permanently available and automatically generated.

Wrapped around the competition element of the site is the content management system. Near all content on the site it controlled through our own build web based content management system. Each page on the front end consists of one or more content blocks and the output content of those blocks is created by the administrator using the WYSIWG (What You See Is What You Get) editor.

This means that the administrator does not need to know, or have any real understanding of HTML or web scripting languages, they can simply type as if it were a regular word processor and format text style, colour, size and alignment with ease. In addition we created a web based media manager which allowed the simple upload of images to be embedded in the content thus allowing for the simple creation of visually rich, engaging content for their community.

Content wise these tools allowed them to manage 20+ pages of unique content instantly on demand, and engaging users beyond the competition. Content included local events, Bike maintenance tips, links to local resources and cycle path maps, the Sustrans Cycle network journey planner and much, much more.

Art Screen Prints – Cross Platform Mugs App Case Study

Prior to Xyroh, Andy was the founder of dotUK (A software development firm based out of Yarm and Stockton on Tees here in the North East), again specialising as a developer in mobile apps, web applications and desktop software for a number of business clients – this is one of those portfolio case studies

Summary

Art Screen Prints based in Guisborough here in the North East specialise in producing print based fund raising merchandise for schools, clubs and other associations. One such product is ceramic mugs printed with the pupils drawing. In order to best represent the potential end product the need to produce Parental Order Forms (POF’s) that are personalised with the pupil’s details, and as close as possible to a final representation of the Mug printed with the pupils drawing. We would also need, within the same workflow, to print the final print ready templates in PDF format for use in the printing process,

Technical

Client Art Screen Prints – Guisborough based School and Fundraising Print

Platforms Apple Mac, Windows

Technologies C#, Mono, GTK+, .Net, ImageMagick

Development Desktop Software, Mac Software, Windows Software, Cross Platform Software

Case Study

One of the unique requirements of this software development was the fact that the client used a mixture of both Apple Macs, and Windows based PC’s and as such this tool would potentially need to run, in the same manner, across both platforms.

The workflow is in essence two fold, presented with a folder of pre-scanned images (grouped by Class, or other equivalent organisational hierarchy), the desktop application we developed would need to take this feed of images, process them, and generate one, or both of;

  • Print Ready, PDF Formatted print template for the actual scaled image to appear on the Mug
  • A Parental Order Form to be distributed to the schools representing a final printed mug as closely as possible.

To do this we built the application utilising the Mono framework (a Cross platform representation of the C# language that allows applications to be built from a single codebase under Windows, Mac, and Linux).  However as this was a desktop application and we had to consider the User Interface (UI) it was also necessary to make a decision on the UI framework.  In the end we settled on GTK as the best performing, simplest, multi platform graphical interface framework, for what was as an interface quite simple.

The application itself was mostly a wrapper around pre-generated ImageMagick (A cross platform software suite for manipulating images programmatically) commands that we built to create both the print template, and the POF.  Particularly challenging was the need to take a flat two dimensional image, and create the effect of wrapping and warping the image ‘around’ the Mug so as to represent what the human eye would see in the flesh.

In addition, owing to the batch processing and time it would take, we had to ensure to user asynchronous event based programming within the apps interface to ensure that a consistent update on progress was fed back to the user, without the application timing out, or ceasing to respond as it would with lengthy synchronous waits.

Thanks to our success the project grew to encompass a sister project for the generation of Calendar templates, and associated order forms.