Client-Side Spell Checker Using Prefix Trees and Hash Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote storage and computing services face challenges in providing efficient spell checking on mobile devices with limited resources, as existing solutions either incur high network traffic or offer non-uniform user experiences across different browsers due to reliance on server-based or browser-specific spell checkers.

Innovation Solution

A client-side spell checker that downloads a dictionary and common misspellings in efficient data structures, utilizing a prefix tree and hash table to quickly identify misspelled words and provide correction suggestions, ensuring uniformity across browsers and functionality in offline mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If server-based spell checking is used, then spell checking accuracy is improved, but network traffic increases and offline functionality is lost

Engineering Contradiction:
Improvespell checking accuracyVSAvoidnetwork traffic
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent extracts the spell checking functionality from the server and implements it client-side using a dictionary stored in the mobile device's memory. This allows the device to perform spell checking locally without continuous network communication, resolving the contradiction between accuracy and network traffic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a local copy of the spell checking dictionary in the mobile device's memory, enabling the device to replicate server-based spell checking capabilities offline. This copying approach maintains accuracy while eliminating the need for continuous network traffic.

Inventive Principle:
Principle #26Copying

2Ease of operation

If browser-based spell checking is used, then ease of operation is improved, but uniformity across different browsers deteriorates

Engineering Contradiction:
Improvespell checking accessibilityVSAvoiduser experience uniformity
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The patent implements a universal spell checking system that works across all major web browsers (Chrome, Firefox, Safari, IE) by using standard web technologies (JavaScript, HTML5, CSS3). This multi-functionality approach ensures consistent user experience while maintaining ease of operation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If mobile devices with limited computing resources are used, then portability is improved, but spell checking speed deteriorates

Engineering Contradiction:
Improvedevice portabilityVSAvoidspell checking speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent pre-loads the spell checking dictionary into the mobile device's memory during initial setup or when connected to the network. This preliminary action ensures that when spell checking is needed, the device can quickly access the dictionary without delay, maintaining speed despite limited computing resources.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9489372B2Web-based spell checker
Publication Date: 2016.11.08 APPLE INC
  • US9489372B2 patent drawing
  • US9489372B2 patent drawing
  • US9489372B2 patent drawing

AI summary

A fast client-side spell checker is provided that builds efficient structures out of dictionary and a common misspelling list and uses the structures to prune the number of searches required to identify misspelled words and provide suggestions for correcting the misspelled words. The spell checker is a browser-based application, which is provided by a server to a client device. The server sends the dictionary and a list of common misspellings to the client device in the form of efficient data structures. The spell checker utilizes a set of rules to identify the words that are not in the dictionary but are intended to be correct as typed. The spell checker is used by different browser-based applications that utilize the same spell checker regardless of the browser platform used to access the applications. The spell checker, therefore, provides a uniform spell checking user experience across different browser platforms.