How to Save Time when Developing and Maintaining Apps Interview with Luke Konior

Pain Curve Graph

Developer on Whiteboard

Interview with Luke Konior, COO of All in Mobile

Join us today for an interview with Luke Konior, COO of mobile app development company All in Mobile (AIM). He’ll talk about the biggest hurdles of app development and answer some tough questions on how to save time when developing and especially maintaining your apps!

What’s your general process of creating a killer app? What should you do first?

There are two main processes you have to take care of:

  • The Discovery Process
  • The Development Process

Let’s take a closer look at each:

  1. Discovery:
    The discovery process involves establishing a business case, which specifies why a specific project should be funded and how it will bring profit. Failing to realize your business case will bring a loss of resources: your time, effort, and most importantly – money.To ensure success, you have to be aware who your users are. The next step is benchmarking – validating your idea against your competition and the market. For competition and market analysis, we suggest using AppAnnie, which provides data and insights for the app industry. For developing a business model, you can use the methodology of the Lean Startup or Business Model Canvas. Additionally, create your App Buyer Personas to have a better understanding of your users and customers.
  2. Development
    Before we start implementation, we should check if we have any technical debt. You incur technical debt when you decide to take shortcuts, instead of caring about the architecture system or code quality. These costs are usually not visible “now”, but will have to be paid sooner or later. We often want to implement things which our existing backend infrastructure can’t support – we have to deal with it first if we don’t want our technical debt to grow and take its toll.
Technical debt
Technical debt

Three other steps that will ensure the success of the app are:

  • Choosing one flagship function and building the app around it – avoid apps with too many functions,
  • Releasing the app within 3-5 months to verify the business assumptions,
  • Seeing beyond the app building process and paying some attention to marketing.

What time saving tools do you find indispensable for developing mobile apps?

Some tools that AIM uses for everyday work and can recommend are:

  • Slack for daily communication,
  • Jira for managing projects,
  • Invision for UI prototyping and collaboration,
  • Zeplin for design adjustments,
  • Bitbucket for managing team repositories,
  • Confluence for creating notes after the meetings,
  • Jenkins for automatic building and testing of the versions of your application,
  • Fabric for a faster distribution of testing versions,
  • TestRail for managing testing scenarios.

Any specific time savers for bigger development teams?

Agile development strongly favours direct communication over written documents. Short face to face conversations can save tons of time! Please do it instead of e-mail ping-ponging. If team members or your clients are in different locations, use phone or skype calls.

Another thing – don’t spend too much time discussing small details like “should this star have more rounded edges or not”? Trial and error is the best method for problem-solving. Make a fast decision and then test it. Iterate until you’re satisfied with the results. As a project manager/product owner, you’ll save your team many frustrations along the way.

What should people consider while developing their app to make it easier to maintain?

  • Tech stack choice
    If we decide to cut costs by choosing technology such as PhoneGap (HTML + JavaScript) or Xamarin (C#), we have to remember that there is a limited pool of developers and providers that use these technologies, compared to Objective-C, Swift, or Java
  • The quality of technology
    More experienced developers will deliver better quality code that is less costly to maintain
  • API creation
    The more professionally designed API, the easier to manage the app.
  • Maintenance
    Things that we can, we should move to the web view (we don’t recommend building a whole app with the web view though)

What’s your best advice for handling app review and not wasting time with re-submitting?

  • Google Play
    There is no problem with Google Play as they virtually accept every app (even the ones infected with malicious malware), but we see a considerable improvement in the review process over the last years.
  • Apple
    The situation here is a bit complicated. There is no formula, you need to read all the guidelines before writing the first line of code. The good side is, you don’t have to wait several days for the review anymore, as it now takes only 24 hours.

What’s your philosophy of maintaining apps? Smaller updates vs. bigger updates?

  • Smaller updates
    It’s better to have a calendar of smaller updates because users will see the app being updated regularly. This means the app is taken care of and continuously improved.
  • User interface
    With every iOS or Android update the interface of the operating system changes
  • Free vs. Paid updates
    It all depends on the app’s business model.

What should people be aware of with regards to maintaining their apps? What are time killers for maintaining apps? When does it make sense/is it justified to update an app?

If we build a stable app, nothing can go wrong. The most common problems result from the server and backend issues. It’s important to have systems that monitor server and backend performance.

It’s good to update the app – you need to get rid of the bugs and issues. One of the main reasons why users leave the app is that something doesn’t work or functions in the wrong way.

Any general advice on keeping engaged with users?

First impressions are the most lasting. Everything depends on the first run and how the user onboarding is conducted. It’s said that a good app shouldn’t have onboarding, but the truth is: A well-designed onboarding will catch the attention of the user and increase the likelihood of him coming back.

User permissions should not appear right away. If, for some reason, you decide to do so, you need to explain to the user: why the app is asking for permissions for notifications or geolocalization what benefits he will get in return for granting access to his data.

When it comes to building engagement in games, we suggest offering something new at certain time intervals. The user will come back to check the reward.

What surprising lessons have you learned along the way of mobile development?

We’ve learned how important communication really is. It’s truly a key to final success and that’s not an exaggeration. Without clear, ongoing communication, you will end up with inconsistencies, frustration (of your development team and your client) and with the final product which doesn’t meet your client’s requirements. And you don’t want that, do you?

Another surprising lesson that we’ve learned is that clients often don’t know what they really want. You have to guide them and show them possible directions, because sometimes they have a limited view to see the potential solutions.

What do you find are (mobile) developers’ biggest stumbling blocks and what are the best ways you’ve found to overcome them?

A well-conducted discovery process is crucial – it will help you avoid many potential blocks. Many people resist carefully planning the project, because of the initial pain it causes, and jump right off to the development process. The result is, they experience even more pain later trying to remedy things that should have been dealt with at the beginning.

Pain Curve Graph

A great stumbling block can be the infamous technical debt – so do a bit of up-front thinking and make sure you address any technical problems and issues early on.

Another huge obstacle you could find during the development process is when you don’t know what to do. If you’re stuck and not able to progress, it could simply mean the requirements were not clear. If you’re a project manager, you should communicate your questions before the start of the sprint. And to know the questions, you should constantly speak with your development team – e.g. during backlog grooming sessions. You also need to improve the cooperation process with your client. Remember what we’ve said earlier – direct communication is the key to success.

Luke, thank you for this interview.

Interviewee Luke Konior is the Chief Operating Officer of All in Mobile and Founding Partner of RelocateYou. He’s an optimistic guy and good listener as well as a great fan of agile and lean development. You can also follow him on Twitter @LukKonior