web application

Microsoft’s new cross platform software framework – What does it mean to your business?

Yesterday at the Microsoft Build conference they announced MAUI, the roadmap to their new cross platform software, single codebase framework, quoting from their release;

Introducing .NET Multi-platform App UI:

As we consider what building device applications will look like in a unified .NET, we see many devices across multiple platforms used, from Android and iOS to Windows and macOS. To address this need we are excited to announce a new first-class UI framework for doing just that: .NET Multi-platform App UI, affectionately call .NET MAUI.

This means a lot to us as developers, but what does it mean to you as business owners, decision makers, and end users? To your business?

App languages – how they differ

All computer software (apps are just software applications, all the same really) is traditionally designed to run on it’s intended platform, the Web, Windows PC, Apple Mac, iPhone, Android etc – an app written for one platform will traditionally be written in the language that platform expects, all these platforms have different native languages, ie an app written for one won’t work on another.

In layman’s terms, if you learn French it will stand you in great stead on a holiday to France, but pop next door to Spain and you’re stuck. Unless you learn Spanish too, but that’s twice as much work.

 

Maui 01 overview 1536x864

Multiple App Platforms

Which is where us developers come in, most developers speak more than one language, but certainly not all, and in the past you had to be careful that the language choice the developer was making for your project was because it was the right one for your needs.   Not because it was the one they knew. But as IT expanded, people started using their own devices, and mobile computing became the norm it stopped being about which platform – Mac vs PC if you will, but which platforms – plural.

So if you ask a developer to create you a mobile app you are probably targeting iPhone and Android, two platforms, two languages (Objective C or Swift, and Java in case you were wondering!) – so that’s actually two apps you need, twice the work, twice the support, twice the cost!!! If only there were some (good – there are bad ways, we don’t do them) way of creating good, native, performant apps on both platforms, from one codebase, one product to support, and only one to pay for – cheaper is better right?

How can Xyroh help?

Well for most cases there is, it’s niche, here at Xyroh we do it, and have spent a lot of time and resources investing in these skills, the platform we use is Xamarin from Microsoft, and in *most* cases, certainly B2B projects it’s perfect – outputting great, custom mobile apps for iPhone, Android, Windows Phone – Tizen even – at good value to your business.

Mobile App Development Native App vs Web App vs Hybrid App

Well that’s what this announcement was about, the next stage. Microsoft’s new MAUI framework will allow us to create line of business apps that run on;

– Android
– iOS (iPhone and iPad)
– Mac OS
– Windows

All from one project, one codebase, one cost – but much more value. So if you have a need for apps, be it a mobile app, a desktop app, or even a web app in your business then we’d love to talk to you.

Related Articles:

Native App, Hybrid App, or somewhere in between?
Xamarin Cross Platform Application Development – Book Review

Andy, the founder of Xyroh, is a mobile app developer, specialising in cross platform mobile apps, iphone apps, android apps, as well as web applications and desktop software for business clients across the North East – feel free to contact him to engage his services

Industrial Programming Case Study – Glasgow Watersports

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 for an industrial programming project

Industrial Programming

Industrial Programming is a term reserved for the programming of industrial equipment, pumps, valves, etc to control and monitor any number of simplex or complex scenarios. In many small business scenarios the distinction is being blurred with the advent of ‘Internet of Things’ products such as Hue Lights, Ring doorbells, Tado home heating automation etc – the concept however is the same, you turn things on and off.

In this case we are using a combination of a web and mobile based dashboard to turn on and off the paddle sports course pumps as required, the dashboards being the visible, more traditional development side, but the industrial programming being what happens behind the scenes to interface with the pump infrastructure.

Project Summary

The Glasgow Watersports project is a multi phased industrial programming project that will ultimately empower the user to control and administer the canoe course pumps and lighting from mobile devices, and place site bookings over the web.

The core control system part of the project allows for programmatic control of the sites pump, lighting, and klaxon systems using the industry standard Modbus protocol. This is being offered in conjunction with Retroflo, a North East based Electrical Contractors and bringing on board their expertise in industrial process control.

Glasgow Watersports Industrial Programming Dashboard

The full flow of the development will commence with a web based booking system provided by dotUK, end user bookings are then pushed privately to the Glasgow Watersports site where the onsite infrastructure will allow users to access their booking and the control systems via any wifi enabled device.

Local users can then control the pump output (strength of water flow) on demand in accordance with the abilities and expectations of their group.

A full remit of expected industrial safety, and health and safety best practices are of course in place but this investment allows the end user, through dotUK’s software development expertise, to bring control and a more beneficial user experience to the end user.

What Is a PHP File?

What Is a PHP File? – Original article at Tutsplus

PHP is a server-side scripting language which is mostly used to build web-based applications. These may range from a very simple blog website to a full-fledged eCommerce website for selling products online. In fact, PHP is one of the most popular server-side scripting languages, with a very healthy market share.

For those that like to geek out, or just understand what’s going on under the scenes, the above link is a really good breakdown on how PHP (the server aside scripting language I use for a lot of my development projects) work.

Andy Flisher is a Web 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.

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

H Jarvis Web Based Support Software and Customer Portal

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

H Jarvis, a North East and Marske based Quality Windows and Doors manufacturer head a need to improve upon existing quality control and customer support processes, increase efficiencies in service engineer response, and to allow end users to self service their own support cases

Technical

Client H Jarvis – North East based window fabricator

Platforms Web, Web Services, Outlook Calendar Sync

Technologies PHP, CSS, JQuery, Javascript, MySQL, REST API, iCal / Webcal, JSON

Development Web Development, Web Services Integration

Case Study

H Jarvis are a multi site company with bases of operation in Marske (North East England) and Blantyre (Scotland), and had an existing interconnected IT infrastructure linking the two sites. With that in mind it made sense to build a Web Based Software Solution, in this case utilising dotUK’s own bespoke web services framework.

This framework, built for purpose, is built upon a PHP, MySQL REST based API framework that allows seamless, consistent, and secure data exchange from the hosted API hub and the end client’s browser. Again utilising PHP and JQuery in the web client we were able to offer an improved experience to the end user, without the traditional stop, start, or click and wait frustrations of traditional web software. Functionality wise have built a central support system for all sites which registers and manages all currently active customer support cases, with SLA support and comprehensive management reporting. In addition to case reporting the system also offers manufacturing build orders for remedial work and iCal calendar synchronisation with Outlook.

Fitter appointments are booked by the agents on an informed intelligence basis to minimise unwanted travel time by allocating cases to geographic zones and forward looking appointments to ensure that fitters are booked in when next in the appropriate locale. This appointment picking process also includes real time estimates of travel time so the most informed appointment booking decision can be made.

End use wise the system also includes a web based portal for key clients to view and manage their support cases, including any updates, notes or case changes. This allows end users real time access to updates when they need it, yet at the same time freeing Agent staff from fielding update enquires directly .

The solution is built upon dotUK’s managed web services platform hosted in the North East which allows for scalable database clustering, high availability, and includes 24/7 monitoring and management, and full data backups to an offsite datacentre

Native App, Hybrid App, or somewhere in between?

I quite often get told “I want an app for my business”, not that they “need” one, they want one, which can often be the wrong place to start, as we’re justifying a want by creating the needs. Underneath it all there are many complex technical considerations and decisions to be made, often by us and trusted by the client, but these considerations come on the back of the business’s “needs” not it’s “wants”, and the app platform, is one of these.

So first off, what is a native app, or what app platforms are there? The lines are grey in the middle, so feel free to disagree with these definitions (happy to engage in the debate!) but broadly we have;

  • Native Apps – In it’s purest sense these are apps written in the native programming language of the mobile device you’re targeting, eg;
    • iOS (iPad and iPhone apps) – Uses Objective C (and now Swift)
    • Android – Uses Java (not Javascript! More on that below)
    • Windows Mobile – C# (pronounced C sharp)
    • Blackberry – Java, however not the same as Android (Pre Blackberry 10), however the latest Blackberry Priv handset is in essence an Android device.
  • Hybrid Apps (With Native UI) – These include platforms such as Xamarin, or Telerik AppBuilder, which is based on C# and F#, but the end result on each device is a ‘Native’ App using Native UI elements so the app feels at home to users on that platform. The end result is these are compiled down to ‘Native Apps’ on the device so often indistinguishable from true Native Apps.
  • Hybrid Apps (With Cross Platform UI) – This is the biggest ‘app’ space at the moment, filled by vendors such as Phonegap / Cordova, Appcelerator Titanium, normally pitched at Web Developers trying to get into the mobile space as it appeals to their existing HTML5 and Javascript skill sets.
  • Web Apps – Not really an app! Not in the mobile sense, but a traditional web site hosted and accessible to all and heavily optimised and responsive for mobile users.

So what are the pros and cons, and which do I need! Well there’s the conversation, but sit down with us for a cup of coffee, or engage with us and we’ll look at your “needs” and help you come to an informed decision, but some points to consider;

  • So you want a mobile friendly, easily accessible, cheap (relatively) way to engage with a mobile audience? On any device, wherever they are connected. – Then consider a mobile optimised website, no need for app stores, or worrying about platform related decisions, just out there.
  • Do you want to engage with the mobile audience? Eg send Push notifications, Know where they are physically located, use the camera, microphone etc? – Then for a good experience you need an App, that has access to the devices hardware, eg GPS, Camera, Microphone. Most Hybrid Apps will allow this, Native Apps without question.
  • Do you want the user to work offline? Ie when no internet connection? – If the app is to work disconnected, without a live internet connection then you are in Native, or Hybrid with Native UI territory. The app will need to read and write to a local database to store your work when disconnected, and then ‘phone home’ when back online, this needs more complex cross platform background services and databases.

Another consideration is user experience, end users engage with their mobile so much these days that functional apps should be second nature, they should pick up your app and start using it, it should be obvious, which is where Native Apps, or Native UI based apps win every day. The best example is deleting a record from a list. On an iOS device you swipe left, and tap delete. On Android it’s press and hold, then Delete. On a Native App, or a framework such as Xamarin which uses the Native App user interface (in fact it uses the same user interface tools as Native Apps so you don’t get any closer!) then that’s what you get, your end user feels at home. Yet on Cordova / Phonegap based apps, which pitch themselves as code once, run everywhere, you have exactly the same user interface and design on Android as you do on iPhone (sounds good, right?), except what you’ve achieved is an interface that all users find confusing, it’s not ‘natural’ on an iPhone, or Android, so your users have to learn to use your App.

tablet mobile app with phone mobile app

So what about the benefits to you, the customer? Well that comes down to price. Using a hypothetical example of an ‘app’ that needs to be on Android and iPhone, downloads user content from a web based Content Management System, that the user can interact and send content back including photos taken within the app, and the app owner can send push notifications based on GPS Location, your year 1 project prices differ as below;

  • If you go fully native, and certainly if you want your app available on more than one platform then you need to write the app twice, once in Objective C for the iPhone, and again in Java for Android apps, near enough double your cost – £9500.
  • A Hybrid, non native Cordova solution will be significantly cheaper, it gets written once, but your user experience suffers, based on the requirements above it’s possible though – £3000
  • Somewhere in the middle, a Hybrid App with a native UI, such as a Xamarin, the back end and core workings of the app only have to be written once, in C# for example, so a considerable development time saving, but the user interface is written individually for each platform using Native tools to get the perfect experience – £5500. The clever ones amongst you will notice that we’ve not mentioned Xamarin Forms, which is the Amber Nectar, negates the need to design the UI for each platform, but still gives the benefit of native UI on each device, if this is appropriate for you (and often is for line of business apps), then the price could drop further to near £4500 suddenly less than half the price but all the benefits

So what’s the conclusion? There isn’t one, the best answer is to engage with your chosen app developer (us we hope!), have a cup of coffee or two and talk through your requirements and come to a sensible conclusion based on your “needs”. What’s more concerning, is for those of you out there that have already had a mobile app commissioned did you have a conversation along the lines of the above? Have you got what you “needed” or what you were given?

I make no pretences that I love Xamarin, more so now they’re backed by Microsoft, be it Xamarin Classic, or Xamarin forms I can offer you and your business incredible value, especially across multiple platforms, but I’m by no means restricted to them (I actually spend the majority of my time working on a Java / Groovy based Android app for tablets). I’m just as happy dropping into true Native technologies, or a quick win with Cordova, but the choice is yours, not mine.

For more information on Mobile App Development please Contact Me

PS: For the avoidance of doubt, anything generated by someone with a ‘mobile apps for bizness’ account costing you about £500, they’re not apps, they are badly hosted websites pretending to be an app (turn airplane mode on your device and start the app, what happens!). The reality is that you won’t get any return on your ‘bargain’ £500 app, you’re just £500 poorer, sorry 🙁

Andy Flisher is a Mobile App 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.

Footnote: Originally written in June 2006 but edited to make more current in January 2019 when republished