Share-Based Payment Arrangement [Text Block] | 5. Stock-based compensation includes expense charges for all stock-based awards to employees and directors. These awards include stock options, restricted stock, restricted stock units and performance stock units. Stock-based compensation expense related to internal labor is capitalized to software and patent costs based on direct labor hours charged to capitalized software and patent costs. Determining Fair Value Stock Options The Company estimates the fair value of stock options on the date of grant (measurement date) using the Black-Scholes option pricing model. The Company recognizes the fair value of stock option awards on a straight-line basis over the service period of the award. There were no stock options granted during the nine September 30, 2023 nine September 30, 2022 Restricted Stock Awards The fair value of restricted stock awards ("RSA") that vest upon meeting a service condition is based on the fair market value of the Company's common stock on the date of the grant (measurement date) and is recognized on a straight-line basis over the service period of the award, which is generally three four one three Restricted Stock Units The fair value of restricted stock unit ("RSU") awards that vest upon meeting a service condition is based on the fair market value of the Company's common stock on the date of the grant (measurement date) and is recognized on a straight-line basis over the service period of the award, which is generally three four Performance Stock Units The fair value of performance stock unit ("PSU") awards that vest upon meeting a service condition and a performance condition, such as the Company exceeding a future annual recurring revenue target, is determined based on the probability of achievement of the performance criteria as of each reporting date (measurement dates). The probability of achievement is subject to judgment, and could change from period to period, impacting the amount of expense to be recognized. The Company recognizes the fair value of the award, after adjusting for any changes in the probability of achievement, on a straight-line basis over the service period of the award, which is generally three The fair value of PSU awards that vest upon meeting a service condition and a market condition, such as the Company exceeding shareholder returns as compared to an index of peer companies, is determined on the date of grant (measurement date) using the Monte Carlo valuation model. The Company recognizes the fair value of the award on a straight-line basis over the service period of the award, which is generally three The following inputs are used in the Monte Carlo valuation model to estimate the fair value: Stock Price. Expected Volatility. Risk-Free Interest Rate. Monte Carlo valuation inputs: Three Months Ended September 30, Nine Months Ended September 30, 2023 2022 2023 2022 Stock price $ — $ — $ 22.37 $ 32.02 Expected volatility — — 74.7 % 82.8 % Risk-free interest rate — — 4.3 % 1.8 % Stock-Based Compensation Three Months Ended September 30, Nine Months Ended September 30, 2023 2022 2023 2022 Stock-based compensation: Cost of revenue $ 310 $ 270 $ 866 $ 736 Sales and marketing 606 1,461 1,930 3,354 Research, development and engineering 658 916 2,269 2,066 General and administrative 1,118 921 3,081 3,154 Stock-based compensation expense 2,692 3,568 8,146 9,310 Capitalized to software and patent costs 15 29 42 109 Total stock-based compensation $ 2,707 $ 3,597 $ 8,188 $ 9,419 The following table sets forth total unrecognized compensation costs related to non-vested stock-based awards granted under the Company's stock incentive plan: September 30, December 31, 2023 2022 Total unrecognized compensation costs $ 17,623 $ 16,051 Total unrecognized compensation costs will be adjusted for any future forfeitures if and when they occur. The Company expects to recognize the total unrecognized compensation costs as of September 30, 2023 September 30, 2027 RSAs RSUs PSUs Weighted average period (in years) 0.91 1.62 1.89 As of September 30, 2023 1,444 Stock Option Activity The following table presents the outstanding stock option activity: Weighted Weighted Average Average Aggregate Number of Exercise Grant Date Intrinsic Three Months Ended September 30, 2023: Options Price Fair Value Value Outstanding at June 30, 2023 51 $ 39.14 $ 21.72 Granted — $ — $ — Exercised — $ — $ — Forfeited or expired (50 ) $ (39.54 ) $ (21.72 ) Outstanding at September 30, 2023 1 $ 22.15 $ — $ 12 Weighted Weighted Average Average Aggregate Number of Exercise Grant Date Intrinsic Nine Months Ended September 30, 2023: Options Price Fair Value Value Outstanding at December 31, 2022 51 $ 39.14 $ 21.72 Granted — $ — $ — Exercised — $ — $ — Forfeited or expired (50 ) $ (39.54 ) $ (21.72 ) Outstanding at September 30, 2023 1 $ 22.15 $ — $ 12 Exercisable at September 30, 2023 1 $ 22.15 $ — $ 12 Unvested at September 30, 2023 — $ — $ — $ — The aggregate intrinsic value is based on the closing price of $32.49 September 30, 2023 $32.49 Restricted Stock Awards Activity The following table presents the unvested RSA activity: Weighted Average Number of Grant Date Three Months Ended September 30, 2023: Shares Fair Value Unvested balance at June 30, 2023 141 $ 31.04 Granted — $ — Vested (18 ) $ (32.16 ) Forfeited (1 ) $ (35.39 ) Unvested balance at September 30, 2023 122 $ 30.84 Weighted Average Number of Grant Date Nine Months Ended September 30, 2023: Shares Fair Value Unvested balance at December 31, 2022 196 $ 32.06 Granted 45 $ 22.10 Vested (113 ) $ (29.23 ) Forfeited (6 ) $ (34.44 ) Unvested balance at September 30, 2023 122 $ 30.84 The fair value of RSAs vested is as follows: Three Months Ended September 30, Nine Months Ended September 30, 2023 2022 2023 2022 Fair value of RSAs vested $ 613 $ 949 $ 2,071 $ 3,727 Restricted Stock Units Activity The following table presents the unvested RSU activity: Weighted Average Number of Grant Date Three Months Ended September 30, 2023: Shares Fair Value Unvested balance at June 30, 2023 524 $ 23.56 Granted 9 $ 33.84 Vested (44 ) $ (24.34 ) Forfeited (7 ) $ (22.12 ) Unvested balance at September 30, 2023 482 $ 23.68 Weighted Average Number of Grant Date Nine Months Ended September 30, 2023: Shares Fair Value Unvested balance at December 31, 2022 370 $ 24.77 Granted 289 $ 22.86 Vested (117 ) $ (24.43 ) Forfeited (60 ) $ (24.95 ) Unvested balance at September 30, 2023 482 $ 23.68 The fair value of RSU awards vested is as follows: Three Months Ended September 30, Nine Months Ended September 30, 2023 2022 2023 2022 Fair value of RSU awards vested $ 1,486 $ 1,570 $ 3,313 $ 1,903 Performance Stock Units Activity The following table presents the unvested PSU activity: Weighted Average Number of Grant Date Three Months Ended September 30, 2023: Shares Fair Value Unvested balance at June 30, 2023 192 $ 29.01 Change in units based on performance expectations — $ — Granted — $ — Vested — $ — Forfeited — $ — Unvested balance at September 30, 2023 192 $ 29.01 Weighted Average Number of Grant Date Nine Months Ended September 30, 2023: Shares Fair Value Unvested balance at December 31, 2022 67 $ 31.92 Change in units based on performance expectations (6 ) $ (32.02 ) Granted 134 $ 27.75 Vested (2 ) $ (32.02 ) Forfeited (1 ) $ (32.02 ) Unvested balance at September 30, 2023 192 $ 29.01 The fair value of PSU awards vested is as follows: Three Months Ended September 30, Nine Months Ended September 30, 2023 2022 2023 2022 Fair value of PSU awards vested $ — $ — $ 54 $ — |