Document And Entity Information
Document And Entity Information - USD ($) $ in Millions | 12 Months Ended | ||
Dec. 31, 2018 | Mar. 01, 2019 | Jun. 30, 2018 | |
Document Information [Line Items] | |||
Entity Registrant Name | TUCOWS INC /PA/ | ||
Entity Central Index Key | 909,494 | ||
Trading Symbol | tcx | ||
Current Fiscal Year End Date | --12-31 | ||
Entity Filer Category | Accelerated Filer | ||
Entity Current Reporting Status | Yes | ||
Entity Voluntary Filers | No | ||
Entity Well-known Seasoned Issuer | No | ||
Entity Emerging Growth Company | false | ||
Entity Small Business | false | ||
Entity Common Stock, Shares Outstanding (in shares) | 10,639,329 | ||
Entity Public Float | $ 482 | ||
Document Type | 10-K | ||
Document Period End Date | Dec. 31, 2018 | ||
Document Fiscal Year Focus | 2,018 | ||
Document Fiscal Period Focus | FY | ||
Amendment Flag | false | ||
Entity Shell Company | false |
Consolidated Balance Sheets
Consolidated Balance Sheets - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 | ||
Current assets: | ||||
Cash and cash equivalents | $ 12,637 | $ 18,049 | [1],[2] | |
Accounts receivable, net of allowance for doubtful accounts of $132 as of December 31, 2018 and $168 as of December 31, 2017 | 10,837 | 12,376 | [2] | |
Inventory | 3,775 | 2,944 | [2] | |
Prepaid expenses and deposits | 15,472 | 14,186 | [2] | |
Prepaid domain name registry and ancillary services fees, current portion (note 11 (b)) | 87,782 | 103,302 | [2] | |
Income taxes recoverable | 1,423 | 3,004 | [2] | |
Total current assets | 131,926 | 153,861 | [2] | |
Prepaid domain name registry and ancillary services fees, long-term portion (note 11 (b)) | 18,745 | 23,701 | [2] | |
Property and equipment | 48,065 | 24,620 | [2] | |
Contract costs (note 11 (a)) | 1,390 | [2] | ||
Intangible assets (note 5) | 49,395 | 58,414 | [2] | |
Goodwill (note 5) | 90,054 | 90,054 | ||
Total assets | 339,575 | 350,650 | [2] | |
Current liabilities: | ||||
Accounts payable | 8,445 | 7,026 | [2] | |
Accrued liabilities | 5,899 | 6,412 | [2] | |
Customer deposits | 11,919 | 15,255 | [2] | |
Derivative instrument liability (note 7) | 1,276 | [2] | ||
Deferred rent, current portion | 21 | 21 | [2] | |
Loan payable, current portion (note 8) | 18,400 | 18,290 | [2] | |
Deferred revenue, current portion | 116,734 | 129,155 | [2] | |
Accreditation fees payable, current portion | 985 | 1,175 | [2] | |
Income taxes payable (note 9) | 1,668 | 1,226 | [2] | |
Total current liabilities | 165,347 | 178,560 | [2] | |
Deferred revenue, long-term portion | 26,960 | 31,427 | [2] | |
Accreditation fees payable, long-term portion | 250 | 289 | [2] | |
Deferred rent, long-term portion | 116 | 130 | [2] | |
Loan payable, long-term portion (note 8) | 46,201 | 58,634 | [2] | |
Deferred gain | 429 | [2] | ||
Deferred tax liability (note 9) | [2] | 20,925 | 19,834 | |
Redeemable non-controlling interest (note 3 (a)) | 1,136 | [2] | ||
Stockholders' equity (note 12) | ||||
Preferred stock - no par value, 1,250,000 shares authorized; none issued and outstanding | 0 | 0 | [2] | |
Common stock - no par value, 250,000,000 shares authorized; 10,627,988 shares issued and outstanding as of December 31, 2018 and 10,583,879 shares issued and outstanding as of December 31, 2017 | 15,823 | 15,368 | [2] | |
Additional paid-in capital | 3,953 | 2,167 | [2] | |
Retained earnings | 60,810 | 42,676 | [2] | |
Accumulated other comprehensive income (loss) | (810) | [2] | ||
Total stockholders' equity | 79,776 | 60,211 | [2] | |
Total liabilities and stockholders' equity | 339,575 | 350,650 | [2] | |
Commitments and contingencies (note 17) | ||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | |||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Consolidated Balance Sheets (Pa
Consolidated Balance Sheets (Parentheticals) - USD ($) $ / shares in Thousands, $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 | [1] |
Accounts receivable, allowance for doubtful accounts | $ 132 | $ 168 | |
Preferred stock, no par value (in dollars per share) | $ 0 | $ 0 | |
Preferred stock, shares authorized (in shares) | 1,250,000 | 1,250,000 | |
Preferred stock, shares issued (in shares) | 0 | 0 | |
Preferred stock, shares outstanding (in shares) | 0 | 0 | |
Common stock, no par value (in dollars per share) | $ 0 | $ 0 | |
Common stock, shares authorized (in shares) | 250,000,000 | 250,000,000 | |
Common stock, shares issued (in shares) | 10,627,988 | 10,583,879 | |
Common stock, shares outstanding (in shares) | 10,627,988 | 10,583,879 | |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Consolidated Statements of Comp
Consolidated Statements of Comprehensive Income - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Net revenues (note 10) | $ 346,013 | $ 329,421 | [1] | $ 189,819 | [1] |
Cost of revenues (note 10) | |||||
Cost of revenues | 232,103 | 230,600 | [1] | 120,187 | [1] |
Network expenses | 9,846 | 9,324 | [1] | 5,210 | [1] |
Depreciation of property and equipment | 5,298 | 3,142 | [1] | 1,320 | [1] |
Amortization of intangible assets | 1,996 | 1,834 | [1] | 48 | [1] |
Total cost of revenues | 249,243 | 244,900 | [1] | 126,765 | [1] |
Gross profit | 96,770 | 84,521 | [1] | 63,054 | [1] |
Expenses: | |||||
Sales and marketing | 33,063 | 29,423 | [1] | 20,755 | [1] |
Technical operations and development | 8,748 | 7,258 | [1] | 4,495 | [1] |
General and administrative | 17,710 | 13,594 | [1] | 11,405 | [1] |
Depreciation of property and equipment | 424 | 585 | [1] | 504 | [1] |
Amortization of intangible assets (note 5) | 7,247 | 6,566 | [1] | 905 | [1] |
Impairment of indefinite life intangible assets (note 5) | 111 | [2] | 43 | [2] | |
Loss (gain) on currency forward contracts (note 7) | 254 | (98) | [1] | (99) | [1] |
Total expenses | 67,446 | 57,439 | [1] | 38,007 | [1] |
Income from operations | 29,324 | 27,082 | [1] | 25,047 | [1] |
Other income (expenses): | |||||
Interest expense, net | (3,687) | (3,567) | [1] | (450) | [1] |
Other income, net | 518 | 560 | [1] | 516 | [1] |
Total other income (expenses) | (3,169) | (3,007) | [1] | 66 | [1] |
Income before provision for income taxes | 26,155 | 24,075 | [1] | 25,113 | [1] |
Provision for income tax (note 9) | 9,020 | 1,748 | [1] | 9,046 | [1] |
Net income before redeemable non-controlling interest | 17,135 | 22,327 | [1] | 16,067 | [1] |
Redeemable non-controlling interest | (26) | (387) | [1] | (871) | [1] |
Net income attributable to redeemable non-controlling interest | 26 | 387 | [1] | 871 | [1] |
Net income for the period | 17,135 | 22,327 | [1],[2] | 16,067 | [1],[2] |
Other comprehensive income, net of tax | |||||
Unrealized income (loss) on hedging activities (note 7) | (1,022) | 550 | [1] | 568 | [1] |
Net amount reclassified to earnings (note 7) | 212 | (650) | [1] | 641 | [1] |
Other comprehensive income (loss) net of tax (expense) recovery of $259, $(56) and $(668) for the years ended December 31, 2018, 2017 and 2016 (note 7) | (810) | (100) | [1] | 1,209 | [1] |
Comprehensive income, net of tax for the period | $ 16,325 | $ 22,227 | [1] | $ 17,276 | [1] |
Basic earnings per common share (note 16) (in dollars per share) | $ 1.62 | $ 2.12 | [1] | $ 1.53 | [1] |
Shares used in computing basic earnings per common share (note 16) (in shares) | 10,604,722 | 10,537,356 | [1] | 10,524,856 | [1] |
Diluted earnings per common share (note 16) (in dollars per share) | $ 1.59 | $ 2.07 | [1] | $ 1.50 | [1] |
Shares used in computing diluted earnings per common share (note 16) (in shares) | 10,794,170 | 10,793,622 | [1] | 10,713,595 | [1] |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Consolidated Statements of Co_2
Consolidated Statements of Comprehensive Income (Parentheticals) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Other comprehensive income (loss), tax | $ 259 | $ (56) | [1] | $ (668) | [1] |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Consolidated Statements of Stoc
Consolidated Statements of Stockholders' Equity - USD ($) $ in Thousands | Previously Reported [Member]Common Stock [Member] | [1] | Previously Reported [Member]Additional Paid-in Capital [Member] | [1] | Previously Reported [Member]Retained Earnings [Member] | [1] | Previously Reported [Member]AOCI Attributable to Parent [Member] | [1] | Previously Reported [Member] | [1] | Common Stock [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total | ||
Balances (in shares) at Dec. 31, 2015 | [1] | 10,685,599 | |||||||||||||||
Balances at Dec. 31, 2015 | [1] | $ 14,531 | $ 8,526 | $ 4,382 | $ (1,109) | $ 26,330 | |||||||||||
Exercise of stock options (in shares) | 109,963 | 109,963 | |||||||||||||||
Exercise of stock options | $ 350 | (204) | $ 146 | ||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration (in shares) | (25,572) | (25,572) | |||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration | (363) | $ (363) | |||||||||||||||
Repurchase and retirement of shares (note 12) (in shares) | (308,416) | (308,416) | |||||||||||||||
Repurchase and retirement of shares (note 12) | $ (421) | (6,759) | $ (7,180) | ||||||||||||||
Income tax effect related to stock options exercised | 859 | 859 | |||||||||||||||
Stock-based compensation (note 13) | 799 | 799 | |||||||||||||||
Net income | 16,067 | 16,067 | [2],[3] | ||||||||||||||
Accretion of redeemable non-controlling interest in Ting Virginia, LLC. (note 3(a)) | (49) | (49) | |||||||||||||||
Other comprehensive income (loss) (note 7) | 1,209 | 1,209 | |||||||||||||||
Balances (in shares) at Dec. 31, 2016 | [1] | 10,461,574 | |||||||||||||||
Balances at Dec. 31, 2016 | [1] | $ 14,460 | 2,858 | 20,400 | 100 | $ 37,818 | |||||||||||
Exercise of stock options (in shares) | 172,759 | 172,759 | |||||||||||||||
Exercise of stock options | $ 908 | (686) | $ 222 | ||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration (in shares) | (50,454) | (50,454) | |||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration | (1,462) | $ (1,462) | |||||||||||||||
Repurchase and retirement of shares (note 12) (in shares) | |||||||||||||||||
Repurchase and retirement of shares (note 12) | |||||||||||||||||
Stock-based compensation (note 13) | 1,457 | 1,457 | |||||||||||||||
Net income | 22,327 | 22,327 | [2],[3] | ||||||||||||||
Accretion of redeemable non-controlling interest in Ting Virginia, LLC. (note 3(a)) | (51) | (51) | |||||||||||||||
Other comprehensive income (loss) (note 7) | (100) | (100) | |||||||||||||||
Balances (in shares) at Dec. 31, 2017 | 10,583,879 | 10,583,879 | |||||||||||||||
Balances at Dec. 31, 2017 | $ 15,368 | $ 2,167 | $ 42,676 | $ 60,211 | $ 15,368 | 2,167 | 43,739 | 60,211 | [4] | ||||||||
Adoption of Topic 606 (note 2) | 1,063 | $ 1,063 | |||||||||||||||
Exercise of stock options (in shares) | 63,886 | 63,886 | |||||||||||||||
Exercise of stock options | $ 455 | (343) | $ 112 | ||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration (in shares) | (19,777) | (19,777) | |||||||||||||||
Shares deducted from exercise of stock options for payment of withholding taxes and exercise consideration | (445) | $ (445) | |||||||||||||||
Repurchase and retirement of shares (note 12) (in shares) | |||||||||||||||||
Repurchase and retirement of shares (note 12) | |||||||||||||||||
Stock-based compensation (note 13) | 2,574 | 2,574 | |||||||||||||||
Net income | 17,135 | 17,135 | |||||||||||||||
Accretion of redeemable non-controlling interest in Ting Virginia, LLC. (note 3(a)) | (64) | (64) | |||||||||||||||
Other comprehensive income (loss) (note 7) | (810) | (810) | |||||||||||||||
Balances (in shares) at Dec. 31, 2018 | 10,627,988 | ||||||||||||||||
Balances at Dec. 31, 2018 | $ 15,823 | $ 3,953 | $ 60,810 | $ (810) | $ 79,776 | ||||||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||||||
[3] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||||||
[4] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Consolidated Statements of Cash
Consolidated Statements of Cash Flows - USD ($) $ in Thousands | 12 Months Ended | ||||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||||
Operating activities: | |||||||
Net income for the year | $ 17,135 | $ 22,327 | [1],[2] | $ 16,067 | [1],[2] | ||
Items not involving cash: | |||||||
Depreciation of property and equipment | 5,722 | 3,727 | [2] | 1,824 | [2] | ||
Loss on write off of property and equipment | (17) | [2] | [2] | ||||
Amortization of debt discount and issuance costs | 281 | 273 | [2] | 31 | [2] | ||
Amortization of intangible assets | 9,243 | 8,400 | [2] | 953 | [2] | ||
Net amortization contract costs | 14 | [2] | [2] | ||||
Impairment of indefinite life intangible asset | 111 | [2] | 43 | [2] | |||
Deferred income taxes (recovery) | 1,038 | (3,337) | [2] | 1,194 | [2] | ||
Excess tax benefits on share-based compensation expense | (697) | (2,796) | [2] | 859 | [2] | ||
Amortization of deferred rent | (14) | 6 | [2] | 25 | [2] | ||
Loss on disposal of domain names | 341 | 291 | [2] | 30 | [2] | ||
Other income | (429) | (515) | [2] | (515) | [2] | ||
Loss (gain) on change in the fair value of forward contracts | 207 | 17 | [2] | (323) | [2] | ||
Stock-based compensation | 2,574 | 1,457 | [2] | 799 | [2] | ||
Change in non-cash operating working capital: | |||||||
Accounts receivable | 1,539 | 1,010 | [2] | (3,754) | [2] | ||
Inventory | (831) | (1,733) | [2] | (307) | [2] | ||
Prepaid expenses and deposits | (1,286) | (1,642) | [2] | (1,183) | [2] | ||
Prepaid domain name registry and ancillary services fees | 20,476 | 4,030 | [2] | (4,641) | [2] | ||
Income taxes recoverable | 2,691 | (426) | [2] | 3,177 | [2] | ||
Accounts payable | 171 | (3,826) | [2] | 391 | [2] | ||
Accrued liabilities | (513) | (1,275) | [2] | 1,243 | [2] | ||
Customer deposits | (3,336) | 1,085 | [2] | 282 | [2] | ||
Deferred revenue | (16,888) | 4,933 | [2] | 6,255 | [2] | ||
Accreditation fees payable | (229) | (238) | [2] | 59 | [2] | ||
Net cash provided by operating activities | 37,209 | 31,896 | [2] | 22,509 | [2] | ||
Financing activities: | |||||||
Proceeds received on exercise of stock options | 112 | 222 | 146 | ||||
Payment of tax obligations resulting from net exercise of stock options | (445) | (1,462) | [2] | (363) | [2] | ||
Repurchase of common stock | [2] | (7,180) | [2] | ||||
Proceeds received on loan payable | 7,000 | 86,998 | [2] | 16,989 | [2] | ||
Repayment of loan payable | (19,596) | (19,976) | [2] | (9,758) | [2] | ||
Payment of loan payable costs | (8) | (620) | [2] | (514) | [2] | ||
Net cash (used in) provided by financing activities | (12,937) | 65,162 | [2] | (680) | [2] | ||
Investing activities: | |||||||
Additions to property and equipment | (27,919) | (12,935) | [2] | (7,918) | [2] | ||
Acquisition of a portion of the minority interest in Ting Virginia, LLC (note 3(a)) | (1,200) | (2,000) | [2] | [2] | |||
Acquisition of Enom Incorporated, net of cash (note 3(b)) | (76,237) | [2] | [2] | ||||
Acquisition of intangible assets | (565) | (2,942) | [2] | (6,529) | [2] | ||
Net cash used in investing activities | (29,684) | (94,114) | (14,447) | [2] | |||
(Decrease) increase in cash and cash equivalents | (5,412) | 2,944 | [2] | 7,382 | [2] | ||
Cash and cash equivalents, beginning of period | [2] | 18,049 | [3] | 15,105 | 7,723 | ||
Cash and cash equivalents, end of period | 12,637 | 18,049 | [2],[3] | 15,105 | [2] | ||
Supplemental cash flow information: | |||||||
Interest paid | 3,712 | 3,587 | [2] | 420 | [2] | ||
Income taxes paid, net | 6,799 | 7,815 | [2] | 3,767 | [2] | ||
Supplementary disclosure of non-cash investing and financing activities: | |||||||
Property and equipment acquired during the period not yet paid for | $ 1,462 | $ 214 | [2] | $ 447 | [2] | ||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||
[3] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 1 - Organization of the Co
Note 1 - Organization of the Company | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] | 1. Tucows Inc. (the “Company”) provides simple useful services that help people unlock the power of the Internet. The Company provides US consumers and small businesses with mobile phone services nationally and high-speed fixed Internet access in selected towns. The Company is also a global distributor of Internet services, including domain name registration, digital certificates, and email. It provides these services primarily through a global Internet-based distribution network of Internet Service Providers, web hosting companies and other providers of Internet services to end-users. |
Note 2 - Significant Accounting
Note 2 - Significant Accounting Policies | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
New Accounting Pronouncements and Changes in Accounting Principles [Text Block] | 2. The consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and are stated in U.S. dollars, except where otherwise noted. (a) Basis of presentation These consolidated financial statements include the accounts of the Company and its subsidiaries. All significant intercompany balances and transactions have been eliminated on consolidation. The Company has reclassified certain prior period income statement amounts and related notes to conform to the financial statement presentation adopted in the current year. As a result of these reclassifications, there were no Commencing with this annual report on Form 10 December 31, 2018, $000 (b) Use of estimates The preparation of the consolidated financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an on-going basis, management evaluates its estimates, including those related to amounts recognized for carrying values of revenues, bad debts, goodwill and intangible assets which require estimates of future cash flows and discount rates, income taxes, contingencies and litigation, and estimates of credit spreads for determination of the fair value of derivative instruments. Management bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances at the time they are made. Under different assumptions or conditions, the actual results will differ, potentially materially, from those previously estimated. Many of the conditions impacting these assumptions and estimates are outside of the Company’s control. (c) Cash and cash equivalents All highly liquid investments, with an original term to maturity of three (d) Inventory Inventory primarily consists of mobile devices, mobile sim cards and related accessories, and Internet optical network terminals and are stated at the lower of cost or net realizable value. Cost is determined based on actual cost of the mobile device, accessory shipped or optical network terminals. The net realizable value of inventory is analyzed on a regular basis. This analysis includes assessing obsolescence, sales forecasts, product life cycle, marketplace and other considerations. If assessments regarding the above factors adversely change, we may (e) Property and equipment Property and equipment are stated at cost, net of accumulated depreciation. Depreciation is provided on a straight-line basis so as to depreciate the cost of depreciable assets over their estimated useful lives at the following rates: Rate Asset Computer equipment 30 % Computer software 33 1/3 - 100 % Furniture and equipment 20 % Vehicles and tools 20 % Fiber network (years) 15 Customer equipment and installations (years) 3 Land N/A Leasehold improvements Over term of lease Assets under construction N/A The Company reviews the carrying values of its property and equipment for potential impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not Additions to the fiber network are recorded at cost, including all material, labor, vehicle and installation and construction costs and certain indirect costs associated with the construction of cable transmission and distribution facilities. While the Company’s capitalization is based on specific activities, once capitalized, costs are tracked by fixed asset category at the fiber network level and not Additions to land are recorded at cost, and include any direct costs associated with the purchase, as well as any direct costs incurred to bring it to the condition necessary for its intended use, such as legal fees associated with the acquisition and the cost of permanent improvements. (f) Derivative Financial Instruments The Company uses derivative financial instruments to manage foreign currency exchange risk. The Company accounts for these instruments in accordance with Financial Accounting Standards Board ("FASB") Accounting Standards Codification ("ASC") Topic 815, 815" 815 For certain contracts, the Company has not The fair value of the forward exchange contracts is determined using an estimated credit adjusted mark-to-market valuation which takes into consideration the Company's and the counterparty's credit risk. The valuation technique used to measure the fair values of the derivative instruments is a discounted cash flow technique, with all significant inputs derived from or corroborated by observable market data, as no (g) Goodwill and Other Intangible assets Goodwill Goodwill represents the excess of purchase price over the fair values assigned to the net assets acquired in business combinations. The Company does not fourth two The Company performs a qualitative assessment to determine whether there are events or circumstances which would lead to a determination that it is more likely than not not not no may In performance of the quantitative test, the Company uses a discounted cash flow or income approach in which future expected cash flows at the operating segment level are converted to present value using factors that consider the timing and risk of the future cash flows. The estimate of cash flows used is prepared on an unleveraged debt-free basis. The discount rate reflects a market-derived weighted average cost of capital. The Company believes that this approach is appropriate because it provides a fair value estimate based upon the Company’s expected long-term operating and cash flow performance for its operating segment. The projections are based upon the Company’s best estimates of projected economic and market conditions over the related period including growth rates, estimates of future expected changes in operating margins and cash expenditures. Other significant estimates and assumptions include terminal value growth rates, terminal value margin rates, future capital expenditures and changes in future working capital. If assumptions and estimates used to allocate the purchase price or used to assess impairment prove to be inaccurate, future asset impairment charges could be required. Intangibles Assets Not Intangible assets not no The Company reviews individual domain names in the portfolio for potential impairment throughout the fiscal year in determining whether a particular name should be renewed. Impairment is recognized for names that are not Intangible Assets Subject to Amortization Intangible assets subject to amortization, consist of brand, customer relationships, technology and network rights and are amortized on a straight-line basis over their estimated useful lives as follows: (in years) Technology 2 Brand 7 Customer relationships 3 - 7 Network rights 15 The Company continually evaluates whether events or circumstances have occurred that indicate the remaining estimated useful lives of its intangible assets subject to amortization may may not (h) Revenue recognition See Note 10 (i) Deferred revenue Deferred revenue primarily relates to the unearned portion of revenues received in advance related to the unexpired term of registration fees from domain name registrations and other domain related Internet services, on both a wholesale and retail basis, net of external commissions. (j) Contract Costs See Note 11 ( k ) Accreditation fees payable In accordance with ICANN rules, the Company has elected to pay ICANN fees incurred on the registration of Generic Top-Level Domains on an annual basis. Accordingly, accreditation fees that relate to registrations completed prior to ICANN rendering a bill are accrued and reflected as accreditation fees payable. ( l ) Prepaid domain name registry fees Prepaid domain name registry and other Internet services fees represent amounts paid to registries, and country code domain name operators for updating and maintaining the registries, as well as to suppliers of other Internet services. Domain name registry and other Internet services fees are recognized on a straight-line basis over the life of the contracted registration term. ( m ) Translation of foreign currency transactions The Company’s functional currency is the United States dollar. Monetary assets and liabilities of the Company and of its wholly owned subsidiaries that are denominated in foreign currencies are translated into United States dollars at the exchange rates prevailing at the balance sheet dates. Non-monetary assets and liabilities are translated at the historical exchange rates. Transactions included in operations are translated at the rate at the date of the transactions. ( n ) Income taxes Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss carry forwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in net income in the year that includes the enactment date. A valuation allowance is recorded if it is not not” The Company recognizes the impact of an uncertain income tax position at the largest amount that is more-likely-than- not not 50% 12 ( o ) Stock-based compensation Stock-based compensation expense recognized during the period is based on the value of the portion of stock-based payment awards that is ultimately expected to vest, reduced for estimated forfeitures. ( p ) Earnings per common share Basic earnings per common share has been calculated on the basis of net income for the year divided by the weighted average number of common shares outstanding during each year. Diluted earnings per share gives effect to all dilutive potential common shares outstanding at the end of the year assuming that they had been issued, converted or exercised at the later of the beginning of the year or their date of issuance. In computing diluted earnings per share, the treasury stock method is used to determine the number of shares assumed to be purchased from the conversion of common share equivalents or the proceeds of the exercise of options. ( q ) Concentration of credit risk Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash equivalents, accounts receivable and forward foreign exchange contracts. Cash equivalents consist of deposits with major commercial banks, the maturities of which are three not not ( r ) Fair value measurement Fair value of financial assets and liabilities is defined as an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three Level 1—Quoted Level 2—Observable Level 3—No Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurements. Our assessment of the significance of a particular input to the fair value measurements requires judgment, and may The fair value of cash and cash equivalents, accounts receivable, accounts payable, accreditation fees payable, customer deposits and accrued liabilities (level 2 The fair value of the derivative financial instruments is determined using an estimated credit-adjusted mark-to-market valuation (a level 2 ( s ) Investments The Company accounts for investment in entities over which it has the ability to exert significant influence, but does not not not ( t ) Segment reporting The Company operates in two The Company’s Domain Services revenues are attributed to the country in which the contract originates. Revenues from domain names issued under the OpenSRS brand from the Toronto, Canada location are attributed to Canada because it is impracticable to determine the country of the customer. Revenues from domain names issued under the eNom brand from the Kirkland, Washington location are attributable to the United States because it is impracticable to determine the country of the customer. The Company’s Network Access Services which consist primarily of mobile telephony services, as well as the provisioning of high speed Internet access and consulting services, which are generated primarily through its business operations in the United States. The Company’s assets are located in Canada, the United States and Germany. ( u ) Recent Accounting Pronouncements Recent Accounting Pronouncements Adopted On January 1, 2018, No. 2017 01, Business Combinations (Topic 805 ): Clarifying the Definition of a Business 2015 16, Simplifying the Accounting for Measurement-Period Adjustments. not 2014 09 January 1, 2018. ASU 2014 - 09: Adoption of Revenue from Contracts with Customers (Topic 606 ) On January 1, 2018, 2014 09 2014 09 January 1, 2018. January 1, 2018 2014 09, not 605, 605 2014 09 not not 2014 09 605. 10 The Company previously recognized commission fees related to Ting Mobile, Ting Internet, eNom domain registration and eNom domain related value-added service contracts as selling expenses when they were incurred. Under ASU 2014 09, Under ASU 2014 09, a) When the amortization period for costs incurred to obtain a contract with a customer is less than one b) For mobile and internet access services, where the performance obligation is part of contracts that have an original expected duration of one one not On January 1, 2018 2014 09, $1.4 $1.1 $0.3 The impact of the changes to the Company’s financial statements in the current period are as follows (Dollar amounts in thousands of U.S. dollars) December 31, 2018 Balances without Consolidated Balance Sheet As reported Adjustments adoption of Topic 606 Assets Contract Costs (note 11) $ 1,390 $ (1,390 ) $ - Total assets 339,575 $ (1,390 ) $ 338,185 Liabilities and Shareholders' Equity Deferred tax liability (note 9) $ 20,925 $ (338 ) $ 20,587 Retained earnings 60,810 (1,052 ) 59,758 Total Liabilities and Shareholders' Equity $ 339,575 $ (1,390 ) $ 338,185 Year ended, December 31, 2018 Balances without Consolidated Statements of Operations and Comprehensive Income As reported Adjustments adoption of Topic 606 Expenses Sales and marketing $ 33,063 $ (14 ) $ 33,049 Income before provision for income taxes 26,155 14 26,169 Provision for income tax (note 9) 9,020 3 9,023 Net income for the period $ 17,135 $ 11 $ 17,146 Year ended, December 31, 2018 Balances without Consolidated Statements of Cash Flows As reported Adjustments adoption of Topic 606 Net income for the period $ 17,135 $ 11 $ 17,146 Items not involving cash Net amortization of contract costs 14 (14 ) - Deferred income taxes (recovery) 1,038 3 1,041 All other items 19,022 - 19,022 Net cash provided by operating activities $ 37,209 $ - $ 37,209 Recent Accounting Pronouncements Not Yet Adopted In February 2016, No. 2016 02, Leases (Topic 842 ) 2016 02” 2016 02 2016 02 December 15, 2018, January 1, 2019 first 2019. In August 2017, No. 2017 12, Derivatives and Hedging (Topic 815 ): Targeted Improvements to Accounting for Hedging Activities 2017 12” December 15, 2018. 2017 12 first 2019, not In August 2018, No. 2018 15, Intangibles—Goodwill and Other—Internal-Use Software 350 40 2018 15” 2018 15 not 2018 15 2018 15 December 15, 2019, |
Note 3 - Acquisitions
Note 3 - Acquisitions | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Business Combination Disclosure [Text Block] | 3. (a) Blue Ridge Websoft On February 27, 2015, one 70% $3.5 On February 1, 2017, 20% $2.0 On February 13, 2018, 10% $1.2 February 13, 2018 $1.2 10% (b) eNom, Incorporated On January 20, 2017, $77.8 $83.5 $5.7 As required by ASC 805, The goodwill related to this acquisition is primarily attributable to synergies expected to arise from the acquisition and is not The Company has prepared a final purchase price allocation of the assets acquired and the liabilities assumed of eNom based on management’s best estimates of fair value. The final purchase price reflects the final appraisals, valuations and analyses of the fair value of the acquired assets and assumed liabilities. The following table shows the final allocation of the purchase price for eNom to the acquired identifiable assets and liabilities assumed ( thousands of U.S. dollars Goodwill $ 69,048 Cash 1,594 Brand 12,400 Developed technology 3,900 Customer relationships 28,000 Prepaid domain registry fees 70,644 Other assets 10,171 Total assets 195,757 Deferred Revenue (77,799 ) Deferred Tax Liabilities (24,223 ) Other liabilities (15,903 ) Total liabilities (117,925 ) Consideration Paid $ 77,832 As required by ASC 805, The goodwill related to this acquisition is primarily attributable to synergies expected to arise from the acquisition and is not |
Note 4 - Property and Equipment
Note 4 - Property and Equipment | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Property, Plant and Equipment Disclosure [Text Block] | 4. Property and equipment consist of the following (Dollar amounts in thousands of U.S. dollars): December 31, 2018 December 31, 2017 Computer equipment $ 13,566 $ 12,312 Computer software 1,496 1,449 Furniture and equipment 1,364 1,308 Vehicles and tools 2,323 1,306 Fiber network 30,215 14,053 Customer equipment and installations 4,939 2,570 Land 823 ─ Assets under construction 10,030 4,204 Leasehold improvements 229 171 64,985 37,373 Less: Accumulated depreciation 16,920 12,753 $ 48,065 $ 24,620 Depreciation of property and equipment (Dollar amounts in thousands of U.S. dollars): Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Depreciation of property and equipment $ 5,722 $ 3,727 $ 1,824 During the year ended December 31, 2018, nil December 31, 2017 2016, $0.1 $nil, |
Note 5 - Goodwill and Other Int
Note 5 - Goodwill and Other Intangible Assets | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Goodwill and Intangible Assets Disclosure [Text Block] | 5. Goodwill Goodwill represents the excess of the purchase price over the fair value of tangible and identifiable intangible assets acquired and liabilities assumed in our acquisitions. The Company's Goodwill balance is $90.1 December 31, 2018 December 31, 2017. 98% $88.0 2% $2.1 Goodwill is not 2 no 2018 2017. Other Intangible Assets: Intangible assets consist of acquired brand, technology, customer relationships, surname domain names, direct navigation domain names and network rights. The Company considers its intangible assets consisting of surname domain names and direct navigation domain names as indefinite life intangible assets. The Company has the exclusive right to these domain names as long as the annual renewal fees are paid to the applicable registry. Renewals occur routinely and at a nominal cost. The indefinite life intangible assets are not 2018, June 2006 not December 31, 2018, nil, not December 31, 2017 $0.1 not $0.1 December 31, 2016. Intangible assets, comprising brand, technology, customer relationships and network rights are being amortized on a straight-line basis over periods of two fifteen On January 20, 2017, 7, 2 7 3 On September 19, 2017, $2.6 $1.4 7 In Fiscal 2017, two $0.3 7 On November 16, 2018, $0.4 3 Acquired intangible assets consist of the following (Dollar amounts in thousands of U.S. dollars): Surname domain names Direct navigation domain names Brand Customer relationships Technology Network rights Total Amortization period indefinite life indefinite life 7 years 3 - 7 years 2 years 15 years Balances, December 31, 2016 $ 11,295 $ 1,869 $ 49 6,153 $ - $ 607 $ 19,973 Acquisition of Enom (note 3(b)) - - 12,400 28,000 3,900 - 44,300 Acquisition of consumer related assets of Otono Networks, Inc. - - - 2,623 - - 2,623 Acquisition of customer relationships - - - 320 - - 320 Additions to/(disposals from) domain portfolio, net (38 ) (253 ) - - - - (291 ) Impairment of indefinite life intangible assets - (111 ) - - - - (111 ) Amortization expense - - (1,656 ) (4,911 ) (1,787 ) (46 ) (8,400 ) Balances December 31, 2017 $ 11,257 $ 1,505 $ 10,793 $ 32,185 $ 2,113 $ 561 58,414 Acquisition of customer relationships - - - 565 - - 565 Additions to/(disposals from) domain portfolio, net (81 ) (260 ) - - - - (341 ) Amortization expense - - (1,789 ) (5,458 ) (1,950 ) (46 ) (9,243 ) Balances December 31, 2018 $ 11,176 $ 1,245 $ 9,004 $ 27,292 $ 163 $ 515 $ 49,395 The following table shows the estimated amortization expense for each of the next 5 no Year ending December 31, 2019 $ 7,488 2020 7,326 2021 7,315 2022 7,187 2023 7,187 Thereafter 469 Total $ 36,972 |
Note 6 - Fair Value Measurement
Note 6 - Fair Value Measurement | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Fair Value Disclosures [Text Block] | 6. For financial assets and liabilities recorded in our financial statements at fair value we utilize a valuation hierarchy for disclosure of the inputs to valuation used to measure fair value. This hierarchy prioritizes the inputs into three 1 2 3 The following table provides a summary of the fair values of the Company’s derivative instruments measured at fair value on a recurring basis as at December 31, 2018 December 31, 2018 Fair Value Measurement Using Liabilities at Level 1 Level 2 Level 3 Fair Value Derivative instrument liability $ — $ (1,276 ) $ — $ (1,276 ) Total Liabilities $ — $ (1,276 ) $ — $ (1,276 ) The following table provides a summary of the fair values of the Company’s derivative instruments measured at fair value on a recurring basis as at December 31, 2017 December 31, 2017 Fair Value Measurement Using Liabilities at Level 1 Level 2 Level 3 Fair Value Derivative instrument liability $ — $ — $ — $ — Total Liabilities $ — $ — $ — $ — |
Note 7 - Derivative Instruments
Note 7 - Derivative Instruments and Hedging Activities | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Derivative Instruments and Hedging Activities Disclosure [Text Block] | 7. Foreign currency forward contracts In October 2012, not one eighteen The Company has designated certain of these transactions as cash flow hedges of forecasted transactions under ASC Topic 815. 815, December 31, 2018 2017, no As of December 31, 2018, $40.5 $36.5 815 December 31, 2017 no As of December 31, 2018, Maturity date (Dollar amounts in thousands of U.S. dollars) Notional amount of U.S. dollars Weighted average exchange rate of U.S. dollars Fair value January - March 2019 9,955 1.3131 355 April - June 2019 10,381 1.3154 332 July - September 2019 9,881 1.3136 310 October - December 2019 10,327 1.3174 279 $ 40,544 1.3149 $ 1,276 Fair value of derivative instruments and effect of derivative instruments on financial performance The effect of these derivative instruments on our consolidated financial statements as of, and for the year ended December 31, 2018 2017, not Fair value of derivative instruments in the consolidated balance sheets (see N ote 6 ) Derivatives (Dollar amounts in thousands of U.S. dollars) Balance Sheet Location December 31, 2018 Liability at Fair Value December 31, 2017 Liability at Fair Value Foreign currency forward contracts designated as cash flow hedges Derivative instruments $ 1,069 $ — Foreign currency forward contracts not designated as cash flow hedges Derivative instruments $ 207 $ — Total foreign currency forward contracts Derivative instruments $ 1,276 $ — Movement in AOCI balance for the year ended December 31, 2018 (Dollar amounts in thousands of U.S. dollars) Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2017 $ — $ — $ — Other comprehensive income (loss) before reclassifications (1,350 ) 328 (1,022 ) Amount reclassified from accumulated other comprehensive income 281 (69 ) 212 Other comprehensive income (loss) for the year ended December 31, 2018 (1,069 ) 259 (810 ) Ending AOCI balance – December 31, 2018 $ (1,069 ) $ 259 $ (810 ) Movement in AOCI balance for the year ended December 31, 2017 (Dollar amounts in thousands of U.S. dollars) Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2016 $ 156 $ (56 ) $ 100 Other comprehensive income (loss) before reclassifications 863 (313 ) 550 Amount reclassified from accumulated other comprehensive income (1,019 ) 369 (650 ) Other comprehensive income (loss) for the year ended December 31, 2017 (156 ) 56 (100 ) Ending AOCI balance – December 31, 2017 $ — $ — $ — Movement in AOCI balance for the year ended December 31, 2016 (Dollar amounts in thousands of U.S. dollars) Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2015 $ (1,721 ) $ 612 $ (1,109 ) Other comprehensive income (loss) before reclassifications 872 (304 ) 568 Amount reclassified from accumulated other comprehensive income 1,005 (364 ) 641 Other comprehensive income (loss) for the year ended December 31, 2016 1,877 (668 ) 1,209 Ending AOCI balance – December 31, 2016 $ 156 $ (56 ) $ 100 Effects of derivative instruments on income and other comprehensive income (OCI) (Dollar amounts in thousands of U.S. dollars) Derivatives in Cash Flow Hedging Relationship Amount of Gain or (Loss) Recognized in OCI, net of tax, on Derivative (Effective Portion) Location of Gain or (Loss) Reclassified from Accumulated OCI into Income (Effective Portion) Amount of Gain or (Loss) Reclassified from Accumulated OCI into Income, (Effective Portion) Location of Gain or (Loss) Recognized in Income on Derivative (ineffective Portion and Amount Excluded from Effectiveness Testing) Amount of Gain or (Loss) Recognized in Income on Derivative (ineffective Portion and Amount Excluded from Effectiveness Foreign currency forward contracts – year ended December 31, 2018 Operating expenses $ (245 ) $ (810 ) Cost of revenues $ (36 ) Operating expenses $ — Operating expenses $ 879 Foreign currency forward contracts – year ended December 31, 2017 $ (100 ) Cost of revenues $ 140 Operating expenses $ — Operating expenses $ (737 ) Foreign currency forward contracts – year ended December 31, 2016 $ 1,209 Cost of revenues $ (221 ) Operating expenses $ (47 ) In addition to the above, for those foreign currency forward contracts not $0.1 $0.2 December 31, 2018. December 31, 2017, $0.1 no December 31, 2017. $0.2 $0.3 December 31, 2016, |
Note 8 - Loan Payable
Note 8 - Loan Payable | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Debt Disclosure [Text Block] | 8. 2017 Amended Credit Facility On January 20, 2017, “2017 $140 2016 $40.0 $35.5 $84.5 $84.5 3 “2016 “2016 August 18, 2016. In connection with the 2017 $0.6 The obligations of the Company under the 2017 first The 2017 four 2017 $140 ● a $5 ● a $15 ● a $35.5 ● a $84.5 Borrowings under the 2017 The repayment terms for Facility A require monthly interest payments with any final principal payment becoming due upon maturity of the 2017 December 31st first first four five seven 2017 2.25:1 December 31 50% The 2017 2017 four 2.25:1 1.20:1. $50.0 not $20 $40 not 1.5 twelve December 31, 2018, On January 24, 2018, 1.01 not $3.0 Borrowings under the 2017 If Total Funded Debt to EBITDA is: Availment type or fee Less than 1.00 Greater than or equal to 1.00 and less than 2.00 Greater than or equal to 2.00 and less than 2.25 Greater than or equal to 2.25 Canadian dollar borrowings based on Bankers’ Acceptance or U.S. dollar borrowings based on LIBOR (Margin) 2.00 % 2.25 % 2.75 % 3.25 % Canadian or U.S. dollar borrowings based on Prime Rate or U.S. dollar borrowings based on Base Rate (Margin) 0.75 % 1.00 % 1.50 % 2.00 % Standby fees 0.40 % 0.45 % 0.55 % 0.65 % The following table summarizes the Company’s borrowings under the credit facilities (Dollar amounts in thousands of U.S. dollars): December 31, 2018 December 31, 2017 Facility A 1,000 - Facility B 6,000 - Facility C 3,232 5,930 Facility D 54,924 71,823 Less: unamortized debt discount and issuance costs (555 ) (829 ) Total loan payable 64,601 76,924 Less: loan payable, current portion 18,400 18,290 Loan payable, long-term portion 46,201 58,634 The following table summarizes our scheduled principal repayments as of December 31, 2018 ( 2019 18,400 2020 18,400 2021 28,356 $ 65,156 Other Credit Facilities Prior to the Company entering into the 2016 November 19, 2012, two “2012 2016 2012 2012 2016 The treasury risk management facility under the Amended Credit Facility provides for a $3.5 may not 18 December 31, 2018, $40.5 7 In the fourth 2017, may $5 |
Note 9 - Income Taxes
Note 9 - Income Taxes | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Income Tax Disclosure [Text Block] | 9. The provision for income taxes differs from the amount computed by applying the statutory federal income tax rate of 21% December 31, 2018 35% December 31, 2017 December 31, 2016, Year ended December 31, 2018 2017 2016 Income for the year before provision for income taxes $ 26,155 $ 24,075 $ 25,113 Computed tax expense 5,492 8,185 8,538 Increase (reduction) in income tax expense resulting from: State income taxes 846 657 532 Effect of the decrease in Federal tax rate on deferred taxes - (10,036 ) - Change in Valuation allowance 2,811 1,276 - Non-creditable Foreign Tax - 2,903 - Excess tax benefits on share-based compensation expense (697 ) (2,796 ) - Permanent differences 159 1,636 290 Others 409 (77 ) (314 ) Provision for income taxes $ 9,020 $ 1,748 $ 9,046 On December 22, 2017, not 1 35% 21% 2 December 31, 2017; ( 3 4 5 6 In Fiscal 2018, 21%, 2018 $0.2 not not 2018 not $2.8 In Fiscal 2017, $5.8 35% 21% $10.0 $1.3 no not 21% 21% 2017 2017 $2.9 On December 22, 2017, not 2017 2017. The tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities as of December 31, 2018, 2017 December 31, 2018 December 31, 2017 Deferred tax assets (liabilities): Deferred tax assets: Deferred revenue $ 6,497 $ 7,573 Foreign tax credits 3,865 1,276 Amortization (5,872 ) (1,937 ) Net operating losses 1,892 2,545 Accruals, including foreign exchange and other 1,955 517 Sub-total Deferred tax assets 8,337 9,974 Valuation allowance (4,087 ) (1,276 ) Total deferred tax assets $ 4,250 $ 8,698 Deferred tax liabilities: Prepaid registry fees and expenses $ (15,950 ) $ (18,051 ) Limited life intangible assets (6,115 ) (7,371 ) Indefinite life intangible assets (3,110 ) (3,110 ) Total deferred tax liability $ (25,175 ) $ (28,532 ) Net deferred tax asset (liability) $ (20,925 ) $ (19,834 ) In assessing the realizability of deferred tax assets, management considers whether it is more likely than not not We believe it is more likely than not The Company had nil December 31, 2018, $15 December 31, 2017. The Company recognizes accrued interest and penalties related to unrecognized tax benefits in tax expense. The Company did not December 31, 2018, December 31, 2017. The following is a reconciliation of Tucows’ change in uncertain tax position (Dollar amounts in thousands of U.S. dollars): Total Gross Unrecognized Tax Benefits December 31, 2018 December 31, 2017 Balance, beginning of year $ 15 $ 117 Change in uncertain tax benefits (15 ) (102 ) Balance, end of year $ - $ 15 In Fiscal 2017, 2018, not not may |
Note 10 - Revenue
Note 10 - Revenue | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Revenue from Contract with Customer [Text Block] | 10. Significant accounting policy The Company’s revenues are derived from (a) the provisioning of mobile and fiber Internet services; and from (b) domain name registration contracts, other domain related value-added services, domain sale contracts, and other advertising revenue. Amounts received in advance of meeting the revenue recognition criteria described below are recorded as deferred revenue. All products are generally sold without the right of return or refund. Revenue is measured based on consideration specified in a contract with a customer and excludes any sales incentives and amounts collected on behalf of third Nature of goods and services The following is a description of principal activities – separated by reportable segments – from which the Company generates its revenue. For more detailed information about reportable segments. See note 18 (a) Network Access Services The Company generates Network Access Services revenues primarily through the provisioning of mobile services (“Ting Mobile”). Other sources of revenue include the provisioning of fixed high-speed Internet access (“Ting Internet”) as well as billing solutions to Internet Service Providers (“ISPs”). Ting Mobile wireless usage contracts grant customers access to standard talk, text and data mobile services. Ting Mobile contracts are billed based on the actual amount of monthly services utilized by each customer during their billing cycle and charged to customers on a postpaid basis. Voice minutes, text messages and megabytes of data are each billed separately based on a tiered pricing program. The Company recognizes revenue for Ting Mobile usage based on the actual amount of monthly services utilized by each customer. Ting Internet contracts provide customers Internet access at their home or business through the installation and use of our fiber optic network. Ting Internet contracts are generally prepaid and grant customers with unlimited bandwidth based on a fixed price per month basis. Because consideration is collected before the service period, revenue is initially deferred and recognized as the Company performs its obligation to provide Internet access. Though the Company does not Both Ting Mobile and Ting Internet access services are primarily contracted through the Ting website, for one no not Our Roam Mobility brand also offers standard talk, text and data mobile services. Roam customers prepay for their usage through the Roam Mobility website. When prepayments are received the amount is deferred, and subsequently recognized as the Company satisfies its obligation to provide mobile services. In addition, revenues associated with the sale of SIM cards are recognized when title and risk of loss is transferred to the subscriber and shipment has occurred. Incentive marketing credits given to customers are recorded as a reduction of revenue. In those cases, where payment is not not (b) Domain Services Domain registration contracts, which can be purchased for terms of one ten Domain related value-added services like digital certifications, WHOIS privacy, website hosting and hosted email provide our resellers and retail registrant customers with tools and additional functionality to be used in conjunction with domain registrations. All domain related value-added services are considered distinct performance obligations which transfer the promised service to the customer over the contracted term. Fees charged to customers for domain related value-added services are collected at the inception of the contract, and revenue is recognized on a straight-line basis over the contracted term, consistent with the satisfaction of the performance obligations. The Company is an ICANN accredited registrar. Thus, the Company is the primary obligor with our reseller and retail registrant customers and is responsible for the fulfillment of our registrar services to those parties. As a result, the Company reports revenue in the amount of the fees we receive directly from our reseller and retail registrant customers. Our reseller customers maintain the primary obligor relationship with their retail customers, establish pricing and retain credit risk to those customers. Accordingly, the Company does not The Company also sells the rights to the Company’s portfolio domains or names acquired through the Company’s domain expiry stream. Revenue generated from sale of domain name contracts, containing a distinct performance obligation to transfer the domain name rights under the Company’s control, is generally recognized once the rights have been transferred and payment has been received in full. Advertising revenue is derived through domain parking monetization, whereby the Company contracts with third no Disaggregation of Revenue The following is a summary of the Company’s revenue earned from each significant revenue stream (Dollar amounts in thousands of U.S. dollars): Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 89,340 $ 83,885 $ 70,127 Other Services 7,984 5,567 4,179 Total Network Access Services 97,324 89,452 74,306 Domain Services: Wholesale Domain Services 189,434 183,731 89,010 Value Added Services 17,756 17,832 8,642 Total Wholesale 207,190 201,563 97,652 Retail 34,524 31,649 14,630 Portfolio 6,975 6,757 3,231 Total Domain Services 248,689 239,969 115,513 $ 346,013 $ 329,421 $ 189,819 During the years ended December 31, 2018, December 31, 2017 December 31, 2016 no 10% no 10% The following is a summary of the Company’s cost of revenue from each significant revenue stream (Dollar amounts in thousands of U.S. dollars): Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 46,061 $ 45,335 $ 35,915 Other Services 3,994 3,305 1,910 Total Network Access Services 50,055 48,640 37,825 Domain Services: Wholesale Domain Services 160,216 161,013 72,948 Value Added Services 3,154 2,450 2,032 Total Wholesale 163,370 163,463 74,980 Retail 17,725 17,346 6,766 Portfolio 953 1,151 616 Total Domain Services 182,048 181,960 82,362 Network Expenses: Network, other costs 9,846 9,324 5,210 Network, depreciation and amortization costs 7,294 4,976 1,368 17,140 14,300 6,578 $ 249,243 $ 244,900 $ 126,765 Contract Balances The following table provides information about contract liabilities (deferred revenue) from contracts with customers. The Company accounts for contract assets and liabilities on a contract-by-contract basis, with each contract presented as either a net contract asset or a net contract liability accordingly. Given that Company’s long-term contracts with customers are billed in advance of service, the Company’s contract liabilities relate to amounts recorded as deferred revenues. The Company does not not Deferred revenue primarily relates to the portion of the transaction price received in advance related to the unexpired term of domain name registrations and other domain related value-added services, on both a wholesale and retail basis, net of external commissions. The opening balance of deferred revenue was $160.6 January 1, 2018. Year ended December 31, 2018 Balance, beginning of period $ 160,582 Deferred revenue 222,208 Recognized revenue (1) (239,096 ) Balance, end of period $ 143,694 ( 1 2.8 2018, December 31, 2018 $16.9 December 31, 2018. Remaining Performance Obligations: As the Company fulfills its performance obligations, the following table includes revenues expected to be recognized in the future related performance obligations that are unsatisfied (or partially unsatisfied) as at December 31, 2018 ( For mobile and internet access services, where the performance obligation is part of contracts that have an original expected duration of one one not Year ended December 31, 2018 2019 $ 116,398 2020 12,751 2021 5,498 2022 3,456 2023 2,163 Thereafter 3,074 Total $ 143,340 |
Note 11 - Contract Costs
Note 11 - Contract Costs | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Capitalized Contract Costs [Text Block] | 11. (a) Deferred costs of acquisition We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the period of benefit of those costs to be longer than one $1.4 December 31, 2018. Capitalized contract acquisition costs are amortized into operating expense based on the transfer of goods or services to which the assets relate which typically range from two ten December 31, 2018, $0.9 $0.9 no December 31, 2018. December 31, 2018 Year ended December 31, 2018 (1) Balance, beginning of period $ 1,404 Capitalization of costs 913 Amortization of costs (927 ) Balance, end of period $ 1,390 ( 1 January 1, 2018 606. 2 When the amortization period for costs incurred to obtain a contract with a customer is less than one (b) Deferred costs of fulfillment Deferred costs to fulfill contracts generally consist of domain registration costs which have been paid to a domain registry, and are capitalized as Prepaid domain name registry and ancillary services fees. These costs are deferred and amortized over the life of the domain which generally ranges from one ten December 31, 2018, $163.5 $183.9 no December 31, 2018. December 31, 2018 Year ended December 31, 2018 Balance, beginning of period $ 127,003 Deferral of costs 163,447 Recognized costs 1 (183,923 ) Balance, end of period $ 106,527 1 2.8 2018, December 31, 2018 $16.7 December 31, 2018. |
Note 12 - Common Shares
Note 12 - Common Shares | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Stockholders' Equity Note Disclosure [Text Block] | 1 2 . Common Shares: The Company’s authorized common share capital is 250 December 31, 2018, 10,627,988 2017: 10,583,879 Repurchase of common shares: (a) Normal Course Issuer Bids: On February 13, 2019, $40 $40 February 14, 2019 February 13, 2020. 19 2018 On February 14, 2018, $40 $40 February 14, 2018 February 13, 2019. No On March 1, 2017, $40 $40 March 1, 2017 February 14, 2018. No On February 9, 2016, $40 February 10, 2016 February 9, 2017. 308,416 December 31, 2016 $7.2 (b) Net Exercise of Stock Options Our current equity-based compensation plans include provisions that allow for the “net exercise” of stock options by all plan participants. In a net exercise, any required payroll taxes, federal withholding taxes and exercise price of the shares due from the option holder can be paid for by having the option holder tender back to the Company a number of shares at fair value equal to the amounts due. These transactions are accounted for by the Company as a purchase and retirement of shares and are included in the table on the following page as common stock received in connection with share-based compensation. The following table summarizes our share repurchase activity for the periods covered below (Dollar amounts in thousands of US dollars, except for share data): Year Ended December 31, 2018 2017 2016 Common stock repurchased on the open market or through tender offer Number of shares — — 308,416 Aggregate market value of shares (in thousands) $ — $ — $ 7,180 Average price per share $ — $ — $ 23.28 Common stock received in connection with share-based compensation Number of shares 19,777 50,454 25,572 Aggregate market value of shares (in thousands) $ 1,138 $ 2,602 $ 634 Average price per share $ 57.56 $ 51.58 $ 24.80 |
Note 13 - Stock Option Plans
Note 13 - Stock Option Plans | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Disclosure of Compensation Related Costs, Share-based Payments [Text Block] | 1 3 . Stock Option Plans: The Company’s 1996 “1996 may 1996 2,787,500 1996 four 1996 February 25, 2006; no On November 22, 2006, 2006 “2006 July 29, 2010 1996 2006 2006 1.25 October 8, 2010, 2006 0.475 1.725 September 2015, 2006 0.75 2.475 2006 four not seven one five September 2015 2006 Our current equity-based compensation plans include provisions that allow for the “net exercise” of stock options by all plan participants. In a net exercise, any required payroll taxes, federal withholding taxes and exercise price of the shares due from the option holder can be paid for by having the option holder tender back to the Company a number of shares at fair value equal to the amounts due. These transactions are accounted for by the Company as a purchase and retirement of shares. The fair value of each option grant is estimated on the date of grant using the Black-Scholes option-pricing model. Because option-pricing models require the use of subjective assumptions, changes in these assumptions can materially affect the fair value of the options. The assumptions presented in the table below represent the weighted average of the applicable assumption used to value stock options at their grant date. The Company calculates expected volatility based on historical volatility of the Company’s common shares. The expected term, which represents the period of time that options granted are expected to be outstanding, is estimated based on historical exercise experience. The Company evaluated historical exercise behavior when determining the expected term assumptions. The risk-free rate assumed in valuing the options is based on the U.S. Treasury yield curve in effect at the time of grant for the expected term of the option. The Company determines the expected dividend yield percentage by dividing the expected annual dividend by the market price of Tucows Inc. common shares at the date of grant. The fair value of stock options granted during the years ended December 31, 2018, 2017 2016 Year ended December 31, 2018 2017 2016 Volatility 37.9 % 41.6 % 66.1 % Risk-free interest rate 2.7 % 1.8 % 1.3 % Expected life (in years) 4.48 4.55 4.3 Dividend yield — % — % — % The weighted average grant date fair value for options issued, with the exercise price equal to market value on the date of grant $ 22.22 $ 20.08 $ 11.18 Details of stock option transactions are as follows: Year ended December 31, Year ended December 31, Year ended December 31, 2018 2017 2016 Number of shares Weighted average exercise price per share Number of shares Weighted average exercise price per share Number of shares Weighted average exercise price per share Outstanding, beginning of period 653,571 $ 36.69 474,501 $ 12.67 513,366 $ 9.24 Granted 163,366 62.80 370,025 54.10 81,750 22.66 Exercised (63,886 ) 12.86 (172,759 ) 7.88 (109,963 ) 3.79 Forfeited (50,714 ) 52.33 (18,196 ) 37.70 (9,902 ) 16.80 Expired — — — — (750 ) 3.76 Outstanding, end of period 702,337 43.80 653,571 36.69 474,501 12.67 Options exercisable, end of period 326,937 $ 28.91 243,771 $ 14.79 332,192 $ 10.08 As of December 31, 2018, Options outstanding Options exercisable Exercise price Number outstanding Weighted average exercise price per share Weighted average remaining contractual life (years) Aggregate intrinsic value Number exercisable Weighted average exercise price per share Weighted average remaining contractual life (years) Aggregate intrinsic value $ 5.52 - $ 8.56 58,135 $ 6.92 0.9 $ 3,089 58,135 $ 6.92 0.9 $ 3,090 $ 10.16 - $ 19.95 99,588 16.44 2.5 4,344 97,088 16.35 2.5 4,244 $ 21.10 - $ 27.53 65,000 23.47 3.2 2,378 55,000 23.91 3.0 1,988 $ 35.25 - $ 37.35 14,375 35.89 4.4 347 10,625 36.11 4.2 254 $ 43.15 - $ 47.00 18,500 44.19 5.1 294 8,000 43.75 5.1 131 $ 53.20 - $ 58.65 328,387 55.67 5.4 1,443 98,089 55.21 5.1 476 $ 64.10 - $ 64.10 118,352 64.10 6.4 — — — — — 702,337 $ 43.80 4.6 $ 11,895 326,937 $ 28.91 3.2 $ 10,183 Total unrecognized compensation cost relating to unvested stock options at December 31, 2018, $6.5 2.7 The total intrinsic value of options exercised during the years ended December 31, 2018, 2017 2016 $2.9 $7.6 $2.4 December 31, 2018, 2017 2016 $0.1 $0.2 $0.1 The Company recorded stock-based compensation amounting to $2.6 $1.5 $0.8 December 31, 2018, 2017 2016 Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Network expenses $ 223 $ 110 $ 22 Sales and marketing 1,025 573 236 Technical operations and development 636 360 98 General and administrative 690 414 443 $ 2,574 $ 1,457 $ 799 |
Note 14 - Foreign Exchange
Note 14 - Foreign Exchange | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Foreign Currency Disclosure [Text Block] | 1 4 . Foreign Exchange: A foreign exchange loss amounting to $0.9 December 31, 2018. $0.7 December 31, 2017. $0.1 December 31, 2016. |
Note 15 - Other Income, Net
Note 15 - Other Income, Net | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Other Income and Other Expense Disclosure [Text Block] | 15. In February 2015, three November 2015. $1.5 three $0.5 December 31, 2018, 2017 2016 December 31, 2018 |
Note 16 - Earnings Per Common S
Note 16 - Earnings Per Common Share | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Earnings Per Share [Text Block] | 1 6 . Earnings Per Common Share: The following table reconciles the numerators and denominators of the basic and diluted earnings per common share computation (Dollar amounts in thousands of US dollars, except for share data): Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Numerator for basic and diluted earnings per common share: Net income for the year $ 17,135 $ 22,327 $ 16,067 Denominator for basic and diluted earnings per common share: Basic weighted average number of common shares outstanding 10,604,722 10,537,356 10,524,856 Effect of stock options 189,448 256,266 188,739 Diluted weighted average number of shares outstanding 10,794,170 10,793,622 10,713,595 Basic earnings per common share $ 1.62 $ 2.12 $ 1.53 Diluted earnings per common share $ 1.59 $ 2.07 $ 1.50 Options to purchase 451,739 2018 2017: 341,650; 2016: 76,750 not |
Note 17 - Commitments and Conti
Note 17 - Commitments and Contingencies | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Commitments and Contingencies Disclosure [Text Block] | 1 7 . Commitments and Contingencies: (a) The Company has several non-cancelable lease and purchase obligations primarily for general office facilities, service contracts for mobile telephone services and equipment that expire over the next ten Contractual Obligations for the year ending December 31, Contractual Lease Obligations (1) Purchase Obligations (2) Total Obligations 2019 1,748 44,938 46,686 2020 1,084 5,068 6,152 2021 1,198 388 1,586 2022 1,182 379 1,561 2023 1,153 370 1,523 Thereafter 7,195 795 7,990 $ 13,560 $ 51,938 $ 65,498 ( 1 December 31, 2020. 2021 2030. Not $7.4 ( 2 2019 not Rental expense under operating lease agreements was $2.3 $1.9 $1.2 December 31, 2018, 2017 2016, (b) On February 9, 2015 Under the agreement, the City will finance, construct, and maintain the WFN which will be leased to Ting for a period of ten Under the terms of the agreement, Ting may $50,000 $150,000 2016, $21.0 five 30 December 31, 2018, $13.4 not 2019. (c) On September 17, 2018 15 Ting will be responsible for paying a fee per subscriber to the private infrastructure group. Through a “take or pay” arrangement, Ting has agreed to certain minimum charges based on minimum subscriber rates. These minimum fees are variable based on the percentage completion of the fiber optic network, and thus have not 17 (d) In the normal course of its operations, the Company becomes involved in various legal claims and lawsuits. The Company intends to vigorously defend these claims. While the final outcome with respect to any actions or claims outstanding or pending as of December 31, 2018 not (e) On August 30, 2017, September 6, 2018, |
Note 18 - Segment Reporting
Note 18 - Segment Reporting | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Segment Reporting Disclosure [Text Block] | 1 8 . Segment Reporting: (a) We are organized and managed based on two 1. 2. The Chief Executive Officer (the “CEO”) is the chief operating decision maker and regularly reviews the operations and performance by segment. The CEO reviews gross profit as (i) a key measure of performance for each segment and (ii) to make decisions about the allocation of resources. Sales and marketing expenses, technical operations and development expenses, general and administrative expenses, depreciation of property and equipment, amortization of intangibles assets, impairment of indefinite life intangible assets, gain on currency forward contracts and other expense net are organized along functional lines and are not not 2 10 Information by reportable segments (with the exception of disaggregated revenue, which is discussed in Note 10 Network Access Services Domain Services Consolidated Totals Year ended December 31, 2018 Net Revenues $ 97,324 $ 248,689 $ 346,013 Cost of revenues Cost of revenues 50,055 182,048 232,103 Network expenses 2,029 7,817 9,846 Depreciation of property and equipment 4,063 1,235 5,298 Amortization of intangible assets 46 1,950 1,996 Total cost of revenues 56,193 193,050 249,243 Gross Profit 41,131 55,639 96,770 Expenses: Sales and marketing 33,063 Technical operations and development 8,748 General and administrative 17,710 Depreciation of property and equipment 424 Amortization of intangible assets 7,247 Impairment of indefinite life intangible assets - Loss (gain) on currency forward contracts 254 Income from operations 29,324 Other income (expenses), net (3,169 ) Income before provision for income taxes $ 26,155 Network Access Services Domain Services Consolidated Totals Year ended December 31, 2017 Net Revenues $ 89,452 $ 239,969 $ 329,421 Cost of revenues Cost of revenues 48,640 181,960 230,600 Network expenses 1,861 7,463 9,324 Depreciation of property and equipment 2,201 941 3,142 Amortization of intangible assets 46 1,788 1,834 Total cost of revenues 52,748 192,152 244,900 Gross Profit 36,704 47,817 84,521 Expenses: Sales and marketing 29,423 Technical operations and development 7,258 General and administrative 13,594 Depreciation of property and equipment 585 Amortization of intangible assets 6,566 Impairment of indefinite life intangible assets 111 Loss (gain) on currency forward contracts (98 ) Income from operations 27,082 Other income (expenses), net (3,007 ) Income before provision for income taxes $ 24,075 Network Access Services Domain Services Consolidated Totals Year ended December 31, 2016 Net Revenues $ 74,306 $ 115,513 $ 189,819 Cost of revenues Cost of revenues 37,825 82,362 120,187 Network expenses 1,399 3,811 5,210 Depreciation of property and equipment 977 343 1,320 Amortization of intangible assets 48 - 48 Total cost of revenues 40,249 86,516 126,765 Gross Profit 34,057 28,997 63,054 Expenses: Sales and marketing 20,755 Technical operations and development 4,495 General and administrative 11,405 Depreciation of property and equipment 504 Amortization of intangible assets 905 Impairment of indefinite life intangible assets 42 Loss (gain) on currency forward contracts (99 ) Income from operations 25,047 Other income (expenses), net 66 Income before provision for income taxes $ 25,113 (b) The following is a summary of the Company’s cost of revenues from each significant revenue stream (Dollar amounts in thousands of US dollars): Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 46,061 $ 45,335 $ 35,915 Other Services 3,994 3,305 1,910 Total Network Access Services 50,055 48,640 37,825 Domain Services: Wholesale Domain Services 160,216 161,013 72,948 Value Added Services 3,154 2,450 2,032 Total Wholesale 163,370 163,463 74,980 Retail 17,725 17,346 6,766 Portfolio 953 1,151 616 Total Domain Services 182,048 181,960 82,362 Network Expenses: Network, other costs 9,846 9,324 5,210 Network, depreciation and amortization costs 7,294 4,976 1,368 17,140 14,300 6,578 $ 249,243 $ 244,900 $ 126,765 (c) The following is a summary of the Company’s property and equipment by geographic region (Dollar amounts in thousands of US dollars): December 31, 2018 December 31, 2017 Canada $ 1,393 $ 1,176 United States 46,631 23,417 Germany 41 27 $ 48,065 $ 24,620 (d) The following is a summary of the Company’s amortizable intangible assets by geographic region (Dollar amounts in thousands of US dollars): December 31, 2018 December 31, 2017 Canada $ 6,553 $ 7,749 United States 30,421 37,783 Germany - 120 $ 36,974 $ 45,652 (e) The following is a summary of the Company’s deferred tax asset, net of valuation allowance, by geographic region (Dollar amounts in thousands of US dollars): December 31, 2018 December 31, 2017 Canada $ - $ - $ - $ - (f) Valuation and qualifying accounts (Dollar amounts in thousands of US dollars): Allowance for doubtful accounts excluding provision for credit notes Balance at beginning of period Charged to costs and expenses Write-offs during period Balance at end of period Year ended December 31, 2018 $ 168 $ (36 ) $ - $ 132 Year ended December 31, 2017 $ 164 $ 4 $ - $ 168 |
Note 19 - Subsequent Events
Note 19 - Subsequent Events | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Subsequent Events [Text Block] | 1 9 . Subsequent Events: a. On February 14, 2019, $40 February 14, 2019 February 13, 2020. $40 February 14, 2018 February 13, 2019 February 13, 2019. b. In January 2019, December 31, 2020. 2021 2030. Not $7.4 |
Note 20 - Selected Quarterly Fi
Note 20 - Selected Quarterly Financial Data (Unaudited) | 12 Months Ended |
Dec. 31, 2018 | |
Notes to Financial Statements | |
Quarterly Financial Information [Text Block] | 20 . Selected Quarterly Financial Data (Unaudited): December 31 September 30 June 30 March 31 (in thousands, except for per share data) 2018 Total revenues $ 85,612 $ 83,519 $ 81,087 $ 95,795 Gross profit 27,731 24,262 22,158 22,619 Net income 4,436 5,347 3,608 3,744 Earnings per share: Basic $ 0.42 $ 0.50 $ 0.34 $ 0.35 Diluted 0.41 0.50 0.33 0.35 2017 Total revenues $ 90,621 $ 85,008 $ 84,223 $ 69,568 Gross profit 25,736 20,494 21,347 16,944 Net income 11,199 3,439 5,241 2,446 Earnings per share: Basic $ 1.06 $ 0.33 $ 0.50 $ 0.23 Diluted 1.04 0.32 0.49 0.23 |
Significant Accounting Policies
Significant Accounting Policies (Policies) | 12 Months Ended |
Dec. 31, 2018 | |
Accounting Policies [Abstract] | |
Basis of Accounting, Policy [Policy Text Block] | (a) Basis of presentation These consolidated financial statements include the accounts of the Company and its subsidiaries. All significant intercompany balances and transactions have been eliminated on consolidation. The Company has reclassified certain prior period income statement amounts and related notes to conform to the financial statement presentation adopted in the current year. As a result of these reclassifications, there were no Commencing with this annual report on Form 10 December 31, 2018, $000 |
Use of Estimates, Policy [Policy Text Block] | (b) Use of estimates The preparation of the consolidated financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an on-going basis, management evaluates its estimates, including those related to amounts recognized for carrying values of revenues, bad debts, goodwill and intangible assets which require estimates of future cash flows and discount rates, income taxes, contingencies and litigation, and estimates of credit spreads for determination of the fair value of derivative instruments. Management bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances at the time they are made. Under different assumptions or conditions, the actual results will differ, potentially materially, from those previously estimated. Many of the conditions impacting these assumptions and estimates are outside of the Company’s control. |
Cash and Cash Equivalents, Policy [Policy Text Block] | (c) Cash and cash equivalents All highly liquid investments, with an original term to maturity of three |
Inventory, Policy [Policy Text Block] | (d) Inventory Inventory primarily consists of mobile devices, mobile sim cards and related accessories, and Internet optical network terminals and are stated at the lower of cost or net realizable value. Cost is determined based on actual cost of the mobile device, accessory shipped or optical network terminals. The net realizable value of inventory is analyzed on a regular basis. This analysis includes assessing obsolescence, sales forecasts, product life cycle, marketplace and other considerations. If assessments regarding the above factors adversely change, we may |
Property, Plant and Equipment, Policy [Policy Text Block] | (e) Property and equipment Property and equipment are stated at cost, net of accumulated depreciation. Depreciation is provided on a straight-line basis so as to depreciate the cost of depreciable assets over their estimated useful lives at the following rates: Rate Asset Computer equipment 30 % Computer software 33 1/3 - 100 % Furniture and equipment 20 % Vehicles and tools 20 % Fiber network (years) 15 Customer equipment and installations (years) 3 Land N/A Leasehold improvements Over term of lease Assets under construction N/A The Company reviews the carrying values of its property and equipment for potential impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not Additions to the fiber network are recorded at cost, including all material, labor, vehicle and installation and construction costs and certain indirect costs associated with the construction of cable transmission and distribution facilities. While the Company’s capitalization is based on specific activities, once capitalized, costs are tracked by fixed asset category at the fiber network level and not Additions to land are recorded at cost, and include any direct costs associated with the purchase, as well as any direct costs incurred to bring it to the condition necessary for its intended use, such as legal fees associated with the acquisition and the cost of permanent improvements. |
Derivatives, Policy [Policy Text Block] | (f) Derivative Financial Instruments The Company uses derivative financial instruments to manage foreign currency exchange risk. The Company accounts for these instruments in accordance with Financial Accounting Standards Board ("FASB") Accounting Standards Codification ("ASC") Topic 815, 815" 815 For certain contracts, the Company has not The fair value of the forward exchange contracts is determined using an estimated credit adjusted mark-to-market valuation which takes into consideration the Company's and the counterparty's credit risk. The valuation technique used to measure the fair values of the derivative instruments is a discounted cash flow technique, with all significant inputs derived from or corroborated by observable market data, as no |
Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] | (g) Goodwill and Other Intangible assets Goodwill Goodwill represents the excess of purchase price over the fair values assigned to the net assets acquired in business combinations. The Company does not fourth two The Company performs a qualitative assessment to determine whether there are events or circumstances which would lead to a determination that it is more likely than not not not no may In performance of the quantitative test, the Company uses a discounted cash flow or income approach in which future expected cash flows at the operating segment level are converted to present value using factors that consider the timing and risk of the future cash flows. The estimate of cash flows used is prepared on an unleveraged debt-free basis. The discount rate reflects a market-derived weighted average cost of capital. The Company believes that this approach is appropriate because it provides a fair value estimate based upon the Company’s expected long-term operating and cash flow performance for its operating segment. The projections are based upon the Company’s best estimates of projected economic and market conditions over the related period including growth rates, estimates of future expected changes in operating margins and cash expenditures. Other significant estimates and assumptions include terminal value growth rates, terminal value margin rates, future capital expenditures and changes in future working capital. If assumptions and estimates used to allocate the purchase price or used to assess impairment prove to be inaccurate, future asset impairment charges could be required. Intangibles Assets Not Intangible assets not no The Company reviews individual domain names in the portfolio for potential impairment throughout the fiscal year in determining whether a particular name should be renewed. Impairment is recognized for names that are not Intangible Assets Subject to Amortization Intangible assets subject to amortization, consist of brand, customer relationships, technology and network rights and are amortized on a straight-line basis over their estimated useful lives as follows: (in years) Technology 2 Brand 7 Customer relationships 3 - 7 Network rights 15 The Company continually evaluates whether events or circumstances have occurred that indicate the remaining estimated useful lives of its intangible assets subject to amortization may may not |
Revenue Recognition, Policy [Policy Text Block] | (h) Revenue recognition See Note 10 |
Revenue from Contract with Customer [Policy Text Block] | (i) Deferred revenue Deferred revenue primarily relates to the unearned portion of revenues received in advance related to the unexpired term of registration fees from domain name registrations and other domain related Internet services, on both a wholesale and retail basis, net of external commissions. |
Long-Duration Contracts, Policy [Policy Text Block] | (j) Contract Costs See Note 11 |
Accreditation Fees Payable [Policy Text Block] | ( k ) Accreditation fees payable In accordance with ICANN rules, the Company has elected to pay ICANN fees incurred on the registration of Generic Top-Level Domains on an annual basis. Accordingly, accreditation fees that relate to registrations completed prior to ICANN rendering a bill are accrued and reflected as accreditation fees payable. |
Prepaid Domain Name Registry Fees [Policy Text Block] | ( l ) Prepaid domain name registry fees Prepaid domain name registry and other Internet services fees represent amounts paid to registries, and country code domain name operators for updating and maintaining the registries, as well as to suppliers of other Internet services. Domain name registry and other Internet services fees are recognized on a straight-line basis over the life of the contracted registration term. |
Foreign Currency Transactions and Translations Policy [Policy Text Block] | ( m ) Translation of foreign currency transactions The Company’s functional currency is the United States dollar. Monetary assets and liabilities of the Company and of its wholly owned subsidiaries that are denominated in foreign currencies are translated into United States dollars at the exchange rates prevailing at the balance sheet dates. Non-monetary assets and liabilities are translated at the historical exchange rates. Transactions included in operations are translated at the rate at the date of the transactions. |
Income Tax, Policy [Policy Text Block] | ( n ) Income taxes Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss carry forwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in net income in the year that includes the enactment date. A valuation allowance is recorded if it is not not” The Company recognizes the impact of an uncertain income tax position at the largest amount that is more-likely-than- not not 50% 12 |
Compensation Related Costs, Policy [Policy Text Block] | ( o ) Stock-based compensation Stock-based compensation expense recognized during the period is based on the value of the portion of stock-based payment awards that is ultimately expected to vest, reduced for estimated forfeitures. |
Earnings Per Share, Policy [Policy Text Block] | ( p ) Earnings per common share Basic earnings per common share has been calculated on the basis of net income for the year divided by the weighted average number of common shares outstanding during each year. Diluted earnings per share gives effect to all dilutive potential common shares outstanding at the end of the year assuming that they had been issued, converted or exercised at the later of the beginning of the year or their date of issuance. In computing diluted earnings per share, the treasury stock method is used to determine the number of shares assumed to be purchased from the conversion of common share equivalents or the proceeds of the exercise of options. |
Concentration Risk, Credit Risk, Policy [Policy Text Block] | ( q ) Concentration of credit risk Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash equivalents, accounts receivable and forward foreign exchange contracts. Cash equivalents consist of deposits with major commercial banks, the maturities of which are three not not |
Fair Value Measurement, Policy [Policy Text Block] | ( r ) Fair value measurement Fair value of financial assets and liabilities is defined as an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three Level 1—Quoted Level 2—Observable Level 3—No Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurements. Our assessment of the significance of a particular input to the fair value measurements requires judgment, and may The fair value of cash and cash equivalents, accounts receivable, accounts payable, accreditation fees payable, customer deposits and accrued liabilities (level 2 The fair value of the derivative financial instruments is determined using an estimated credit-adjusted mark-to-market valuation (a level 2 |
Investment, Policy [Policy Text Block] | ( s ) Investments The Company accounts for investment in entities over which it has the ability to exert significant influence, but does not not not |
Segment Reporting, Policy [Policy Text Block] | ( t ) Segment reporting The Company operates in two The Company’s Domain Services revenues are attributed to the country in which the contract originates. Revenues from domain names issued under the OpenSRS brand from the Toronto, Canada location are attributed to Canada because it is impracticable to determine the country of the customer. Revenues from domain names issued under the eNom brand from the Kirkland, Washington location are attributable to the United States because it is impracticable to determine the country of the customer. The Company’s Network Access Services which consist primarily of mobile telephony services, as well as the provisioning of high speed Internet access and consulting services, which are generated primarily through its business operations in the United States. The Company’s assets are located in Canada, the United States and Germany. |
New Accounting Pronouncements, Policy [Policy Text Block] | ( u ) Recent Accounting Pronouncements Recent Accounting Pronouncements Adopted On January 1, 2018, No. 2017 01, Business Combinations (Topic 805 ): Clarifying the Definition of a Business 2015 16, Simplifying the Accounting for Measurement-Period Adjustments. not 2014 09 January 1, 2018. ASU 2014 - 09: Adoption of Revenue from Contracts with Customers (Topic 606 ) On January 1, 2018, 2014 09 2014 09 January 1, 2018. January 1, 2018 2014 09, not 605, 605 2014 09 not not 2014 09 605. 10 The Company previously recognized commission fees related to Ting Mobile, Ting Internet, eNom domain registration and eNom domain related value-added service contracts as selling expenses when they were incurred. Under ASU 2014 09, Under ASU 2014 09, a) When the amortization period for costs incurred to obtain a contract with a customer is less than one b) For mobile and internet access services, where the performance obligation is part of contracts that have an original expected duration of one one not On January 1, 2018 2014 09, $1.4 $1.1 $0.3 The impact of the changes to the Company’s financial statements in the current period are as follows (Dollar amounts in thousands of U.S. dollars) December 31, 2018 Balances without Consolidated Balance Sheet As reported Adjustments adoption of Topic 606 Assets Contract Costs (note 11) $ 1,390 $ (1,390 ) $ - Total assets 339,575 $ (1,390 ) $ 338,185 Liabilities and Shareholders' Equity Deferred tax liability (note 9) $ 20,925 $ (338 ) $ 20,587 Retained earnings 60,810 (1,052 ) 59,758 Total Liabilities and Shareholders' Equity $ 339,575 $ (1,390 ) $ 338,185 Year ended, December 31, 2018 Balances without Consolidated Statements of Operations and Comprehensive Income As reported Adjustments adoption of Topic 606 Expenses Sales and marketing $ 33,063 $ (14 ) $ 33,049 Income before provision for income taxes 26,155 14 26,169 Provision for income tax (note 9) 9,020 3 9,023 Net income for the period $ 17,135 $ 11 $ 17,146 Year ended, December 31, 2018 Balances without Consolidated Statements of Cash Flows As reported Adjustments adoption of Topic 606 Net income for the period $ 17,135 $ 11 $ 17,146 Items not involving cash Net amortization of contract costs 14 (14 ) - Deferred income taxes (recovery) 1,038 3 1,041 All other items 19,022 - 19,022 Net cash provided by operating activities $ 37,209 $ - $ 37,209 Recent Accounting Pronouncements Not Yet Adopted In February 2016, No. 2016 02, Leases (Topic 842 ) 2016 02” 2016 02 2016 02 December 15, 2018, January 1, 2019 first 2019. In August 2017, No. 2017 12, Derivatives and Hedging (Topic 815 ): Targeted Improvements to Accounting for Hedging Activities 2017 12” December 15, 2018. 2017 12 first 2019, not In August 2018, No. 2018 15, Intangibles—Goodwill and Other—Internal-Use Software 350 40 2018 15” 2018 15 not 2018 15 2018 15 December 15, 2019, |
Note 2 - Significant Accounti_2
Note 2 - Significant Accounting Policies (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Depreciation Rates [Table Text Block] | <table border="0" cellpadding="0" cellspacing="0" style="; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="5" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; width: 141113000%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"> Rate</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display: inline; font-weight: bold;">Asset</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 3%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer equipment</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer software</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 4%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">1/3</div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 4%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Furniture and equipment</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Vehicles and tools</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Fiber network (years)</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Customer equipment and installations (years)</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Land</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Leasehold improvements</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="5" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; width: 141113000%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></div></div><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Over term of lease</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Assets under construction</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> </table></div>" id="sjs-B4"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table border="0" cellpadding="0" cellspacing="0" style="; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="5" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; width: 141113000%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"> Rate</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="display: inline; font-weight: bold;">Asset</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 3%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-weight: bold;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"><div style="display: inline; font-weight: bold;"> </div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer equipment</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer software</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 4%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">1/3</div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 4%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Furniture and equipment</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Vehicles and tools</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">%</td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Fiber network (years)</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Customer equipment and installations (years)</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Land</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Leasehold improvements</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="5" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; width: 141113000%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></div></div><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Over term of lease</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 80%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Assets under construction</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="width: 3%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 4%;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div></td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> </table></div> |
Schedule of Finite-Lived Intangible Assets [Table Text Block] | (in years) Technology 2 Brand 7 Customer relationships 3 - 7 Network rights 15 |
Schedule of New Accounting Pronouncements and Changes in Accounting Principles [Table Text Block] | December 31, 2018 Balances without Consolidated Balance Sheet As reported Adjustments adoption of Topic 606 Assets Contract Costs (note 11) $ 1,390 $ (1,390 ) $ - Total assets 339,575 $ (1,390 ) $ 338,185 Liabilities and Shareholders' Equity Deferred tax liability (note 9) $ 20,925 $ (338 ) $ 20,587 Retained earnings 60,810 (1,052 ) 59,758 Total Liabilities and Shareholders' Equity $ 339,575 $ (1,390 ) $ 338,185 Year ended, December 31, 2018 Balances without Consolidated Statements of Operations and Comprehensive Income As reported Adjustments adoption of Topic 606 Expenses Sales and marketing $ 33,063 $ (14 ) $ 33,049 Income before provision for income taxes 26,155 14 26,169 Provision for income tax (note 9) 9,020 3 9,023 Net income for the period $ 17,135 $ 11 $ 17,146 Year ended, December 31, 2018 Balances without Consolidated Statements of Cash Flows As reported Adjustments adoption of Topic 606 Net income for the period $ 17,135 $ 11 $ 17,146 Items not involving cash Net amortization of contract costs 14 (14 ) - Deferred income taxes (recovery) 1,038 3 1,041 All other items 19,022 - 19,022 Net cash provided by operating activities $ 37,209 $ - $ 37,209 |
Note 3 - Acquisitions (Tables)
Note 3 - Acquisitions (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] | Goodwill $ 69,048 Cash 1,594 Brand 12,400 Developed technology 3,900 Customer relationships 28,000 Prepaid domain registry fees 70,644 Other assets 10,171 Total assets 195,757 Deferred Revenue (77,799 ) Deferred Tax Liabilities (24,223 ) Other liabilities (15,903 ) Total liabilities (117,925 ) Consideration Paid $ 77,832 |
Note 4 - Property and Equipme_2
Note 4 - Property and Equipment (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Property, Plant and Equipment [Table Text Block] | December 31, 2018 December 31, 2017 Computer equipment $ 13,566 $ 12,312 Computer software 1,496 1,449 Furniture and equipment 1,364 1,308 Vehicles and tools 2,323 1,306 Fiber network 30,215 14,053 Customer equipment and installations 4,939 2,570 Land 823 ─ Assets under construction 10,030 4,204 Leasehold improvements 229 171 64,985 37,373 Less: Accumulated depreciation 16,920 12,753 $ 48,065 $ 24,620 |
Schedule of Depreciation [Table Text Block] | Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Depreciation of property and equipment $ 5,722 $ 3,727 $ 1,824 |
Note 5 - Goodwill and Other I_2
Note 5 - Goodwill and Other Intangible Assets (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Intangible Assets and Goodwill [Table Text Block] | Surname domain names Direct navigation domain names Brand Customer relationships Technology Network rights Total Amortization period indefinite life indefinite life 7 years 3 - 7 years 2 years 15 years Balances, December 31, 2016 $ 11,295 $ 1,869 $ 49 6,153 $ - $ 607 $ 19,973 Acquisition of Enom (note 3(b)) - - 12,400 28,000 3,900 - 44,300 Acquisition of consumer related assets of Otono Networks, Inc. - - - 2,623 - - 2,623 Acquisition of customer relationships - - - 320 - - 320 Additions to/(disposals from) domain portfolio, net (38 ) (253 ) - - - - (291 ) Impairment of indefinite life intangible assets - (111 ) - - - - (111 ) Amortization expense - - (1,656 ) (4,911 ) (1,787 ) (46 ) (8,400 ) Balances December 31, 2017 $ 11,257 $ 1,505 $ 10,793 $ 32,185 $ 2,113 $ 561 58,414 Acquisition of customer relationships - - - 565 - - 565 Additions to/(disposals from) domain portfolio, net (81 ) (260 ) - - - - (341 ) Amortization expense - - (1,789 ) (5,458 ) (1,950 ) (46 ) (9,243 ) Balances December 31, 2018 $ 11,176 $ 1,245 $ 9,004 $ 27,292 $ 163 $ 515 $ 49,395 |
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] | Year ending December 31, 2019 $ 7,488 2020 7,326 2021 7,315 2022 7,187 2023 7,187 Thereafter 469 Total $ 36,972 |
Note 6 - Fair Value Measureme_2
Note 6 - Fair Value Measurement (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] | December 31, 2018 Fair Value Measurement Using Liabilities at Level 1 Level 2 Level 3 Fair Value Derivative instrument liability $ — $ (1,276 ) $ — $ (1,276 ) Total Liabilities $ — $ (1,276 ) $ — $ (1,276 ) December 31, 2017 Fair Value Measurement Using Liabilities at Level 1 Level 2 Level 3 Fair Value Derivative instrument liability $ — $ — $ — $ — Total Liabilities $ — $ — $ — $ — |
Note 7 - Derivative Instrumen_2
Note 7 - Derivative Instruments and Hedging Activities (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Derivative Instruments [Table Text Block] | Maturity date (Dollar amounts in thousands of U.S. dollars) Notional amount of U.S. dollars Weighted average exchange rate of U.S. dollars Fair value January - March 2019 9,955 1.3131 355 April - June 2019 10,381 1.3154 332 July - September 2019 9,881 1.3136 310 October - December 2019 10,327 1.3174 279 $ 40,544 1.3149 $ 1,276 |
Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block] | Derivatives (Dollar amounts in thousands of U.S. dollars) Balance Sheet Location December 31, 2018 Liability at Fair Value December 31, 2017 Liability at Fair Value Foreign currency forward contracts designated as cash flow hedges Derivative instruments $ 1,069 $ — Foreign currency forward contracts not designated as cash flow hedges Derivative instruments $ 207 $ — Total foreign currency forward contracts Derivative instruments $ 1,276 $ — |
Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] | Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2017 $ — $ — $ — Other comprehensive income (loss) before reclassifications (1,350 ) 328 (1,022 ) Amount reclassified from accumulated other comprehensive income 281 (69 ) 212 Other comprehensive income (loss) for the year ended December 31, 2018 (1,069 ) 259 (810 ) Ending AOCI balance – December 31, 2018 $ (1,069 ) $ 259 $ (810 ) Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2016 $ 156 $ (56 ) $ 100 Other comprehensive income (loss) before reclassifications 863 (313 ) 550 Amount reclassified from accumulated other comprehensive income (1,019 ) 369 (650 ) Other comprehensive income (loss) for the year ended December 31, 2017 (156 ) 56 (100 ) Ending AOCI balance – December 31, 2017 $ — $ — $ — Gains and losses on cash flow hedges Tax impact Total AOCI Opening AOCI balance – December 31, 2015 $ (1,721 ) $ 612 $ (1,109 ) Other comprehensive income (loss) before reclassifications 872 (304 ) 568 Amount reclassified from accumulated other comprehensive income 1,005 (364 ) 641 Other comprehensive income (loss) for the year ended December 31, 2016 1,877 (668 ) 1,209 Ending AOCI balance – December 31, 2016 $ 156 $ (56 ) $ 100 |
Derivative Instruments, Gain (Loss) [Table Text Block] | Derivatives in Cash Flow Hedging Relationship Amount of Gain or (Loss) Recognized in OCI, net of tax, on Derivative (Effective Portion) Location of Gain or (Loss) Reclassified from Accumulated OCI into Income (Effective Portion) Amount of Gain or (Loss) Reclassified from Accumulated OCI into Income, (Effective Portion) Location of Gain or (Loss) Recognized in Income on Derivative (ineffective Portion and Amount Excluded from Effectiveness Testing) Amount of Gain or (Loss) Recognized in Income on Derivative (ineffective Portion and Amount Excluded from Effectiveness Foreign currency forward contracts – year ended December 31, 2018 Operating expenses $ (245 ) $ (810 ) Cost of revenues $ (36 ) Operating expenses $ — Operating expenses $ 879 Foreign currency forward contracts – year ended December 31, 2017 $ (100 ) Cost of revenues $ 140 Operating expenses $ — Operating expenses $ (737 ) Foreign currency forward contracts – year ended December 31, 2016 $ 1,209 Cost of revenues $ (221 ) Operating expenses $ (47 ) |
Note 8 - Loan Payable (Tables)
Note 8 - Loan Payable (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Standby Fees Based on Total Funded Debt to EBITDA Ratio [Table Text Block] | If Total Funded Debt to EBITDA is: Availment type or fee Less than 1.00 Greater than or equal to 1.00 and less than 2.00 Greater than or equal to 2.00 and less than 2.25 Greater than or equal to 2.25 Canadian dollar borrowings based on Bankers’ Acceptance or U.S. dollar borrowings based on LIBOR (Margin) 2.00 % 2.25 % 2.75 % 3.25 % Canadian or U.S. dollar borrowings based on Prime Rate or U.S. dollar borrowings based on Base Rate (Margin) 0.75 % 1.00 % 1.50 % 2.00 % Standby fees 0.40 % 0.45 % 0.55 % 0.65 % |
Schedule of Debt [Table Text Block] | December 31, 2018 December 31, 2017 Facility A 1,000 - Facility B 6,000 - Facility C 3,232 5,930 Facility D 54,924 71,823 Less: unamortized debt discount and issuance costs (555 ) (829 ) Total loan payable 64,601 76,924 Less: loan payable, current portion 18,400 18,290 Loan payable, long-term portion 46,201 58,634 |
Schedule of Maturities of Long-term Debt [Table Text Block] | 2019 18,400 2020 18,400 2021 28,356 $ 65,156 |
Note 9 - Income Taxes (Tables)
Note 9 - Income Taxes (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] | Year ended December 31, 2018 2017 2016 Income for the year before provision for income taxes $ 26,155 $ 24,075 $ 25,113 Computed tax expense 5,492 8,185 8,538 Increase (reduction) in income tax expense resulting from: State income taxes 846 657 532 Effect of the decrease in Federal tax rate on deferred taxes - (10,036 ) - Change in Valuation allowance 2,811 1,276 - Non-creditable Foreign Tax - 2,903 - Excess tax benefits on share-based compensation expense (697 ) (2,796 ) - Permanent differences 159 1,636 290 Others 409 (77 ) (314 ) Provision for income taxes $ 9,020 $ 1,748 $ 9,046 |
Schedule of Deferred Tax Assets and Liabilities [Table Text Block] | December 31, 2018 December 31, 2017 Deferred tax assets (liabilities): Deferred tax assets: Deferred revenue $ 6,497 $ 7,573 Foreign tax credits 3,865 1,276 Amortization (5,872 ) (1,937 ) Net operating losses 1,892 2,545 Accruals, including foreign exchange and other 1,955 517 Sub-total Deferred tax assets 8,337 9,974 Valuation allowance (4,087 ) (1,276 ) Total deferred tax assets $ 4,250 $ 8,698 Deferred tax liabilities: Prepaid registry fees and expenses $ (15,950 ) $ (18,051 ) Limited life intangible assets (6,115 ) (7,371 ) Indefinite life intangible assets (3,110 ) (3,110 ) Total deferred tax liability $ (25,175 ) $ (28,532 ) Net deferred tax asset (liability) $ (20,925 ) $ (19,834 ) |
Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] | Total Gross Unrecognized Tax Benefits December 31, 2018 December 31, 2017 Balance, beginning of year $ 15 $ 117 Change in uncertain tax benefits (15 ) (102 ) Balance, end of year $ - $ 15 |
Note 10 - Revenue (Tables)
Note 10 - Revenue (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Disaggregation of Revenue [Table Text Block] | Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 89,340 $ 83,885 $ 70,127 Other Services 7,984 5,567 4,179 Total Network Access Services 97,324 89,452 74,306 Domain Services: Wholesale Domain Services 189,434 183,731 89,010 Value Added Services 17,756 17,832 8,642 Total Wholesale 207,190 201,563 97,652 Retail 34,524 31,649 14,630 Portfolio 6,975 6,757 3,231 Total Domain Services 248,689 239,969 115,513 $ 346,013 $ 329,421 $ 189,819 |
Schedule of Cost of Revenues by Revenue Stream [Table Text Block] | Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 46,061 $ 45,335 $ 35,915 Other Services 3,994 3,305 1,910 Total Network Access Services 50,055 48,640 37,825 Domain Services: Wholesale Domain Services 160,216 161,013 72,948 Value Added Services 3,154 2,450 2,032 Total Wholesale 163,370 163,463 74,980 Retail 17,725 17,346 6,766 Portfolio 953 1,151 616 Total Domain Services 182,048 181,960 82,362 Network Expenses: Network, other costs 9,846 9,324 5,210 Network, depreciation and amortization costs 7,294 4,976 1,368 17,140 14,300 6,578 $ 249,243 $ 244,900 $ 126,765 |
Contract with Customer, Asset and Liability [Table Text Block] | Year ended December 31, 2018 Balance, beginning of period $ 160,582 Deferred revenue 222,208 Recognized revenue (1) (239,096 ) Balance, end of period $ 143,694 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] | Year ended December 31, 2018 2019 $ 116,398 2020 12,751 2021 5,498 2022 3,456 2023 2,163 Thereafter 3,074 Total $ 143,340 |
Note 11 - Contract Costs (Table
Note 11 - Contract Costs (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Capitalized Contract Cost [Table Text Block] | Year ended December 31, 2018 (1) Balance, beginning of period $ 1,404 Capitalization of costs 913 Amortization of costs (927 ) Balance, end of period $ 1,390 Year ended December 31, 2018 Balance, beginning of period $ 127,003 Deferral of costs 163,447 Recognized costs 1 (183,923 ) Balance, end of period $ 106,527 |
Note 12 - Common Shares (Tables
Note 12 - Common Shares (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Share Repurchases [Table Text Block] | <table border="0" cellpadding="0" cellspacing="0" style="margin-right: 10%; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">Year Ended December 31,</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2018</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2017</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2016</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 49%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Common stock repurchased on the open market or through tender offer</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Number of shares</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">308,416</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Aggregate market value of shares (in thousands)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,180</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Average price per share</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.28</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Common stock received in connection with share-based compensation</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Number of shares</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,777</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,454</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,572</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Aggregate market value of shares (in thousands)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,138</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,602</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">634</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Average price per share</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57.56</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">51.58</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24.80</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </table></div>" id="sjs-B4"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table border="0" cellpadding="0" cellspacing="0" style="margin-right: 10%; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">Year Ended December 31,</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2018</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2017</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;">2016</div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 49%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Common stock repurchased on the open market or through tender offer</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Number of shares</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">308,416</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Aggregate market value of shares (in thousands)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,180</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Average price per share</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">—</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.28</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Common stock received in connection with share-based compensation</div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Number of shares</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,777</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,454</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,572</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Aggregate market value of shares (in thousands)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,138</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,602</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">634</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-bottom: 0pt; margin-top: 0pt; margin-left: 9pt;">Average price per share</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57.56</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">51.58</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24.80</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </table></div> |
Note 13 - Stock Option Plans (T
Note 13 - Stock Option Plans (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] | Year ended December 31, 2018 2017 2016 Volatility 37.9 % 41.6 % 66.1 % Risk-free interest rate 2.7 % 1.8 % 1.3 % Expected life (in years) 4.48 4.55 4.3 Dividend yield — % — % — % The weighted average grant date fair value for options issued, with the exercise price equal to market value on the date of grant $ 22.22 $ 20.08 $ 11.18 |
Share-based Compensation, Stock Options, Activity [Table Text Block] | Year ended December 31, Year ended December 31, Year ended December 31, 2018 2017 2016 Number of shares Weighted average exercise price per share Number of shares Weighted average exercise price per share Number of shares Weighted average exercise price per share Outstanding, beginning of period 653,571 $ 36.69 474,501 $ 12.67 513,366 $ 9.24 Granted 163,366 62.80 370,025 54.10 81,750 22.66 Exercised (63,886 ) 12.86 (172,759 ) 7.88 (109,963 ) 3.79 Forfeited (50,714 ) 52.33 (18,196 ) 37.70 (9,902 ) 16.80 Expired — — — — (750 ) 3.76 Outstanding, end of period 702,337 43.80 653,571 36.69 474,501 12.67 Options exercisable, end of period 326,937 $ 28.91 243,771 $ 14.79 332,192 $ 10.08 |
Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block] | Options outstanding Options exercisable Exercise price Number outstanding Weighted average exercise price per share Weighted average remaining contractual life (years) Aggregate intrinsic value Number exercisable Weighted average exercise price per share Weighted average remaining contractual life (years) Aggregate intrinsic value $ 5.52 - $ 8.56 58,135 $ 6.92 0.9 $ 3,089 58,135 $ 6.92 0.9 $ 3,090 $ 10.16 - $ 19.95 99,588 16.44 2.5 4,344 97,088 16.35 2.5 4,244 $ 21.10 - $ 27.53 65,000 23.47 3.2 2,378 55,000 23.91 3.0 1,988 $ 35.25 - $ 37.35 14,375 35.89 4.4 347 10,625 36.11 4.2 254 $ 43.15 - $ 47.00 18,500 44.19 5.1 294 8,000 43.75 5.1 131 $ 53.20 - $ 58.65 328,387 55.67 5.4 1,443 98,089 55.21 5.1 476 $ 64.10 - $ 64.10 118,352 64.10 6.4 — — — — — 702,337 $ 43.80 4.6 $ 11,895 326,937 $ 28.91 3.2 $ 10,183 |
Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block] | Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Network expenses $ 223 $ 110 $ 22 Sales and marketing 1,025 573 236 Technical operations and development 636 360 98 General and administrative 690 414 443 $ 2,574 $ 1,457 $ 799 |
Note 16 - Earnings Per Common_2
Note 16 - Earnings Per Common Share (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] | Year ended December 31, 2018 Year ended December 31, 2017 Year ended December 31, 2016 Numerator for basic and diluted earnings per common share: Net income for the year $ 17,135 $ 22,327 $ 16,067 Denominator for basic and diluted earnings per common share: Basic weighted average number of common shares outstanding 10,604,722 10,537,356 10,524,856 Effect of stock options 189,448 256,266 188,739 Diluted weighted average number of shares outstanding 10,794,170 10,793,622 10,713,595 Basic earnings per common share $ 1.62 $ 2.12 $ 1.53 Diluted earnings per common share $ 1.59 $ 2.07 $ 1.50 |
Note 17 - Commitments and Con_2
Note 17 - Commitments and Contingencies (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Contractual Obligation, Fiscal Year Maturity Schedule [Table Text Block] | Contractual Obligations for the year ending December 31, Contractual Lease Obligations (1) Purchase Obligations (2) Total Obligations 2019 1,748 44,938 46,686 2020 1,084 5,068 6,152 2021 1,198 388 1,586 2022 1,182 379 1,561 2023 1,153 370 1,523 Thereafter 7,195 795 7,990 $ 13,560 $ 51,938 $ 65,498 |
Note 18 - Segment Reporting (Ta
Note 18 - Segment Reporting (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Condensed Income Statement [Table Text Block] | Network Access Services Domain Services Consolidated Totals Year ended December 31, 2018 Net Revenues $ 97,324 $ 248,689 $ 346,013 Cost of revenues Cost of revenues 50,055 182,048 232,103 Network expenses 2,029 7,817 9,846 Depreciation of property and equipment 4,063 1,235 5,298 Amortization of intangible assets 46 1,950 1,996 Total cost of revenues 56,193 193,050 249,243 Gross Profit 41,131 55,639 96,770 Expenses: Sales and marketing 33,063 Technical operations and development 8,748 General and administrative 17,710 Depreciation of property and equipment 424 Amortization of intangible assets 7,247 Impairment of indefinite life intangible assets - Loss (gain) on currency forward contracts 254 Income from operations 29,324 Other income (expenses), net (3,169 ) Income before provision for income taxes $ 26,155 Network Access Services Domain Services Consolidated Totals Year ended December 31, 2017 Net Revenues $ 89,452 $ 239,969 $ 329,421 Cost of revenues Cost of revenues 48,640 181,960 230,600 Network expenses 1,861 7,463 9,324 Depreciation of property and equipment 2,201 941 3,142 Amortization of intangible assets 46 1,788 1,834 Total cost of revenues 52,748 192,152 244,900 Gross Profit 36,704 47,817 84,521 Expenses: Sales and marketing 29,423 Technical operations and development 7,258 General and administrative 13,594 Depreciation of property and equipment 585 Amortization of intangible assets 6,566 Impairment of indefinite life intangible assets 111 Loss (gain) on currency forward contracts (98 ) Income from operations 27,082 Other income (expenses), net (3,007 ) Income before provision for income taxes $ 24,075 Network Access Services Domain Services Consolidated Totals Year ended December 31, 2016 Net Revenues $ 74,306 $ 115,513 $ 189,819 Cost of revenues Cost of revenues 37,825 82,362 120,187 Network expenses 1,399 3,811 5,210 Depreciation of property and equipment 977 343 1,320 Amortization of intangible assets 48 - 48 Total cost of revenues 40,249 86,516 126,765 Gross Profit 34,057 28,997 63,054 Expenses: Sales and marketing 20,755 Technical operations and development 4,495 General and administrative 11,405 Depreciation of property and equipment 504 Amortization of intangible assets 905 Impairment of indefinite life intangible assets 42 Loss (gain) on currency forward contracts (99 ) Income from operations 25,047 Other income (expenses), net 66 Income before provision for income taxes $ 25,113 |
Summary of Cost of Revenues from Each Significant Revenue Stream By Segment [Table Text Block] | Year ended December 31, 2018 2017 2016 Network Access Services: Mobile Services $ 46,061 $ 45,335 $ 35,915 Other Services 3,994 3,305 1,910 Total Network Access Services 50,055 48,640 37,825 Domain Services: Wholesale Domain Services 160,216 161,013 72,948 Value Added Services 3,154 2,450 2,032 Total Wholesale 163,370 163,463 74,980 Retail 17,725 17,346 6,766 Portfolio 953 1,151 616 Total Domain Services 182,048 181,960 82,362 Network Expenses: Network, other costs 9,846 9,324 5,210 Network, depreciation and amortization costs 7,294 4,976 1,368 17,140 14,300 6,578 $ 249,243 $ 244,900 $ 126,765 |
Schedule of Property Plant and Equipment by Geographic Region [Table Text Block] | December 31, 2018 December 31, 2017 Canada $ 1,393 $ 1,176 United States 46,631 23,417 Germany 41 27 $ 48,065 $ 24,620 |
Schedule of Acquired Intangible Assets by Major Class [Table Text Block] | <table cellpadding="0pt" cellspacing="0pt" style="margin: 0pt auto 0pt 65pt; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div><div style=" background-color:#FFFFFF;font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">December 31, 2018</div></div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div><div style=" background-color:#FFFFFF;font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">December 31, 2017</div></div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 62%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Canada</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,553</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,749</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">United States</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,421</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,783</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Germany</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">120</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,974</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,652</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> </table></div>" id="sjs-B7"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0pt" cellspacing="0pt" style="margin: 0pt auto 0pt 65pt; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; min-; min-width: 700px;"> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div><div style=" background-color:#FFFFFF;font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">December 31, 2018</div></div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); padding-bottom: 1px;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> </div><div style=" background-color:#FFFFFF;font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">December 31, 2017</div></div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255); padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 62%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Canada</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,553</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,749</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">United States</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,421</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,783</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Germany</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">120</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,974</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,652</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> </table></div> |
Schedule of Deferred Tax Asset Net By Geographic Region [Table Text Block] | December 31, 2018 December 31, 2017 Canada $ - $ - $ - $ - |
Allowance for Credit Losses on Financing Receivables [Table Text Block] | Allowance for doubtful accounts excluding provision for credit notes Balance at beginning of period Charged to costs and expenses Write-offs during period Balance at end of period Year ended December 31, 2018 $ 168 $ (36 ) $ - $ 132 Year ended December 31, 2017 $ 164 $ 4 $ - $ 168 |
Note 20 - Selected Quarterly _2
Note 20 - Selected Quarterly Financial Data (Unaudited) (Tables) | 12 Months Ended |
Dec. 31, 2018 | |
Notes Tables | |
Quarterly Financial Information [Table Text Block] | December 31 September 30 June 30 March 31 (in thousands, except for per share data) 2018 Total revenues $ 85,612 $ 83,519 $ 81,087 $ 95,795 Gross profit 27,731 24,262 22,158 22,619 Net income 4,436 5,347 3,608 3,744 Earnings per share: Basic $ 0.42 $ 0.50 $ 0.34 $ 0.35 Diluted 0.41 0.50 0.33 0.35 2017 Total revenues $ 90,621 $ 85,008 $ 84,223 $ 69,568 Gross profit 25,736 20,494 21,347 16,944 Net income 11,199 3,439 5,241 2,446 Earnings per share: Basic $ 1.06 $ 0.33 $ 0.50 $ 0.23 Diluted 1.04 0.32 0.49 0.23 |
Note 2 - Significant Accounti_3
Note 2 - Significant Accounting Policies (Details Textual) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018USD ($) | Jan. 01, 2018USD ($) | Dec. 31, 2017USD ($) | |||
Number of Operating Segments | 2 | ||||
Capitalized Contract Cost, Net, Total | $ 1,390 | $ 1,400 | |||
Retained Earnings (Accumulated Deficit), Ending Balance | 60,810 | $ 42,676 | [1] | ||
Deferred Tax Liabilities, Net, Noncurrent | [1] | 20,925 | $ 19,834 | ||
Difference between Revenue Guidance in Effect before and after Topic 606 [Member] | Accounting Standards Update 2014-09 [Member] | |||||
Capitalized Contract Cost, Net, Total | (1,390) | ||||
Retained Earnings (Accumulated Deficit), Ending Balance | (1,052) | (1,100) | |||
Deferred Tax Liabilities, Net, Noncurrent | $ (338) | $ (300) | |||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 2 - Significant Accounti_4
Note 2 - Significant Accounting Policies - Summary of Property, Plant and Equipment Depreciation Rates (Details) | 12 Months Ended |
Dec. 31, 2018 | |
Leasehold improvements | Over term of lease |
Assets under construction | |
Minimum [Member] | |
Depreciation term (Year) | 2 years |
Maximum [Member] | |
Depreciation term (Year) | 15 years |
Computer Equipment [Member] | |
Depreciation rate | 30.00% |
Computer Software [Member] | Minimum [Member] | |
Depreciation rate | 33.33% |
Computer Software [Member] | Maximum [Member] | |
Depreciation rate | 100.00% |
Furniture and Fixtures [Member] | |
Depreciation rate | 20.00% |
Vehicles and Tools [Member] | |
Depreciation rate | 20.00% |
Fiber Network [Member] | |
Depreciation term (Year) | 15 years |
Customer Equipment and Installations [Member] | |
Depreciation term (Year) | 3 years |
Note 2 - Significant Accounti_5
Note 2 - Significant Accounting Policies - Intangible Asset Useful Life (Details) | 12 Months Ended |
Dec. 31, 2018 | |
Minimum [Member] | |
Intangible Asset Useful Life (Year) | 2 years |
Maximum [Member] | |
Intangible Asset Useful Life (Year) | 15 years |
Technology-Based Intangible Assets [Member] | |
Intangible Asset Useful Life (Year) | 2 years |
Brand [Member] | |
Intangible Asset Useful Life (Year) | 7 years |
Customer Relationships [Member] | Minimum [Member] | |
Intangible Asset Useful Life (Year) | 3 years |
Customer Relationships [Member] | Maximum [Member] | |
Intangible Asset Useful Life (Year) | 7 years |
Network Rights [Member] | |
Intangible Asset Useful Life (Year) | 15 years |
Note 2 -Significant Accounting
Note 2 -Significant Accounting Policies - Impact of Changes to Financial Statements (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended | ||||||||||||||
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | Jan. 01, 2018 | |||||
Assets | ||||||||||||||||
Contract Costs (note 11) | $ 1,390 | $ 1,390 | $ 1,400 | |||||||||||||
Total assets | 339,575 | $ 350,650 | [1] | 339,575 | $ 350,650 | [1] | ||||||||||
Liabilities and Shareholders' Equity | ||||||||||||||||
Deferred tax liability (note 9) | [1] | 20,925 | 19,834 | 20,925 | 19,834 | |||||||||||
Retained earnings | 60,810 | 42,676 | [1] | 60,810 | 42,676 | [1] | ||||||||||
Total Liabilities and Shareholders' Equity | 339,575 | 350,650 | [1] | 339,575 | 350,650 | [1] | ||||||||||
Sales and marketing | 33,063 | 29,423 | [2] | $ 20,755 | [2] | |||||||||||
Income before provision for income taxes | 26,155 | 24,075 | [2] | 25,113 | [2] | |||||||||||
Provision for income tax (note 9) | 9,020 | 1,748 | [2] | 9,046 | [2] | |||||||||||
Net income for the period | 4,436 | $ 5,347 | $ 3,608 | $ 3,744 | $ 11,199 | $ 3,439 | $ 5,241 | $ 2,446 | 17,135 | 22,327 | [2],[3] | 16,067 | [2],[3] | |||
Net amortization of contract costs | 14 | |||||||||||||||
Deferred income taxes (recovery) | 1,038 | (3,337) | [3] | 1,194 | [3] | |||||||||||
All other items | 19,022 | |||||||||||||||
Net cash provided by operating activities | 37,209 | $ 31,896 | [3] | $ 22,509 | [3] | |||||||||||
Difference between Revenue Guidance in Effect before and after Topic 606 [Member] | Accounting Standards Update 2014-09 [Member] | ||||||||||||||||
Assets | ||||||||||||||||
Contract Costs (note 11) | (1,390) | (1,390) | ||||||||||||||
Total assets | (1,390) | (1,390) | ||||||||||||||
Liabilities and Shareholders' Equity | ||||||||||||||||
Deferred tax liability (note 9) | (338) | (338) | (300) | |||||||||||||
Retained earnings | (1,052) | (1,052) | $ (1,100) | |||||||||||||
Total Liabilities and Shareholders' Equity | (1,390) | (1,390) | ||||||||||||||
Sales and marketing | (14) | |||||||||||||||
Income before provision for income taxes | 14 | |||||||||||||||
Provision for income tax (note 9) | 3 | |||||||||||||||
Net income for the period | 11 | |||||||||||||||
Net amortization of contract costs | (14) | |||||||||||||||
Deferred income taxes (recovery) | 3 | |||||||||||||||
All other items | ||||||||||||||||
Net cash provided by operating activities | ||||||||||||||||
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | ||||||||||||||||
Assets | ||||||||||||||||
Contract Costs (note 11) | ||||||||||||||||
Total assets | 338,185 | 338,185 | ||||||||||||||
Liabilities and Shareholders' Equity | ||||||||||||||||
Deferred tax liability (note 9) | 20,587 | 20,587 | ||||||||||||||
Retained earnings | 59,758 | 59,758 | ||||||||||||||
Total Liabilities and Shareholders' Equity | $ 338,185 | 338,185 | ||||||||||||||
Sales and marketing | 33,049 | |||||||||||||||
Income before provision for income taxes | 26,169 | |||||||||||||||
Provision for income tax (note 9) | 9,023 | |||||||||||||||
Net income for the period | 17,146 | |||||||||||||||
Net amortization of contract costs | ||||||||||||||||
Deferred income taxes (recovery) | 1,041 | |||||||||||||||
All other items | 19,022 | |||||||||||||||
Net cash provided by operating activities | $ 37,209 | |||||||||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | |||||||||||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | |||||||||||||||
[3] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 3 - Acquisitions (Details
Note 3 - Acquisitions (Details Textual) - USD ($) $ in Thousands | Feb. 13, 2018 | Feb. 01, 2017 | Jan. 20, 2017 | Feb. 27, 2015 |
Ting Virginia LLC [Member] | ||||
Business Combination, Consideration Transferred, Total | $ 1,200 | |||
Payments for Repurchase of Redeemable Noncontrolling Interest | $ 1,200 | |||
Repurchase of Redeemable Noncontrolling Interest, Percentage | 10.00% | |||
Ting Virginia LLC [Member] | ||||
Business Acquisition, Percentage of Voting Interests Acquired | 20.00% | 70.00% | ||
Business Combination, Consideration Transferred, Total | $ 2,000 | $ 3,500 | ||
Ting Virginia LLC [Member] | Exercisable by the Minority Shareholders [Member] | ||||
Business Combination, Interest Subject to Call Option, Not Exercised in Period | 10.00% | |||
eNom, Incorporated [Member] | ||||
Business Combination, Consideration Transferred, Total | $ 77,832 | |||
Payments to Acquire Businesses, Gross | 83,500 | |||
Business Combination, Consideration Transferred, Estimated Price Adjusments | $ 5,700 |
Note 3 - Acquisitions - Prelimi
Note 3 - Acquisitions - Preliminary Purchase Consideration (Details) - USD ($) $ in Thousands | Jan. 20, 2017 | Dec. 31, 2018 | Dec. 31, 2017 |
Goodwill | $ 90,054 | $ 90,054 | |
eNom, Incorporated [Member] | |||
Goodwill | $ 69,048 | ||
Cash | 1,594 | ||
Prepaid domain registry fees | 70,644 | ||
Other assets | 10,171 | ||
Total assets | 195,757 | ||
Deferred Revenue | (77,799) | ||
Deferred Tax Liabilities | (24,223) | ||
Other liabilities | (15,903) | ||
Total liabilities | (117,925) | ||
Consideration Paid | 77,832 | ||
eNom, Incorporated [Member] | Brand [Member] | |||
Finite-Lived Intangibles | 12,400 | ||
eNom, Incorporated [Member] | Technology-Based Intangible Assets [Member] | |||
Finite-Lived Intangibles | 3,900 | ||
eNom, Incorporated [Member] | Customer Relationships [Member] | |||
Finite-Lived Intangibles | $ 28,000 |
Note 4 - Property and Equipme_3
Note 4 - Property and Equipment (Details Textual) $ in Millions | 12 Months Ended |
Dec. 31, 2017USD ($) | |
Property, Plant and Equipment, Fully Depreciated Writedown | $ 0.1 |
Note 4 - Property and Equipme_4
Note 4 - Property and Equipment - Property and Equipment (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 | |
Property, plant and equipment, gross | $ 64,985 | $ 37,373 | |
Accumulated depreciation | 16,920 | 12,753 | |
Property, plant and equipment, net | 48,065 | 24,620 | [1] |
Computer Equipment [Member] | |||
Property, plant and equipment, gross | 13,566 | 12,312 | |
Computer Software [Member] | |||
Property, plant and equipment, gross | 1,496 | 1,449 | |
Furniture and Fixtures [Member] | |||
Property, plant and equipment, gross | 1,364 | 1,308 | |
Vehicles and Tools [Member] | |||
Property, plant and equipment, gross | 2,323 | 1,306 | |
Fiber Network [Member] | |||
Property, plant and equipment, gross | 30,215 | 14,053 | |
Customer Equipment and Installations [Member] | |||
Property, plant and equipment, gross | 4,939 | 2,570 | |
Land [Member] | |||
Property, plant and equipment, gross | 823 | ||
Asset under Construction [Member] | |||
Property, plant and equipment, gross | 10,030 | 4,204 | |
Leasehold Improvements [Member] | |||
Property, plant and equipment, gross | $ 229 | $ 171 | |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 4 - Property and Equipme_5
Note 4 - Property and Equipment - Depreciation of Property and Equipment (Details) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Depreciation of property and equipment | $ 5,722 | $ 3,727 | [1] | $ 1,824 | [1] |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 5 - Goodwill and Other I_3
Note 5 - Goodwill and Other Intangible Assets (Details Textual) - USD ($) $ in Thousands | Nov. 16, 2018 | Sep. 19, 2017 | Jan. 20, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | ||
Goodwill, Ending Balance | $ 90,054 | $ 90,054 | ||||||
Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill) | 111 | [1] | $ 43 | [1] | ||||
Finite-lived Intangible Assets Acquired | $ 565 | 320 | ||||||
Brand [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 7 years | |||||||
Finite-lived Intangible Assets Acquired | ||||||||
Technology-Based Intangible Assets [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 2 years | |||||||
Finite-lived Intangible Assets Acquired | ||||||||
Customer Relationships [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 7 years | |||||||
Finite-lived Intangible Assets Acquired | $ 565 | $ 320 | ||||||
eNom, Incorporated [Member] | ||||||||
Goodwill, Ending Balance | $ 69,048 | |||||||
Finite-lived Intangible Assets Acquired | 44,300 | |||||||
eNom, Incorporated [Member] | Brand [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 7 years | |||||||
Finite-lived Intangible Assets Acquired | 12,400 | |||||||
eNom, Incorporated [Member] | Technology-Based Intangible Assets [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 2 years | |||||||
Finite-lived Intangible Assets Acquired | 3,900 | |||||||
eNom, Incorporated [Member] | Customer Relationships [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 7 years | |||||||
Finite-lived Intangible Assets Acquired | 28,000 | |||||||
Otono, Networks Inc. [Member] | ||||||||
Finite-lived Intangible Assets Acquired | 2,623 | |||||||
Business Acquisition, Working Capital Liabilities Assumed | $ 1,400 | |||||||
Otono, Networks Inc. [Member] | Brand [Member] | ||||||||
Finite-lived Intangible Assets Acquired | ||||||||
Otono, Networks Inc. [Member] | Technology-Based Intangible Assets [Member] | ||||||||
Finite-lived Intangible Assets Acquired | ||||||||
Otono, Networks Inc. [Member] | Customer Relationships [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 7 years | |||||||
Finite-lived Intangible Assets Acquired | $ 2,600 | 2,623 | ||||||
TPO [Member] | Customer Relationships [Member] | ||||||||
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life | 3 years | |||||||
Finite-lived Intangible Assets Acquired | $ 400 | |||||||
Minimum [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 2 years | |||||||
Minimum [Member] | Customer Relationships [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 3 years | |||||||
Maximum [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 15 years | |||||||
Maximum [Member] | Customer Relationships [Member] | ||||||||
Finite-Lived Intangible Asset, Useful Life | 7 years | |||||||
Domain Name Services [Member] | ||||||||
Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill) | $ 100 | $ 100 | ||||||
Domain Services Operating Segment [Member] | ||||||||
Goodwill, Ending Balance | $ 88,000 | |||||||
Goodwill Percentage Related to Operating Segments | 98.00% | |||||||
Network Access Services [Member] | ||||||||
Goodwill, Ending Balance | $ 2,100 | |||||||
Goodwill Percentage Related to Operating Segments | 2.00% | |||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 5 - Goodwill and Other I_4
Note 5 - Goodwill and Other Intangible Assets - Acquired Intangible Assets by Major Class (Details) - USD ($) $ in Thousands | Sep. 19, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Balances | $ 58,414 | [1] | $ 19,973 | ||||
Finite-lived intangible assets acquired | 565 | 320 | |||||
Additions to/(disposals from) domain portfolio, net | (341) | (291) | [2] | $ (30) | [2] | ||
Impairment of indefinite life intangible assets | (111) | [2] | (43) | [2] | |||
Amortization expense | (9,243) | (8,400) | [2] | (953) | [2] | ||
Balances | 49,395 | 58,414 | [1] | 19,973 | |||
eNom, Incorporated [Member] | |||||||
Finite-lived intangible assets acquired | 44,300 | ||||||
Otono, Networks Inc. [Member] | |||||||
Finite-lived intangible assets acquired | 2,623 | ||||||
Brand [Member] | |||||||
Balances | 10,793 | 49 | |||||
Finite-lived intangible assets acquired | |||||||
Additions to/(disposals from) domain portfolio, net | |||||||
Amortization expense | (1,789) | (1,656) | |||||
Balances | 9,004 | 10,793 | 49 | ||||
Brand [Member] | eNom, Incorporated [Member] | |||||||
Finite-lived intangible assets acquired | 12,400 | ||||||
Brand [Member] | Otono, Networks Inc. [Member] | |||||||
Finite-lived intangible assets acquired | |||||||
Customer Relationships [Member] | |||||||
Balances | 32,185 | 6,153 | |||||
Finite-lived intangible assets acquired | 565 | 320 | |||||
Additions to/(disposals from) domain portfolio, net | |||||||
Amortization expense | (5,458) | (4,911) | |||||
Balances | 27,292 | 32,185 | 6,153 | ||||
Customer Relationships [Member] | eNom, Incorporated [Member] | |||||||
Finite-lived intangible assets acquired | 28,000 | ||||||
Customer Relationships [Member] | Otono, Networks Inc. [Member] | |||||||
Finite-lived intangible assets acquired | $ 2,600 | 2,623 | |||||
Technology-Based Intangible Assets [Member] | |||||||
Balances | 2,113 | ||||||
Finite-lived intangible assets acquired | |||||||
Additions to/(disposals from) domain portfolio, net | |||||||
Amortization expense | (1,950) | (1,787) | |||||
Balances | 163 | 2,113 | |||||
Technology-Based Intangible Assets [Member] | eNom, Incorporated [Member] | |||||||
Finite-lived intangible assets acquired | 3,900 | ||||||
Technology-Based Intangible Assets [Member] | Otono, Networks Inc. [Member] | |||||||
Finite-lived intangible assets acquired | |||||||
Network Rights [Member] | |||||||
Balances | 561 | 607 | |||||
Finite-lived intangible assets acquired | |||||||
Additions to/(disposals from) domain portfolio, net | |||||||
Amortization expense | (46) | (46) | |||||
Balances | 515 | 561 | 607 | ||||
Network Rights [Member] | eNom, Incorporated [Member] | |||||||
Finite-lived intangible assets acquired | |||||||
Network Rights [Member] | Otono, Networks Inc. [Member] | |||||||
Finite-lived intangible assets acquired | |||||||
Surname Domain Names [Member] | |||||||
Balances | 11,257 | 11,295 | |||||
Additions to/(disposals from) domain portfolio, net | (81) | (38) | |||||
Impairment of indefinite life intangible assets | |||||||
Amortization expense | |||||||
Balances | 11,176 | 11,257 | 11,295 | ||||
Direct Navigation Domain Names [Member] | |||||||
Balances | 1,505 | 1,869 | |||||
Additions to/(disposals from) domain portfolio, net | (260) | (253) | |||||
Impairment of indefinite life intangible assets | (111) | ||||||
Amortization expense | |||||||
Balances | $ 1,245 | $ 1,505 | $ 1,869 | ||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 5 - Goodwill and Other I_5
Note 5 - Goodwill and Other Intangible Assets - Estimated Future Amortization Expense of Intangible Assets (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
2,019 | $ 7,488 | |
2,020 | 7,326 | |
2,021 | 7,315 | |
2,022 | 7,187 | |
2,023 | 7,187 | |
Thereafter | 469 | |
Total | $ 36,972 | $ 45,652 |
Note 6 - Fair Value Measureme_3
Note 6 - Fair Value Measurement - Summary of the Fair Values of the Company's Derivative Instrument Liabilities (Details) - Fair Value, Measurements, Recurring [Member] - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
Derivative instrument liability | $ (1,276) | |
Total Liabilities | (1,276) | |
Fair Value, Inputs, Level 1 [Member] | ||
Derivative instrument liability | ||
Total Liabilities | ||
Fair Value, Inputs, Level 2 [Member] | ||
Derivative instrument liability | (1,276) | |
Total Liabilities | (1,276) | |
Fair Value, Inputs, Level 3 [Member] | ||
Derivative instrument liability | ||
Total Liabilities |
Note 7 - Derivative Instrumen_3
Note 7 - Derivative Instruments and Hedging Activities (Details Textual) - Forward Contracts [Member] - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Derivative, Notional Amount | $ 40,500 | ||
Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments | (100) | $ 100 | $ 200 |
Designated as Hedging Instrument [Member] | |||
Derivative, Notional Amount | 36,500 | ||
Not Designated as Hedging Instrument [Member] | |||
Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments | $ (200) | $ 0 | $ 300 |
Note 7 - Derivative Instrumen_4
Note 7 - Derivative Instruments and Hedging Activities - Foreign Currency Forward Contracts (Details) $ in Thousands | Dec. 31, 2018USD ($) |
Foreign Exchange Forward 1 [Member] | |
Notional amount of U.S. dollars | $ 9,955 |
Weighted average exchange rate of U.S. dollars | 1.3131 |
Fair value | $ 355 |
Foreign Exchange Forward 2 [Member] | |
Notional amount of U.S. dollars | $ 10,381 |
Weighted average exchange rate of U.S. dollars | 1.3154 |
Fair value | $ 332 |
Foreign Exchange Forward 3 [Member] | |
Notional amount of U.S. dollars | $ 9,881 |
Weighted average exchange rate of U.S. dollars | 1.3136 |
Fair value | $ 310 |
Foreign Exchange Forward 4 [Member] | |
Notional amount of U.S. dollars | $ 10,327 |
Weighted average exchange rate of U.S. dollars | 1.3174 |
Fair value | $ 279 |
Foreign Exchange Forward 5 [Member] | |
Notional amount of U.S. dollars | $ 40,544 |
Weighted average exchange rate of U.S. dollars | 1.3149 |
Fair value | $ 1,276 |
Note 7 - Derivative Instrumen_5
Note 7 - Derivative Instruments and Hedging Activities - Fair Value of Derivative Instruments in the Consolidated Balance Sheets (Details) - Derivative Instruments [Member] - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
Foreign currency forward contracts | $ 1,276 | |
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | ||
Foreign currency forward contracts | 1,069 | |
Not Designated as Hedging Instrument [Member] | ||
Foreign currency forward contracts | $ 207 |
Note 7 - Derivative Instrumen_6
Note 7 - Derivative Instruments and Hedging Activities - Movement in AOCI Balance (Details) - USD ($) $ in Thousands | 12 Months Ended | |||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | ||||
AOCI balance, Gains and losses on cash flow hedges | $ 156 | $ (1,721) | ||||
Other comprehensive income (loss) before reclassifications, Gains and losses on cash flow hedges | (1,350) | 863 | 872 | |||
Amount reclassified from AOCI, Gains and losses on cash flow hedges | 281 | (1,019) | 1,005 | |||
Other comprehensive income (loss), Gains and losses on cash flow hedges | (1,069) | (156) | 1,877 | |||
AOCI balance, Gains and losses on cash flow hedges | (1,069) | 156 | ||||
AOCI balance, Tax impact | (56) | 612 | ||||
Other comprehensive income (loss) before reclassifications, Tax impact | 328 | (313) | (304) | |||
Amount reclassified from AOCI, Tax impact | (69) | 369 | (364) | |||
Other comprehensive income (loss), Tax impact | 259 | 56 | (668) | |||
AOCI balance, Tax impact | 259 | (56) | ||||
AOCI balance | [1] | 100 | (1,109) | |||
Other comprehensive income (loss) before reclassifications | (1,022) | 550 | [2] | 568 | [2] | |
Amount reclassified from AOCI | 212 | (650) | [2] | 641 | [2] | |
Other comprehensive income (loss) | (810) | (100) | 1,209 | |||
AOCI balance | $ (810) | [1] | $ 100 | |||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | |||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 7 - Derivative Instrumen_7
Note 7 - Derivative Instruments and Hedging Activities - Effects of Derivative Instruments on Income and Other Comprehensive Income (OCI) (Details) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Amount of Gain or (Loss) Recognized in Income on Derivative (Ineffective Portion and Amount Excluded from Effectiveness Testing) | |||||
Amount of Gain or (Loss) Recognized in OCI, Net of Tax, on Derivative (Effective Portion) | (1,022) | 550 | [1] | $ 568 | [1] |
Operating Expense [Member] | |||||
Amount of Gain or (Loss) Reclassified from Accumulated OCI into Income (Effective Portion) | (245) | (737) | |||
Amount of Gain or (Loss) Recognized in Income on Derivative (Ineffective Portion and Amount Excluded from Effectiveness Testing) | (47) | ||||
Cost of Sales [Member] | |||||
Amount of Gain or (Loss) Reclassified from Accumulated OCI into Income (Effective Portion) | (36) | 140 | (221) | ||
Amount of Gain or (Loss) Recognized in OCI, Net of Tax, on Derivative (Effective Portion) | $ (810) | $ (100) | $ 1,209 | ||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 8 - Loan Payable (Details
Note 8 - Loan Payable (Details Textual) $ in Thousands | Jan. 20, 2017USD ($) | Dec. 31, 2018USD ($) | Dec. 31, 2017USD ($) | Dec. 31, 2016USD ($) | [1] | Oct. 01, 2018 | Jan. 24, 2018USD ($) | Jan. 19, 2017USD ($) | |
Payments of Financing Costs, Total | $ 600 | $ 8 | $ 620 | [1] | $ 514 | ||||
Forward Contracts [Member] | |||||||||
Derivative, Notional Amount | 40,500 | ||||||||
Foreign Exchange Risk [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 3,500 | ||||||||
Line of Credit Facility Covenant Period | 1 year 180 days | ||||||||
Second Interim Amendment [Member] | |||||||||
Credit Agreement, Maximum Aggregate Amount Held in Account With Certain Bank | $ 3,000 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 140,000 | ||||||||
Debt Instrument, Term | 4 years | ||||||||
Maximum Total Funded Debt to EBITDA Ratio | 2.25 | 2.25 | |||||||
Repayment Obligation, Percentage of Excess Cash Flow | 50.00% | ||||||||
Minimum Fixed Charge Coverage Ratio | 1.2 | ||||||||
Maximum Annual Capital Expenditures Requirement | $ 50,000 | ||||||||
Line of Credit Facility, Maximum Funded Share Repurchases Ceiling | $ 20,000 | ||||||||
Maximum Ratio of Funded Share Repurchases to 12 Months Trailing EDITDA | 1.5 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Total Loans Do Not Exceed 1.5 Times of Trailing 12 Months EBITDA [Member] | |||||||||
Line of Credit Facility, Maximum Funded Share Repurchases Ceiling | $ 40,000 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Non-revolving Facility C [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | 35,500 | $ 40,000 | |||||||
Bank of Montreal and Royal Bank of Canada [Member] | Non-revolving Facility D [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | 84,500 | ||||||||
Long-term Line of Credit, Total | 84,500 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Revolving Credit Facility A [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | 5,000 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Revolving Reducing Term Facility B [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 15,000 | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Credit Facility B and C [Member] | Draws for Share Repurchases [Member] | |||||||||
Debt Instrument, Term | 4 years | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Credit Facility B and C [Member] | Draws for Acquisitions [Member] | |||||||||
Debt Instrument, Term | 5 years | ||||||||
Bank of Montreal and Royal Bank of Canada [Member] | Credit Facility B and C [Member] | Draws for FFTH Capital Expenditures [Member] | |||||||||
Debt Instrument, Term | 7 years | ||||||||
Bank of Nova [member] | Corporate Credit Card Program [Member] | |||||||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 5,000 | ||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 8 - Loan Payable - Schedul
Note 8 - Loan Payable - Schedule of Standby Fees Based on Total Funded Debt to EBITDA Ratio (Details) | 12 Months Ended |
Dec. 31, 2018 | |
Debt to EBITDA is Less Than 1 [Member] | |
Standby fees | 0.40% |
Debt to EBITDA is Greater Than or Equal to 1 and Less Than 2 [Member] | |
Standby fees | 0.45% |
Debt to EBITDA is Greater Than or Equal to 2 and Less Than 2.25 [Member] | |
Standby fees | 0.55% |
Debt to EBITDA is Greater Than or Equal to 2.25 [Member] | |
Standby fees | 0.65% |
Bank of Montreal and Royal Bank of Canada [Member] | London Interbank Offered Rate (LIBOR) [Member] | Debt to EBITDA is Less Than 1 [Member] | |
Basis Spread on Variable Rate | 2.00% |
Bank of Montreal and Royal Bank of Canada [Member] | London Interbank Offered Rate (LIBOR) [Member] | Debt to EBITDA is Greater Than or Equal to 1 and Less Than 2 [Member] | |
Basis Spread on Variable Rate | 2.25% |
Bank of Montreal and Royal Bank of Canada [Member] | London Interbank Offered Rate (LIBOR) [Member] | Debt to EBITDA is Greater Than or Equal to 2 and Less Than 2.25 [Member] | |
Basis Spread on Variable Rate | 2.75% |
Bank of Montreal and Royal Bank of Canada [Member] | London Interbank Offered Rate (LIBOR) [Member] | Debt to EBITDA is Greater Than or Equal to 2.25 [Member] | |
Basis Spread on Variable Rate | 3.25% |
Bank of Montreal and Royal Bank of Canada [Member] | Base Rate [Member] | Debt to EBITDA is Less Than 1 [Member] | |
Basis Spread on Variable Rate | 0.75% |
Bank of Montreal and Royal Bank of Canada [Member] | Base Rate [Member] | Debt to EBITDA is Greater Than or Equal to 1 and Less Than 2 [Member] | |
Basis Spread on Variable Rate | 1.00% |
Bank of Montreal and Royal Bank of Canada [Member] | Base Rate [Member] | Debt to EBITDA is Greater Than or Equal to 2 and Less Than 2.25 [Member] | |
Basis Spread on Variable Rate | 1.50% |
Bank of Montreal and Royal Bank of Canada [Member] | Base Rate [Member] | Debt to EBITDA is Greater Than or Equal to 2.25 [Member] | |
Basis Spread on Variable Rate | 2.00% |
Note 8 - Loan Payable - Sched_2
Note 8 - Loan Payable - Schedule of Loans Payable (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 | |
Loans payable | $ 64,601 | $ 76,924 | |
Less: unamortized debt discount and issuance costs | (555) | (829) | |
Loans payable | 64,601 | 76,924 | |
Less: loan payable, current portion | 18,400 | 18,290 | |
Loan payable, long-term portion | 46,201 | 58,634 | [1] |
Revolving Credit Facility A [Member] | |||
Loans payable | 1,000 | ||
Loans payable | 1,000 | ||
Revolving Reducing Term Facility B [Member] | |||
Loans payable | 6,000 | ||
Loans payable | 6,000 | ||
Non-revolving Facility C [Member] | |||
Loans payable | 3,232 | 5,930 | |
Loans payable | 3,232 | 5,930 | |
Non-revolving Facility D [Member] | |||
Loans payable | 54,924 | 71,823 | |
Loans payable | $ 54,924 | $ 71,823 | |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 8 - Loan Payable - Princip
Note 8 - Loan Payable - Principal Repayments (Details) $ in Thousands | Dec. 31, 2018USD ($) |
2,019 | $ 18,400 |
2,020 | 18,400 |
2,021 | 28,356 |
Long-term Debt | $ 65,156 |
Note 9 - Income Taxes (Details
Note 9 - Income Taxes (Details Textual) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent | 21.00% | 35.00% | 35.00% |
Net Operating Loss | $ 200 | ||
Income Tax Expense (Benefit), Continuing Operations, Valuation Allowance on Foreign Tax Credits and Net Operating Losses | 2,800 | ||
Effective Income Tax Rate Reconciliation, Changes in Tax Laws Included in Tax Act, Amount | $ (5,800) | ||
Effective Income Tax Rate Reconciliation, Effect of Decrease in Federal Tax Rate on Deferred Taxes, Amount | (10,036) | ||
Effective Income Tax Rate Reconciliation, Change in Valuation Allowance on Pre-2017 Foreign Tax Credits, Amount | 2,811 | 1,276 | |
Effective Income Tax Rate Reconciliation, Non-creditable 2017 Foreign Tax, Amount | 2,903 | ||
Unrecognized Tax Benefits, Ending Balance | 15 | $ 117 | |
Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total | $ 0 | $ 0 |
Note 9 - Income Taxes - Provisi
Note 9 - Income Taxes - Provision for Income Taxes Differs from the Amount Computed by Applying the Statutory Federal Income Tax Rate (Details) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Income for the year before provision for income taxes | $ 26,155 | $ 24,075 | $ 25,113 | ||
Computed tax expense | 5,492 | 8,185 | 8,538 | ||
State income taxes | 846 | 657 | 532 | ||
Effect of the decrease in Federal tax rate on deferred taxes | (10,036) | ||||
Change in Valuation allowance | 2,811 | 1,276 | |||
Non-creditable Foreign Tax | 2,903 | ||||
Excess tax benefits on share-based compensation expense | (697) | (2,796) | |||
Permanent differences | 159 | 1,636 | 290 | ||
Others | 409 | (77) | (314) | ||
Provision for income taxes | $ 9,020 | $ 1,748 | [1] | $ 9,046 | [1] |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 9 - Income Taxes - Tax Eff
Note 9 - Income Taxes - Tax Effects of Temporary Differences That Give Rise to Significant Portions of the Deferred Tax Assets and Liabilities (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
Deferred tax assets: | ||
Deferred revenue | $ 6,497 | $ 7,573 |
Foreign tax credits | 3,865 | 1,276 |
Amortization | (5,872) | (1,937) |
Net operating losses | 1,892 | 2,545 |
Accruals, including foreign exchange and other | 1,955 | 517 |
Sub-total Deferred tax assets | 8,337 | 9,974 |
Valuation allowance | (4,087) | (1,276) |
Total deferred tax assets | 4,250 | 8,698 |
Deferred tax liabilities: | ||
Prepaid registry fees and expenses | (15,950) | (18,051) |
Limited life intangible assets | (6,115) | (7,371) |
Indefinite life intangible assets | (3,110) | (3,110) |
Total deferred tax liability | (25,175) | (28,532) |
Net deferred tax liability | $ (20,925) | $ (19,834) |
Note 9 - Income Taxes - Unrecog
Note 9 - Income Taxes - Unrecognized Tax Benefits (Details) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2018 | Dec. 31, 2017 | |
Balance | $ 15 | $ 117 |
Change in uncertain tax benefits | 15 | 102 |
Balance | $ 15 |
Note 10 - Revenue (Details Text
Note 10 - Revenue (Details Textual) xbrli-pure in Thousands, $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018USD ($) | Dec. 31, 2017USD ($) | Dec. 31, 2016 | Jan. 01, 2018USD ($) | ||
Contract with Customer, Liability, Total | $ 143,694 | $ 160,582 | $ 160,600 | ||
Contract with Customer, Liability, Revenue Recognized | [1] | $ (239,096) | |||
Namecheap, Inc. [Member] | |||||
Domain Name Transfer to Counter Party | 2,800 | ||||
Contract with Customer, Liability, Revenue Recognized | $ 16,900 | ||||
Customer Concentration Risk [Member] | Sales Revenue, Net [Member] | |||||
Number of Customers | 0 | 0 | 0 | ||
Customer Concentration Risk [Member] | Accounts Receivable [Member] | |||||
Number of Customers | 0 | 0 | 0 | ||
[1] | As a result of the bulk transfers of 2.8 million domain names to Namecheap throughout 2018, recognized revenue for the year ended December 31, 2018 includes $16.9 million, related to previously deferred revenue, a portion of which would have otherwise been recognized after December 31, 2018. |
Note 10 - Revenue - Disaggregat
Note 10 - Revenue - Disaggregation of Revenue (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended | |||||||||||
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Net Revenues | $ 85,612 | $ 83,519 | $ 81,087 | $ 95,795 | $ 90,621 | $ 85,008 | $ 84,223 | $ 69,568 | $ 346,013 | $ 329,421 | [1] | $ 189,819 | [1] |
Network Access Services [Member] | |||||||||||||
Net Revenues | 97,324 | 89,452 | 74,306 | ||||||||||
Domain Name Services [Member] | |||||||||||||
Net Revenues | 248,689 | 239,969 | 115,513 | ||||||||||
Domain Name Services [Member] | Wholesale [Member] | |||||||||||||
Net Revenues | 207,190 | 201,563 | 97,652 | ||||||||||
Domain Name Services [Member] | Retail Services [Member] | |||||||||||||
Net Revenues | 34,524 | 31,649 | 14,630 | ||||||||||
Domain Name Services [Member] | Portfolio [Member] | |||||||||||||
Net Revenues | 6,975 | 6,757 | 3,231 | ||||||||||
Mobile Services [Member] | Network Access Services [Member] | |||||||||||||
Net Revenues | 89,340 | 83,885 | 70,127 | ||||||||||
Other Services [Member] | Network Access Services [Member] | |||||||||||||
Net Revenues | 7,984 | 5,567 | 4,179 | ||||||||||
Domain Services [Member] | Domain Name Services [Member] | Wholesale [Member] | |||||||||||||
Net Revenues | 189,434 | 183,731 | 89,010 | ||||||||||
Value Added Services [Member] | Domain Name Services [Member] | Wholesale [Member] | |||||||||||||
Net Revenues | $ 17,756 | $ 17,832 | $ 8,642 | ||||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 10 - Revenue - Cost of Rev
Note 10 - Revenue - Cost of Revenue (Details) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Cost of revenues | $ 232,103 | $ 230,600 | [1] | $ 120,187 | [1] |
Network, other costs | 9,846 | 9,324 | [1] | 5,210 | [1] |
249,243 | 244,900 | [1] | 126,765 | [1] | |
Network Expenses [Member] | |||||
Network, other costs | 9,846 | 9,324 | 5,210 | ||
Network, depreciation and amortization costs | 7,294 | 4,976 | 1,368 | ||
17,140 | 14,300 | 6,578 | |||
Network Access Services [Member] | |||||
Cost of revenues | 50,055 | 48,640 | 37,825 | ||
Network, other costs | 2,029 | 1,861 | 1,399 | ||
56,193 | 52,748 | 40,249 | |||
Network Access Services [Member] | Mobile Services [Member] | |||||
Cost of revenues | 46,061 | 45,335 | 35,915 | ||
Network Access Services [Member] | Other Services [Member] | |||||
Cost of revenues | 3,994 | 3,305 | 1,910 | ||
Domain Name Services [Member] | |||||
Cost of revenues | 182,048 | 181,960 | 82,362 | ||
Network, other costs | 7,817 | 7,463 | 3,811 | ||
193,050 | 192,152 | 86,516 | |||
Domain Name Services [Member] | Wholesale [Member] | |||||
Cost of revenues | 163,370 | 163,463 | 74,980 | ||
Domain Name Services [Member] | Retail Services [Member] | |||||
Cost of revenues | 17,725 | 17,346 | 6,766 | ||
Domain Name Services [Member] | Portfolio [Member] | |||||
Cost of revenues | 953 | 1,151 | 616 | ||
Domain Name Services [Member] | Domain Services [Member] | Wholesale [Member] | |||||
Cost of revenues | 160,216 | 161,013 | 72,948 | ||
Domain Name Services [Member] | Value Added Services [Member] | Wholesale [Member] | |||||
Cost of revenues | $ 3,154 | $ 2,450 | $ 2,032 | ||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 10 - Revenue - Contract Ba
Note 10 - Revenue - Contract Balances (Details) $ in Thousands | 12 Months Ended | |
Dec. 31, 2018USD ($) | ||
Balance, beginning of period | $ 160,582 | |
Deferred revenue | 222,208 | |
Recognized revenue (1) | (239,096) | [1] |
Balance, end of period | $ 143,694 | |
[1] | As a result of the bulk transfers of 2.8 million domain names to Namecheap throughout 2018, recognized revenue for the year ended December 31, 2018 includes $16.9 million, related to previously deferred revenue, a portion of which would have otherwise been recognized after December 31, 2018. |
Note 10 - Revenue - Remaining P
Note 10 - Revenue - Remaining Performance Obligations (Details) | Dec. 31, 2018USD ($) |
Revenue, remaining performance obligation, amount | $ 143,340 |
Note 10 - Revenue - Remaining_2
Note 10 - Revenue - Remaining Performance Obligations 2 (Details) | Dec. 31, 2018USD ($) |
Revenue, remaining performance obligation, amount | $ 143,340 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | 1 year |
Revenue, remaining performance obligation, amount | $ 116,398 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | 1 year |
Revenue, remaining performance obligation, amount | $ 12,751 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | 1 year |
Revenue, remaining performance obligation, amount | $ 5,498 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | 1 year |
Revenue, remaining performance obligation, amount | $ 3,456 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | 1 year |
Revenue, remaining performance obligation, amount | $ 2,163 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01 | |
Revenue, remaining performance obligation, expected timing of satisfaction, period (Year) | |
Revenue, remaining performance obligation, amount | $ 3,074 |
Note 11 - Contract Costs (Detai
Note 11 - Contract Costs (Details Textual) $ in Thousands, xbrli-pure in Millions | 12 Months Ended | ||||
Dec. 31, 2018USD ($) | Jan. 01, 2018USD ($) | Dec. 31, 2017USD ($) | |||
Capitalized Contract Cost, Net, Total | $ 1,390 | $ 1,400 | |||
Contract with Customer, Liability, Revenue Recognized | [1] | (239,096) | |||
Deferred Costs of Acquisition [Member] | |||||
Capitalized Contract Cost, Net, Total | 1,390 | $ 1,404 | [2] | ||
Increase (Decrease) in Capitalized Costs | 913 | ||||
Capitalized Contract Cost, Amortization | 927 | ||||
Capitalized Contract Cost, Impairment Loss | $ 0 | ||||
Deferred Costs of Acquisition [Member] | Minimum [Member] | |||||
Capitalized Contract Cost, Amortization Period | 2 years | ||||
Deferred Costs of Acquisition [Member] | Maximum [Member] | |||||
Capitalized Contract Cost, Amortization Period | 10 years | ||||
Domain Registration Costs [Member] | |||||
Capitalized Contract Cost, Net, Total | [3] | $ 106,527 | $ 127,003 | ||
Increase (Decrease) in Capitalized Costs | 163,447 | ||||
Capitalized Contract Cost, Amortization | 183,923 | ||||
Capitalized Contract Cost, Impairment Loss | $ 0 | ||||
Domain Name Transfer to Counter Party | 2.8 | ||||
Contract with Customer, Liability, Revenue Recognized | $ 16,700 | ||||
Domain Registration Costs [Member] | Minimum [Member] | |||||
Capitalized Contract Cost, Amortization Period | 1 year | ||||
Domain Registration Costs [Member] | Maximum [Member] | |||||
Capitalized Contract Cost, Amortization Period | 10 years | ||||
[1] | As a result of the bulk transfers of 2.8 million domain names to Namecheap throughout 2018, recognized revenue for the year ended December 31, 2018 includes $16.9 million, related to previously deferred revenue, a portion of which would have otherwise been recognized after December 31, 2018. | ||||
[2] | The beginning balance consists entirely of a cumulative adjustment recorded on January 1, 2018 as a result of the modified retrospective adoption of Topic 606. See Note 2 &#8211; &#8220;Recent accounting pronouncements&#8221; of Notes to Consolidated Financial Statements for more information. | ||||
[3] | As a result of the bulk transfer of 2.8 million domain names to Namecheap throughout 2018, recognized costs for the year ended December 31, 2018 includes $16.7 million related to previously deferred prepaid registry fees, a portion of which would have otherwise been recognized after December 31, 2018. |
Note 11 - Contract Costs - Capi
Note 11 - Contract Costs - Capitalized Contract Costs Activity (Details) $ in Thousands | 12 Months Ended | |
Dec. 31, 2018USD ($) | ||
Balance | $ 1,390 | |
Deferred Costs of Acquisition [Member] | ||
Balance | 1,404 | [1] |
Capitalization of costs | 913 | |
Amortization of costs | (927) | |
Balance | 1,390 | |
Domain Registration Costs [Member] | ||
Balance | 127,003 | [2] |
Capitalization of costs | 163,447 | |
Amortization of costs | (183,923) | |
Balance | $ 106,527 | [2] |
[1] | The beginning balance consists entirely of a cumulative adjustment recorded on January 1, 2018 as a result of the modified retrospective adoption of Topic 606. See Note 2 &#8211; &#8220;Recent accounting pronouncements&#8221; of Notes to Consolidated Financial Statements for more information. | |
[2] | As a result of the bulk transfer of 2.8 million domain names to Namecheap throughout 2018, recognized costs for the year ended December 31, 2018 includes $16.7 million related to previously deferred prepaid registry fees, a portion of which would have otherwise been recognized after December 31, 2018. |
Note 12 - Common Shares (Detail
Note 12 - Common Shares (Details Textual) - USD ($) $ in Thousands | 12 Months Ended | ||||||||
Feb. 13, 2019 | Dec. 31, 2018 | Feb. 14, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | Feb. 14, 2019 | Mar. 01, 2017 | Feb. 09, 2016 | ||
Common Stock, Shares Authorized | 250,000,000 | 250,000,000 | [1] | ||||||
Common Stock, Shares, Outstanding, Ending Balance | 10,627,988 | 10,583,879 | [1] | ||||||
Stock Repurchased and Retired During Period, Shares | 308,416 | ||||||||
Stock Repurchased and Retired During Period, Value | $ 7,180 | ||||||||
Stock Buyback Program 2019 [Member] | Subsequent Event [Member] | |||||||||
Stock Repurchase Program, Authorized Amount | $ 40,000 | $ 40,000 | |||||||
Stock Buyback Program 2018 [Member] | |||||||||
Stock Repurchase Program, Authorized Amount | $ 40,000 | ||||||||
Stock Buyback Program 2018 [Member] | Subsequent Event [Member] | |||||||||
Stock Repurchased and Retired During Period, Shares | 0 | ||||||||
Stock Buyback Program 2017 [Member] | |||||||||
Stock Repurchase Program, Authorized Amount | $ 40,000 | ||||||||
Stock Repurchased and Retired During Period, Shares | 0 | ||||||||
Stock Buyback Program 2016 [Member] | |||||||||
Stock Repurchase Program, Authorized Amount | $ 40,000 | ||||||||
Stock Repurchased and Retired During Period, Shares | 308,416 | ||||||||
Stock Repurchased and Retired During Period, Value | $ 7,200 | ||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 12 - Common Shares - Share
Note 12 - Common Shares - Share Repurchases (Details) - USD ($) $ / shares in Units, $ in Thousands | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Stock Repurchased and Retired During Period, Shares | 308,416 | ||
Stock Repurchased and Retired During Period, Value | $ 7,180 | ||
Average price per share (in dollars per share) | $ 23.28 | ||
Number of shares (in shares) | 19,777 | 50,454 | 25,572 |
Aggregate market value of shares (in thousands) | $ 1,138 | $ 2,602 | $ 634 |
Average price per share (in dollars per share) | $ 57.56 | $ 51.58 | $ 24.80 |
Note 13 - Stock Option Plans (D
Note 13 - Stock Option Plans (Details Textual) - USD ($) $ in Thousands | Oct. 08, 2010 | Sep. 30, 2015 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | Dec. 31, 1996 | Nov. 22, 2006 |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value | $ 2,900 | $ 7,600 | $ 2,400 | ||||
Proceeds from Stock Options Exercised | 112 | 222 | 146 | ||||
Allocated Share-based Compensation Expense, Total | 2,574 | $ 1,457 | $ 799 | ||||
Employee Stock Option [Member] | |||||||
Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Total | $ 6,500 | ||||||
Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition | 2 years 255 days | ||||||
The 1996 Plan [Member] | |||||||
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized | 2,787,500 | ||||||
The 1996 Plan [Member] | Employee Stock Option [Member] | |||||||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 4 years | ||||||
Equity Compensation Plan 2006 [Member] | |||||||
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized | 1,725,000 | 2,475,000 | 1,250,000 | ||||
Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized | 475,000 | 750,000 | |||||
Equity Compensation Plan 2006 [Member] | Employee Stock Option [Member] | |||||||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 4 years | ||||||
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period | 7 years | ||||||
Equity Compensation Plan 2006 [Member] | Automatic Formula Grants of Nonqualified Stock Options [Member] | |||||||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 1 year | ||||||
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period | 5 years |
Note 13 - Stock Option Plans -
Note 13 - Stock Option Plans - Fair Value of Stock Options Granted (Details) - $ / shares | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Volatility | 37.90% | 41.60% | 66.10% |
Risk-free interest rate | 2.70% | 1.80% | 1.30% |
Expected life (in years) (Year) | 4 years 175 days | 4 years 200 days | 4 years 109 days |
The weighted average grant date fair value for options issued, with the exercise price equal to market value on the date of grant (in dollars per share) | $ 22.22 | $ 20.08 | $ 11.18 |
Note 13 - Stock Option Plans _2
Note 13 - Stock Option Plans - Stock Option Transactions (Details) - $ / shares | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Outstanding, Number of shares (in shares) | 653,571 | 474,501 | 513,366 |
Outstanding, Weighted average exercise price per share (in dollars per share) | $ 36.69 | $ 12.67 | $ 9.24 |
Granted, Number of shares (in shares) | 163,366 | 370,025 | 81,750 |
Granted, Weighted average exercise price per share (in dollars per share) | $ 62.80 | $ 54.10 | $ 22.66 |
Exercised, Number of shares (in shares) | (63,886) | (172,759) | (109,963) |
Exercised, Weighted average exercise price per share (in dollars per share) | $ 12.86 | $ 7.88 | $ 3.79 |
Forfeited, Number of shares (in shares) | (50,714) | (18,196) | (9,902) |
Forfeited, Weighted average exercise price per share (in dollars per share) | $ 52.33 | $ 37.70 | $ 16.80 |
Expired, Number of shares (in shares) | (750) | ||
Expired, Weighted average exercise price per share (in dollars per share) | $ 3.76 | ||
Outstanding, Number of shares (in shares) | 702,337 | 653,571 | 474,501 |
Outstanding, Weighted average exercise price per share (in dollars per share) | $ 43.80 | $ 36.69 | $ 12.67 |
Options exercisable, Number of shares (in shares) | 326,937 | 243,771 | 332,192 |
Options exercisable, Weighted average exercise price per share (in dollars per share) | $ 28.91 | $ 14.79 | $ 10.08 |
Note 13 - Stock Option Plans _3
Note 13 - Stock Option Plans - Summary of Exercise Prices, Weighted Average Remaining Contractual Life and Intrinsic Values of Outstanding Options (Details) $ / shares in Units, $ in Thousands | 12 Months Ended |
Dec. 31, 2018USD ($)$ / sharesshares | |
Number outstanding (in shares) | shares | 702,337 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 43.80 |
Weighted average remaining contractual life, options outstanding (Year) | 4 years 219 days |
Aggregate intrinsic value, options outstanding | $ | $ 11,895 |
Number exercisable (in shares) | shares | 326,937 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 28.91 |
Weighted average remaining contractual life, options exercisable (Year) | 3 years 73 days |
Aggregate intrinsic value, options exercisable | $ | $ 10,183 |
Exercise Price Range 01 [Member] | |
Exercise price - lower (in dollars per share) | $ 5.52 |
Exercise price - higher (in dollars per share) | $ 8.56 |
Number outstanding (in shares) | shares | 58,135 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 6.92 |
Weighted average remaining contractual life, options outstanding (Year) | 328 days |
Aggregate intrinsic value, options outstanding | $ | $ 3,089 |
Number exercisable (in shares) | shares | 58,135 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 6.92 |
Weighted average remaining contractual life, options exercisable (Year) | 328 days |
Aggregate intrinsic value, options exercisable | $ | $ 3,090 |
Exercise Price Range 02 [Member] | |
Exercise price - lower (in dollars per share) | $ 10.16 |
Exercise price - higher (in dollars per share) | $ 19.95 |
Number outstanding (in shares) | shares | 99,588 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 16.44 |
Weighted average remaining contractual life, options outstanding (Year) | 2 years 182 days |
Aggregate intrinsic value, options outstanding | $ | $ 4,344 |
Number exercisable (in shares) | shares | 97,088 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 16.35 |
Weighted average remaining contractual life, options exercisable (Year) | 2 years 182 days |
Aggregate intrinsic value, options exercisable | $ | $ 4,244 |
Exercise Price Range 03 [Member] | |
Exercise price - lower (in dollars per share) | $ 21.10 |
Exercise price - higher (in dollars per share) | $ 27.53 |
Number outstanding (in shares) | shares | 65,000 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 23.47 |
Weighted average remaining contractual life, options outstanding (Year) | 3 years 73 days |
Aggregate intrinsic value, options outstanding | $ | $ 2,378 |
Number exercisable (in shares) | shares | 55,000 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 23.91 |
Weighted average remaining contractual life, options exercisable (Year) | 3 years |
Aggregate intrinsic value, options exercisable | $ | $ 1,988 |
Exercise Price Range 04 [Member] | |
Exercise price - lower (in dollars per share) | $ 35.25 |
Exercise price - higher (in dollars per share) | $ 37.35 |
Number outstanding (in shares) | shares | 14,375 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 35.89 |
Weighted average remaining contractual life, options outstanding (Year) | 4 years 146 days |
Aggregate intrinsic value, options outstanding | $ | $ 347 |
Number exercisable (in shares) | shares | 10,625 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 36.11 |
Weighted average remaining contractual life, options exercisable (Year) | 4 years 73 days |
Aggregate intrinsic value, options exercisable | $ | $ 254 |
Exercise Price Range 05 [Member] | |
Exercise price - lower (in dollars per share) | $ 43.15 |
Exercise price - higher (in dollars per share) | $ 47 |
Number outstanding (in shares) | shares | 18,500 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 44.19 |
Weighted average remaining contractual life, options outstanding (Year) | 5 years 36 days |
Aggregate intrinsic value, options outstanding | $ | $ 294 |
Number exercisable (in shares) | shares | 8,000 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 43.75 |
Weighted average remaining contractual life, options exercisable (Year) | 5 years 36 days |
Aggregate intrinsic value, options exercisable | $ | $ 131 |
Exercise Price Range 06 [Member] | |
Exercise price - lower (in dollars per share) | $ 53.20 |
Exercise price - higher (in dollars per share) | $ 58.65 |
Number outstanding (in shares) | shares | 328,387 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 55.67 |
Weighted average remaining contractual life, options outstanding (Year) | 5 years 146 days |
Aggregate intrinsic value, options outstanding | $ | $ 1,443 |
Number exercisable (in shares) | shares | 98,089 |
Weighted average exercise price per share, options exercisable (in dollars per share) | $ 55.21 |
Weighted average remaining contractual life, options exercisable (Year) | 5 years 36 days |
Aggregate intrinsic value, options exercisable | $ | $ 476 |
Exercise Price Range 07 [Member] | |
Exercise price - lower (in dollars per share) | $ 64.10 |
Exercise price - higher (in dollars per share) | $ 64.10 |
Number outstanding (in shares) | shares | 118,352 |
Weighted average exercise price per share, options outstanding (in dollars per share) | $ 64.10 |
Weighted average remaining contractual life, options outstanding (Year) | 6 years 146 days |
Aggregate intrinsic value, options outstanding | $ | |
Number exercisable (in shares) | shares | |
Weighted average exercise price per share, options exercisable (in dollars per share) | |
Weighted average remaining contractual life, options exercisable (Year) | |
Aggregate intrinsic value, options exercisable | $ |
Note 13 - Stock Option Plans _4
Note 13 - Stock Option Plans - Stock-based Compensation Allocation to Operating Expenses (Details) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Allocated share based compensation expense | $ 2,574 | $ 1,457 | $ 799 |
Network Expenses [Member] | |||
Allocated share based compensation expense | 223 | 110 | 22 |
Sales and Marketing Expense [Member] | |||
Allocated share based compensation expense | 1,025 | 573 | 236 |
Technical Operations and Development [Member] | |||
Allocated share based compensation expense | 636 | 360 | 98 |
General and Administrative Expense [Member] | |||
Allocated share based compensation expense | $ 690 | $ 414 | $ 443 |
Note 14 - Foreign Exchange (Det
Note 14 - Foreign Exchange (Details Textual) - USD ($) $ in Millions | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
General and Administrative Expense [Member] | |||
Foreign Currency Transaction Gain (Loss), Realized | $ (0.9) | $ 0.7 | $ (0.1) |
Note 15 - Other Income, Net (De
Note 15 - Other Income, Net (Details Textual) - Joint Marketing Agreement [Member] - USD ($) $ in Millions | 1 Months Ended | 12 Months Ended | ||
Nov. 30, 2015 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Other Nonrecurring Gain | $ 1.5 | $ 0.5 | $ 0.5 | $ 0.5 |
Other Non-recurring Gain, Term of Recognition | 3 years |
Note 16 - Earnings Per Common_3
Note 16 - Earnings Per Common Share (Details Textual) - shares | 12 Months Ended | ||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |
Employee Stock Option [Member] | |||
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount | 451,739 | 341,650 | 76,750 |
Note 16 - Earnings Per Common_4
Note 16 - Earnings Per Common Share - Summary of Basic and Diluted Earnings Per Common Share (Details) - USD ($) $ / shares in Units, $ in Thousands | 3 Months Ended | 12 Months Ended | |||||||||||
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Numerator for basic and diluted earnings per common share: | |||||||||||||
Net income for the year | $ 4,436 | $ 5,347 | $ 3,608 | $ 3,744 | $ 11,199 | $ 3,439 | $ 5,241 | $ 2,446 | $ 17,135 | $ 22,327 | [1],[2] | $ 16,067 | [1],[2] |
Basic weighted average number of common shares outstanding (in shares) | 10,604,722 | 10,537,356 | [1] | 10,524,856 | [1] | ||||||||
Effect of stock options (in shares) | 189,448 | 256,266 | 188,739 | ||||||||||
Diluted weighted average number of shares outstanding (in shares) | 10,794,170 | 10,793,622 | [1] | 10,713,595 | [1] | ||||||||
Basic earnings per common share (in dollars per share) | $ 0.42 | $ 0.50 | $ 0.34 | $ 0.35 | $ 1.06 | $ 0.33 | $ 0.50 | $ 0.23 | $ 1.62 | $ 2.12 | [1] | $ 1.53 | [1] |
Diluted earnings per common share (in dollars per share) | $ 0.41 | $ 0.50 | $ 0.33 | $ 0.35 | $ 1.04 | $ 0.32 | $ 0.49 | $ 0.23 | $ 1.59 | $ 2.07 | [1] | $ 1.50 | [1] |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 17 - Commitments and Con_3
Note 17 - Commitments and Contingencies (Details Textual) - USD ($) | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | Jan. 01, 2019 | Feb. 09, 2015 | |
Contractual Obligation, Term | 10 years | ||||
Operating Leases, Rent Expense, Total | $ 2,300,000 | $ 1,900,000 | $ 1,200,000 | ||
Long-term Debt, Total | 65,156,000 | ||||
City of Westminster, Maryland [Member] | Loan to Finance WFN Construction [Member] | |||||
Line of Credit Facility, Maximum Borrowing Capacity | $ 21,000,000 | ||||
Debt Instrument, Term of Interest Only Payments | 5 years | ||||
Debt Instrument, Term | 30 years | ||||
Long-term Debt, Total | $ 13,400,000 | ||||
Guarantee Obligations [Member] | Lease and Network Operations Agreement [Member] | Ting Fiber Inc. [Member] | |||||
Loss Contingency, Debt Service Guarantee, Revenue Shortfall Difference, Lower Threshold | $ 50,000 | ||||
Loss Contingency, Debt Service Guarantee, Revenue Shortfall Difference, Upper Threshold | $ 150,000 | ||||
Subsequent Event [Member] | |||||
Operating Lease, Liability, Total | $ 7,400,000 |
Note 17 - Commitments and Con_4
Note 17 - Commitments and Contingencies - Summary of General Office Facilities and Equipment (Details) $ in Thousands | Dec. 31, 2018USD ($) | |
Contractual lease obligations, 2019 | $ 1,748 | [1] |
Purchase obligations, 2019 | 44,938 | [2] |
Total obligations, 2019 | 46,686 | |
Contractual lease obligations, 2020 | 1,084 | [1] |
Purchase obligations, 2020 | 5,068 | [2] |
Total obligations, 2020 | 6,152 | |
Contractual lease obligations, 2021 | 1,198 | [1] |
Purchase obligations, 2021 | 388 | [2] |
Total obligations, 2021 | 1,586 | |
Contractual lease obligations, 2022 | 1,182 | [1] |
Purchase obligations, 2022 | 379 | [2] |
Total obligations, 2022 | 1,561 | |
Contractual lease obligations, 2023 | 1,153 | [1] |
Purchase obligations, 2023 | 370 | [2] |
Total obligations, 2023 | 1,523 | |
Contractual lease obligations, thereafter | 7,195 | [1] |
Purchase obligations, thereafter | 795 | [2] |
Total obligations, thereafter | 7,990 | |
Contractual lease obligations, total | 13,560 | [1] |
Purchase obligations, total | 51,938 | [2] |
Total obligations | $ 65,498 | |
[1] | Contractual lease obligations include an agreement to extend the lease of the Company's principal administrative office located in Toronto, ON. Prior to the extension, the lease agreement was set to expire on December 31, 2020. The new agreement extends the lease period from 2021 to 2030. Not including additional building operating expenses, the Company has committed to lease payments of $7.4 million over the term of the lease extension. | |
[2] | Purchase obligations include all other legally binding service contracts for mobile telephone services and other operational agreements to be delivered during Fiscal 2019 and subsequent years. Note, Purchase Obligations do not include interest payments on the Company's credit facilities. |
Note 18 - Segment Reporting (De
Note 18 - Segment Reporting (Details Textual) | 12 Months Ended |
Dec. 31, 2018 | |
Number of Operating Segments | 2 |
Note 18 - Segment Reporting - I
Note 18 - Segment Reporting - Information by Reportable Segments (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended | |||||||||||
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Net Revenues | $ 85,612 | $ 83,519 | $ 81,087 | $ 95,795 | $ 90,621 | $ 85,008 | $ 84,223 | $ 69,568 | $ 346,013 | $ 329,421 | [1] | $ 189,819 | [1] |
Cost of revenues | 232,103 | 230,600 | [1] | 120,187 | [1] | ||||||||
Network expenses | 9,846 | 9,324 | [1] | 5,210 | [1] | ||||||||
Depreciation of property and equipment | 5,298 | 3,142 | [1] | 1,320 | [1] | ||||||||
Amortization of intangible assets | 1,996 | 1,834 | [1] | 48 | [1] | ||||||||
Total cost of revenues | 249,243 | 244,900 | [1] | 126,765 | [1] | ||||||||
Gross Profit | $ 27,731 | $ 24,262 | $ 22,158 | $ 22,619 | $ 25,736 | $ 20,494 | $ 21,347 | $ 16,944 | 96,770 | 84,521 | [1] | 63,054 | [1] |
Sales and marketing | 33,063 | 29,423 | [1] | 20,755 | [1] | ||||||||
Technical operations and development | 8,748 | 7,258 | [1] | 4,495 | [1] | ||||||||
General and administrative | 17,710 | 13,594 | [1] | 11,405 | [1] | ||||||||
Depreciation of property and equipment | 424 | 585 | [1] | 504 | [1] | ||||||||
Amortization of intangible assets | 7,247 | 6,566 | [1] | 905 | [1] | ||||||||
Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill) | 111 | [2] | 43 | [2] | |||||||||
Loss (gain) on currency forward contracts | 254 | (98) | [1] | (99) | [1] | ||||||||
Income from operations | 29,324 | 27,082 | [1] | 25,047 | [1] | ||||||||
Other income (expenses), net | (3,169) | (3,007) | [1] | 66 | [1] | ||||||||
Income before provision for income taxes | 26,155 | 24,075 | [1] | 25,113 | [1] | ||||||||
Network Access Services [Member] | |||||||||||||
Net Revenues | 97,324 | 89,452 | 74,306 | ||||||||||
Cost of revenues | 50,055 | 48,640 | 37,825 | ||||||||||
Network expenses | 2,029 | 1,861 | 1,399 | ||||||||||
Depreciation of property and equipment | 4,063 | 2,201 | 977 | ||||||||||
Amortization of intangible assets | 46 | 46 | 48 | ||||||||||
Total cost of revenues | 56,193 | 52,748 | 40,249 | ||||||||||
Gross Profit | 41,131 | 36,704 | 34,057 | ||||||||||
Domain Name Services [Member] | |||||||||||||
Net Revenues | 248,689 | 239,969 | 115,513 | ||||||||||
Cost of revenues | 182,048 | 181,960 | 82,362 | ||||||||||
Network expenses | 7,817 | 7,463 | 3,811 | ||||||||||
Depreciation of property and equipment | 1,235 | 941 | 343 | ||||||||||
Amortization of intangible assets | 1,950 | 1,788 | |||||||||||
Total cost of revenues | 193,050 | 192,152 | 86,516 | ||||||||||
Gross Profit | $ 55,639 | $ 47,817 | $ 28,997 | ||||||||||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 18 - Segment Reporting - S
Note 18 - Segment Reporting - Summary of Cost of Revenues From Each Significant Revenue Stream (Details) - USD ($) $ in Thousands | 12 Months Ended | ||||
Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | |||
Cost of revenues | $ 232,103 | $ 230,600 | [1] | $ 120,187 | [1] |
Network, other costs | 9,846 | 9,324 | [1] | 5,210 | [1] |
Total cost of revenues | 249,243 | 244,900 | [1] | 126,765 | [1] |
Network Expenses [Member] | |||||
Network, other costs | 9,846 | 9,324 | 5,210 | ||
Network, depreciation and amortization costs | 7,294 | 4,976 | 1,368 | ||
17,140 | 14,300 | 6,578 | |||
Network Access Services [Member] | |||||
Cost of revenues | 50,055 | 48,640 | 37,825 | ||
Network, other costs | 2,029 | 1,861 | 1,399 | ||
Total cost of revenues | 56,193 | 52,748 | 40,249 | ||
Network Access Services [Member] | Mobile Services [Member] | |||||
Cost of revenues | 46,061 | 45,335 | 35,915 | ||
Network Access Services [Member] | Other Services [Member] | |||||
Cost of revenues | 3,994 | 3,305 | 1,910 | ||
Domain Name Services [Member] | |||||
Cost of revenues | 182,048 | 181,960 | 82,362 | ||
Network, other costs | 7,817 | 7,463 | 3,811 | ||
Total cost of revenues | 193,050 | 192,152 | 86,516 | ||
Domain Name Services [Member] | Wholesale [Member] | |||||
Cost of revenues | 163,370 | 163,463 | 74,980 | ||
Domain Name Services [Member] | Retail Services [Member] | |||||
Cost of revenues | 17,725 | 17,346 | 6,766 | ||
Domain Name Services [Member] | Portfolio [Member] | |||||
Cost of revenues | 953 | 1,151 | 616 | ||
Domain Name Services [Member] | Domain Services [Member] | Wholesale [Member] | |||||
Cost of revenues | 160,216 | 161,013 | 72,948 | ||
Domain Name Services [Member] | Value Added Services [Member] | Wholesale [Member] | |||||
Cost of revenues | $ 3,154 | $ 2,450 | $ 2,032 | ||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 18 - Segment Reporting -_2
Note 18 - Segment Reporting - Summary of Property and Equipment by Geographic Region (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 | |
Property and equipment | $ 48,065 | $ 24,620 | [1] |
CANADA | |||
Property and equipment | 1,393 | 1,176 | |
UNITED STATES | |||
Property and equipment | 46,631 | 23,417 | |
GERMANY | |||
Property and equipment | $ 41 | $ 27 | |
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |
Note 18 - Segment Reporting -_3
Note 18 - Segment Reporting - Summary of Amortizable Intangible Assets by Geographic Region (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
Amortizable intangible assets | $ 36,972 | $ 45,652 |
CANADA | ||
Amortizable intangible assets | 6,553 | 7,749 |
UNITED STATES | ||
Amortizable intangible assets | 30,421 | 37,783 |
GERMANY | ||
Amortizable intangible assets | $ 120 |
Note 18 - Segment Reporting -_4
Note 18 - Segment Reporting - Summary of Deferred Tax Asset, Net of Valuation Allowance (Details) - USD ($) $ in Thousands | Dec. 31, 2018 | Dec. 31, 2017 |
Deferred tax assets | $ 4,250 | $ 8,698 |
CANADA | ||
Deferred tax assets |
Note 18 - Segment Reporting -_5
Note 18 - Segment Reporting - Summary of Valuation and Qualifying Accounts (Details) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2018 | Dec. 31, 2017 | |
Balance at beginning of period | $ 168 | $ 164 |
Charged to (recovered) costs and expenses | (36) | 4 |
Balance at end of period | $ 132 | $ 168 |
Note 19 - Subsequent Events (De
Note 19 - Subsequent Events (Details Textual) - Subsequent Event [Member] - USD ($) | Feb. 14, 2019 | Feb. 13, 2019 | Jan. 01, 2019 |
Operating Lease, Liability, Total | $ 7,400,000 | ||
Stock Buyback Program 2019 [Member] | |||
Stock Repurchase Program, Authorized Amount | $ 40,000,000 | $ 40,000,000 |
Note 20 - Selected Quarterly _3
Note 20 - Selected Quarterly Financial Data (Unaudited) - Quarterly Financial Data (Unaudited) (Details) - USD ($) $ / shares in Units, $ in Thousands | 3 Months Ended | 12 Months Ended | |||||||||||
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | [1] | Dec. 31, 2016 | [1] | |
Net Revenues | $ 85,612 | $ 83,519 | $ 81,087 | $ 95,795 | $ 90,621 | $ 85,008 | $ 84,223 | $ 69,568 | $ 346,013 | $ 329,421 | $ 189,819 | ||
Gross Profit | 27,731 | 24,262 | 22,158 | 22,619 | 25,736 | 20,494 | 21,347 | 16,944 | 96,770 | 84,521 | 63,054 | ||
Net income | $ 4,436 | $ 5,347 | $ 3,608 | $ 3,744 | $ 11,199 | $ 3,439 | $ 5,241 | $ 2,446 | $ 17,135 | $ 22,327 | [2] | $ 16,067 | [2] |
Basic (in dollars per share) | $ 0.42 | $ 0.50 | $ 0.34 | $ 0.35 | $ 1.06 | $ 0.33 | $ 0.50 | $ 0.23 | $ 1.62 | $ 2.12 | $ 1.53 | ||
Diluted (in dollars per share) | $ 0.41 | $ 0.50 | $ 0.33 | $ 0.35 | $ 1.04 | $ 0.32 | $ 0.49 | $ 0.23 | $ 1.59 | $ 2.07 | $ 1.50 | ||
[1] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. | ||||||||||||
[2] | The Company has initially applied ASC 2014-09 (Topic 606) using the modified retrospective method. Under this method, the comparative information is not restated. |