XML 48 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
Note 5 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  Year Ended December 31, 
  

2023

  

2022

 

Stock-based compensation:

        

Cost of revenue

 $1,126  $913 

Sales and marketing

  2,640   3,842 

Research, development and engineering

  2,962   2,646 

General and administrative

  4,430   3,888 

Stock-based compensation expense

  11,158   11,289 

Capitalized to software and patent costs

  63   128 

Total stock-based compensation

 $11,221  $11,417 
Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]
  December 31,  December 31, 
  

2023

  

2022

 

Total unrecognized compensation costs

 $15,370  $16,051 
Employee Service Share Based Compensation Non Vested Awards Compensation Cost Not Yet Recognized Period for Recognition [Table Text Block]
            
  

RSAs

  

RSUs

  

PRSUs

 

Weighted average period (in years)

  0.76   1.50   1.64 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted

  

Weighted

     
      

Average

  

Average

  

Aggregate

 
  

Number of

  

Exercise

  

Grant Date

  

Intrinsic

 
  

Options

  

Price

  

Fair Value

  

Value

 

Options outstanding, December 31, 2021

  50  $39.54  $22.23     

Granted

  1  $22.15  $     

Exercised

    $  $     

Forfeited or expired

    $  $     

Options outstanding, December 31, 2022

  51  $39.14  $21.72     

Granted

    $  $     

Exercised

    $  $     

Forfeited or expired

  (50) $39.54  $22.23     

Options outstanding, December 31, 2023

  1   22.15  $   16 

Options exercisable, December 31, 2023

  1  $22.15      $16 

Options unvested, December 31, 2023

    $      $ 
Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]
  

Options Outstanding

  

Options Exercisable

 
          

Weighted

          

Weighted

 
      

Remaining

  

Average

      

Remaining

  

Average

 
  

Number

  

Contractual

  

Exercise

  

Number

  

Contractual

  

Exercise

 

Exercise Price

 

Outstanding

  

Life (Years)

  

Price

  

Outstanding

  

Life (Years)

  

Price

 

$21-$24

  1   6.85  $22.15   1   6.85  $22.15 
Nonvested Restricted Stock Shares Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Shares

  

Fair Value

 

Unvested balance, December 31, 2021

  360  $34.90 

Granted

  54  $18.36 

Vested

  (187) $32.72 

Forfeited

  (31) $36.90 

Unvested balance, December 31, 2022

  196  $32.06 

Granted

  45  $22.10 

Vested

  (130) $30.18 

Forfeited

  (6) $34.89 

Unvested balance, December 31, 2023

  105  $29.89 
Schedule of Fair Value of Restricted Stock Awards Vested [Table Text Block]
  

Year Ended December 31,

 
  

2023

  

2022

 

Fair value of RSA vested

 $3,273  $4,445 
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Units

  

Fair Value

 

Unvested balance, December 31, 2021

    $ 

Granted

  601  $26.31 

Vested

  (144) $30.25 

Forfeited

  (87) $26.31 

Unvested balance, December 31, 2022

  370  $24.77 

Granted

  298  $23.20 

Vested

  (161) $24.46 

Forfeited

  (65) $25.17 

Unvested balance, December 31, 2023

  442  $23.77 
Schedule of Fair Value of Restricted Stock Units Vested [Table Text Block]
  

Year Ended December 31,

 
  

2023

  

2022

 

Fair value of RSU awards vested

 $4,893  $2,509 
Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Units

  

Fair Value

 

Unvested balance, December 31, 2020

  124  $11.08 

Granted

    $ 

Vested (1)

  (82) $15.54 

Forfeited (1)

  (42) $11.08 

Unvested balance, December 31, 2021

    $ 

Granted

  73  $31.93 

Vested

    $ 

Forfeited

  (6) $32.02 

Unvested balance, 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, December 31, 2023

  192  $29.01 
Schedule of Fair Value of Performance Stock Units Vested [Table Text Block]
  

Year Ended December 31,

 
  

2023

  

2022

 

Fair value of PRSU awards vested

 $54  $ 
Black Scholes Option Valuation [Member]  
Notes Tables  
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  Year Ended December 31, 
  

2023

  

2022

 

Stock price

 $22.37  $32.02 

Expected volatility

  74.7%  82.8%

Risk-free interest rate

  4.3%  1.8%