“Write once, de-bug everywhere?”
Responding to changing business needs has been a client and software challenge for many decades. But accelerating business change, digital transformation and software complexity makes solving this challenge now an imperative.
There have been attempts before, most notably with Java and Java virtual machines back in the 90’s. Unfortunately that particular initiative led to the wry joke, ‘Write once, debug everywhere‘!
This challenge has been compounded by the growing range of programming languages, editors, OS’s and devices and the cloud. It’s a challenge Microsoft has embraced with it’s .NET Core initiative and in its latest version it looks like its vision to ‘write once and run anywhere‘ may be a step closer to reality.
.NET Core from Microsoft: simplifying software development
The .NET framework dates back to the 1990s but the latest preview release was made available this month. .NET Core is a fully open source version under the independent .NET Foundation. It was created by Microsoft in 2014 to extend the appeal and use of .NET to other platforms. It now has a thriving developer community. This makes it very attractive as it embraces all major OS’s (Windows, Linux, Android etc), has a vast library of tools, common APIs and supports a range of editors. In brief, it is a modern developer platform. There are other differences between .NET and its open source cross-platform equivalent but that’s too much detail for this post! In brief, they are both heading in the same direction and share a common goal – to simplify software development.
Learn by doing: our ‘Proof-of-Value’ prototype
.NET 6 is due for public release in November this year and will be supported for 3 years. We have been tracking its development via the previews for around a year now. Recognising the potential to transform how we build client applications we decided to go one step further and create a ‘proof-of-value’ (PoV) project. This is based on an existing system we know well and makes it easy for us and clients to evaluate the differences, both in the application and its development path.
This also provides us with something to share externally, assess the impact on development timeframes and quality, and highlight the technical weak spots and risks to feedback to the .NET community.
A Smart Marking System (SMS)
The system we chose as a ‘test bed’ is a rules-based engine for the collection and sharing of student assessments and examination marks for universities. It’s an area we know well.
With joint-degrees, external providers, online learning and Covid-19 this has become an increasingly complex and fluid area for examination teams in a university. There are more rules, exemptions and exceptions and a need to demonstrate consistent treatment of students for compliance, fairness and reputation management.
And there is a need to accelerate and improve the flow and quality of data to and from other university systems to reduce manual effort and errors. And given the wide range of differing needs and operating environments, it is an ideal ‘proof-of-value’ test bed for the latest version of .NET.
Towards a Minimum Viable Product
The project started last year and is led-by Chris Worledge. Over several iterations we are close to a Minimum Viable Product (MVP) and we plan to start socialising it with our client and partner communities in May. Although some way from being a final product both the business and technical value of .Net 6 is clear to us so we are keen to hear what others think.
We will be posting an overview of SMS in May and a recorded demo to share for feedback.
Sign-up for our newsletter here to be alerted when the SMS post is available, and receive news on this and our other client and research projects. Or contact us at firstname.lastname@example.org for an informal discussion or demo.
Many thanks to Chris Worledge for leading on this project.