OXIAE / SOFTWARE DEVELOPMENT

Web application development.

Make business processes accessible through a web application designed for your users.

Discuss your project
UNDERSTAND THE SERVICE

What should a user be able to complete independently in your web application?

A web application lets people complete a task in their browser, such as recording an issue, updating information or viewing a report. The design covers the whole user journey: understanding what is needed, entering data, correcting errors and establishing what has been saved. OXIAE works through these steps with you before building the screens. The broader choice between existing products and custom software remains the starting point.

When it is a good fit

This fits when people in different locations need to complete a specific task in the same application and existing screens do not support it well enough. Start with one complete task and the people who do it in their work. If the tasks specifically concern external customers, their records and information released to them, consider a customer portal.

When to take a different approach

An informational website or existing form may be enough when someone only needs to read information or leave a simple message. If it is still uncertain whether the intended users need the proposed task, an MVP can investigate that product assumption first. A complete application is not automatically the right first step.

PRACTICAL DECISION GUIDE

A web application should remain usable when things go wrong

A web application needs more than completed screens. I design the full user action: gaining access, entering information, saving and resuming later. We establish what happens when a session expires, a value is invalid or the connection drops while saving. [1]

The server checks data and permissions even when someone bypasses the browser interface. Forms and navigation include accessibility requirements. Acceptance therefore covers keyboard use, error recovery and different user roles opening the same shared link, alongside the successful path. [2]

Questions to settle first

  • Which unfinished input should users recover after an error?
  • Which data may each role read and modify?

Make acceptance measurable

  • A user journey tested with keyboard input, invalid data and session expiry.
  • Server-side permission tests for reading and modifying data.
FICTIONAL USER JOURNEY EXAMPLE

Enter a facilities report, pause and find it again

This is a fictional design example, not a client case or tested application. An employee reports a faulty light through their browser. The first version covers location, description, an explicitly saved draft and a confirmed report; photos, offline use and automatic draft saving are outside this example.

  1. Open the scoped task

    The employee selects “Report a fault”. The form explains the required location and description. On the agreed phone layout, these fields appear one below the other. Keyboard focus moves through fields and actions in a logical order; each field has a recognisable label.

  2. Correct an input error

    If the room is missing, the form identifies which field needs completion and how. The entered description stays in place during this correction. The employee can reach the field through the error message; colour alone does not convey the error.

  3. Deliberately save a draft

    This trial uses an explicit “Save draft” button. The draft is stored on the server and receives confirmation only after successful storage. Access and retention are defined beforehand; this example does not persist the content in the browser. A draft confirmation does not mean the report has been submitted.

  4. Resume after access expires

    The session expires during a pause. The employee signs in again and opens the confirmed draft from step 3. Changes not yet saved are not presented as recovered. The employee checks the content; signing in again sends nothing.

  5. Investigate an interrupted submission

    No response arrives after “Submit report”. The screen says the outcome is still unknown. The application uses the fixed submission reference to check whether the report was recorded. Resubmitting the same submission must not create a second report; the outcome remains uncertain while the check is inconclusive.

  6. Show the confirmed result

    Only when the server confirms the stored report does “Report recorded” appear, with its reference and content. The employee can reopen the result. This confirms registration, not a scheduled repair. The feedback and next action are also tested on the agreed phone screen and with keyboard controls.

What the process delivers

The design distinguishes input in the form, a stored draft, an uncertain submission and a recorded report. Each state gives the employee a concrete next step. The agreed acceptance tests establish whether this works correctly in the eventual application.

How to test this example

  • Leave the room empty, correct the error and check that the description remains. Repeat the correction with keyboard controls and on the agreed phone screen.
  • Expire the session after the draft is confirmed and before the next save. Check that only the confirmed draft content returns, without automatic submission.
  • Interrupt the response both before and after server storage. The report remains uncertain while the check is inconclusive. When the check confirms existing storage, or a controlled repeat submission succeeds with the same submission reference after establishing that nothing was stored, exactly one recorded report exists for that reference. No registration confirmation appears before that confirmed outcome.
  • Compare the confirmation page and reopened report with the stored record. A draft, validation error or still uncertain submission must not receive a registration confirmation.

Compare your options

Choose based on the task, the people involved and what you can maintain.

ApproachUseful whenWhat to consider
Existing form or applicationThe task, checks and feedback fit the current capabilities.Check the complete journey, including corrections, confirmation and interruptions. Providing similar fields is not enough.
Custom web applicationThe input, interaction and displayed outcome require a dedicated user journey.Storage, sessions, error handling and operation belong in the agreed scope alongside the screens.
Clickable prototype before developmentThe main uncertainty is whether users understand the proposed screens and steps.A prototype can explore the interaction; it does not yet demonstrate working storage, recovery or processing with real data.

What I need to start

  • One complete user task with a starting point, required fields, checks, outcome and deferred features. Use representative input and errors that occur in daily work.
  • A list of supported browsers, screen sizes and ways of operating the interface. Define how labels, keyboard focus, errors and feedback will be tested.
  • Agreements about drafts and sessions: whether saving progress is needed, where it may be stored, who can open the draft and when it expires. Browser storage is not the default choice for entered data; make clear before entry whether recovery is available and which changes have not yet been saved.
  • A recognisable confirmation after the server confirms the agreed storage. Also define what users see for invalid input, an expired session and an unknown outcome after a timeout.
  • Determine whether an existing source will only be read or also changed. An API integration may be needed; distinguish locally recorded input from the confirmed result in the other system on screen.

How to assess the result

  • Users complete the chosen task with valid, incomplete and invalid input. Errors identify the field and corrective action; valid entries remain available during that correction. The server checks input and permission even when browser checks are bypassed.
  • A success message appears only for a confirmed stored result. Users can reopen that result and recognise its reference and recorded content; pressing a button or sending a request does not count as storage.
  • Double clicking and resubmitting after an interruption do not create a second record for the same submission. A timeout remains an unknown outcome until storage has been checked; the application shows a safe next step.
  • An expired session gives no access to restricted content. After signing in again, the agreed draft recovery works, or the interface clearly identifies input that must be entered again. Resuming does not automatically submit the task.
  • The agreed phone and desktop sizes, browsers and keyboard journey are tested. Input, error correction and confirmation remain reachable, with visible focus and understandable messages also checked using the selected assistive technology.
SCOPE & INVESTMENT

What determines the cost?

A useful estimate starts with the scope. I distinguish development work from recurring usage and operating costs. These are the main drivers:

  • A scoped first version covers one complete user task, the selected fields and screens, one storage route and explicit normal and exceptional test cases. Extra tasks, attachments or extensive search remain separate scope items.
  • Screen states and exceptions contribute to the work: corrections, drafts, session expiry, confirmation and uncertain storage. Agree which browsers, screen sizes and ways of operating the interface are included in acceptance.
  • Integrations, existing data and rollout require their own work. Hosting, storage, external services, maintenance and support are estimated separately; continuous availability or support is not an automatic agreement.
APPLICATION AND SCOPE

Your challenge.
A practical application.

Illustrative scenario; not a published client case.

Teams or customers need to work with shared information from multiple locations.

A web application is accessed through a browser, but its users and permissions depend on the application. A customer portal serves external users. If the product idea is still uncertain, an MVP can test one important user step before a broader application is developed.

THE QUESTION I ASK FIRST

Which user groups exist, and which actions must they be able to perform?

Agree the first step

Use the prerequisites, acceptance checks and cost factors above to define your assignment. Agree who can approve the outcome and who will maintain the solution. The project approach explains discovery, delivery and handover.

Read the project approach
QUESTIONS ABOUT THIS SERVICE

Your questions.
Clear answers.

How much does web application development cost?

An estimate starts with a complete user task and the situations that must work. Field count says little without checks, screen states, storage, integrations and recovery. I make the first scope and acceptance concrete, with development and recurring costs set out separately.

Will the web application work on a phone and without a mouse?

We first define the required browsers, screen sizes and ways of operating the interface. Then we test the complete task: input, correction, submission and opening the result. A screen that scales down does not by itself establish that the journey is usable.

Will my input survive an expired session?

That depends on the agreed draft route. Explicit saving, automatic saving and entering data again involve different access and retention choices. I do not promise preservation without designed and tested recovery. After signing in again, users must be able to tell which content was confirmed saved and which changes need to be entered again.

How does a user know a submission really succeeded?

Confirmation belongs to a result the server confirms is stored and that the user can reopen. A timeout does not prove failure. The application must first check the outcome and prevent a repeated submission from recording the same entry twice. Confirmed registration establishes only the agreed storage, not subsequent handling.

Sources and technical basis

These primary sources explain the technical principles behind this guide. The project recommendations are OXIAE’s interpretation; they do not imply endorsement by the publishers. Product documentation applies to the named platform.

  1. Web Content Accessibility Guidelines (WCAG) 2.2W3C

    Testable criteria for forms, navigation and error messages.

    Link and relevance checked:
  2. Authorization Cheat SheetOWASP

    Authorization checks on each relevant server request.

    Link and relevance checked:
YOUR NEXT STEP

Prepare your project conversation.

Exploring Web application development? Use the project checklist to describe your task, systems and intended outcome. Collect open questions and download a brief for your conversation.

Create your project brief
FROM QUESTION TO NEXT STEP

What would you like
to make possible?

Let’s talk