Before we get onto the tips, if you’re not familiar with why software accessibility is important, have a read of this short blog post from the head of accessibility at the Government Digital Service. “When I talk about accessibility, I’m using it to mean that people are not excluded from using something on the basis of experiencing a disability. Accessibility means that people can do what they need to do in a similar amount of time and effort as someone that does not have a disability. It means that people are empowered, can be independent, and will not be frustrated by something that is poorly designed or implemented.”
Using Blazor, code written for the front-end has access to all the language features of C#. In particular, it may be useful to have a type hierarchy and make use of polymorphism. However, JSON objects have no explicit type, so how can we correctly deserialise a subtype?
One of the benefits of Blazor is that you can share C# objects between the server-side processing and the client-side processing. In this year’s Dev Camp we wanted to put this to the test with validation of dynamic forms.
In our Dev Camp this year we chose to experiment with Event Sourcing, using EventFlow for the solution. One task was to configure it to use an Azure Cosmos database instead of a SQL Server one. There were some hurdles to overcome. This post takes you through the attempts we made and the solution we found.
Our final day saw huge progress in the application's client and server sides coming together. This was really the focus of the day with everyone working together to solve the final challenges and get the client communicating with the server.
Development progresses on all fronts in day 4, with the client and server sides moving closer together thanks to new work on the shared classes and API.
By the end of day 3 we'd managed to get the Blazor application constructing a dynamic form based on an external set of defined fields and having those fields be validated dynamically on the client-side again based on externally defined validation rules. Here's what that looks like...
In day 2 the team continued making progress in each of their areas. The EventFlow project begins to come together, shared client and server validation plans are made, and getting Event Flow working with Cosmos DB causes frustration.
In day 1 we set up our client and server-side teams; identified useful resources and frameworks for the week; and began setting up the solution and its components.
At OCC, dev camps are a way for us to experiment with new technologies, create prototype products, and bring back recommendations to the wider company regarding the new tools and techniques we've been able to evaluate.
A recent survey of social care directories found OCC’s MarketPlace offers one of the best user experiences for those seeking information and advice about care. Socitm, the society for IT practitioners in the public sector, carried out the survey in December 2017. It reviewed 152 council sites on a range of user experience criteria, including: how easy it was for a user to find the site content and presentation of information, including the clarity of headings and the relevance, continuity[...]
The Government Digital Service (GDS) has begun to work with local government teams on transforming their online services to use some of the new technology developed by GDS for central government. So far, there have been 2 pilot projects across about 15 councils, focusing on parking permit and older person’s concessionary bus pass services. The aim has been to redevelop these services end-to-end using GDS expertise and the new GOV.UK Verify service. The interesting thing is that GDS has documented[...]
Carrying on from our first post following the results of our developers’ adventures in the most recent ContrOCC hackday, here is the final set of projects: Client Provisions – Julian Alternative storage – Maciej WiX – Matthew DB upgrades with F# – Nathan Generating test data – Nigel New documentation – Steph Automating deployment – Tom G Automating component testing – Tom L Web-based CSV editor – Tomasz A Parsing & Analysing T-SQL – Trevor Julian – Client Provisions As[...]
Last month OCC took part in LocalGovCamp 2015 and the Local Democracy Maker Day fringe event in Leeds. LocalGovCamp is an annual “unconference” where the attendees set the agenda by pitching sessions, building a schedule, and taking part in the sessions that appeal the most to them. To people used to formal conferences, it might sound a little chaotic, but it works incredibly well and results in a highly topical and engaging event. Sessions ranged in topic from Open Data,[...]
Our ContrOCC hackdays give our developers a day to work on tweaks, gripes, improvements, or whole new features of their choosing and then sharing those with the rest of the team. We have plenty of projects to talk about again this year so I have split this post in two; we’ll post the remaining projects soon. Here is the first set: Code analysis – Adam and Tomasz B Database schema documentation via metadata – Alan Upgrade AllTheThings to .NET 4.5[...]
A requirement we hear from many of our Government customers is that a sizable number of their users with sight impairment prefer to have a text size widget on-screen when they browse a website. These accessibility widgets are tough to implement cleanly using HTML and CSS but the advent of CSS preprocessors such as Sass and LESS make the job much easier. In this post we’ll see how we can use Sass to create a text size widget. What we’re[...]
Carrying on from our first post following the results of our developers’ adventures in the most recent ContrOCC hackday, here is the final set of projects: Graphically presenting performance information to the lay developer – Julian Fletcher Cleaning up the developer documentation – Maciej Luszczynski CSV Merger – Matthew Clarke F#/C# – Nathan-Madonna Byers ContrOCC version manager – Nigel Palmer An executable imports/exports specification – Patrick Donkor Improving code integrity checks – Steph Sharp Migration from within the ContrOCC UI[...]