Web Design Is 95% Typography – And in Mobile?

IMG_1168The first statement is from Oliver Richentstein, iA, in his article Web Design Is 95% Typography.

Richetstein’s article is a jewel. But how can we use it in Mobile design?

The postscript «- And Mobile?» is reflecting Nick Babich article in Medium: Mobile UX: Great Typography Enables Clear Communication.

The latter is a brilliant article, also leaving some rules to help us in our daily work to make our communication clear. I even inspired me to write this post!

Here are the rules of Babich that I’ll try to use:

  • Number of characters per line: «…use 30–40 characters per line for mobile.»
  • Line Space: «A good place to start is in the 10 to 20 percent range.»
  • Contrast: «Small text should have a contrast ratio of at least 4.5:1 against its background.»
«Large text (at 14 pt bold/18 pt regular and up) should have a contrast ratio of at least 3:1 against its background.»
  • Style size: Text isn’t smaller than 11 points, even when the user chooses the extra-small text size.
Text always uses either regular or medium weight; it doesn’t use light or bold because light and bold weights don’t read well at small sizes.

These rules go well with what I’ve learned before. In the earliest nineties, Magne Kvalbein, a typographer in Hamar, Norway, taught me the principles he had used in setting books. I used them to create the cards holding the user manual of my first minimalistic accounting program.

Kvalbein’s rules I’ve used have been:

  • 7–9 words per line
  • Left straight margin and right flushing margin
  • More space between lines

In the last year, I’ve been practicing and learning typography every day. How? – By using iA Writer on Mac and iPhone. Just working in a typographic editor help you to sharpen the sense of typography.

I recently tried to apply the rules in a GitHub pages project web I’ve sat up for a local discussion group in Villajoyosa, Spain. I used the Pixyll theme for Jekyll. In the file _variables.scss I changed the following features:

  • increased the default font-size from 14 to 15
  • the line-height from 1.5 to 1.6.
  • the page-width from 42rem to 35rem

You can see the source code after my changes here

This screenshot from an iPhone 6s Plus is quite readable.

What’s missing

I wish I could set the CSS to set up Babich’s rules automatically.

I also would like to reduce the margins to facilitate larger and more readable style-size.

iPhone 6s Plus could be the reading machine ever

I expect Apple to increase the screen slightly without increasing the iPhone size. Together with a CSS version of Babich rules, it could make the iPhone ideal for reading – also for speed reading – and even for people with slight reading problems.

Call to Action: Create a «Babich» CSS for Jekyll Github Pages!

I’ve read enough CSS to call others to try this challenge. I’ll give it all the support I could do in definition, specifications, and marketing.

Why iA Writer is «The Editor.»

Why iA Writer is «The Editor.»

I’ve already for two months and ten days, switched entirely from Byword to iA Writer. And am as happy as a writer can be. There is a lot to be explained, but one single thing sets iA Writer apart from all others:

iA Writer has the best iCloud synchronization I ever have experienced

For me it’s magic. It’s like Steve Jobs is still alive and has been involved. If I write a new note on my iPHone and goes to my Mac, the note is there. And the synchronization is stable. For me, it hasn’t failed once.

Continue reading “Why iA Writer is «The Editor.»”

Apple, A Smarter Watch, please!

Calendula Officinalis Apple Watch

I don’t want another Apple Watch. I just want a smarter one!

My Apple Watch is a bit stupid: I’ve to tell what I’m going to do. That I’m going to start a workout, to stop it, to sleep, to stop sleeping, to drink and so on.

That’s not what I expect from a smart watch. I expect it to learn from the context what I’m doing and recording that.

By using, programming and studying the Apple Watch I try to:

Imagine what the Apple Watch is and can be

The question which are driving me is:

How to make the Apple Watch smarter?

We should all know it now the way the Apple product process works. It’s the same process as always. The processes we saw with the Mac, the iPhone and the iPad.

Apple, doing the largest chunk of work, making APIs that app developers can use as building blocks. And then developers, users, commentators and researchers telling what’s work or not. Then Apple and developers repeat the process until near perfection is obtained.

Trying to my my den, here is the resources I personally use in my layman research on tech:

  1. Producthunt to discover new products
  2. Medium to read articles
  3. My own observation and writing.
  4. Wristly as a research source
  5. Tightly following analysts as @asymco, @benbejarin, @JohnKirk and a part of the Apple blogosphere


Yesterday, I found a new app on Producthunt, which made my head bells toll. It’s slogan was:

Auto identifies exercises and counts your reps using your Apple Watch.

What a beautiful sentence!
I think Auto-identifying is the magic word here. If fulfilled, I imagine this is what could propel the watch from dumb to smart.

The slogan comes from the app Tracker’s promotion on iOS App Store. After a short test of the app, I would not characterize Tracker as really auto-identifying app per se, but more an experiment in using it. However, as it is, it is a valuable peek into a better future.

The Auto Identifying and confirmation future

The Apple Watch is choking full of sensors, computation power and data storage. It has all the means to anticipate our intentions when we repeat tasks. And if there are inconsistencies, the watch have the means to ask politely. It can tap my wrist and give me some relevant options to choose between. And most importantly – it can remember the context, ie., the answer and sensor patterns and not ask again.

For instance; when Apple Watch sense that I’m walking fast, steady and that my pulse is increasing, it should know I’m doing a walking workout. It should then start workout mode automatically, suggest workout type and let me confirm it.

Here comes the clue: in my next walking workout, my Apple Watch should, based on my sensors data, recognize the movements and remember the former context that shows I’m on a walking workout, and just act on that. And not ask! Just record the my walking workout!

If I stop to take rest, the watch should pause the workout session, and automatically continue when finishing. And if I not finish, end and save the workout.

«Auto indentify» as an API?

Apple could facilitate the «Auto indentify» as an API. The health apps would be way more targeted, and we would have better personal health statistics to share – with our trainers and medical staff!

So please Apple – Let your cute beautiful watch grow up and be as smart one!

Learning from other Apple Watch users experiences

After seven months I still don’t use all the features of my Apple Watch. One of my best sources to learn more is Wristly.


I’m intensely following Bernard Desarnauts’ research in Wristly, where he successfully unveil the Apple Watch strength and weaknesses. I’ve been taking part in his surveys from day one, and you should too.

The way Tim Cook use Wristly’s research in public appearances, indicate that their listening to it.

If you are somehow like me, consider his Wristly Pro service, and be part of the selected few who already are experiencing the future of computing – and shaping it!

Predicates in Core Data

Database programming is all about filtering and sorting tables linked to each other. According to the book Core Data, «Core Data is Apple’s object graph management and persistency framework for iOS, OS X, watchOS, and tvOS.»

In a sense, predicates are an object version of the WHERE clause in SQL. Just like NSFetchRequest represent the FROM clause in SQL.

I never have had problems with WHERE and FROM in SQL, but the predicate format strings in Core Data has been quite a struggle for me.

I don’t think the struggle is only my fault. Predicates should clearly be thought, at least to me, as a method of writing WHERE clauses.

Here is some notes from tutplus’ Core Data and Swift: Relationships and More Fetching:

let predicate = NSPredicate(format: "%K == %@", "last", "Doe")

The predicate format string uses %K (K stands for Key) for the property name and %@ for the value.

let predicate = NSPredicate(format: "%K >= %i", "age", 30)

Here the predicate format string uses %i for the integer value.

The Core Data book’s chapter on Predicates, recommends to use a variable for both the key and the value part of the format string. Then the compiler or debugger will be able to stop us and tell if the format string isn’t valid.

And for the sake of completeness, some notes from Wikipedia.

Core Data filters tables using predicates.

In mathematics, a predicate is commonly understood to be a Boolean-valued function P: X→ {true, false}, called the predicate on X.

In Core Data predicates are attributes to FetchRequest object.


Jeg har intet å skjule – argumentet ugyldiggjort av Edward Snowden

Edward Snowden har nettopp gjort «Jeg har intet å skjule» argumentet ugyldig. Og i en setning.

Edward Snowden
Edward Snowden

Først min oversettelse til norsk:

«Å hevde at du ikke bryr deg om personvern fordi du ikke har noe å skjule er ikke forskjellig fra å si at du ikke bryr deg om ytringsfrihet fordi du ikke har noe å si.»

Så orginalen på engelsk:

«Arguing that you don’t care about privacy because you havet nothing to hide is no different than saying you don’t care about free speech because have nothing to say.»

Sitatet er hentet fra en diskusjon på Reddit.

Og jeg fant det på Twitter.

Den gode sjåfør – en iOS app for taxibestilling


Appen lar deg fylle ut følgende felter:

  • Flightnr
  • Ankomst- eller avgangstid
  • Adresse i Villajoyosa
  • Navnet ditt
  • Antall timer før avgang som du skal hentes

Appen oversetter denne informasjonen til en spansk SMS og med mobilnummeret til Juan Fernandez Gamez som mottaker.

Når du trykker på Kan du hente meg? eller Kan du kjøre meg? kommer tekst på spansk og telefonnummer (eller hans navn hvis nummeret er i din kontaktliste). Du kan da sende SMS eller avbryte.

Juan Fernandez Gomez vil selv svare deg med OK ved bekreftelse eller NO hvis hverken hans eller hans kompanjonger kan.