History of the invention of State Channels.
Zack started programming Channels July 2015 https://github.com/BumblebeeBat/FlyingFox/commit/1c15ca90ee2d4248d0445ed59cf3f4878b896d6e
Zack invented the idea of state channels in August 2015 https://github.com/BumblebeeBat/FlyingFox/commit/5b229bc94e0623df4764fffc4ec2af2831b6ec1f#diff-4349690c4538ef9906e7e2776468470f
It took over a year of experiments for him to figure out how to build state channels so that they work well. on October 2 2016 Zack understood channels as we are building them today, and he presented his results to the Blockchain community via forums and emails. https://github.com/BumblebeeBat/PinkFairy/commit/a61fe20807814fd5393885ed8d86f94f41d07d88
The idea was popular, and Jeff Coleman wrote his famous introduction to state channels a month later: http://www.jeffcoleman.ca/state-channels/
But, Jeff and the Ethereum community didn't yet completely understand Zack's message. The Ethereum community is aware that channels could store state for the blockchain to look at, but channels can do much more than that. Actually, as Zack realized in 2015, channels can have turing complete computation for smart contracts.