This research explores the development of an electronic voting protocol with two key properties. First, the protocol will produce an end-to-end independently verifiable (E2E) election outcome; that is, the verifiability properties of the protocol will apply not to the outputs of individual voting system components, but to the final system output: the tally, and its relationship to the system inputs: the votes. Second, the protocol will be incoercible; that is, a voter will be unable to provide convincing evidence to a coercer (wishing to force or bribe the voter to vote in a certain manner) of how the voter voted. Existing E2E protocols are paper-based and hence difficult to administer. This research draws on cryptographic primitives (implicit and explicit in the paper-based protocols) to develop an electronic protocol. It defines and rigorously proves protocol properties, using the techniques of cryptographic proofs. The protocols are implemented to obtain testable prototypes, and made available to the community through an open-source software release. Preliminary results about the usability of the prototypes are also obtained. An electronic E2E protocol is anticipated to have significant impact on deployed voting systems; election officials have repeatedly requested electronic protocols over those that are paper-based, as the former are easier to administer and to make accessible to voters with differing needs.