Click here to Skip to main content
15,889,909 members

Dominic Burford - Professional Profile



Summary

Follow on Twitter LinkedIn      Blog RSS
6,554
Author
2,053
Authority
9,852
Debator
8
Editor
100
Enquirer
212
Organiser
2,954
Participant
I am a professional software engineer and technical architect with over twenty years commercial development experience with a strong focus on the design and development of web and mobile applications.

I have experience of architecting scalable, distributed, high volume web applications that are accessible from multiple devices due to their responsive web design, including architecting enterprise service-oriented solutions. I have also developed enterprise mobile applications using Xamarin and Telerik Platform.

I have extensive experience using .NET, ASP.NET, Windows and Web Services, WCF, SQL Server, LINQ and other Microsoft technologies. I am also familiar with HTML, Bootstrap, Javascript (inc. JQuery and Node.js), CSS, XML, JSON, Apache Cordova, KendoUI and many other web and mobile related technologies.

I am enthusiastic about Continuous Integration, Continuous Delivery and Application Life-cycle Management having configured such environments using CruiseControl.NET, TeamCity and Team Foundation Services. I enjoy working in Agile and Test Driven Development (TDD) environments.

Outside of work I have two beautiful daughters. I am also an avid cyclist who enjoys reading, listening to music and travelling.

 

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralUsing tags with push notifications from Azure Notification Hub Pin
Dominic Burford17-Feb-19 23:21
professionalDominic Burford17-Feb-19 23:21 
GeneralSending Push Notifications with Azure Notification Hub Pin
Dominic Burford25-Jan-19 4:34
professionalDominic Burford25-Jan-19 4:34 
GeneralUnit testing a Xamarin Forms mobile app Pin
Dominic Burford13-Jan-19 21:59
professionalDominic Burford13-Jan-19 21:59 
GeneralApple development sucks Pin
Dominic Burford8-Jan-19 1:09
professionalDominic Burford8-Jan-19 1:09 
GeneralBut the tech giants are private companies Pin
Dominic Burford19-Dec-18 5:31
professionalDominic Burford19-Dec-18 5:31 
GeneralThe latest version of our app nears completion Pin
Dominic Burford7-Dec-18 2:21
professionalDominic Burford7-Dec-18 2:21 
GeneralIs Silicon Valley a force for good? Pin
Dominic Burford27-Nov-18 21:57
professionalDominic Burford27-Nov-18 21:57 
GeneralUsing Javascript to retrieve values from a Xamarin Forms WebView Pin
Dominic Burford27-Nov-18 5:01
professionalDominic Burford27-Nov-18 5:01 
We are currently in the middle of re-building our existing mobile app. Probably the most important form in the app is the Vehicle Inspection form. This form allows a driver to fill out a vehicle inspection from their mobile device and to submit the results. In our current app (which is an Apache Cordova hybrid app developed using Javascript in conjunction with Kendo UI controls) we generate an HTML page from the inspection metadata. This allows us to use all the HTML controls such as

- textboxes
- checkboxes
- dates
- radiobuttons
- dropdowns

We then capture the driver's responses using Javascript, and submit these responses to our backend system.

Our current mobile app however is being developed using Xamarin Forms. All of our form controls use Telerik UI controls. We knew we wanted to replicate as closely as possible the implementation of the current app. The vehicle inspection is a critical piece of functionality, and it works extremely well. The challenge therefore would be to try to find something that replicated this same impementation in Xamarin Forms.

Whilst investigating how we would reproduce this I came across the WebView. This is a view for displaying HTML content inside the app. Unlike the OpenUri() method wich navigates the user to a web page using the app's in-built browser, the WebView displays HTML content "inside" the app. This sounded like what I needed.

Generating the HTML to render the vehicle inspection was the easy part. I had this working quite quickly. Using the same logic for creating the HTML controls in our existing app (which uses Javascript) I was able to mimic this using C# to achieve exactly the same output in the current app. The problem came when I wanted to sumbit my responses. I looked at the simple example on the Microsoft documentation, but this didn't provide nearly enough clarity of how to proceed. I tried injecting Javascript functions into the generated HTML but this only seemed to work for functions that didn't interact with the DOM. However, to retrieve the responses required interaction with the DOM.

There doesn't seem to be much information anywhee on this particular topic. I looked through the usual suspects (Stackoverflow, Xamarin forums) but to no avail.

I then stumbled across an article that went into a lot more detail on how to Use Javascript with a WebView[^]. Reading through this and looking at the example code gave me sufficient knowledge to work out how to retrieve the responses from the HTML generated vehicle inspection.

Here are the functions I wrote that enable me to retrieve the responses.
private async Task<string> GetValueFromTextbox(string controlId)
{
    return await WebView.EvaluateJavaScriptAsync($"document.getElementById('{controlId}').value;");
}
private async Task<string> GetValueFromCheckbox(string controlId)
{
    return await WebView.EvaluateJavaScriptAsync($"document.getElementById('{controlId}').checked;");
}
private async Task<string> GetValueFromRadioButton(string controlname)
{
    return await WebView.EvaluateJavaScriptAsync($"document.querySelector(\'input[name=\"{controlname}\"]:checked\').value;");
}
private async Task<string> GetValueFromDropdownn(string controlId)
{
    return await WebView.EvaluateJavaScriptAsync($"document.getElementById(\'{controlId}\').options[document.getElementById(\'{controlId}\').selectedIndex].value;");
}
I have now got this working and am able to submit the responses that have been entered into the HTML generated vehicle inspection.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare

Home | LinkedIn | Google+ | Twitter

GeneralUsing the MVVM pattern with a Xamarin Forms mobile app Pin
Dominic Burford21-Nov-18 1:13
professionalDominic Burford21-Nov-18 1:13 
GeneralConsuming a private nuget feed in an Azure DevOps build pipeline Pin
Dominic Burford2-Nov-18 6:55
professionalDominic Burford2-Nov-18 6:55 
GeneralBuild a Xamarin.Forms iOS mobile app using Azure DevOps Pin
Dominic Burford8-Oct-18 23:38
professionalDominic Burford8-Oct-18 23:38 
GeneralDeploy a Mobile app to Azure using Azure DevOps Pin
Dominic Burford21-Sep-18 5:30
professionalDominic Burford21-Sep-18 5:30 
GeneralSetting up my first build pipeline with Azure DevOps Pin
Dominic Burford19-Sep-18 4:06
professionalDominic Burford19-Sep-18 4:06 
GeneralChoosing a mobile application development platform Pin
Dominic Burford4-Sep-18 1:36
professionalDominic Burford4-Sep-18 1:36 
GeneralExecuting an AJAX request from an ASP.NET Core querystring parameter Pin
Dominic Burford20-Aug-18 5:05
professionalDominic Burford20-Aug-18 5:05 
GeneralBuilding a Document Manager with ASP.NET Core 2.1 Pin
Dominic Burford19-Aug-18 22:38
professionalDominic Burford19-Aug-18 22:38 
GeneralReducing the surface area of the client Pin
Dominic Burford26-Jul-18 21:32
professionalDominic Burford26-Jul-18 21:32 
GeneralUnderstanding what you're doing Pin
Dominic Burford26-Jul-18 3:24
professionalDominic Burford26-Jul-18 3:24 
GeneralSetting environments in ASP.NET Core Pin
Dominic Burford16-Jul-18 21:29
professionalDominic Burford16-Jul-18 21:29 
GeneralCreating a zipped deployment for an ASP.NET Core web application Pin
Dominic Burford28-Jun-18 23:59
professionalDominic Burford28-Jun-18 23:59 
GeneralI’m turning into a Microsoft fanboy Pin
Dominic Burford8-Jun-18 5:45
professionalDominic Burford8-Jun-18 5:45 
GeneralAdding a confirmation dialog to an ASP.NET Core 2.0 form page handler Pin
Dominic Burford7-Jun-18 4:34
professionalDominic Burford7-Jun-18 4:34 
GeneralUploading a file in ASP.NET Core 2.0 Pin
Dominic Burford1-Jun-18 4:07
professionalDominic Burford1-Jun-18 4:07 
GeneralASP.NET Core 2.0 Razor Page Handlers Pin
Dominic Burford15-May-18 0:01
professionalDominic Burford15-May-18 0:01 
GeneralMocking the HttpContext Session object in ASP.NET Core 2.0 Pin
Dominic Burford30-Apr-18 4:31
professionalDominic Burford30-Apr-18 4:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.