I'd much rather spend time improving the checkout process as it is now as a precursor to a one step checkout.
Proposal:
Once the normal checkout for reg and guest is combined into a common path, then we can focus on a single page checkout. Until then we will have to 2 paths for guest and 2 paths for registered. It's a mess that needs to be cleaned first IMO
The only difference between guest checkout and registered checkout is the password and password confirm fields. In the example above I have the option for the 2 password fields on the success page. But this could be moved to the Enter Address page all the same.
- If guest checkout is allowed then the password fields would be optional.
- if guest checkout is disabled, the password fields would be required.
Then on the shipping and payment pages:
- if customer did not enter a password in the first page, then assume guest checkout and "change" address will return to first page
- if customer did enter a password in the first page, then assume registered and the "change" address will take them to the account/address page to change or add new.
Also I will change the "Your account has been created successfully" page to just be a green message on the shipping page as having that as a landing page is annoying and unnecessary.
Simple!