Image for post
Image for post

Startup engineering in the early stages of a new tech venture is tricky to say the least. There are many studies often cited that demonstrate the high failure rate of startups, such as a 92% failure rate within 3 years.

Whilst there are many reasons why startups fail, far too many for this blog post to cover, there is no escaping the fact that product engineering is one of the most critical components of a tech startup, if not the most important.

Fundamentally, early stage startups need to move quickly towards finding product-market fit. Taking the right technical approach is key to this. To be successful often requires a subtly different approach to software engineering than most other types of software engineering. …


Image for post
Image for post

I recently completed Udacity’s Machine Learning Engineer Nanodegree Capstone Project, titled “Classifying Urban Sounds using Deep learning”, where I demonstrate how to classify different sounds using AI.

The following is an overview of the project, outlining the approach, dataset and tools used and also the results. Full links to all the code, Jupyter notebooks, and report will be posted below.

Note: I recommend running the full Jupyter notebooks in the GitHub repo rather than copy and pasting the code examples in the blog as they are not complete.

For anyone considering a taking the Udacity Machine Learning Engineer Nanodegree, I thoroughly recommend it, full course details see here. …


Good Mobile SDK craftsmanship is a topic that often comes up with teams aiming to perfect their SDK strategy. The benefits of a well built SDK are clear. Improved developer experience, faster integration and rollout of new features, all which ultimately leads to a higher adoption of your product.

Image for post
Image for post

Having built a number of Mobile SDK’s in my career, I’m often asked for advice on this topic. Whilst there are no hard and fast rules, there are a number of best practices that have been picked up along the way to help build a best in class Mobile SDK whether we are talking a .aar file, .framework


With the growing popularity of voice and audio-enabled products, such as the Amazon Echo and Google Home, it seems reasonable for consumers to be concerned about exactly what audio data is being collected, stored and shared.

Image for post
Image for post

Furthermore, in light of the recent news stories regarding Silverpush and more recently Alphonso, which have raised serious privacy concerns due to background listening being used to stealthily track users behaviour — microphone technologies are increasingly under the spotlight.

At Chirp, we believe in being transparent to the user about how and when their audio data is being used. Whether that is voice assistants such as Alexa or Google Assistant or our very own audio-mediated connectivity technologies — Chirp Connect (data-over-sound) or Chirp React. …


Image for post
Image for post

Keeping users engaged with your app is key to its success. One of the greatest problems for app developers is the rate of mobile app abandonment. Many apps are downloaded and then ignored or even uninstalled. If you want to keep your audience engaged with your app then you have to give them the user experience they want.

Use push notifications intelligently

Push notifications are a great way to bring former users back to your app, but you have to use them carefully. …


Image for post
Image for post

Mobile app optimisation is the process of using controlled experimentation to improve an app’s ability to drive business goals. Here I will outline various techniques I’ve used to build successful apps.

These techniques allow developers to define, measure and test features in an iterative and low cost way. They utilise a data driven approach as opposed to opinions and facilitate a validated learning process.

The end goal results in a better performing app, whether that is measured by an increased conversion rate, increased sales or another business goal.

In-App Analytics

Believe it or not, your users are probably not using your app exactly how you think they are. Therefore, it is important to include analytics within your app. …


27 May 2015

Image for post
Image for post

Recently I had the opportunity to build another Chrome Extension. This time it was for Chirp, the ambitious London based startup that I recently did some Android App development for. I’m really pleased with this Extension, as it opens up the use case possibilities of Chirp immensely and solves a very common problem.

A common annoyance that no doubt we have all suffered from, is how to quickly get something such as a file or link from your desktop to your mobile device. Various solutions do exist, but most have their drawbacks. …


11 May 2015

Image for post
Image for post

Since the 21st of April this year, if your website isn’t mobile-friendly, it’s going to take a significant hit on Google rankings. For anyone dependent on search traffic, that is reason alone to check and update your site, but it’s also a worthwhile exercise in itself.

The Google change is both more and less dramatic than you might immediately assume. It’s more dramatic because the effects on rankings are believed to be even greater than the infamous ‘Panda’ algorithm update that hit poor-quality content. It’s less dramatic as it only has an effect on the main Google Search tool (not, for example, on News searches) and only affects results from people searching on phones, not those using tablets or the main desktop-oriented search tool. …


14 Nov 2013

Image for post
Image for post

Verifying the behaviour of our applications is an essential part of our day-to-day development. This blog will discuss two distinct stages of automated testing. Unit tests and acceptance tests.

If you are using Unit Testing as part of Test Driven Development (TDD) process, then it is important that the Unit Test framework runs in a matter of seconds. Unfortunately, the standard Android Testing Framework can be a bit of a disappointment in that respect. It requires a running device/emulator to invoke any code that uses Android SDK methods.

Therefore, my preference is to use Robolectric. Robolectric is an Open Source Unit Test framework which allows you to run tests which use the Android API directly on the JVM within your IDE. Therefore, it enables as much real behaviour as possible whilst being fast enough for TDD. …


29 Oct 2013

Image for post
Image for post

Wearable technology has been in the background for some time yet, but has still to really make it into the limelight. This year may be set to change that with the emergence of Google Glass, Apples rumoured iWatch and Samsung’s already released Galaxy Gear smartwatch. This is alongside other already wearable mainstream technology such as glorified pedometers by FitBit and Nike+. It appears quite clear that wearable tech has been identified by industry as the next market ready for significant growth.

But is Google Glass and other such technology really destined to be the next big thing?

Wearable technology will require humans to adapt their behaviour. They are designed to be in the background of our day to day lives, away from out immediate attention. …

About

Mike Smales

Software engineer and business builder. Entrepreneurship, Start-ups, Deep-Tech, Mobile, IoT, & AI. Former COO at chirp.io. See mikesmales.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store