XML 38 R24.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 1 - Significant Accounting Policies and Related Matters (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Year ended December 31,

 
  

2021

  

2020

 

Americas

 $102,265  $81,470 

Europe, Middle East and Africa

  42,132   39,193 

Asia Pacific

  10,027   8,703 
Total $154,424  $129,366 
Schedule of Advertising Expenses [Table Text Block]
  

Year ended December 31,

 
  

2021

  

2020

  

2019

 
      

(in thousands)

     
             

Advertising expense

 $236  $216  $286 
Financing Receivable, Allowance for Credit Loss [Table Text Block]
  

Balance at

  

Additions

  

Deductions

  

Balance at

 
  

Beginning

  

(recoveries) charged

  

from

  

End of

 
  

of Period

  

to Income

  

Reserves

  

Period

 
  

(in thousands)

 

Allowance for doubtful accounts and sales returns:

                

Year ended December 31, 2021

 $623  $263  $207  $679 

Year ended December 31, 2020

  522   293   192   623 

Year ended December 31, 2019

  399   388   265   522 
Schedule of Property, Plant and Equipment Estimated Useful Lives [Table Text Block]

Description

 

Useful Life (in years)

Computers and equipment

 3

5

Machinery and equipment

 3

10

Leasehold improvements

 

The shorter of its useful life or lease term

Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Year ended December 31,

 
  

2021

  

2020

  

2019

 
   

(in thousands, except per share data)

 
Basic:            

Net income available for common stockholders

 $26,907  $21,220  $17,934 

Weighted average shares outstanding

  21,157   20,246   19,813 
             
Basic earnings per share $1.27  $1.05  $0.91 
             

Net income available for common stockholders

 $26,907  $21,220  $17,934 

Weighted-average shares outstanding

  21,157   20,246   19,813 

Common stock equivalents, if dilutive

  318   233   513 

Shares used in computing diluted earnings per common share

  21,475   20,479   20,326 
             
Diluted earnings per share $1.25  $1.04  $0.88 
             

Shares excluded in computing diluted earnings per share as those shares would be anti-dilutive

  10   483   468