Native apps are (mostly) a waste of time.

So you think you need an app for your phone and you were considering shelling out some cash to a developer to build you a native app. Before you waste your money (and time) paying a developer to deliver a native app the first thing you need to consider the advantages an app has over a traditional website.

The big three are:

  1. It is installable, ie it appears on the phone home screen, this gives it a massive advantage over a traditional website in ensuring ongoing user interraction.
  2. An app is fast, ie it is faster to load and interract with than a traditional website.
  3. It can send notifications, again this increases user interraction substantially.

Obviously these are not the only reasons but they are the major ones.

Now here is the kicker, you can get all the above features on a website on the majority of phones right now! Goodbye native apps and welcome to the world of progressive web apps.

What is a progressive web app (PWA), you may ask? Well at it is heart it is just a website with some additonal features. Those features enable all three of the adavntages I outlined above on the majority of smart phones worldwide, right now!! But being a website a PWA also has some massive advantages. They include:

  1. They are linkable, ie you can access them by opening a URL.
  2. They are much easier to build, after all they are just a website with some substntial enhancements.
  3. They are updatable, ie any changes can occurr as soon as the PWA is accessed (as opposed to waiting for a user to download a new version of a native app).
  4. Being on the web they are cross platform.

Lets look at the state of play on different phones:

On android phones which now constitute the majority of smart phones worldwide all of the above advantages are currently already available to progressive web apps. ie visitors will be prompted to install your website on the phone (provided it meets the PWA criteria) right now and that website if properly designed will be fast and be able to send notifications

For apple  the situation is not quite so good. Yes you can install a web app but the experience sucks and there is no ability to send notifications. The good news is that but in the upcoming IOS version (IOS 12.2) there will be significant improvement. Onced installed on your phone a well built progressive web app will behave like its native counterpart, with the only issue that it will not be able to send notifications. But that functionality is coming.

So in conclusion is that unless you need certain hardware apis that are not supoorted by PWA´s yet or you desperately need notifications on Apple phones then you should find a web developer who can enhance your existing website to become a PWA. The future is PWA´s and he future (to a large extent) is already here.

Don’t break the web or why html is important

I am a member of the advanced WordPress facebook group and its seems every few days someone posts and article on there waxing lyrical about the latest javacsript only theme they have built using the latest JavaScript framework and the rest api.

Dont get me wrong, I love javscript, and I think the rest api is one of the best things to happen to WordPress but every time I read about someone usea front end framework to build a theme I shake my head.

A wise man once said,

just because you can doesn’t mean you should

This applies to so many things, especially JavaScript when used to output content.  In order to explain we all need to be reminded of the way the web is traditionally designed namely:

  • HTML for con­tent
  • Css for pre­sen­ta­tion
  • Javascript for func­tion­al­ity

This combination might seem old hat but it was created by smart people with good reasons.

When done properly it has three major strengths

  1. It conveys meaning
  2. It is robust
  3. It has a clear separation of concerns

However it can be slow so today many advocate using JavaScript to interract with apis to replace this traditional paradigm. This has  major advantage in that can be substantially faster as the client side javascript can request only the information that it needs. However it also means that javascript is now the creating the content as well as the providing the functionality

However lets just compare how this compares to the traditional approach. Namely:

Conveying meaning.  Yes javascript can convey an experience that may be indistunguishable to the eye BUT the web is not just a visual medium for humans. Machine like search engines, and screen readers are important and in most cases a javascript front end is invisible to these agents

Being robust. Javascript is a not a fully standardized lanaguage and is notorious for conflicts and errors, and being browser depe3ndent. So an error on a javascript front end usually means the whole site falls over. In contrast a traditional semantic html front end degrades gracefully

Separating concerns. In a JavaScript front end you are tightly coupling functionality with content and potentially presentation as well. This actually if you change the api or you change your javascript the whole thing falls over. In contrast html is html and if the JavaScript stops working you still have the html.

Javascript is important but its not a replacement for html. Its future is in rproviing functionality, both in enhancing the reading experience and in making the eually important area of creating, updating and deleting content on the web.

Finally I’d like to urge you that is you need speed work on the basics like http caching, or look to modern technologies like http/2 and service workers.

Introducing LH Archived Post Status

LH Archived Post status is a WordPress extension that creates an additional posts status available for content that may no longer be relevant to most visitors but should be available publicly (perhaps for historical purposes).

I built this plugin as UI needed this flexibility whilst using WordPress as a CMS. The plugin adds a new post status that enables posts and pages (and custom post types) to be archived. Archiving in this context means that the content is still publicly available but is not published on the front page of the site or the feed. I was not satisfied with other archiving solutions which hid the content for all non logged in visitors and was not configurable.

Continue reading

The LocalHero project

Right now I am in the process of leaving my place of employment. After 13 years the process of simply collecting my personal information stored on my works systems (mainly email) is huge and as tiresome as it is i will miss things and those contacts, photos, and documents will be lost forever. A little (or large) part of my digital (and actual) life, will be lost forever.

As you are reading this blog, you realise i have a website. It is something i update infrequently and mostly with content related to my technical interests. However it actually does a ridiculously good job of maintaining, ordering, publishing and backing up content. Which makes you think…

What if instead of relying on third party social networks or email providers or our work place to order our digital life we could own the data ourselves?

What if we could use the worlds number one content management system?

What if some of the work had already been done?

Introducing the LocalHero project

More to follow, test

Believe in the power of the factor