Matthew Lang avatar

Matthew Lang

Family guy and web developer

Moving Swiftly on

With the release of the new Swift language for Mac developers, I am now interested in trying out app development for iOS and OS X. With thousands of apps out there though, is there room for new apps?

The App Store is five years old this year. Since it started its life as a platform for the distribution of apps to iOS devices, we've seen a few big hits in terms of well executed apps over the years. I don't think there is one true killer app that has made the App Store what it is, but over time there has definitely been a number of niche apps that have been popular with a particular group of people.

People talk about the simple ideas that took the App Store by storm like Angry Birds, Flight Control and others. Yes, they seem simple ideas, but there is still a fair amount of work involved in building and shipping an app. I'm not expecting to publish a game changing app right away, but I do want to start building my experience in the world of app development.

At the start of the week Apple unveiled a new programming language for developers who want to build apps for iOS devices or Macs. It's called Swift. As someone who has made a number of false starts on iOS development over the last couple of years, I welcome the new language. In the past I have looked at Objective-C which was the only true language to use to build iOS apps. When I seen its syntax I was always turned off by it. With time I could learn about the language, but just as I was starting out I always ended up trashing the idea. With the new Swift programming language though I think I'm ready now to start building apps for iOS and the Mac.

Now the tricky part. An idea. Are there any good ideas for apps left? I've been pondering on this for a couple of days now and it's led me to a number of sources for ideas for new apps.

Make something easier

There are many apps out there that simply try to make something easier to do. I haven't came across many that I thought did this well, but there are thousands that started out this way. The problem with starting an app from this view is that it's only easier from your angle. Yes, there will be others that will share the same view, but will there be enough people who share your view to warrant building the easier app?

Make a better shop window

The Internet is a vast source of information and services. Everyday new services are added for people to use and many of them start with basic web sites to get going. When Twitter started, a developer in the UK seen an opportunity to make interacting with Twitter easier for people. The Twitter user interface was a single timeline that everyone followed, but seeing your messages or mentions meant changing screens. TweetDeck was born and it became an instant success with it's better interface to using Twitter.

Making a better shop window to a particular service is hard work and is probably out of my reach in terms of skills. It means designing something better, and while I might be able to put together well crafted web page, the thought of trying to create a better interface for a particular service sounds like a rather daunting task.

It would also need to be a service that I use on a frequent basis, but seeing as most of the services I use already have good to excellent apps that let me interact with them, then the challenge to make a better interface is that much harder.

Scratch an itch

Perhaps the easiest source of making an app comes from scratching your own itch. If making thousands of dollars isn't your end goal when making an app, then this is where to start. Building an app that serves a purpose for yourself and gives you the experience to build better apps in the future.

An iOS/OS X client for Journalong is something I've had in mind for a year now, but there's always been obstacles in the way. Now with a growing interest in Swift, I might just have the motivation to start building something.

I'm never going to produce the next killer app, but perhaps shipping something that serves my own purpose first is enough of a step on the road to building more apps in the future.

Time to think

I finally got round to reading this over the weekend. Matt makes a fine case for using tools that force you to think before you act.

There’s a ritualistic quality to these objects, but that’s not why I love them. I use them to slow myself down. To introduce just enough friction that I’m compelled to pause. We don’t pause enough anymore. We don’t give ourselves time to think.

Thinking slowly by Matt Gemmell

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.