Ways To Make Money With Unity Apps

Ways To Make Money With Unity Apps

Here’s my next post which appeared first on Simple Programmer.

So you’ve got an idea for an app, but you want to actually profit from this idea, not just pour a lot of time, effort, and money into something that won’t give you a return on investment.

In the 10 years since the App Store first opened, the number of ways to make money from an app has grown from the single option of just selling your app on the store.

Unity has made creating apps for the Apple App Store and Google Play extremely easy with its Unity editor and tools. You only need to create one codebase to distribute to all the stores. And they have even developed services to allow for extending your apps and adding additional streams of revenue into the project even easier.

But, which stream is right for you and your app? And does its potential revenue align with your monetary targets, business goals, and development skills? Would a monetization method that’s more costly and requires more development effort be a better option in the long term if it makes you more money?

This discussion of the typical ways that developers generate money from their Unity apps will help you answer these questions.

Monetization Methods

There are many methods to monetize your Unity app. However I’ll be discussing those that are well-known:

  • Full price
  • Unity IAP
  • Freemium
  • Unity Ads
  • Unity Asset Store

Sell Your App at Full Price

When the App Store first launched in July 2008, the only way to monetize your app was to sell it at the full price.

In 2008 there were only approximately 23k apps and games within the Apple App Store, compared to the approximately 2.2 million combined apps and games in 2018.

The revenue potential in those early days was significantly higher. Small, short, and simple apps selling for $1.99 were netting the developer enough to let them give up their day job. This was because the competition and market was small, and the user base was a lot less sophisticated regarding the quality content of their apps.

Full-price business models are still the easiest to set up and predict sales from your apps. The revenue you generate is 70 percent of the full price of your app due to Apple’s and Google Play’s cut (this doesn’t include any currency conversion charges). With this in mind, you can roughly calculate that the total price of the number of apps that are downloaded correlates 10:7 with the amount of revenue you will generate.

If you want to set this up for your Unity app, you don’t need to do anything specific. Simply create your build, and then upload to the appropriate app store, and set the price to whatever you wish.

Unity IAP

In 2011, In-App Purchases (IAP) were introduced. These items could be small, like cosmetic upgrades, or big, like the ability unblock the full version of your app.

Along with the size of the IAP you can offer, there are currently three different types of IAP:

  • Consumable
  • Non-Consumable
  • Subscription

Consumable items are those that are reduced by one when used. They can only be used a set number of times (this is usually once). For example, the jelly fish used in Candy Crush Saga by King is consumable. Non-consumable items can be used multiple times. An example is an upgrade to your character’s armour. Once purchased, the character will use it all the time. Subscription items are those where the user will be charged a set amount per month, year, or any frequency that is set by the developer. The subscription option was first introduced in 2016. For example, getting access every month to all updates and all content unlocked in an app is done by subscription.

Unity IAP requires a bit more development effort to set up, but it means that you remove the cap on the revenue you can generate from any one app you create. By adding in IAPs, you won’t just be limited to earn a single amount for an app sale in the app store; instead, you could earn multiple times, depending on how many IAPs you set up and how many times they can be purchased.

In order to set this up for your Unity app, you need to select the In-App Purchasing option from the Services window within your Unity project. Next, you need to select the appropriate COPPA option, and then save the changes.

You need to have first created your app within the appropriate app store to be able to set your app ID and your in-app purchases. Then once it has been verified, you can set your app ID and set up your in-app purchases within Unity to the same types and costs as what was in the app store.

The amount of money to be made with IAP is always a bonus if you offer these within full price apps. The best way to maximize revenue for IAPs is to carefully watch the IAPs you’re selling and for what amount. If you find you are selling more of the $1.99 items than the $4.99 items, you may want to consider changing the cost of the £4.99 items or increasing the price of the £1.99 items.

The time of year, external factors (e.g., yearly events), and the item itself should all be taken into account when adjusting item prices and choosing to remove some. Make sure you look at all the evidence (hopefully backed up by your app analytics!) before you make changes.

So, the potential revenue can be unpredictable at first, but if you find a pattern, you could make a lot of additional money from a single app.


Freemium means that you offer an app as a free download and provide the user with an IAP option within the app. This business model combines a free app with an IAP option.

Freemium is commonly used now by app developers, as users like to try before they buy. This gives them the free option to test out some of the app features before committing to a bigger purchase.

The amount of development effort here is the same as for an app with IAP.

This business model can be unpredictable. Although you can predict based on previous sales of IAPs, you can’t be certain how many of the free downloads will convert to paid in-app purchase sales. It’s important to maximize your chance of this by designing your free product to show your best features without giving away everything for free right away.

Unity Ads

It’s hard to find out when ads were first introduced into apps, but from what I’ve seen, they’ve been there nearly from the start. However, this monetization method has become diverse in itself, and now there are different types of ads to choose to integrate into your app. With Unity Ads, you are able to select ad categories that are more relevant to your app so that your audience is more likely to engage with them. For more information, please see the Unity Ads Publishers page. The following are different types of Unity Ads.

Interstitial ads are static or dynamic image-based ads. They fill up the entire screen of your device when they are active and are set to trigger at specific times during the flow of the app.

Incentivized ads give the user a reason to interact with the ad. For example, they may be rewarded with in-app currency or items in return for interacting with the ad.

Banner ads are the oldest type of ad. These usually take up the lower sixth of your device screen and are shown at any time, even for the entire duration of your app session. These ads are the least intrusive to the user’s app session and aren’t usually the most interesting to look at. This could be because they’re designed not to draw too much attention away from the app’s main function.

Video ads are usually incentivized. But there are some that simply want the user to watch the ad without offering anything for their attention.

To integrate ads into your Unity app, within the Unity Editor, open the Services Window and select the In-App Purchasing option.

Ads are all about getting clicks and views. The more you have, the more money you can make. But in order to make a lot of money from ads, you need a bigger user base, as payouts are usually from views and clicks in the thousands.

Unity Asset Store

The Asset Store is a unique marketplace for Unity developers. It provides objects to use within your project from individual assets, like a chest to complete projects such as Scrambled Word Game.

Once you have created your project or assets within your project, if you want to try and make more money from your efforts, you can try and sell the project assets and/or the entire project on the Asset Store (providing you own all the rights to your project assets). You earn 70 percent from your sale on the Asset Store (Unity takes a 30 percent cut).

To do this, you need to sign up for an Asset Store publisher account and fill in the relevant information. When you’re uploading your asset, you need to provide screenshots and other metadata to help potential buyers learn more about your asset in order for them to buy it. For more information see the Unity website instructions for how you sell your assets.

What’s Right for Your Project?

The ways that you choose to monetize your app is a decision that must be thought about very carefully. It can affect the type of user your app attracts and the number that convert to buyers.

You need to ensure the type of monetization method you integrate is something that your target user expects, is used to, and wants to use. Therefore, gaining feedback from them about their previous app purchases may give you an insight into the types of monetization methods they prefer using, ads, subscriptions, or maybe IAP.

It may be tempting to offer a range of methods to try and catch the majority of users, but each type you add may cost more to implement. Keep costs low in the beginning, and focus on a maximum of two per project.

If you’re still unsure about which types to use in your app, implement different types across your catalog of apps. If one method isn’t working so well, you’ll know that may not be the best option for your audience. You can then change it to something that may be performing better. It all depends on your feedback.

Continue getting feedback from your users directly and indirectly to assess which monetization method is the best one for you to make money from your project.

The A to Z of App Development 2018

app development 2018

Here’s my next post which appeared first on Simple Programmer.

Apps (short for applications) were introduced to the world via the iPhone in 2007.

In 2008, the Apple App Store was opened, and anyone could create apps. A market had opened that could generate developers enough income to give up their day jobs.

Now, there are two major app stores, Google Play (for Android apps) and the Apple App Store (for iOS apps). Together, they host close to six million apps. This is a massive growth rate in 10 years. And with the next billion users, it’s set to grow even more. Who are the next billion users? They are the next wave of users of the internet. They likely reside in third-world countries that previously didn’t have great infrastructure. However, countries within Africa, where users were previously unconnected, are becoming connected with the construction of 5G networks. This means that these users will need apps that cater to their own needs, wants, and entertainment values just as more developed countries have done over the last 10 years.

Since the creation of apps, development and distribution of these applications has become more complex. Their quality has improved, competition has become fierce, and the ways to develop them has become more diverse.
If you’re new to app development, I hope to give you a brief insight into useful information about apps and smartphones through what I call the A to Z of App Development.

App Store Optimization (ASO)

ASO was introduced to us via the Apple App Store in 2008, but it wasn’t regarded as an important business practice like its older sibling SEO until quite recently.
ASO means you are optimizing your app to be easily searchable in the app stores using specific keywords. Tools like Google Keywords exist to help you find the highest ranking keywords (which are the most searched for) within a certain category. By associating the keywords that are searched for the most with your app, you make it more likely that your app will appear in search results for users.

In order to add keywords to your app, you need to enter them into the appropriate field within the developer console profile of your app in an app store.


Bluetooth is the wireless communication technology that allows a minimum of two devices that have been paired to connect and share data over short distances. This method is the most common way to connect audio devices with portable devices such as laptops, smartphones, and tablets.

It was invented by Dutch electrical engineer Jaap Haartsen in 1994 while he was working for telecom vendor Ericsson. Now, it’s commonly used by all companies and industries to connect their products.


When apps were first introduced, you could only develop an iOS app using Objective-C or develop an Android app using Java. This led to many developers specializing in one platform, and while it was good for developers to know the ins and outs of a single platform, it blocked them from reaching the user base of the opposing operating system. It would also double the cost of an app for those wanting to purchase the development of an app for both stores.

Now, there are a number of solutions that enable developers to code once and release to all stores. We call this capability cross-platform. There are two main ways you can create an app that’s cross platform:

  1. You can create an HTML5 app that allows you to code the app using web technologies like HTML5, CSS, and JavaScript. This is the wrapper that’s compiled into either platform’s codebase in order to make it run on the specific device.
  2. You can use a cross-platform tool like Xamarin or Unity and code the app in C# or JavaScript depending on the tool you use.

Cross-platform enables developers to become specialists (at a high level) in both platforms and reach more users. And, of course, it allows for the potential of more profit.


In app development, there are currently three key devices to develop for:

  • Smartphones
  • Smartwatches
  • Tablets

Smartphones, as I mentioned earlier, were introduced on a large scale to the world when the iPhone was released in 2007. Tablets came next, and again, Apple seemed to succeed in this wave of advances, even though Android tablets were available.

The apps for smartphones and tablets can be shared so the amount of work needed to develop across the devices is minimal. However, if you can, it’s a good idea to develop a difference between your smartphone app and your tablet app. (You may find that tablets should have a different layout to make the most of their screen estate.)

In 2015, Apple released the Apple Watch. It has several iterations, including branded editions like Nike and Hermès. Android watches have been released since the Apple Watch by companies like Samsung. These small devices, unlike tablets, cannot share the same app as smartphones. Because of their very small screens, individual apps (or one complementing your main app) must be created. Different interactions will be executed, and visual designs for smaller screens need to be considered.


Emulators are software that allows app developers to test their app without launching it on a physical device.

Testing on physical devices should always be carried out when developing apps, but because of the fragmentation that exists across mobile devices, having access to all the different devices that your app can work on isn’t financially a good decision.

Emulators allow you to set up different versions of SDKs and device types for operating systems to test your app. In my opinion, you should physically test on a couple of the main devices that carry the latest spec and operating system version, and then use emulators to test the different variations.


Every year sees a new mobile operating system (OS), and because of this, there are a variety of operating systems for apps to run on. This broad range of OSs that are available is usually described as fragmented. Combined with the many devices available across each platform and their varying screen sizes, this means a lot of combinations that your app could possibly be used on.

Apple devices weren’t so bad for this in the beginning, although their variety has expanded since the original size was introduced. Android developers are the ones who need to make sure they perform a wide range of testing and lock down devices and OS versions that they do not want to serve with their apps so as to keep their testing to a manageable amount.


With the introduction of touch-screen devices, gestures (e.g., single tap, double tap, swipe left or right, up or down) are now used just as much as digital keyboard buttons. Gestures help a user to interact more organically with a device than with digital keyboards or precisely selecting digital buttons.

Some apps like Tinder have become famous for their use of gestures within the app. These two gestures of swiping left or swiping right have become so synonymous with the reject or accept feature of Tinder that people only need to reference swipe left or swipe right in conversation for everyone to understand the reference.

Children as young as 1 year old are using tablets and smartphones better than their grandparents because gestures require no knowledge of language and are easy to learn.

As app developers, we need to keep in mind that using gestures instead of buttons to access functionality removes a high barrier to entry for users. And as gestures are easy to describe and learn, the user will be able to use your app faster and more effectively. This provides the user with a good user experience and will hopefully improve the number of users you retain after downloading the app.

Home Button

The home button (this could be physical or digital) is usually the only button on the front of smartphones. This button brings the user back to the first screen on the phone’s display. As an app developer, you need to factor in how your app will function if this button is pressed.


App icons are small unique images that are used to immediately identify your app within app stores and on devices.

They can look any way you want, but it’s usually a good idea to keep this icon within the same brand guidelines used in your app. It’s also good to depict something that represents the main function of your app so that users associate its use with your app icon.

Different stores have different guidelines for app icon graphics. Make sure you follow the correct guidelines for each store you submit to. This will ensure your release process isn’t delayed by having to redesign or recreate your app with different settings at the last moment.


JavaScript is a scripting language mainly used for web development. However, with the introduction of HTML5, JavaScript can be used to create complex apps with a web-based wrapper, so now web developers can create apps for mobile devices using the same skills used to create websites.

When you are thinking of developing your apps, you should consider which technology you want to use and which platforms you want to target. Using HTML5 can give you the benefits of developing using tools like Unity but without the same amount of complexity.


The keyboard is a versatile feature of smartphones. It can be changed to suit the language preferences of the user and even handle multiple languages being input at once (no need to switch between settings options).

The layout can also change to accommodate the user’s international keyboard preference.

Luckily, the user’s keyboard setting is usually something you don’t need to consider as an app developer. The keyboard will be displayed in the default language that you have set for your app.


Apps use the location feature to identify where the user is. Facebook’s popular check-in feature uses the device’s location function to tag user posts with the location. Using location in conjunction with other features can provide more information to other users, and data to the app provider.


Magnetometer allows your device to be aligned in relation to the Earth’s magnetic field. This means your phone will always be aware which way is North so the app can rotate to the correct position and orientation on digital maps.

Allowing your app to use the magnetometer requires a permission that you would need to allow when developing your app.

But, unless you’re making an app that requires this magnetometer functionality, like something that relies on geolocation or a compass app, this probably won’t be a permission that you regularly set up.


There are different types of notifications that devices use: local and push.

Local notifications can be set up during the development phase of your app and are sent to the user depending on the type of notification, i.e., an event notification or a reminder notification. The times that these are sent will relate to the type of notification. Local notifications can usually be managed by users themselves within a settings area of the app.

Push notifications are sent after the app has been developed; they are live notifications to the user from the app provider. These usually give up-to-the-minute short pieces of information to draw the user back into the app. For example, these can be news updates from the company behind the app.


Two main types of orientation exist for devices: portrait and landscape.

Portrait orientation is when the device is aligned vertically, as in a sheet of paper, and a landscape orientation is when the device is aligned horizontally.

As an app developer, you can choose to lock your app to the portrait orientation or the landscape orientation or allow the app components to change position depending on the way the user is holding it.


When creating an app, you can only do so much before the time comes to add a great new feature. In order to do this, you need to enable the relevant permission on that device. This is usually a check box or line you need to add to a config file.

This alerts the user when they download the app that your app will require the use of additional tools like access to your contacts or access to your camera.

As users are becoming more proficient at using apps, they are more aware of access to their privacy and personal data. Some apps may not be accessing personal or private data, but the permissions that your app requires in order to function fully will be listed whenever someone tries to install your app. Showing users this message prior to installing the app gives them a choice and makes them aware of how the app is using their device’s content.

Depending on the permission (and whether it is integral to the main function of the app), you may find that the app cannot be downloaded unless you accept this message or that the app’s features are restricted until you accept these permissions. It’s all up to the user to decide.


QWERTY is the name for the original style of keyboard used in physical and digital devices. The name was formed from the first five letters on the left side of the keyboard.

Depending on the input fields within your app, you may want to restrict what type of keyboard is shown to the user at certain times. For instance, restricting users to the numerical keypad in a telephone number field may help you reduce user errors.

The decision to switch out this keyboard or lock a field to a particular one is a design decision that you should make when designing forms.


As smartphones and tablets can be used in both portrait and landscape mode, the ability to rotate your app is also something you should consider when designing and developing your projects.

Yes, giving the user the option to interact with your app on different orientations makes it more accessible, but this will add to the design and testing time. You will need to ensure that your app functions and looks correct in both views and that it can move between both seamlessly at different points through the user journey.

To make this easier, you may decide to lock the rotation on certain screens, but this restriction may seem inconsistent to users if they can rotate it on some screens, and it’s not totally obvious why they can’t rotate it on others.

Always keep the user, your project time, and testing in mind when considering rotation.


Resolution is the number of pixels that are able to fit on a device’s screen. As the years go on, we are introduced to mobile devices with even better screen resolutions, meaning that they can fit even more pixels in to give us a sharper, clearer and overall better picture from our screens.

Because of the fragmented landscape of mobile devices, when designing your app, it’s important to know the devices you target and the screen resolutions you will support. You will also need to make sure you test upon those. Differences in resolution can mean that objects positioned perfectly on the right hand side of your screen on one device may appear in the middle on others. Test for these differences, and develop solutions.

Status Bar

The status bar provides information to the user with icons. It can sit on or be hidden at the top of a device’s screen.

This bar shows users that there is something that an app wants you to be aware of and, obviously, the status of your device, e.g., whether the Wi-Fi is connected, whether you’re connected to a Bluetooth device, or whether you’re in airplane mode, all via icons.

If you use notifications within your app, think about an appropriate notification icon that fits with your app style so your user can identify it easily.


Smartphones have been around since before the iPhone was launched. BlackBerry dominated this sector prior to 2007. These devices usually had a full-but-mini QWERTY keyboard, and the screen would take up the rest of the front. But the iPhone changed this. They showed that a full touchscreen was not only useful to users but also easier to engage with than tiny keys.

BlackBerry tried to launch their own range of phones with full-length touchscreens, but unfortunately for them, Apple already had their audience.

Touchscreen succeeded and was embraced quickly because of the low barrier to entry with gestures, great design, and onboarding process by Apple.

Because of this massive success in the change with how we interact with devices, more and more products like bank ATMs, POS systems in shops, etc., are utilizing touchscreen instead of physical buttons.

Although voice is now more widely used to communicate within apps on devices, using the touchscreen is still the primary source of input. This is because it’s easy for users of all ages to interact with. But it does depend of your audience’s level of experience with apps. So, as an app developer, you need to keep in mind that utilizing the touchscreen is great, but it needs to ensure that how you use it cannot be misinterpreted. For example, pressing and holding an object to interact with it isn’t something that you would naturally think of doing, while tapping is more intuitive.

USB Port

The USB port is always present on devices. It’s the primary way to charge phones, so it’ll always be a necessary feature until wireless charging takes off everywhere.

Micro USB was the dominant choice for Android devices (Apple always did their own thing), but now with the introduction of USB C, it seems that the world is waking up to the fact that we don’t want to have five different cables to charge five different devices.

USB C has been added to MacBooks and phones from both Apple and some Android phone manufacturers. So hopefully recharging will be a lot easier in the future.

So why’s this related to apps? Some apps can run directly on a USB device without the need to run on a device. And because of the portability of USB devices, apps can be device-agnostic and can run on pretty much most devices. A good example of when a USB app would be needed could be a support app for a company’s system administrator who’s upgrading all the computers and can’t do it remotely for whatever reason.

Some Android apps can be run from USB, but I highly doubt you’d have this flexibility with iOS apps.


Vibration (also known as haptic feedback) was introduced to mobile phones very early. In phones as old as the Nokia 3210 and in games like Snake, vibration occurred when the phone rang, or you’d get haptic feedback when you caught your object in a game.

Haptic feedback is a good way to provide non-textual or visual feedback to a user to alert them to something or a change in state. It shouldn’t be used everywhere or excessively. Ensuring that haptic feedback isn’t being overused within your app should also be considered when testing your app.


Wi-Fi is a technology that many devices like laptops, computers, smartphones, tablets, etc. use to connect to the internet.

As an app developer, you need to make a decision whether your app will need the internet to function or not. You may want to serve your app content from a content delivery network via cloud computing solutions, so your app may always need to be connected. Or, you may want to use a cloud database to store the scores for your app.

These are acceptable reasons, but it’s always a good idea to build in functionality that allows your users to continue using your app when the internet is not available. So, when it comes back, you can send up or retrieve data again seamlessly without the user’s session being disrupted.


Xamarin is a cross-platform tool that allows developers to produce apps written in C# with a predominantly shared codebase across multiple platforms.

Using Xamarin tools allows you to create native Android, iOS, and Windows apps with native user interfaces. This gives developers the ability to create apps that the users will pick up quickly due to being presented with a UI that they are used to.

However, if you want your app to look consistent across the platforms, you can override the native rendering and implement custom renderer for individual components.

Yearly Releases

Every year, Apple and Google update their iOS and Android operating systems, so it’s important to be aware of the changes that these updates will bring and how they will affect your current apps in the stores and future apps.

For example, with the release of iOS 12, starting in March 2019, Apple is making it mandatory that all new apps and app updates for iPhone, including universal apps, will need to be built with the iOS 12 SDK to be able to support their new iPhone XS and iPhone XR, but especially their iPhone XS Max.

Make sure you get notified or keep up to date with these changes so your app project timescales won’t be negatively affected.

Zones (Time Zones)

(OK, I cheated on this one, but it was really hard to find something related to “Z”).

Time zones can be important if you have specific timed events that trigger notifications within your app.

Depending on where the user is, you may want this to trigger locally to them. Or, you may want this to trigger at the same time everywhere. You may want to consider where the majority of your audience resides so if you do choose the latter option, the majority of your users can enter your event at the same time.

This will need to be considered during design and development. Make sure you also think about a good way to test that this works!

Now You Know Your ABCs…

Apps have been around for 10 years now, but they are going to be around for a lot longer. It’s important to know the basics and background of what you’re working with so you know where you’re going.

If you’re new to app development or if you’re continuing to add to your app portfolio, I hope this has provided you some useful information so that you can build great app experiences.

UK Black Business Show 2018

On 13th October, I went to Westminster to the Queen Elizabeth II Centre to attend the UK Black Business Show 2018.

I was excited to go because if you’ve been following me for a while, you know I’m trying to learn and grow as an entrepreneur. I find that when I go to conferences, I’m more inspired and ready to focus on this topic when I leave. This event was no different, in fact, it gave me a lot more confidence in what I’m doing and motivation to keep going and keep growing.

Unfortunately, I learned about this event very late. My mum had bought a ticket only to find that she want able to go because she was flying back from a trip at this time. So she offered the ticket to me. I didn’t know what to expect from this event, but looking back, I’ll be sure to be buying a ticket for next year and telling all of my friends (no matter what their ethnicity) about the event.

There were lots of motivational words from all the speakers and inspiring individuals on the day but, I want to write this post to capture the points that were key to me. I want this to post to remind me of the key ideas and thoughts that spoke to me through the day so that over the next six months I can refer back to it and relive the thoughts that inspired me that day.

Talks and Notes

Andrew Ramroop: A Journey from Pillowcase to Buckingham Palace

  • What makes my products or services stand out from others?
  • How is my product standing out for something that’s different?
  • What makes my service/products better than the competition?
  • Why should customers engage with your services?
  • What makes you outstanding?
  • Train all year round not seasonally.
  • To make a world class company, keep in mind that you need:
    • World class standards
    • Business standards
    • People
  • Make the customer your top priority
  • Your mission statement should state who you are and what your do

Olutayo Arikawe: Making An Impact: How to Use Your Profession to Benefit Your Community

  • Give to your community and your business will thrive
  • Take care of your staff and your community

Fredi Nwaka: Journey to Hollywood

  • What is for me is for me
  • Network to get work

Ronke Lawal: Why Marketers & Brands Need To Engage Black Women

  • £300 Billion black spending power in the UK – IPA
  • Don’t under value yourself
  • Think about the money
  • The love of money isn’t a bad thing

Rashada Harry: Creating Diversity in Technology

  • It’s not what people listen to but what you answer to
  • You have two hands, one to help yourself and one to help the person behind you

Kubi Springer: How to Take your Brand Global Marketing

  • Be an expert
  • Be known for one thing
  • Tell people what you can offer
  • Go in with the numbers and stats to investors. Let the money, numbers and stats talk
  • Get IP in place
  • Stop doing a business for the short term
  • Be Globalised

David McQueen: Building A Legacy in Business

  • Give back to the community
  • Stop comparing yourself to others. Work as hard as your want to work
  • Not enough people build for legacy
  • Build businesses that run without you
  • Build systems
  • Think bug. Stop thinking small
  • Why are you building a business?
  • What are your values?
  • Ideas are crap. You need customers
  • Stop giving things away from free
  • Stop selling out. Think about how to take it to the next level

UKBBS Dragon’s Den Pitching Advice

  • Knowledge
    • know what you’re talking about
  • Work your time
    • Brand background
    • Where are you right now
    • What have you done so far
    • Where are you going in the future
    • Money
    • How to get more customers
  • How are you going to build a company & legacy
  • Look at the numbers
  • How are you making money
  • Think big
  • Scale up
  • Make that money
  • Make your people feel that you deserve the money that you ask for
  • Give the business talk first, then the passion talk second
  • Breakdown how you’re going to make that number
  • Know your numbers
  • First impressions count
  • Presentation
  • Visual identity
  • Tie how you’re dressed with your company brand

When Resource Ids Are Not Recognised In A CS File

I’m using Xamarin Android for one of my current projects and (especially after my recent short break) sometimes I forget important lessons that could leave me confused and annoyed for ages.

Here’s an example of one of them:

Sometimes you need to create a new component in your axml file. You add an id and the rest of the parameters. Then you want to create the event that this button will call once clicked. So you go to a CS file, create a new variable to hold the resource and proceed to create a new event. Then the compiler catches up and you see a little red squiggly line under your resource id name 😩

Why Does This Happen?

The Resource Library is searched for the id of the new component when the code is pre-complied. The Resource Library is a file in the Android project listing all id’s of your components declared within your axml files. If the id of the component mentioned in the CS file doesn’t exist in the Resource Library, then this is highlighted as an error.

Resource Id Resolution

Comment out the use of the resource in the CS file, then do a rebuild of the project. After that, uncomment the reference of the resource in the CS file. Voila!


The new resource needs to be added into the Resource Dictionary before it’s used in other files. By commenting out it’s usage in the CS file, when the compiler checks for the resources, it won’t find it anywhere and will continue to add it the Resource Dictionary correctly without freaking out.

Coding is part banging your head against your desk, part shouting at your computer, but mostly (hopefully) part fun. It’s the fun that expires me and keeps me going when I hit those coding walls of despair. But I keep hope alive because I know I can get over it…eventually! If you code something everyday, you’ll start to hit these walls less often.

Don’t Be Afraid to Pivot

Running a startup and working within a startup, I’ve learned that you have got to make decisions quickly.

When opportunities arise, you must think strategically for the long term and re-prioritise, change or even cancel your projects in order to seize those chances.

Always keep in mind what your long-term objectives and goals are. If you’ve been presented with an opportunity that will move you closer to your goal, then take it. If you’re a bit apprehensive, you could draw out a SWOT diagram or a table of positives and negatives to figure out your next move. But at the end of the day, the goal is to keep moving forward, so don’t let a lack of experience, lack of faith in yourself or lack of time stand in your way.

Make it happen and pivot! You can always finish what you were doing after you complete this little detour from your initial plan.

Tech Girl Issues #2: VR and Mixed Reality Headsets

I’m not just about my hair and nails, but if I take the time to look nice in the morning, I don’t want my efforts wasted by headsets (or any tech equipment) that I need to use everyday to perform my job.

As a woman in a development role, I’ve gotten used to the fact that I’m probably going to be the only woman within my team (and maybe the office depending on the size of the company). But to be honest, I don’t even notice things like this anymore, except when I’m actually using tech.

I enjoy the fact that I have an active role in the development and also the quality of the product that we deliver. I wholeheartedly believe that we need more females in development roles because we do think differently. And these differences will be reflected in the products that we eventually turn out.

So when I come across new innovations in tech that don’t seem to be designed with the other 50% of society in mind, it makes me slightly annoyed and disappointed.

We all know how important it is to ensure that your end user gets their hands on your product before you release, because if they only get it once it’s mass produced, it’s extremely expensive to recall and fix the problems or to teach the users how to use it.

The Tech Devices

Vive Pro

When HTC released the Vive Pro, we were lucky enough to get hold of a first version of the upgrade. And I wondered, having used the Vive Pro and the original for about year, does HTC even test these devices with a wide range of women?

With the high price point of these would expect it to be of a pristine quality and suitable for everyone, male and female who wanted to use it.

Now don’t get me wrong, out of the all the VR devices I’ve used in the last 18 months, the Vive Pro is actually one of my favourites. Plus being one of the first companies to produce a high end VR device must be hard without prior tech to build and extend. So I say this in the hopes that HTC amend they’re testing and development workflows so that they can gain more loyal customers.

Challenge 1: It doesn’t play well with my natural hair

With the first released version of the Vive, yes it’s heavy especially if you wear it as much as I do on a daily basis, but it’s comfortable. Except for when you want to take it off. The velcro on the headset is constantly catching my hair ripping out hard-earned growth. Then we come to the fact of what my hair actually looks like after removing this headset. Let’s just say if I tried to fix my hair after every time I took the Vive off, I’d probably lose an hour of work a day!

To get around this problem, I’ve resorted to either having to wear specific hairstyles that won’t need to be redone after constantly putting on and removing the headset or just give up and deal with the fact that I won’t have a tidy head of hair on my head throughout the day.

Challenge 2: Gives me a slight pain in the head

Now with this new and “improved” headset, although it’s supposed to be lighter, I’ve found that after about ten seconds I get a pain on the side of my head. This may be because I have a weird shaped head, or a small head but when I put the headset on, I adjusted to what I thought was suitable so that I could work. And this caused me pain. Should I need to be told the best way to put on a headset or should it be intuitive? The latter right? But, this is my job, so I’m going to have to figure out why the headset doesn’t like my head.

Note: After using the Pro everyday as my sole dwarfing device for VR, I don’t get this pain anymore. I’m not sure if my head’s gotten used to the weight or I’ve found a better fit, but I’m happy this is no longer a problem.

me with braids

Challenge 3: Braids don’t work either!

So as I’ve just been to Italy, I didn’t want to have to do my hair in 35°C+ heat everyday for two weeks, so the week before I got braids put in (the stickers on the back of my phone are the latest additions by my three year old daughter).

This was supposed to make life easier for me on holiday, but it didn’t at work. I don’t put my hair on any style extravagant, just up in a ponytail to keep it out of my face. But when I first tried to put the Vive Pro on I found that this wasn’t going to happen in my current style. So in order for me to test, I have to remove my hair band and put it back in when I’m finished every time. Needless to say this slows down work, but luckily it’s only temporary. But again, I’m reminded of the fact that this probably want accounted for during the design phase. I suppose the ”workaround” of taking my hair band out works, but should I have to use it this way? In 2015, 15 percent of males versus 8 percent of females had tried VR devices so to cater to the majority of users makes sense, but only at the expense of crafting a further barrier to entry for females.

Mixed Feelings with Mixed Reality

I’ve switched projects now and I’m using a Samsung Odyssey for testing. Overall, the device is nicely designed and light compared to other VR alternatives I have tried. And, I haven’t had the pain in my head when I first tried it like with the Pro so I’m happy about that. But, I still have the issue with my hair 🙁 I don’t think this is going to be a problem that’s solved anytime soon unfortunately. But I’d love to know the following things from HTC and Samsung to help me understand how they got to these design decisions:

  1. The percentage of testers that worked on the Vive products that were women?
  2. How many women HTC used during user testing of the Vive and Vive Pro?
  3. Did they choose a range of ethnicities?
  4. Did they even perform user testing?

Surely, I can’t be the only one that had these hairy (see what I did there?) issues? Maybe these issues were raised and were deemed minor or not a bug? I don’t know, which is why I need answers!

It sounds like I’m asking a lot, but for a global company like HTC and Samsung to roll out a product, you’d expect that they’d cater for the global audience. I mean, if a woman in her 70s wanted to start using her child’s or grandchild’s VR kit, why should there be a barrier for her?

Going Forward

I’ve used a few VR devices and they all have some accessibility issues. Making these products usable and comfortable for all users will increase the market reach, increase loyalty to the product (and possibly the brand) which would increase sales. So, why not invest more time into testing with a wide range of users to build out products that appeal to more customers?

Please consider this HTC, Oculus and Samsung. My hair and head would very much appreciate it.

What You Can Learn From Contract Jobs

I’ve just completed a contract app project. And although I’ve completed and shipped projects to app stores previously, there are significant differences in the workflow and processes that make these types of jobs more complex.

For starters I’m working with other people so expectations to deliver are higher, working builds are essential and completing to the agreed deadline goes without saying.

Here are some of the things that I have learned over this recent contract project and what I’m planning on implementing in my development practices going forward to improve my skills and workflow.

The Contract (or Client Agreement)

After discussing ideas with external clients, contracts, client agreements and non-disclosure agreements usually come into play.

This is a standard part of working with any client as they want to ensure their work/idea is protected and you want to make sure the work agreed is scoped correctly, all deliverables are defined and clear to both sides, and if this keeps the client happy all the better.

I’m not a professional working in the legal sector so I must state that you should consult a legal professional in your area to make sure any contract you sign is acceptable.

While most standard contracts should be sufficient and simple, it’s important to make sure the contract covers all details. For example, you may want to make sure that the payment date is determined by the work being delivered and not when the project is being used or released.

Freelance Jumpstart had a great podcast episode for this topic. I would encourage you to watch or listen to this to make sure you include any additional points into the contract you sign.

Project Scope

The project scope should be laid out in detail before the work begins. I provide a quote to the client before hand detailing all features requests and the cost of each. So when it comes to the contract, you can reference this document or include it’s contents to the project scope section.

Handling Feature Creep

Feature creep may come from a client trying to build a better product, or it may be it you getting excited about the project and adding in lots of additional bells and whistles that weren’t even necessary (believe me we’ve all been there). Another way feature creep can occur is from reviews.

To ensure you stay on track with development, after every meeting, write a summary email with the meeting outcome. It’s important to detail here any changes to the project scope or deadlines that will be incurred due to these late feature requests. But the best thing to do is to state that although these would improve the project, they will also add additional time to the project length and may mean the project deadline will have to be extended.

Depending on the client and their deadline will depend on whether you add these changes in or not. Remember to get acceptance to deadline changes in writing.

Supporting Documentation

You may not have factored in writing these documents when doing your initial quote but be wary that these documents are essential for your client so they need to be done.

So if you add in a feature for e.g. analytics don’t forget to include a charge for the report creation into the cost.

Project Management

Whenever you begin a new project, it’s important to outline your development process so that both you and the client are in the same page going forward.

If your project is across a few months, I would recommend setting up weekly milestones in the form of calls, emails or in-person meetings with the client to show progress. State this in the development process mentioned above so that all parties know when to expect these.

Verify at the beginning of the project to find out if the client thinks this is too frequent and adjust accordingly. A weekly meeting will also help you as the developer to ensure progress early and often.

Release Candidate Build

A release candidate (RC) build is what I call the build that you have produced which you have implemented all of the features and are ready for user acceptance testing. This may not be but free, but it’s feature complete. Any bugs found in this build should be fixed and a new build created.

Put in a RC deadline into your calendar a week or two before the contract deadline. This will make sure you deliver on time and factor in working on bugs during the contract length.

Project Support

This is something you’ll have to negotiate with your client. After handover (or whenever the client begins using your project) is the time when they may need the most support. Be prepared to support the project for about two weeks after handover, but make sure you have this as an optional additional cost in the contract. If you’re planning to be away during this time, bring a machine to debug and build on in case unexpected bugs arise.


When working with artists, request images in the correct sizes for each dpi folder. Or, if you’re willing to invest in some additional tools, you can also use mfractor’s Import Image Wizard feature.

For Android projects, these are the recommended sizes. For iOS projects, these are the recommended sizes.

Make sure that the images are also named in the correct naming convention for the platform or they’ll get rejected at compile or build time e.g. Android shouldn’t have uppercase characters or symbols other than underscores and can’t end in a number.

New Tools and Software

Working on a contract project instead of my own personal projects is a great way for me to stretch my own skills. For example, in this project the client had certain features that they wanted to implement, so this made me investigate using new tools and software that I maybe wouldn’t have chosen to use for my own projects. Doing this stretched my knowledge and has definitely helped me and my confidence grow.

The Good That Comes From Pushing Your Limits

I encourage everyone to work on a paid contract every now and again. It forces you to bring a higher level of professionalism to your work and when you’re at that level, you don’t want to go back to “anything will do to get this out”.

Lastly, I would advise you to try and accurately estimate the work you need to spend on implementing your features. If you find that a feature has taken half an hour to implement rather than the two that you estimated, move onto the next task and do something daily. Doing this early in the project will lead to more productivity and hopefully no crunch at the end.

Never crunch!

This post was exported in one click from Google Docs into WordPress with Wordable.

Tech Girl Issues #1: Smartphone Keyboards

I consider myself someone who embraces new technology, games consoles, smartphones, tools or software. From a young age I’ve always had an interest in tech which has followed me all through life so far. But time and time again it still happens. I come across examples that make it obvious that this product that I enjoy or spend a lot of time using was not designed for me or with me in mind.

This week, I recall a particular issue that I has when I was buying my first smartphone.

Smartphone Keyboards

IMG 20180826 WA0002

In 2010 I decided to let go of the monthly phone contracts and upgrade to a two year contract. This would allow me to get my very first smartphone. HTC Desire was the first smartphone I tried in Carphone Warehouse but I soon came across a big problem.

I liked the size and look, but typing using the touch screen keyboard was particularly difficult. The main issue I had was that my nails were preventing me from using the keyboard. This was because I was trying to tap the buttons using my fingertips.

Now you can see in the image, I don’t have particularly long nails. I’ve also never had the lengths that false nails provide. But every few weeks after they’ve been cut, my nails reach just over half a centimetre. It’s at this point I tried using the Desire and I thought “if I’m going to have this problem every few weeks, then my life is going to get more difficult, not less with this device!”.

Let’s Try This Again

Seeing my annoyance and frustration, the sales assistance presented me with another option. He then brought out a Samsung Galaxy S.

48201652044PM 635 samsung galaxy s

Why did he present me with another smartphone after I obviously wasn’t getting along with this first one that was, at the time, the best selling? It was because of a small piece of software pre-installed on the Samsung Galaxy S devices called Swype.

Now I guess I would’ve experienced this problem with all smartphones, but only the Galaxy S had the Swype software to remedy this problem.

After he explained how to type using this feature, I was so happy. I signed the contract straight away and went home to show my husband. He was pleased for me, but not for him because he’d already purchased HTC Desire which didn’t have this fabulous feature.

I know it seems like a small thing. But, if I never was introduced to Swype, I probably would’ve stayed a smartphone virgin for a couple more years. This small limitation excluded purple work long nails and generally that’s women. Yes, we could cut our nails, but should we have to in order to use the product?

Since the introduction of Swype, it was available on any other Android devices via Google Play. Then Google even put their own swipe feature into their Google keyboard. And, amazingly, in September 2014 following the release of iOS 8, Apple opened up it’s keyboard platform to allow developers to create custom keyboards to introduce Apple users to the magic of swiping instead of tapping keys.

We Need More Tools Like Swype

swype keyboard 1519114223534

Swype had reduced the barrier to entry for me and I’m sure a lot of others with long nails. But there’s one thing I want to draw attention to. There shouldn’t have been an additional tool available by a third party company solving this solution. The phone manufacturers should’ve considered this when designing the phone and came up with their own solution. Reducing the barrier to entry for those with long nails may have introduced a lot more women into smartphones earlier than they did.

These days children have smartphones a lot earlier. Could this have been a way to change the way women and young girls thought about mobile phones. Maybe getting them into using it earlier would open their eyes into the possibility of creating with these devices?

Who knows, but it certainly wouldn’t have hurt.

This post was exported in one click from Google Docs into WordPress with Wordable.

Get Up And Code Something Everyday

Being able to code something everyday is a great way to improving your development skills. Just like Jennifer Dewalt who built 180 websites in 180 days, you will slowly notice your skills improving. Things that you may have struggled with to begin with becoming easier.

The journey to building great development skills doesn’t happen overnight. I have to always remind myself of this fact. It takes time, lots and lots of time! Doing something small and short everyday helps you keep up your momentum, moves you forward little by little and keeps you motivated.

Speaking Up as a Woman in a Male-Dominated Tech Team

Here’s my next post which appeared first on Simple Programmer.

Since university, I’ve been in work environments (and sometimes geographical locations) where I’ve been in the minority in terms of ethnicity and gender.

It’s been this way for so long now that it usually surprises me when I see more than one woman in the office or on the team at the same time as me.

Therefore, I’d like to share with you, especially those female readers out there, the journey I have gone through in becoming a more outspoken person at work and other situations.

Yes, probably not all of these are specifically “female only” issues, but I can only speak from my own experience.

I’m sharing these thoughts with you so that if you’re currently going through this, you know:

  1. It’s not your fault.
  2. You’re not alone.
  3. You can get through it.

I hope that my experiences will help other females find the courage to speak up more in the workplace or other male-dominated environments and situations.

My Early Experiences

As I came from an all-girls secondary school and sixth form college, the change in gender ratios upon entering university took me massively by surprise. What was worse was that boys would make friends instantly, calling each other “mate” until they were friendly enough to ask each other their actual names.

Being in this new balance of males to females, I quickly noticed a few things. One, because of the very small number of girls in my course, I had no one in my seminar groups to bond with and hardly anyone in the lectures.

Two, the boys didn’t seem to engage with me in the same way they would befriend a new male and integrate him into the group. Looking back on this time, maybe this was due to the fact that I was in a computing course with a load of boys where some or most weren’t used to interacting with women regularly, but at the time, this wasn’t obvious. And since I was by myself and far from home, being left out wasn’t a pleasant feeling.

Because of the lack of women in the tech industry, we are more likely to second-guess ourselves in situations where we are the most experienced. We don’t shout about our achievements and don’t claim our individual successes. So in order to make sure I wasn’t stuck in a course, speaking only to myself for three years, I chose to learn how to speak up.

Why It’s Important to Speak Up

I currently work as a QA and Release Manager. Day to day, I have to ensure that the projects we produce for our business and platform users are of a high standard.

I carry out manual testing and write automation scripts to alert the developers as soon as possible when their features are broken. Besides this, I communicate with product managers to get accurate acceptance criteria, and I make sure the product’s features align with the business values.

When testing, I also need to speak with developers and DevOps engineers regularly. Every so often, I also speak with the “chiefs” to update them on issues that may affect the quality of the business products at a high level.

So, I do a lot of talking and listening every day. It’s important that I can confidently engage with everyone, from the CEO to developers, so that my point is heard and taken into consideration.

If I’m not able to speak up about the issues that I find or convince others about my opinions, then customers could have a bad experience. This could negatively affect the company’s brand and impact their finances in the long term.

If you speak up and show that you are capable of getting your point across, you will portray a stronger, more confident self. Therefore, the sooner you learn how to say something, the sooner you’ll be listened to and heard.

Obstacles I’ve Faced

I have come up against a number of challenges, and they have not been easy to face or overcome. To be honest, feeling at ease about speaking up has a lot to do with your team and company. Knowing that you’re in an environment that’s not judgmental is key when you’re trying to overcome these challenges.

But you won’t always get to work with these “golden teams.” Here are some of the things I experienced when I didn’t feel like I was working with that “golden team” and what I learned as a result.

When You Think of the Answer First

It’s the usual weekly meeting “X” with the team, and you’re discussing the best way to solve a problem. After taking a few points in and using your own knowledge, you come to a sensible suggestion, but you stay quiet. The team goes on for another 15 minutes discussing the solution.

Then suddenly someone else will exclaim the same idea you had. You’re happy because you were right, but you kick yourself because you regret not saying it.

Lesson: Even if you aren’t sure it’s the right solution, speak up and say what you think. Your teammates are not mind readers, so you have to help them hear your thoughts. And if your idea solves the problem, you could save everyone time and build your credibility at once.

When You’re Not Confident in a Group

Imposter syndrome affects a lot of people, male and female, but I’ve found that it especially affects women within the technical fields.

Feelings of self-doubt and fraudulence can strike, for instance, when you’re in a small group of developers. You may not feel like you can contribute to the discussion for fear that you’ll be wrong, and then they’ll find out that you don’t know as much as you seem to. You’ll be laughed at for saying something stupid, and then you’ll be fired, fall behind on your mortgage payments, and lose both your house and your partner.

OK, that’s probably getting a bit extreme, but that’s generally what people have in the back of their minds. Your team or employer will find out that you don’t know everything and will think badly of you. So instead of speaking up, you stay silent in the hopes that no one discovers your “secret.”

In reality, this never happens. People on your team are generally more forgiving (and feel exactly the same way as you). The only thing that actually happens is that you don’t grow.

Lesson: Say something, no matter if it could be wrong. Practice engaging within a group to learn more than you currently know. Asking questions and giving your opinion is generally something that’s not going to negatively affect you.

When No One Hears Your Answer

Another situation could be when you’re in meeting “X” and you drum up the confidence to express your idea, but no one hears you, and they continue talking. You go quiet again and continue to listen to everyone’s comments. Then after five minutes, someone has an idea that’s exactly the same as what you said previously, and you kick yourself again.

Lesson: If this happens, don’t shrink back. Remember that the fact they didn’t hear you was most likely accidental.

You need to think about why you may not have been heard. This may be for a number of reasons, for example:

  • There were too many people in the room speaking, so they couldn’t hear your voice.
  • You said it too quietly to be heard.
  • You’re typically a soft-spoken person who may not be easily heard all the time.

Try hard to shake off whatever you’re feeling about this, gather your confidence, and say it again but louder and clearer, making sure that everyone can hear you.

When Your Answer Gets Dismissed

This last example is not very pleasant, but it can happen, so I thought I’d share it.

You’re in meeting “X,” and you are quite confident about the subject being discussed. A question is asked, you give your opinion loudly and clearly, and it’s even a possible correct solution. But you get shot down by the person leading the meeting. However, when another person says the same thing, they are praised for their idea.

Lesson: Note the times, dates, and situations where this happens. Then report it to your manager and/or Human Resources department as soon as you can. This may be a pattern with a specific individual. The stifling of anyone’s opinion should never be tolerated in any company.

Get the Team Used to Hearing Your Opinion

The only way to overcome these situations is to give your opinion whether or not you know it’s right. The idea is to get used to speaking clearly and confidently.

Don’t let people who have opposing opinions when discussing your ideas catch you off guard and shake your confidence. They’re not (always) doing it to challenge you negatively, but they are doing so constructively, making sure your ideas are truly solid. Discussion about your idea confirms that you at least are being heard.

Lastly, you want to make sure you’re not too forceful with your opinion. Be strong and confident, but not arrogant. It’s a fine line, and some people may only see you as bossy, arrogant, or bitchy no matter what you do.

Make sure you identify these individuals and take what they say with a grain of salt. Don’t let them shake you.

Face Your Fears Little by Little

When I first entered these environments, this gender imbalance made me a lot less confident and unsure of myself. Sometimes, this can be misconstrued as you not knowing what you’re talking about rather than your being in an uncomfortable situation.

And unfortunately, for some men in high up roles, this can be abused further by talking down to you, making you feel less confident about your suggestions, and even dismissing your ideas when you do drum up the courage to say something.

I’m here to let women who are in the same position as I once was know that this treatment is not OK. The only way to make yourself heard is to speak up. Speak up loudly and confidently.

This is still a personal journey. Some days, I don’t want to be talkative (which usually suits my developer colleagues, who want to get in the zone and code all day, just fine), but I still need to push through and complete my daily tasks.

Sometimes I make mistakes and say stupid things, but I’ve learned to pick myself up faster and get better each time, and you can, too.

Like anything worth doing, it takes hard work and practice. And remember, you’re worth being heard.