CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2017
Dec. 31, 2016
Dec. 31, 2015
CONSOLIDATED STATEMENTS OF OPERATIONS      
Revenue $ 244,725 $ 208,802 $ 163,179
Cost of revenue 120,230 105,123 81,645
Gross margin 124,495 103,679 81,534
Operating expenses:      
Research and development 40,638 35,985 32,385
Sales and marketing 47,825 42,198 32,594
General and administrative 21,926 20,309 17,355
Litigation settlement   475 21
Total operating expenses 110,389 98,967 82,355
Income (loss) from operations 14,106 4,712 (821)
Other income (expense), net:      
Interest, net 409 45 202
Other income (expense), net (78) (587) (765)
Total other income (expense), net 331 (542) (563)
Income (loss) before income taxes 14,437 4,170 (1,384)
Income tax expense (benefit) (1,542) (8,784) 268
Net income (loss) $ 15,979 $ 12,954 $ (1,652)
Net income (loss) per common share:      
Basic (in dollars per share) $ 0.64 $ 0.55 $ (0.07)
Diluted (in dollars per share) $ 0.60 $ 0.53 $ (0.07)
Weighted-average number of shares:      
Basic (in shares) 24,803 23,402 24,121
Diluted (in shares) 26,775 24,360 24,121