Edge and Fog Computing

There’s a growing number of organisations thinking that cloud computing and the intermediate communications systems won’t eventually be able to cope with the extremely large number of IoT devices.

Computing near the IoT devices themselves, called Edge or Fog computing, will allow data to be filtered such that only pertinent data ends up in the cloud. It will also allow data to be cached when it can’t be sent yet. Also, there are classes of IoT ‘things’ that need local processing to remove the latency of otherwise using communications/cloud computing and thus provide more immediate alerts and information.

Edge devices can be the IoT devices themselves or low end devices such as Dell’s Edge gateway. They can also be intermediate gateway devices such as the Intel Edison.

An interesting prospect and opportunity for mobile developers is the use of smartphones as edge devices or even devices based on AndroidThings.

When Your App Needs Updating

Too many companies view app development as a one off activity that can be outsourced (external or internal within the company) and then, once complete, not require the developer any more. However, most non trivial apps need ongoing support of some kind.

Things break. New phones are released and new versions of operating systems cause things to break or misbehave. People, perhaps working on things that the app connects with, change things that cause the app to need to be updated.

Things need investigating. Often there’s a need for 2nd line support to work out what’s happened – even if it’s ‘user error’ and not a fault of the app.

Things need improving. Almost every non trivial app I have worked on has undergone small changes after users have fed back how it can be improved.

Review criteria evolves. What passed Apple’s tight scrutiny a year ago might not pass now. Changing your app in any way might cause it to have to be further updated to meet tighter new criteria.

Factor in time and cost to update your app after it has been initially released. Talk to your app developer before this happens so you have some arrangements in place.

Planet Gemini Keyboard Smartphone

Things go in and out of fashion and so it is with smartphones. In my early mobile career, the perceived (phone hardware) industry wisdom was that noone would ever want a phone without a physical number keypad. They said people need haptic feedback. They said none would type on a screen that has lots of oil and smudges on it having been placed next to the face. The iPhone proved they were wrong.

However, things have gone too far. While you can still get some phones with numeric keyboards, full keyboards for use by writers, bloggers or just ‘workers’ don’t exist any more. We have much better hardware, connectivity and apps since the early PDA days and now is arguably the time when full smartphone keyboards might be more useful.

Planet Computers have spotted the gap in the market. They have the Gemini PDA Android and Linux keyboard mobile device on Indiegogo. It was funded in just 2 days.

The Gemini is engineered by Martin Riddiford who helped develop Psion PDAs. You can read more about his latest design choices on medium.

This is one of the few crowdfunded things I have ever backed. It’s a compelling concept combining an old form factor but bringing it up to date with new ideas, hardware and software. However, note that none of the photos or videos show it actually working. It will be a large effort to make this thing real and more importantly glitch-free. Doing this for $000,000s rather than $0000,000s will be a challenge. The glitch-free part is important if the product is to have a good reputation and hence a future beyond the initial production. On the plus side, the team is experienced and has no legacy company baggage to slow them down. It will be an interesting journey.

March 2018 Update: 

Well it’s arrived. 3 months late and still without some of the promised (Agenda) software. That doesn’t worry me as I wouldn’t use Agenda anyway. Why develop yet another calendar app when so many great ones have been written already? I use aCalendar+ which works great in landscape on the Gemini. There’s also a Planet Computers app to create notes. But again, why bother when there are many others? My favourite is Evernote, that again, works well in landscape and syncs with all my other devices.

I have been amazed how many apps work well in landscape. The Android UI uses a lot of screen estate for the notification and menu bars and when the on-screen keyboard comes up there’s no space left for the app. This is why many apps only run in portrait. The effort to get them running in both aspects often isn’t worth it. However, when you have a hardware keyboard and no on-screen keyboard there is space to do useful stuff. Luckily all the apps I mainly use support landscape and work very well.

The device is actually better than I expected. It’s well made and the main attraction, the keyboard, works very well. The battery lasts a very long time – multiple days depending on your use.

It’s relatively heavy at about 300g but whether this bothers you depends on how you are going to use the device. For me, it’s a laptop replacement. Something that can be taken to meetings to take notes. It is not generally acceptable to take meeting notes on smartphones and the Gemini is the ideal lightweight laptop replacement. I won’t be using the Gemini as a phone but I have a data only SIM for connectivity. If you try to use the Gemini as a phone I expect you will find it heavy, fragile and ergonomically clumsy. This won’t stop some people trying!

The side button to start Google Assistant is novel as you can ask questions without opening the device. Despite some early bad reviews, the production keyboard keys work well. A few keys are not printed square but this is very minor.

I haven’t found any large glitches yet so can say Planet Computers have succeeded where I was very sceptical (but obviously hopeful)!

The Future of Smartphones and Apps

IDC has a new press release Smartphone Volumes Expected to Rebound in 2017 with a Five-Year Growth Rate of 3.8%, Driving Annual Shipments to 1.53 Billion by 2021.

“IDC doesn’t expect much change throughout the forecast with Android accounting for roughly 85% of smartphone shipments and Apple making up the rest.”

Despite the growth rates being low, remember these are growth rates, not shipments. A very large number of new smartphones are now being shipped every year.

What does this mean for mobile development? Dual Android/iOS app implementations will continue to be common. However, there’s a thought provoking press release at Mobile World Live (the press arm of the GSMA), where it’s suggested that consumers are tired of apps and bots might rule. I think the key word here is ‘consumers’ in that there’s currently too much emphasis on mobile and retail marketing. People are tired of retail marketing apps. Instead they want apps that do real stuff. Bots are part of this in that they can be used to more easily get things done. In the future, getting things done will increasingly involve VR, IoT, big data as well as bots. All these will need apps to implement the UI/visualisation parts. Mobile will become more of a tool rather than a retail marketing conduit.

App Localisation Tips

There’s a useful new article by COBE on how they use Google sheets and the same keys to provide for localisations across iOS and Android. While the article is useful, here are some comments from past experience:

  • When using common keys, remember there will always be some error cases, and hence messages, on iOS and Android that aren’t on the other platform.
  • Localisation of strings without knowing their context can lead to misunderstandings. Review all changes in the UI, preferably by someone who is fluent in the target language.
  • Localisation sometimes hits problems with fitting strings to tight UI locations when strings are longer than expected. This tends to be where texts have been justified centre or right to fit.
  • Think about graphics that might also include text.
  • On giving clients or product owners the power to change the strings files, this relies on them correctly matching strings to locations in the app. Also, incorrectly specified special characters and hence characters codes in the strings will break builds.

App Store Driven Revenue Model

Sensor Tower are reporting U.S. iPhone Users Spent An Average of $40 on Apps in 2016. This is an increase of $5 compared to the previous year. Games represent more than 80% of the revenue:

These numbers show that, unless you are developing games, an app store revenue-driven business model isn’t likely to be viable.

App Privacy Policy Violations

Google is catching up with Apple in that they are starting to reject apps that collect personal information without a matching privacy policy. Developers of existing apps are also receiving emails about Google policy violations.

I have always found app T&Cs to be one of the most contentious parts of an app and one of the things that change most often prior to publishing. Someone tends to draft something and it subsequently gets changed in many subtle ways as it does the rounds in the company.

So how do you get your first draft? What if you are a ‘one man band’ and need something simple and suitable? Ali Muzaffar has a great blog post on the topic. There’s also a free policy generator by Nishant Srivastava based on Ali’s template.

Smartphone, App Privacy and Security

There’s a thought-provoking post by Carolin Milanesi of Creative Strategies on The Smartphone: Our Most Valued Possession When it Comes to Privacy and Security. Their study showed that security on smartphones matters most to consumers. However, security matters differently depending on the kind of service. For example, people expect tighter security for email clients than for social media apps.

While all this might seem obvious after inspection, it has implications for apps. Apps and hence developers need to apply a level of privacy and security appropriate to the app’s use. What you, as a developer, might think as an acceptable level of security might be different to consumers’ expectations or even the requirements of your business. These things can be important and demand extra consideration.