Migrating to MVC from ASP.NET Forms

poor google core web vitals score

Why?

Currently our devs are dying with old poorly written and untestable ASP.NET forms front end code. We are currently tried to a view engine called Spark View Engine which is no longer maintained or supported. This library is also preventing us from upgrading our version of ASP.NET. After a long time of researching our way out of this seemingly unsurmountable mountain of tech debt for our small dev teams I believe I have found a (long and slow) way forward.

How?

The first key to this was to be able to upgrade Spark. It's intertwined too tightly and contains too much business logic in UI for us to replace in a timely manner. Pulling down the repro we were able to get .net version upgrade which opened up an avenue for us to use MVC and razor engine. Finding the following code was the second key to allowing us to make progress:

  • Relying on an unsupported, outdated and slow view binding software Spark View Engine which was used prior to MVC.
  • Over engineered, overly complex, poorly written javascript that is full of business rules that should be relocated to code.
  • Too much custom CSS.
  • Improperly compressed images.
  • Outdated design ideas that led to bad designs and poor overhead
  • Relient on VB.NET forms for front end technology which have code behinds that are full of untestable business logic.

This tech debt is causing the sites to perform poorly according to Google's new Core Web Vitals measurements. Which in turn could cause Google to delist the sites. All of this spaghetti code often makes it extremely difficult to add new features and a headache to debug / fix existing code.

What to do?

We have a very small development team so it is extremely hard and only getting harder. I am going to develop a roadmap to help this company get out of their tech debt and put them on a path to be more successful.

Many pages will have to be fully rewritten from scratch and streamlined from business logic. There are many low hanging fruits that can be plucked to help in the short term raise the Lighthouse score. According to Google:

A high Lighthouse score means that your website is fast, accessible, and user-friendly, which can lead to better engagement and more conversions. Secondly, Lighthouse scores are used by search engines like Google to determine where your website ranks in search results.

TL;DR;

Hard to argue with getting deranked on google and common sense changes that can lead to more conversion and engagement.



AI (8) sewing (7) recycling (7) bags (7) software engineering (5) tech debt (4) software design (4) prompt engineering (4) ecommerce (4) Product Management (4) OpenAI (4) Empirical (4) context (3) architecture (3) Research (3) Learning (3) Hexagons (3) Embeddings (3) Board Game (3) 3-d Printing (3) twitter bootstrap (2) natural language (1) github pages (1) gardening (1) TypeScript (1) Streamlit (1) React (1) Modular AI (1) Makers Journey (1) Machine Learning (1) MVC (1) LoRA (1) Ionic (1) Heartbeat (1) Flan-T5 (1) Firebase (1) DaisyUI (1) DIY (1) Cosine Search (1) Context (1) Azure DevOps (1)

Thoughts & Ideas

  • Matt Gauzza