A method of measuring the viscosity of a sample solution (A, 4), the method comprising: filling a capillary with a carrier solution, the capillary comprising first and second spaced apart detection windows (W1, W2); injecting a plug of a sample solution into the first end of the capillary and pumping the plug of the sample solution through the capillary at a first pump pressure (ΔP) such that the plug of the sample solution is preceded and followed by the carrier solution, or continuously pumping a sample solution through the capillary at a first pump pressure (ΔP) such that the flow front of the sample solution is preceded by the carrier solution, such that the plug or the flow front passes through the first and second detection windows (W1, W2); illuminating at least part of each detection window (W1, W2) with a light source; detecting light from the light source passing through the carrier solution or the sample solution (A, 4) at each detector window (W1, W2) using an array detector, the array detector comprising a two-dimensional array of detector locations; generating an array detector output signal indicative of the profile of light absorbance of the sample solution plug or flow front passing through each detection window (W1, W2); determining the time of detection of the plug or flow front of the sample solution at each detector window (W1, W2); determining the time difference Δ t between the time of detection of the sample solution plug or flow front at each detection window (W1, W2); and calculating the specific viscosity η sp of the sample solution from the time difference Δ t for the plug of the sample solution, the length of the capillary between the first and second ends L, the length of the plug l inj injected into the first end of the capillary, and a known time difference Δ t o between the time of detection at each detection window (W1, W2) for a plug of a reference sample solution whose viscosity is approximately equal to the viscosity of the carrier solution when pumped at the first pump pressure (ΔP) where η sp = [(Δ t- Δ t o)/Δ t o]×( L / l inj); or calculating the specific viscosity η sp of the sample solution from the time difference Δ t for a flow front of the sample solution, the length of the capillary between the first end and the first detector window l 1, the length of the capillary between the first end and the second detector window l 2, the length of the capillary between the first and second ends L, and a known time difference Δ t o between the time of detection at each detection window (W1, W2) for a flow front of a reference sample solution whose viscosity is approximately equal to the viscosity of the carrier solution when pumped at the first pump pressure (ΔP) where η sp = [(Δ t- Δ t o)/Δ t o]×[2 L /( l 1 + l 2)]. filling a capillary with a carrier solution, the capillary comprising first and second spaced apart detection windows (W1, W2); injecting a plug of a sample solution into the first end of the capillary and pumping the plug of the sample solution through the capillary at a first pump pressure (ΔP) such that the plug of the sample solution is preceded and followed by the carrier solution, or continuously pumping a sample solution through the capillary at a first pump pressure (ΔP) such that the flow front of the sample solution is preceded by the carrier solution, such that the plug or the flow front passes through the first and second detection windows (W1, W2); illuminating at least part of each detection window (W1, W2) with a light source; detecting light from the light source passing through the carrier solution or the sample solution (A, 4) at each detector window (W1, W2) using an array detector, the array detector comprising a two-dimensional array of detector locations; generating an array detector output signal indicative of the profile of light absorbance of the sample solution plug or flow front passing through each detection window (W1, W2); determining the time of detection of the plug or flow front of the sample solution at each detector window (W1, W2); determining the time difference Δ t between the time of detection of the sample solution plug or flow front at each detection window (W1, W2); and calculating the specific viscosity η sp of the sample solution from the time difference Δ t for the plug of the sample solution, the length of the capillary between the first and second ends L, the length of the plug l inj injected into the first end of the capillary, and a known time difference Δ t o between the time of detection at each detection window (W1, W2) for a plug of a reference sample solution whose viscosity is approximately equal to the viscosity of the carrier solution when pumped at the first pump pressure (ΔP) where η sp = [(Δ t- Δ t o)/Δ t o]×( L / l inj); or calculating the specific viscosity η sp of the sample solution from the time difference Δ t for a flow front of the sample solution, the length of the capillary between the first end and the first detector window l 1, the length of the capillary between the first end and the second detector window l 2, the length of the capillary between the first and second ends L, and a known time difference Δ t o between the time of detection at each detection window (W1, W2) for a flow front of a reference sample solution whose viscosity is approximately equal to the viscosity of the carrier solution when pumped at the first pump pressure (ΔP) where η sp = [(Δ t- Δ t o)/Δ t o]×[2 L /( l 1 + l 2)].