Some thoughts on this weeks Apple Developer conference – WWDC 2020
Today sees the conclusion of the annual Apple Worldwide Developer Conference (aka WWDC 2020), and I just wanted to offer a few thoughts and highlights as to what’s been announced, what we can expect, and what it means to me and my clients.
First off it was a highly polished and professional keynote, as you would expect from Apple, but more so considering much of the events charm is in the atmosphere of a full auditorium of developers, something not possible this year for obvious reasons.
Apple Mac and the move to ARM
The big announcement, and worst kept secret, was that going forward new Apple Mac products (iMac, MacBook, Mac Pro etc) will be running Apple Silicone (ARM based processors – like the iPhone and iPad), a move away from the current Intel (x86 – like most Windows PC’s and Laptops use) chips. At a technical level this is massive for developers, but Apple have made as easy a pathway as possible, where it does become interesting though as this means there will be the ability for iPhone apps to run, out of the box on new Apple hardware. This means there will be a lot more apps available for the Mac instantly, but also a dilemma for developers and clients considering a Mac presence, to you optimise the Mac app as you have always done before, or make do with your iPhone app working on the Mac even if the experience is not idea?
Mac OS Big Sur as it’s named got a visual overall too, looking very similar to the iPad it has to be said – time will tell on that one I think
iPhone and iPad
Even though technically iOS and iPad OS are separate things now, I’ll tag them together under the iOS 14 banner. I’m already running this in Beta, and so far it looks very pretty, stable, and a decent step forward, highlights include;
– Widgets on the home screens
– Upgraded Messages app (Pinned conversations, mentions etc)
– Offline translation
– App clips – Mini apps you don’t have to install / login and just use once, eg car parking apps
– Improved privacy notifications in Safari
– Scribbles – Handwriting recognition from the Apple Pencil to enter small amounts of text / search etc
Apple Watch
No real headline grabbers here, Watch OS 7 is just everything a little bigger and better than before, new workouts, watch faces, emoji (of course!), sleep tracking, and make sure you wash your hands properly!
Overall there’s a lot to work through, for many it’s, just an iterative year, for developers a little more exciting, but if you’d like to know more about Apple, WWDC 2020, or you are considering getting an App developed for any of the Apple platforms then I’d love to hear from you.
About me
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.
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.
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.
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
Service Engineers Reminders Software 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 for windows based resource planning app
Desktop Software
Desktop Software, or desktop applications are the built in or installed apps available to you on your desktop / laptop computer of choice, for many this is a Windows based PC, but it could be an Apple Mac or a variant of Linux. We can develop desktop software for all of those platforms, often a cross platform application that can operate across all three. This case study is for a windows based desktop software application, operating in a client / server environment ie multiple desktop users puplling data from the central database server.
Project Summary
The Service Engineers Reminder Software is a simple, single user, windows desktop app that helps tradesmen keep track of scheduled work, services, safety checks etc
Sometimes the simplest solutions are best, this service reminder app, which has been commissioned by a local heating engineer, will start life as a single user, stand alone, windows desktop application. However it is easily scalable into a multi user networked environment (with little to no infrastructure costs) and even options to sync / backup data through cloud services to make a multi user, multi site product.
The core functionality is to record when clients have products, services, or schedules that are due for renewal and offer a range of reminder options. As an example landlords are required to have annual gas safety checks which is a service the client offers. This app will allow this to be recorded, and when comes due the option to remind via email, text message, or generate a mail merge document that allows letters to be sent out in the post.
As always the focus is on specific functionality, ease of use, and value.
Desktop Software for Resource Planning Case Study – RetroFlo
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 windows based resource planning app
Desktop Software
Desktop Software, or desktop applciations are the built in or installed apps available to you on your desktop / laptop computer of choice, for many this is a Windows based PC, but it could be an Apple Mac or a variant of Linux. We can develop desktop software for all of those platforms, often a cross platform application that can operate across all three. This case study is for a windows based desktop software application, operating in a client / server environment ie multiple desktop users puplling data from the central database server.
Project Summary
This project was to create a Windows Based Resource Planning Application, allowing businesses to see at a glance upcoming resource availability and holiday allocations
This was the second of our recent commissions for bespoke windows desktop software, and was for an electrical contractor based here in the North East. The challenge to overcome here is the ability to see clearly, quickly the spread of human resources in upcoming months, both those engineers and fitters allocated to existing projects, and of course holiday time when resource is unavailable.
Our bespoke solution will record the allocation of staff resources to projects, and allow the categorisation of the labour types. It will also record upcoming staff holidays, with this combination of data managers will be able to scroll to a specific timeline and view, filtering down if need be, the allocation of resources and ability to schedule in, or not, additional work based on the still free resource.
This project is the precursor to a bigger solution, but allows us to focus on and solve immediate business problems for the client in a cost effective and timely manner
Release 1.0 of XyrohLib,
Release 1.0 of XyrohLib, our multi platform C# interface to a number of common crash reporting and logging services;
– Log file recycles at 1MB or at a customisable int (bytes) value, eg
– Can get full log file path back from Lib
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.
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.