Author Archives: Steve Westgarth

About Steve Westgarth

MD @footsqueek. #developer #socialgeek who enjoy's making new cool things!

Don’t make the same mistake again!

I recently gave a talk at NSManchester, an IOS Developer Meetup group. The talk focussed on common mistakes that developers often make when developing apps.

While the talk was focussed specifically on Software Developers a number of “mistakes” are directly relevant to end users and consumers who might be considering embarking on an app development project.

App Focus

One of the most frequent mistakes we find when a client describes a new app idea to us is that the idea lacks focus. It is very temping to create an app that has a huge amount of functionality under the allusion that more features will result in more users.

The reality is that 26% of mobile apps will only ever be opened once and 48% of mobile apps will be opened less than 10 times. It is therefore incredibly important to focus your service offering so that the core idea of the app can be tested with users before to much money is spent on the development of the product.

Within the software community we often use the term “Minimal Viable Product” this essentially means you should write the smallest amount of software that makes a viable product and then test this directly with users to see if the intended value proposition is well received.

Understand the Business Model

It is a widely held belief that releasing a good app will automatically make significant amounts of money. Take Angry Birds, developed by Rovio; the company has generated millions off the back of a successful app.

What isn’t as well documented is that Angry Birds was actually Rovio’s 56th app concept and that prior to angry birds their development bill had ran into several millions of pounds as they tried to find the right product.

In addition Angry Birds was first released into a much less crowded app store where it was much easier to get noticed. Today with over 2.2 million apps in the app store it is incredibly difficult to get noticed.

We find that the most successful apps are the apps that build upon an existing customer base and provide a new value proposition to users who are already using a service or product provided to a company.

There will always be exceptions to the rule; flappy birds was one such example, but sadly without huge marketing budgets the majority of apps simply go unnoticed and never gain any form of social traction.

It is therefore important to understand where the revenue will come from before investing in developing a product.

Building for Multiple Platforms

This is something often recognised by app entrepreneurs; do I develop for Android, iOS or both. In reality you want to feature on both platforms but I believe it is a myth that both platforms need to be at the same stage of development. It is much better to invest money in one platform to prove a concept, iron out the bugs and get user feedback before duplicating the effort on another platform. That way you can learn from your mistakes and ensure that you don’t spend money making the same mistake twice.

Market your App as soon as possible

People are often worried about sharing their app idea in case someone “steals it”. The reality is that its hard work creating an app and its unlikely anyone would ever do this. Much better that you tell as many people what you are creating as soon as you start creating (or even before you do) as this will allow people to contribute ideas, tell you what they think and hopefully avoid money being wasted on an idea that is unlikely to gain traction.

If you wait until you app is in the app store before marketing it you are likely to be incredibly disappointed with the numbers of downloads and find paying for changes to your app that could have been incorporated into the initial development.

Testing

The best people to test your app are the people who are ultimately going to use it. A software development is a living thing, that’s why apps are constantly being updated. Get as many people as possible to use your app and provide feedback; that’s the only way you will ensure that you do not release a buggy app and that the app does what it was intended to do.

 

So there you have it, a few pro tips that might come in handy if you are considering developing an app. If you have an idea for an app get in touch and let us talk it through with you; hopefully this will result in you making a sensible investment decision and not wasting money on an idea that is unlikely to gain market traction.

Advertisements
Categories: Apple, Conferences | Leave a comment

iOSDEVUK(number: 7)

So we come to the end of yet another iOSDEVUK. This was my 6th year making the annual pilgrimage to Aberystwyth and as ever the conference didn’t disappoint.

Amidst the usual visits to Weatherspoons, the sea front and the pier it was once again a pleasure to grace Rummers on Tuesday night! Work never seemed to end though as I found myself submitting apps for Apple Beta Test review with the help of the DJ in preparation for my talk on Wednesday afternoon. As it turned out the Apple Gods weren’t with me and the app didn’t make it through review on time but Harambe was still well received by the crowd; coding UX into every app.

Photo courtesy of @weiran!

 

So what did we learn? @macdevnet would have us believe that as developers we should be reeking havoc and disrupting our workplaces in order to make better software. @capitalonegeek on the other hand can’t believe that agile isn’t embedded into the heart of every team.

General Themes

I think the theme of the conference this year has definitely been focussed around the anatomy of the team. It is evident that software developers in every company are working in ever more agile ways and the case studies of agile working practices that are being presented clearly demonstrate the business case for doing so. Companies who do not understand the benefits of working agile are lagging behind in the software development world.

Another key theme was centred around the need to focus on code quality; Code Reviews should not be an optional add on and teams need to take responsibility for the quality of their products.

@capitalonegeek – Agile Workshop – I’m not a bottleneck! I’m a free person!

One of the clear highlights of the conference for me was the Agile Workshop ran by @weiran and @chrisroddisf from Capital One. If you aren’t comfortable with the benefits that agile working can bring I would highly recommend spending a couple of hours making boats and hats with your team and you will soon realise how your bottleneck is limiting profitability.

Sam Davies – @iwantmyrealname – I’ll tell you what you can do with Core ML

Machine Learning was given a lot of stage time this year at WWDC but since the event I haven’t really had the opportunity to explore how the technology can be used in my apps. Sam’s overview of Core ML was an enlightening experience delivered in top class witty style which really has inspired me to take a more in depth look at the library. If you ever get the chance to hear Sam speak I would highly recommend it.

Adam Rush – @adam9rush – Continuous Delivery

We all know that setting up an effective continuous integration pipeline is the holy grail of an effective software development team. Adam gave a fabulous insight into some of the trials and tribulations he has found implementing Jenkins while changing the world one contract at a time. Adam will also be speaking at CodeMobile in 2018 so if you missed his talk or want to hear more from him there is a great opportunity in April 2018.

Luke Rogers – @rizergames – A thousand no’s for every yes

Luke is in an enviable club in that he is making money selling his app on the app store. He argues not enough to live off but none the less he has generated an income source with his app Pixaki.

Luke gave an inspired presentation talking about how as developers we need to focus our ideas and crucially how we should not forget to value our time in order to measure return on investment.

 

As ever there is simply to much to write about in one blog post. Chris and the Team in Aber did a fabulous job of organising the event. If you are interested in, or do anything with iOS then this is simply an annual event that you can’t afford to miss.

See you next September!

Categories: Apple, Apps, Conferences, UX | Tags: | Leave a comment

Measuring Impact vs Hours Worked

I was recently given the pleasure of having a tour of the FaceBook Campus in Menlo Park, California.

There are many stories of how amazing Facebook is and it didn’t disappoint. The campus is very much focussed around people. Some examples:

  • There is as much food as you will ever be able to eat and all food is free, breakfast, noon and night. There’s also a candy and ice cream shop that serves up free desert.
  • They have a retro gaming room
  • There is a bike stop that will repair your bike if you have cycled to work
  • One of the buildings has a roof top park where you can go sunbathe or just have a walk.
  • They have a beauty spar on campus that offers massage therapy and other spar treatments.

All of the services above are offered to employees for free; if you didn’t have anywhere to live as a Facebook employee I’m quite certain you could move onto campus and live for 2 or 3 months with no real difficulty.

What I found really interesting though is that the investment Facebook makes into its people doesn’t end here. The culture at Facebook is to work as and when you want to work. Employees don’t have set hours, they instead are tasked with work to do and are sent away to do it. Facebook doesn’t care when the work is done as long as it is.

Performance at Facebook is measured in terms of impact; as long as you as an employee are having impact on the organisation and are getting through the work that has been assigned to you everyone is happy.

The other really cool thing is that if something doesn’t work, or makes people miserable they change it. A great example: In the early days of Facebook code used to get pushed on a Tuesday evening so often engineers would work into the night. As a result people always felt sluggish and unmotivated on a Wednesday and didn’t want to focus on meetings. To address this all meetings were cancelled on Wednesdays and the day is now known as “No Meeting Wednesday”.

Speaking as a business owner the model portrayed above is a scary thought. The idea of saying to your staff work when, where and how you want to work but just get the job done is a great idea but conventional wisdom would say that it shouldn’t work. I mean, if people don’t have to work why would they choose to?

The fascinating thing is that not only does it work at Facebook, it clearly works brilliantly! Everyone I spoke to seems to have a common purpose, working towards the same goal; all part of the same team working towards the same end point. This is the culture that I really believe most companies can only dream of creating.

Having toured Facebook there are ideas I now have that I want to put into practice within our own working environment at Footsqueek; in some ways having seen it work at Facebook it feels like some of the ideas they have about there working practice is common sense.

One thing that really interests me (and also massively scares me) is the idea of letting staff work the hours required to do the job. Facebook would argue that there is no point being at work 40 hours a week if you can do the same work in 10 hours and also do it better because you are well rested and motivated having had a good massage.

If you are reading this the challenge I lay down to you is to look at working practices within your organisation and then ask your staff what would make like better. If they say working less do you have the guts to say “Ok, work when you want to work; just get the job done”? Even if you think that’s to extreme, I wonder want other changes would make your staff happier?

 

Categories: FaceBook, Social, Technology, Uncategorized | Leave a comment

Who are you voting for?

I don’t usually come out in support of political parties but I’ve decided to make an exception.

On 18th April when the election was announced if you had asked me (and some people did) who I would vote for I gave a very clear answer that I was voting conservative.

Over the past 6 weeks I’ve sat back and listened to the debate and I can say for the first time ever tomorrow I am confidently and assuredly voting labour. Here are a few of the reasons why I’ve come to my decision.

1. The economic argument. Austerity no longer makes sense, every business knows that borrowing money to invest in growth is a sound and logical thing to do which pays dividend in the future. The trick is making sure that the investment is sound. I haven’t heard anything to make me believe that labours way of thinking isn’t sound – investing in education for example will ensure that the future generation have the skills needed to drive our future economy without being burdened by debt.

2. When you look at Corbyns record over the past 30 years he has at every turn been proved to be on the right side of history. LGBT rights and the the Iraq war are 2 very clear casing points. His stance on nuclear weapons currently is unpopular but I’m starting to think that perhaps history will portray a different view.

3. The election campaign – to me its very clear that Corbyn has treated the public with respect and dignity. Compare this to the arrogant campaign run by the conservatives that just assumed increasing their majority was a formality. I think May treat the whole country with contempt and on that basis she doesn’t deserve my vote. The conservatives have also argued that the labour manifesto isn’t fully costed – read the conservative manifesto and ask yourself where are the costings?

4. In treating the public with contempt it is clear that the conservative manifesto hasn’t been thought through. As a result when it has been scrutinised it is clearly full of holes. If May wants my vote she needs to show what she will do if she gets it and the manifesto is shamefully lacking – this has resulted in multiple U turns and changes to policy. Yes those changes have been downplayed but it has been clearly demonstrated that the policies don’t stack up.

5. The NHS – I really believe it won’t stand another 5 years of tory cuts – it will implode in on itself. Investing in the NHS will provide for our future and our children’s future; we need to find money to help the NHS to prosper. I don’t believe this will happen with a conservative government.

So there you have it, 5 reasons I’m voting labour. I never thought I’d hear myself say this but I really hope that by Friday morning we have a labour majority government and yes I would be happy with Jeremy Corbyn as Prime Minister!

Bring on the vote!

Categories: Uncategorized | Leave a comment

Apple Bend Gate: Still an issue

Many of you will remember the apple bend gate issue that effected the iPhone 6 just after its release. Widely reported in the media that iPhone 6 bends unnaturally with very little pressure

https://www.google.co.uk/amp/www.cultofmac.com/297708/apple-isnt-ignoring-bendgate-will-replace-affected-devices/amp/?client=safari

Apple at the time played down the issue but eventually publically stated that any affected devices would be replaced.

Fast forward 12 months

My friend Jez Gilmour got a new apple iPhone 6 – he dropped it down the side of my sofa last night and when he retrieved it the phone had inexplicably bent.


I assured him that this was a known issue with the device and we promptly took it to the Apple Store in the Trafford Centre, Manchester.

The genius inspected the device, checked with his manager and informed us this was NOT covered by Apple warrenty – the only way to get a replacement was to pay £270! A lot of money especially when the issue is known to apple!

At the time of bendgate apple reported that a mere 9 users had been affected by the issue – how many users have had the same response as us? Surely though normal use no phone should bend?

Please let me know if you have had a similar experience – we need to ensure that large corporations can’t get away with going back on publically stated promises just because it’s no longer headline news!

Categories: Uncategorized | Leave a comment

Basic Integration of Firebase Remote Config into an iOS App

I recently attended iOSDEVUK in Aberystwyth. There was a fascinating talk by Todd Kerpleman (@toddkerpleman) about using Firebase to perform A/B testing.

The technology is pretty cool so I created a demo project. If you’re looking to integrate Firebase into your app then this tutorial looks specifically at how to integrate Firebase Remote Config into your app.

  1. Start by creating a brand new app in xCode. Make sure its set up within a workspace and that you have CocoaPods installed and setup.
  2. Add pod ‘Firebase/RemoteConfig’ to your pods file and run pod install
  3. Make a note of your apps bundle identifier.
  4. Go to http://firebase.google.com and sign up for an account.
  5. Select Create New Project, give your project a name and select your region.screen-shot-2016-09-07-at-14-10-57
  6. Once in the project select the option to Add Firebase to your iOS App.
    screen-shot-2016-09-07-at-14-12-42
  7. Enter your apps bundle identifier and if the app is going to production also enter the app store identifier for your app.
  8. The file GoogleService-Info.plist will be downloaded to your computer.
  9. Drag this file into your xCode projectYou’re now ready to start interacting with Firebase from within iOS.For the purposes of this tutorial I am going to create an app that downloads Constants from Firebase and changes the appearance of a button within my app based upon the retrieved values.
  1. Modify your apps storyboard and add a simple UIButton. Connect the UIButton to your class file as an IBOutlet.We now need to set the app up to download our constants values from Firebase. I’ve decided that I would like the app to download values from Firebase on each launch.
  1. Add a plist to your app and name it plist
  1. Add a new CocoaTouch class to xCode with a subclass of NSObject. Name the file Constants.swift
  1. At the top of the class add the line of code import Firebase
  1. Create a new mutable variable remoteConfig with a type of FIRRemoteConfig

 var remoteConfig:FirRemoteConfig!

  1. Add a new function to the class and call it createDefaults. This function is going to create an instance of the default firebase values and make them accessible by your app.
    screen-shot-2016-09-07-at-14-31-38
  2. Add a new function called setupApp. This function will retrieve the RemoteConfig from Firebase. This function will call createDefaults() to instantiate the default Firebase values.screen-shot-2016-09-07-at-14-33-15The statement self.remoteConfig.activateFetched() instructs your app to replace the local defaults with those fetched from the server.
  1. In the AppDelegate.swift file import Firebase
  1. In the AppDelegate.swift file call FIRApp.configure() from within didFinishLaunchingWithOptions
  1. In the AppDelegate.swift file call Constants().setupAPP() from within didFinishLaunchingWithOptions
  1. If you build and run your app you should now see a log in the console that reads “Config Fetched”
  1. You now need to retrieve key values from the default data returned from Firebase. In Constants.swift create a new function called getButtonText() which returns a string value.screen-shot-2016-09-07-at-14-40-15
  1. In Firebase create a new RemoteConfig property called “ButtonText”. In the example below I’ve also created properties for ButtonTextColor and ButtonColor.screen-shot-2016-09-07-at-14-43-14
  1. Calling Constants().getButtonText from the view controller will then return the value to be used as the label for the Button.screen-shot-2016-09-07-at-14-48-10
  1. You can now create properties in Firebase for any setting within your app easily retrieve it and use it anywhere within your app.

The sample project for this app is available on Github https://github.com/stephenwestgarth/FirebaseRemoteConfigSampleApp/

You will need to replace the GoogleService-Info.plist with your own created in Firebase if you want to see anything other than the values that I have created.

 

Categories: Apple, Google, Tutorial | Leave a comment

iOSDEVUK Review 2016

IOSDEVUK is over for another year; our annual pilgrimage to Aberystwyth always end in a sad train journey home – all the better for the knowledge we’ve gained throughout the week.

As is tradition, here is my round up of the week and my very best bits!

Running A/B tests on your app using Firebase Remote Config and Analytics

Todd Kerpelman

Prior to iOSDEVUK I hadn’t come across Firebase. This tool is phenomenal and can do brilliant things that allow you to control detailed configuration of your app without the need to submit your app for an apple review. Watch out for a blog post tutorial soon showing how you can set it up in a basic project.
Todd was a brilliant speaker, very engaging. One of my favorite talks by far!

Diagnosing Allergies

Emily Toop

This was quite simply interesting. Emily sneezes a lot and is using iOS to track her sneezes in order to help work out what’s causing it. It’s a real world use case for how mobile technology can be used to collect high volumes of data, analyze it and then make use of it in the real world. If you get chance to listen to Emily talk about her sneezing I would highly recommend it.

I’m an Idiot

Richard Turton

Sometimes as developers it does us good to remember that we are all human, we all make mistakes, miss the blindingly obvious and ultimately we are all idiots …. Sometimes.
This talk reminded me that if we need help, we should ask for it and if we share knowledge the community is stronger for it. My take away message from the talk though was that under no circumstances should you ever try to be CLEVER! It always backfires.

img_5097-2

Steve Scott

Steve Scott

Scotty is a brilliant speaker! He has a habit of stating the blindingly obvious in a hilarious way. Scotty reviewed where we have come from as developers and where we are going to; the underlying tone of the talk was the fact that while iOS is a very rich place today for developers this is unlikely to remain the case forever. This changing landscape is part of evolution and even visionary entrepreneurs can’t predict the future! He also emphasised that sometimes people do get it right – can you believe that less than 40 years ago it was considered ambitious to have a computer on every desk, in every work place and in every home!
img_5090

Review of the Year

Dave Verwer

No-one knows the world of iOS like Dave Verwer, writing iOSDEVWEEKLY really does give him an insight into our world like no-other. The stats Dave is able to create showing who is reading iOSDEVWEEKLY are a portal onto the iOS Development Community that just blows you away. Brilliant speaker and in my view Dave is one of the cornerstones that makes doing what we do so interesting.

Dyson Hackathon

img_5100 img_5099

This totally blew me away! I’ve been to hackathons before and they are always brilliant fun but then Dyson entered the room with 16 robotic vacuum cleaners! Words cannot describe how good this event was – I still say we were cheated as our balloon burst itself in the final battle, the stewards’ enquiry is still open in my eyes; but I’m not bitter.
Serious kudos though for a job thoroughly well done.

Conferences are an essential part of our learning as developers and have a huge impact on companies. I want to say a massive thank you to Chris, Neil, John and the team here in Aber; once again you have raised the bar and delivered a brilliant event!

So that’s it; iOSDEVUK is over for another year. If you can’t wait a whole year for another conference check out what we are doing in Chester 17th – 20th April 2017. CodeMobile is a brand new developer conference focusing on both Android and iOS Development. We need more events of this type in the community because when you bring developers together it really does create magic!

Categories: Apple, Conferences, Invention, Robots, Social, Technology | Leave a comment

What’s next for the iPhone?

I can’t believe its almost time for Apple’s September event! It seems like only 5 minutes since apple released the iPhone 6s and 6s Plus and yet here we are anticipating the release of the iPhone 7.

I always find following predictions about what Apple are going to do very interesting. The issue is that over the years it has become increasingly hard for Apple to wow me because much of my tech wish list is now complete. In the early 2000’s when I was still in school I used to dream about a phone that could connect to the internet, that would allow me to record video, share photos and listen to my music. I remember being delighted when I got a pocket PC but in reality being really let down by what the device actually did.

All of those troubles are long behind us. So now I ask what else do we want from Apple and more specifically from the iPhone? What is my new wish list? Here are some ideas:

Wireless Charging

This has been tried by a number of companies but its still not quite here. The idea of simply being able to put my phone onto a surface (ideally any surface) and have it charge is a brilliant concept although I accept that it comes with a lot of challenges. This is definitely something I would like to see brought to market with apples usual flair of simplicity and elegance.

Battery Life

Over the years battery life has improved dramatically however the power demands of devices have also increased significantly. I really want a battery that lasts. When I say lasts I want a battery that can take 12 hours hard use and still not give up – I hate having to carry around my charger.

In the absence of a brilliant battery that never dies what about exploring ideas to extend the battery life. I would love to see a solar powered phone that charges from the sunlight.

Dual Sim

This can be done already but its expensive. I really want the ability for my phone to have 2 telephone numbers, 1 for work and 1 for home. It would be great if I could select which SIM I want to use for certain numbers and then also allow incoming calls on the SIMS to be denied based upon a schedule.

Personal Assistant

Siri is brilliant but I still think there is a lot could be done in terms of improving Siri’s artificial intelligence. Is it plausible that one day we could have a conversation with Siri and that the system would answer in an almost human like fashion?

Ubiquitous Internet Connections

This isn’t in Apples control but its important to draw attention to it. I’m writing this while sat on a train on my way to iOSDEVUK. I havn’t had a mobile signal since Shrewsbury. Large towns and cities have now got 4g and that’s great but what I really want to see is 4g everywhere. Some would argue this isn’t worth the investment especially in rural Britain but when you realize what the internet can do for small communities I think its not only worth the investment but is actually an essential investment.

Life Interaction

The iPhone is now an extension of me it therefore makes sense that my iPhone should interact with the world around me. With iBeacons and location services my iPhone is now very aware of where it is but I would like my iPhone to be more intelligent. For example when in any restaurant wouldn’t it be awesome to be able to see the menu on your phone; to be able to call the waitress and even ask for your bill and pay without having to attract someone’s attention? When queuing at Alton Towers wouldn’t it be awesome if you could see an estimated length of time you were going to be waiting; or even avoid the queue to buy tickets altogether by being prompted to do so as soon as you arrive.

Linked to this is the idea of my iPhone being able to do everyday tasks. Homekit has introduced great new features in terms of being able to control my house; heating, lighting etc. I would love to see this expanded and a much greater rate of adoption – why do I need to carry keys for example; surely I should be able to unlock my house and car without a key? Also as soon as I leave home my phone should prompt me to turn on the intruder alarm.

The other thing that would really help us as developers to achieve this is if Apple were to open up the NFC chip so that we can develop applications that use it.

Apple Watch

Quite simply this needs to fully function without a phone. This is beyond running native apps; I want to see full WIFI, 4g connectivity and have the ability to use all features when my iPhone isn’t close by.

 

I’m sure I want and need more from my iPhone and there are a lot of things I could add to this wish list but I’m very aware that Apple Engineers are busy people. If its possible to just achieve the above this year, the rest of my wish list can wait until 2017 J

 

 

Categories: Apple, Technology | Leave a comment

Blog at WordPress.com.