Matthew Lang avatar

I keep just eight apps on the home screen of my iPhone. They're the essential eight, the eight apps I use on a daily basis. I keep it down to eight apps so that when I open my phone and go to my home screen, it's easier to find the apps that matter. Having just the eight apps I need on my home screen means I'm not spending time looking for my app or even being distracted by other apps. I unlock my phone, open the first screen (if it's not already on that), read, write, schedule or manage using one of my apps on this screen and then put my phone down. Your own selection of apps might vary according to what you need but here's my eight:

  1. Todoist - Todo manager
  2. Fantastical 2 - Scheduler & calendar management
  3. Unread - RSS reader
  4. Riposte - App.net client
  5. Kindle - Long form reading app
  6. Instapaper - Short form reading app
  7. Editorial - Long form writing app
  8. Pop - Short form writing app

And here's how they look on screen:

Essential Eight Screenshot

The first four apps are probably typical on many phones. Task management, scheduling, an RSS reader and a social network client. In each case of reading and writing I have two apps for the different reading and writing that I do.

I use the Kindle app mainly for reading on the go. Maybe catchup on a chapter from the book I'm reading if I find myself with a few minutes to kill. The Instapaper app is also there for reading. Anything like a blog post or online article that I've saved to read later.

The same goes for the writing apps. I use one for working on blog posts and other documents while I use Pop mainly as a scratchpad for ideas or something I just want to jot down.

These are the eight apps that I use on a daily basis. There are apps on the other screens I have but these aren't apps I use daily. The second screen is apps that I use mostly day to day. These include apps like Sunlit, Path and Day One while there are also apps relating to my career, such as HipChat, Linode, Cloud66 and Trello. The screen that follows on from this is Apple's own apps that I use from time to time and lastly there's another screen with apps that I never use. You might think that's a lot of screens but to be honest I rarely visit the third screen and the second screen maybe gets opened once a day for something specific.

I also employ a fixed number of apps for my homescreen. If I want to bring another app in, I have to remove one to make space for it. I have rarely had to do this since I started using this format. I have made a number of app changes on this screen over time, but that's to reflect apps that were not working for me and needed to be replaced. Perhaps the most frequently changed app on this screen is the long form writing app. Previously I have tried Drafts, Plaintext, Plaintext 2 and Byword. Having tried a number of these apps and finding shortcomings in all of them, I'm glad that Editorial was finally released for the iPhone.

I've experimented with just four apps as well as having twelve apps on the screen, but having eight is for the right amount of apps I need in front of me at any given time.

For those interested in the Menu Bar at the bottom of the iPhone's screen, I stick to Apple's own offerings for communicating. These are Messages, Phone, Mail and Safari. I've tried different apps on this section of the screen as well but it's hard to beat Apple's own apps for doing these things.

I've tried in the past to get the number of apps down on my phone, but it gets more difficult when you find you start doing more things on the go. Clearing out my home screen means that I have at least one screen on my phone, more importantly the first one, that doesn't give me too many choices in the apps that I can use. Other apps are just a swipe away but I'm too lazy to even do that half the time. Limiting yourself and the choices you can make is a great way to stay focused.

For most of my career I've worked on a number of applications, systems, websites and other software projects. The majority of this software has been business critical software. When working on software like this, you have to keep in mind that you're delivering value with the software and in turn the business. This might be a retailer, a service provider or some other business. While it's easy to see the value you are providing, sometimes it's hard to see the value that this company provides to others.

In the last couple of weeks though I've been working on a project for a client that has some real rewards and benefits. It's a website that provides speech therapy exercises to kids. Parents login for their kids who in turn carry out a series of exercises assigned by their therapist. Once done, the kids fill out a little assessment form and their done. It's clear to see that this will have some real long term benefits for those that will use the website.

Another reason I can see the benefits in this is that my nephew who is turning three this year, has had trouble in the past with his speech. Due to problems with his hearing, his speech didn't come as it does with other kids his age. He ended up becoming more and more fustrated as a result of having difficulties in communicating with his family. After the problem with his hearing was identified and resolved, he was referred to a speech therapist and we've started to see real progress in his speech. It's amazing to watch the results.

With my nephew in mind, it's a real pleasure to work on software that will be used to benefits others. It's such rewarding work.

A New DuckDuckGo

Sicne I started using DuckDuckGo as my primary search engine last year, I've had to content myself with what was an aging look and feel to their search results. While Google and Yahoo were charging ahead with redesigned search result listings, DuckDuckGo was falling behind. Thankfully though DuckDuckGo recently upgraded their search page.

The new user interface itself is a welcome upgrade to the old one interface. With tabs for images, videos and products, searches become much more useful depending on your search term and the search listings themselves are easy to scan. There is also a section with more details about your search term if it's a person, company, product or brand name.

Not only does the new user interface work well on desktops and laptops, but it's mobile friendly as well. I've frequently use it now on my iPhone rather than the suggested search engines that Apple includes. Without jailbreaking my phone though, there's no way to make DuckDuckGo your default search engine on the iPhone. I'm hoping that this will be an option in the future.

The next step I hope is that DuckDuckGo updates their iOS app with ability to do searches there and pass the results into Safari. There might be restrictions on this, but it's what I would like to see.

I'm glad to see that DuckDuckGo are keeping their search engine modern and relevant. It might just be a change of look to the search engine, but sometimes that's all that is needed.

Book Reviews #3

At long last I managed to finish The Second World War which has been holding up my reading list for the last few months. Here's a few reviews of what I've been reading over the last few months.

  • The Second World War by Antony Beevor - Without doubt this is the most complete and detailed account of the Second World War that you will find on any bookshelf. The bibliography alone takes up the last quarter of the book with supporting material from other books as well as journals of military personnel and civilians providing eye witness accounts of events. The book covers all the critical events from the leading up to the start of WWII until it's final days when Japan surrendered to the US. It seems wrong to say that I enjoyed this book given the topic, but I did. It was a learning experience for me. A chance to find out everything I didn't know about the Second World War. There were parts of the book that I found troubling to read, but the incidents that the book highlighted only re-inforce the human cost of war and why it should be avoided at all costs.
  • Inferno by Dan Brown - Dan Brown's books sometimes receives unfair criticism that they are not of the same calibre as other great fictional books but I've never found that. I enjoyed this book. Another outing for the Harvard symbologist. It was a good read and it kept me turning pages right to the end. One concern I have though for these books are their duration. Like the Chase / Wilde series by Andy McDermott, I'm starting to see a repeating pattern in the adventures of Langdon as he hops across the world, interpreting symbols and saving the world. I don't think there's much mileage left in these books if Brown decides to write more of them, but I still found this book enjoyable.
  • The City by Stella Gemmell - I wanted to love this book so much as I thought that it being from someone who was close to David Gemmell when he was alive, it might have some influences from him. I started the book with enthusiasm but it quickly wained over the course of the first sixty pages. I found it to be slow with no sign of picking up. After sixty pages I eventually gave up and moved on to something else.
  • Extreme Programming Explained by Kent Beck & Cynthia Andres - It's been on the reading list for a while, but it's taken me to now to read it thanks to a prompt by another developer on App.net who mentioned he was reading it to get back to the basics of extreme programming again. The ideas and practices that I learned from this book just back up for me how important agile practices are to software development. A must read for any software developer whether they are starting their career or want to re-kindle those basics of good software development practices again.

Checklists are often skipped over as an aid to problem solving. They shouldn't be. They provide a quick step plan to narrowing down a search or criteria to identify a problem.

This week was one of those week's where I was caught out with a problem. In debugging an application, I couldn't work out why the plugin I installed and setup wasn't being called in a screen. Despite changing what I thought was the correct screen, nothing was happening. It turns out I was in fact updating the wrong screen. A simple mistake to make in most applications but here the application is slightly different.

This application I am referring to is in fact a content management system. It contains a number of different layouts depending on the type of site that you want. This means that there are hundreds of files that make up the user-interface to the application. There is a default file representing each particular screen and then there is a screen for each different type of site that can override the default screen if we need it. This means that there are hundreds of files representing the different screens in this application. Some are similar and as a result, ensuring you are updating the correct screen is important.

So where does the checklist fit in then? Well as I was debugging the application on a particular type of site, following through a number of steps would have ensured that I was in fact debugging the correct screen. Thinking of each item on the checklist as a way of narrowing down the problem allows you to eliminate easy to find problems, eventually narrowing down you scope to the actual problem you were having.

I've since started putting together a number of checklists for identifying such problems. I've done a number of debugging sessions like this where I missed a step in identifying the actual issue and instead spent a few hours going down the wrong path. It's time that I don't want to waste in the future. I'd rather identify the problem quickly, fix it and crack on with something else.