Supermighty muses philosophical on technology, programming, society, art, and the making of things. He has responsibilities in Walled City.

The iOS keyboard is terrible

Can you tell which one of these keyboards will input uppercase or lowercase letters?

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.

The fix

Make the shift key easier to understand, and display the correct character on the key. Maybe one day, but what about today.

demo keyboard

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.

swiftkeys on iOS

Here is Swiftkey on iOS properly shows the case of the letter you are about to type.

Continue reading ...

Galaxy Tab Pro 8.4 Review

Beautiful Tab Pro 8.4 screen.

Reading on mobile devices is something I have done for a long time. I have read novels on some low quality screens; such as the Palm III, with it’s spinach green tint. Recently I’ve been looking at trading up from my Kindle Keyboard to a device with a better reading experience. I wanted something that was comfortable while reading for long periods of time, had a better screen, and access to more books and articles than the Kindle.

In the Samsung Galaxy Tab Pro 8.4 I have found a great device that give me joy to use. It is comfortable to hold, has a super sharp screen, and access to everything I’d want to read.

Read on for the full review.

Continue reading ...

Garny leather notebook cover

Field Notes makes a quality notebook, but it's still paper and card stock. Given enough use it will become ragged, making it frail and eventually unusable. The solution is to write more often so that I use up a notebook before it starts to fall apart. While appealing, I do not want to be rushed with my words. So I found another solution, use a leather notebook cover.

Click through to the post for more images and my initial thoughts.

Continue reading ...

Go frameworks or libraries, design decisions and new project structure

Go frameworks and libraries
Image courtesy of matte4president

Go makes it easy to not use frameworks. Instead, small tool libraries used together achieve the same utility. The resulting applications are less complex, easier to reason about, and nimble in their modularity.

Frameworks are themselves collections of libraries. How do they differ from discrete libraries that have only one functional use, and how does using one or the other affect application development?

Continue reading ...