The iPhone, and iOS, brought about a revolution in mobile network connected pocket computers. It did a lot of things right, but it did one thing terribly wrong. When using the keyboard the letter on the key does not show the true character that will be input. The letters on the keyboard are always capitalized, even when pressing the key will input a lowercase letter.
It has been a very long time since I've used an iPhone day to day, but this still annoys me. Simply put the lack of accurately displaying the key to be input, capital or lowercase, is a disgrace. In part because of the years that iOS devices have been around, and the years that this features has been available on many Android phone. Though most importantly because it was Steve Jobs himself who cajoled his competitors and their fixed, never changing, keyboards.
I'm not alone, Fast Company recently highlighted how Apple has made the problem worse. Now that the keyboard uses flat design styles it is even more difficult to know when the shift key has been pressed or not.
Control buttons fixed in plastic
The worst part of this whole issue is that Steve Jobs stood on stage in 2007 and introduced us to a revolutionary product, the iPhone. One with a revolutionary interface, an interface that changed as needed to the task at hand.
If you were typing an email address, it would know and show you an
@ symbol. If you were typing a URL, it would know and show you a
.com key. It was intellegent enough to aid you in everything except when you wanted to input a capital letter.
The buttons and controls can't change.
-- Steve Jobs deriding competitor's hardware keyboards.
Watch the part of the 2007 keynote where Jobs discusses the new interface pattern. How hardware keyboards a wrong for mobile devices.
Make the shift key easier to understand, and display the correct character on the key. Maybe one day, but what about today.
The solution today
There is a solution for the poor iOS refuges stuck with the default keyboard; Third Party keyboards. iOS 8 brought the ability for third party keyboards.
Here is Swiftkey on iOS properly shows the case of the letter you are about to type.