How to take screenshots in VR

Testing in Virtual Reality (VR) is already quite challenging because VR in the mainstream is still new.

I have tested VR applications for the last two years on a number of devices.  I can undoubtedly say that taking a screenshot of your issue is 10 times more effective in relaying your issue to developers than writing reproduction steps. It’s just like that old saying, “a picture is worth a 1000 words”.

Before knowing how to take screenshots within VR on devices like the HTC Vive or Oculus Rift, (or when a particular version of SteamVR just makes this function obsolete) this task wasn’t easy. I had to resort to positioning myself close enough to the machine running the application so I could press the print screen button on your keyboard. But, I also had to be in a good position and direction in VR to accurately capture the problem I was highlighting. Let me tell you, there was a lot of awkward stretching or using random office objects as props involved.

Then, another QA discovered the ability to take screenshots in VR from within the device! My life changed (no, I don’t think this is too bold a statement).

Now, while testing applications on the Vive, we were always pressing weird combinations of buttons to find bugs so that the developers could fix these issues. So, when she told me I had to hold down some buttons, I couldn’t understand why this never worked before. Then, she mentioned a key bit of information, Steam had to be open.

Since learning this, I’ve discovered ways to take screenshots in VR across all the devices I test on. And, I’d like to share this knowledge, if only to make your day-to-day testing activities in VR easier.

Devices Covered

This guide is applicable to the following devices:

You will require the following also be to set up:

  • Steam VR version 1.2.10
  • Running Steam client
  • Windows Mixed Reality client

Taking Screenshots on a HTC Vive or Vive Pro

Taking a Screenshot

  1. Open the Steam Client
  2. Go into a VR session
  3. Pull the trigger on any controller
  4. Press the System button

Getting the screenshot

  1. In Windows Explorer, go to C:\Program Files (x86)\Steam\userdata\XXXXXX\YYY\remote\ZZZZZZ\screenshots

Taking Screenshots on an Oculus Rift

Taking a Screenshot

  1. Open the Steam Client
  2. Go into a VR session
  3. Pull the trigger on the left controller
  4. Press the Oculus button

Getting the screenshot

  1. In Windows Explorer, go to C:\Program Files (x86)\Steam\userdata\XXXXXX\YYY\remote\ZZZZZZ\screenshots

Note: Unfortunately, the location of the screenshots are a bit fiddly when using the Vive and Oculus. The screenshots seem to go to directories with random numbers assigned to them. So you’ll have to do a little trial and error to get to the correct one. I recommend once you find the correct folder, that you pin the location to File Explorer on the Taskbar.

Taking Screenshots on a Samsung Odyssey

Taking a Screenshot

  1. Open the Steam Client
  2. Go into a VR session
  3. Press the Home button
  4. Pull the trigger to select the camera icon
  5. Pull the trigger to take a screenshot (press the Home button again to close the Screenshots mode)

Getting the screenshot

  1. In Windows Explorer, go to C:\Users\<username>\Pictures\Camera Roll (so much easier!)

Make Your Life Easier And Take A Screenshot

The ability to take screenshots easily when testing on any platform is essential. Testing in VR is already quite challenging because it’s so new. Being able to take screenshots, knowing how to perform the action, and being able to collect your images from the device are some of the most useful things you could have when testing in VR.

DevelopHer Reboot your Personal Brand at Syzygy

Last night, I went to the DevelopHer Reboot your Personal Brand, how to stand out in 2019 event. It was held at Syzygy in London who put on a nice selection of vegan, vegetarian food and drinks.


Event Space and Organisers

The Syzygy office was light, modern and really easy for me to get to so I was happy.

The event organiser, Sally,  and contact at Syzygy were really welcoming. In fact there were a few of the board members of DevelopHer dotted around in each group and they were really easy to talk, I thought they were just normal attendants.

The timings of the event was managed well so everything was on schedule. A lot of people even stayed behind after the main tasks were complete to network.

Main Event

There were four areas to the evening which were 30 minutes each and delivered in a speed coaching style (hopefully that makes sense). The areas were:

  • Update on your CV
  • LinkedIn profile
  • Professional profile headshot
  • Your personal presentation skills


After being split into groups, we were guided to our first area. Here, Dani Barett gave us tips about our LinkedIn profiles. I’m quite a regular user of LinkedIn so I knew the basics, but I did learn that you can tailor your “open to offers” option. This helps attract the right recruiters to you and, hopefully the jobs that match your skills.

The second area was with Maarit Lilley. She mostly focused on our personal summary. It was interesting to hear the arguments for using the third person view and in what kinds of documents. I also got tips about where to put additional unpaid experience like my work with Lignum Vitae Club.

Our next stop was the photo shoot. I’m one of those people who don’t like their picture taken. I’m so bad that I have to vet the images my husband can post on social media! So it’s fair to say that I wasn’t very comfortable in front of the camera. But, I accepted something  that night after talking to the lovely ladies and gentleman in my group.

Simply put, other people don’t care about your imperfections in photos. Only you do, so ignore them, they’re probably not as big a deal as you think.

The last stop was the personal pitch. Here, we were split into teams of two to practice our pitch. First, we had 30 seconds to tell them our name, job and what we do. Next, an extra 15 seconds was added for us to talk about what we enjoy doing, then another 15 seconds for what we want to do in future. Every time more time was added, we were asked to rotate someone out so that we spoke to the different people.

From this exercise I learned:

  • I talk a bit too much, I need to focus on cutting down what I’m saying for my pitch
  • You need to give energy into what you’re saying (but not so much it’s corny)
  • You need to listen to what people say and if you find a connection with them, use it to converseI
  • It’s important to keep eye contact
  • Don’t downplay anything you do by saying what you do is boring, because I bet it’s not

Yes, I’d Go Back

Overall, the people, attendants and organisers were lovely. Everyone was approachable and I learned a lot. The atmosphere was very supportive and everyone was open and gave good and honest feedback.

I will definitely be on the look out for a future event.

Why is QA not considered a separate engineering path?

Last year I started thinking about how important it is to have good testers in a development team, and that companies and the public are (finally) more aware of this fact as well.

The perception of testers as a positive and driving force behind delivering a quality product has definitely changed for the better ever since I began in the field over ten years ago.

Stories about how products and services are failing on a public and large scale are seen in the news more often as the dependence on technology grows everyday.

The importance of QA in development and as early as possible is also improving. With companies increasing more in the “shift left” thinking, testers are getting involved in product development earlier in the development process (as it should be) and within the iterative cycles all the way through to deployment.

Is the practice of QA and Testing as important for universities?

So, we now as an industry, widely appreciate the need for great testers, but why are the universities not producing courses on the same level as software engineering courses to help produce outstanding QA engineers and testers? Is it because testing is still not given the same respect as development? Do I believe having courses taught at universities about QA and testing would help improve the perception of test engineers? Well, yes, maybe it would.

It would show that QA and testing is a field in itself and is a reputable job to aspire to. I’m not saying that you should have to go to university to become a QA engineer, but the simple addition of a course being taught within universities to train individuals about QA and testing would elevate how many perceive QA.

Courses and Training for Testing and QA

When I was in university, the only exposure to testing practices we got was a short module in a four year course. And yet, it doesn’t seem that much has changed since then.

Other than the STE Software Testing Course from Oxford University, universities seem to be leaving the education and training of future testers to online facilities like Pluralsight, Test Automation University, Udemy and certification boards like ISEB.

Why is this? The field of testing is certainly complex like the field of development and programming. I would argue that you could share courses for programming that teach the basics in the first year but have modules delving into any of the following in the latter years like:

  • Automation and useful design patterns
  • Performance
  • Load
  • Security
  • API
  • Contract
  • UI
  • Exploratory
  • Regression and sanity
  • Manual
  • Test plan creation and management
  • CI and CD tools

Surely, even a short two year course could be made from this? Gaining a degree in testing from a university would give credibility to testers, showing that the field of testing and QA is a skilled and technical engineering discipline, and an area that people choose to stay and progress within and not just always a stepping stone job or something that individuals just find themselves within.

Recognised courses = Better Respect for QA and Testing?

The addition of these university courses, I’m hoping, will help to start changing the mindset that people in testing roles are skilled no matter if they’re performing only manual or non-functional testing practices.

Maybe I’m wrong and I haven’t googled enough, but I think that this needs to change in order to help change the perception of testers for the better.

2018 Gift Guide for Programmers

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

This year I was asked to write the 2018 Gift Guide for Programmers. While in my day job I’m not a programmer, I do consider myself a developer, I’m pretty versed in most things tech and I’m exposed to cutting edge technology on a daily basis. Plus my main circle of friends and associates frequently discuss new waves in tech. So I thought, “Why not me”.

So here’s what I think would bring a smile to the face of that programmer or developer/tech lover in your life.

Stocking Stuffers ($5 – $25)

Programmer Mugs (under $25)

CSS Is Awesome

A gift for the lovers of frontend and those that are backend but are secretly love css too.

I feel that this mug brings out a marmite response in people. They will either massively agree, or be offended. This gift is perfect for those that are frontend and proud of it. And you never know, it may provide some subliminal messaging to those who aren’t too fond of CSS to eventually sway them to love it.

It’s not a Bug It’s an Undocumented Feature

Ah, the age old “reason” for why something isn’t working as expected. We’ve all heard it, as a joke, from other developers, or when we’re just too tired to fix yet another issue.

Every developer needs a mug to drink their coffee, tea or hot chocolate (in my case!) from. So why not do it from a mug that speaks to your soul on all levels.

Algorithm Definition

Simple, plain design and colour to suit any kitchen color scheme. I love programmer jokes as it reveals “who’s one of us” in a simple statement. Or, it may just not be funny 😛

However, this mug and joke, is quite a good one and if you don’t fancy it for tea, why not stick your pens in it on that rare occasion that you use a pen.

Programming Tech (under $25)

VonHaus Monitor Mount for 13-32” Screens

I’ve recently decided to go with a single monitor arm because my desk is tiny and my monitor is pretty much the same length as the table. So if I raise it off the table, at least I can utilise the space under the monitor for books and stationary. Plus I think it’ll look much more put together.

This inexpensive monitor arm is strong, easy to manipulate into your preferred position on your desk but it’s also extremely sturdy once moved.

The monitor can be tilted forward and backwards and rotated from a horizontal to a vertical position.

I’m loving my new monitor stand and I think you or your tech partner will be very happy with this.

Programming Books (under $25)

Complete Software Developer’s Career Guide by John Sonmez

I read through this week by week when it was being written by John and it did hold a lot of really useful information particularly for those that are first going to embark on your development careers.

I think that the more experienced developer could also find this a useful resource to dip in and out of when they find a useful chapter.

Clean Code by Bob Martin

Although written a while ago, clean choice imparts principles that everyone in a technical role should try and adhere to and utilise. The intention is to create code that is maintainable, readable and easily extendable. These principles I find are not only useful for those that consider themselves traditional programmers but also those in QA that have technical roles. The benefits of applying these principles to your code will also positivity impact those that only read the codebase too as they will find the code easier to understand and follow. A benefit to all the team.

While Clean Code was written with Java examples, I’ve found that (if you have a good understanding of the basics of programming languages) the examples are easy enough to follow.

It’s a decent sized book, and a lot of technical knowledge is impart, so it’s not a short read, but the wealth of information will last you a lifetime.

Programming Clothing (under $25)

Programming pencil skirt by Red Bubble

I was made aware by this piece of apparel via Instagram from the feed of Adrienne Tacke. At first I couldn’t make out the code on the skirt, it just looked like a simple small pattern. That’s what’s great about this skirt, it’s pattern is subtle and could easily become a staple to any tech female’s capsule wardrobe. Going to the site, you’ll notice that there are a lot of different designs, so if you want something with a bigger pattern that screams #ilooklikeadeveloper, I know tech or I like tech, then I’m sure you’ll find something of your liking.

Engineer T-Shirt on RedBubble

If you fancy a simple engineering t-shirt for that male or female engineer in your life, this one looks good and is a simple fit. Available in range of colours and fits.

Women Finest Computer Programmers

I love this t-shirt! It’s one of few t-shirts describing females programmers as “women” and not “girls” or “babes”. It comes in five colours and is a nice casual or fitted fit for those “casual Fridays” in the office. And, you can even buy one for your daughter to set them on a good development path early on.

Nerdprauning T-Shirts

While writing this post, I’ve stumbled upon another treasure trove of awesome programmer t-shirts.

There are a number of simple designs so far, but come in a variety of colours for the logo and t-shirts.

Other Cool programmer stuff for stockings (under $25)


This little cup comes in a wide assortment of colours, sizes and materials.

Many branded coffee shops (and even small ones) are giving a discount to users of these cups when they use them to purchase their hot beverages. So if you want to help the environment and want a discounted great tasting drink when you need your daily dose, this is the cup for you.

False – Programmer Joke Unisex Over Knee High Socks Extra

Just what you need to keep you warm! Some over the knee, cotton socks. These socks are unisex so you can either wear it yourself, or give as a gift to your partner.

Been on a Few Dates ($25 – $50)

Programming Clothing (under $50)

Developer T-shirt by Maison Futari

I first saw this on the Instagram feed of Borombo. I like this t-shirt because of it’s simple design, it’s ability to “speak” to different people because of the language variations it’s offered in, and that it proclaims “I am a developer”.

It comes in three base colours and you can choose the language you want. Learning Japanese? Why not buy the Japanese version and flaunt your developer nature for all the world to see.

Things Are Getting Pretty Serious ($50 – $100)

Games (under $100)

Red Dead Redemption 2

I’ve heard so much about this game from the guys at work it’s like I’ve played it myself. Red Dead 2 has got a little bit of most games the wild west, robots, gun fights, horse(pet) maintenance, good story, equipment degradation I’ve heard it all. So I think that this should appeal to a wide audience.

Pokemon Let’s Go

If Red Dead 2 isn’t your (or the programmer in your life’s) first choice of game, why not try out the latest instalment of Pokemon.

This release on Nintendo Switch is the updated version of the Kanto region and you can ride a lot more Pokemon to get around, similar to what was used in Sun and Moon. Like many of the previous Pokemon games released, there are two versions of the same game which exposes you to different Pokemon to encourage you to swap Pokemon and connect with other Pokemon players. This latest instalment comes in the Pikachu and Eevee versions.

I’m a sucker for Pokemon myself so I’ll probably end up getting this along with Zelda Breath of the Wild this year, oh and a Nintendo Switch. An expensive Nintendo Christmas for me. How about you?

The Gift of Knowledge (under $100)

Resharper Subscription

Why write code all the code when there are tools that will do the small stuff for you?

Resharper is a developer extension for Microsoft Visual Studio. It’s only available on Windows so can’t be used for Visual Studio for Mac. It can automate some of your coding routines. It finds compiler errors, runtime errors, redundancies, and code smells right as you type, and suggests intelligent corrections for them.

Since the last few major upgrades, Visual Studio in-built shortcuts have improved, but having Resharper in your toolkit will definitely improve your productivity.

Resharper is available in different subscription models to be flexible to your needs.

Mfractor Subscription

If you don’t use a Windows machine but use Visual Studio for Mac, you may want to get hold of a tool called Mfractor. Made by Matthew Robbins, this tool is the Resharper for Mac users. It has in built shortcuts and shortcodes and the ability to add your own to make your coding life more efficient even when using XAML.

Mfractor is available in a Lite and Professional version so you can try before you buy.

Programming Accessories (under $100)

Modernist look Max II Upgraded

I don’t know about any of you, but I struggle to find a backpack that emulates a professional look but also can hold my laptop and everything that I could ever need on a desert island that I obviously take to work with me everyday. This bag comes quite close though.

It comes in two sizes and three colours. It’s water resistant and has a strap to secure it on top of a suitcase when being used as a carry on during your holidays.

With USB charging and so many pockets, it’s sure to be a bag to fulfil all your needs.

Wanna Move in Together? ($100 – $250)

Electronics (under $250)

Kindle Paperwhite

I really love using the Kindle and the all-new Paperwhite is a great addition to the Kindle line. It’s light, small, comes with twice the storage and is waterproof. Perfect for those days when you’re accidentally splashed while poolside relaxing with your device.

It’s battery life can now last you weeks if you’re clever with your Wifi connectivity and backlight, but even with these caveats, you’re still getting a lot of battery for one charge.

TicWatch E Shadow Smartwatch

I’ve not been interested in a smartwatches before (mainly because I’m concerned that I accidentally knock my current watch into many things on a monthly basis), but after seeing the promo video of this watch on Amazon, even I have been tempted.

This sportwatch comes in a  variety of styles and the face can be customised with a number of downloadable designs. It has a 1.4 Inch OLED Display, supports Android Wear 2.0, and is compatible with Android and iOS devices.

Computer Electronics (under $250)


Built upon the Raspberry Pi, the Poco is a multi-functional, easy to assemble pocket computer.

Measuring approximately 8cm x 11cm, with the addition of the free emulator download, you can turn the Poco into a classic games console emulator. However, if gaming is not what you want to do, then you can also use the Poco to make a music or media player, a compact action camera or use it to teach someone coding.

LG 29WK500 Ultra Widescreen Monitor

How do you make your developer set up more awesome and make yourself more productive? Two words. Ultra Widescreen! You need this in your life.

The one I picked up this year is the LG 29-Inch Ultrawide IPS Monitor, the sad fact is that my current MacBook Pro (mid 2012) isn’t supported out of the box for this monitor but this shouldn’t be a problem with the new MacBook Pro’s so rest assured.

It looks like a high quality product and if you’ve not sure whether a 29 inch monitor would be big enough, let me tell you, it is. I think honestly, if you go any lower in size with a this type of monitor, you would get the width but I’ve noticed the height is significantly lower than a normal or wide monitor. And you don’t want to be put off by that sort of thing when you should be deep into your next coding project. I’d definitely recommend this product.

Tech Accessories (under $250)

Seagate External or Internal SSD Hard Drives

How cheap is storage nowadays? I only left uni in 2007 and I still have a USB stick (that I used there!) which was 128MB! I don’t even think that size is even made for smartphones anymore. Even more recently when I upgraded my Macbook Pro from a 500GB HDD to an 120GB SSD I paid about £110 for it.

This year you can pick up that size for about £20! I mean how crazy is that. Storage is cheap mainly because the photos and videos we take and software we use take up so much space now we had to be given cheap storage or no one could use all this new fantastic features. So which do I recommend? I’ll stick with Seagate. It’s the brand that I bought for my Macbook upgrade, and the brand of the external SSD I also have.

Sony Wireless Bluetooth Over-Ear Noise Cancelling Headphones

These are a surprisingly lightweight but well-built product. They have gesture control to allow you to receive announcements with one tap. They also have an awesome noise cancelling function which can even drown out the loud noises of a London tube. It also sports a 30 hour battery life, which would last a normal daily two hour commute to work for over two weeks.

This is definitely a high end gift for that very special tech guy or girl in your life this Christmas.

Electronics (under $250)


How cute and awesome is this lovely robot?! Anki is the tamagotchi for the children of today.

Although not being able to evolve (let’s leave that to Pokemon) it actually learns from it’s experiences so will be a different Anki for each person. It’s small enough to be taken anywhere and it also has an app tie in so you can interact with Anki with different games and activities. It’s what every little programmer and big programmer would want after a real pet.

You’re a Nerd and I Love it ($250 – $500)

The Gift of Knowledge (under $500)

Pluralsight Subscription

It’s extremely important to keep up with the changes in technology. Being able to learn quickly is only a benefit if you have great resources to help you continually learn.

Pluralsight is an online video platform with a wealth of tech related information. These can range from updates to coding languages, tutorials to create features in projects or even soft skills for programmers. The platform caters to all user levels from beginners to the advanced so there is definitely something for everyone.

There are different levels to subscribe to the platform and they always have a free trial available so you can see whether you think this platform will benefit you along your development career.

Gaming (under $500)

Samsung Odyssey+

While working as the QA and Release Manager at a VR company in London, I’ve been being getting daily use out of the Samsung Odyssey since about July of this year. And, while there are a few quirky features, it’s easily my favourite tethered VR headset so far. We’ve also been able to get our hands on the Samsung Odyssey+ and you get all the benefits of the original Odyssey but a higher resolution display and lighter headset. With only two cables to attach to your PC, no lighthouses or external power supplies you will be extremely happy if you want to upgrade from the original Vive or Oculus.

Nintendo Switch

This latest console from Nintendo is still a major Christmas gift for anyone. With this console being both a home and portable console, it caters for those always on a commute with nothing to do but rude Epona through Hyrule fields and those who’s prefer to chill out at home blowing up rocks in the Dodongo caves.

With the release of Pokemon Let’s Go, they released a limited edition of the console ready to snap up before Christmas. Not sure what colour I’ll go for yet, but it’ll be under my tree this year for sure.

Computer Tech (under $500)

EVGA GeForce GTX 1070 Graphics card

In order to run the latest games and VR tethered devices, you need to have a high-end PC. And the Vive Pro and Oculus require some pretty beefy PCs to ensure you have a smooth, and awesome VR experience.

Upgrading your PC to a 1070 graphics card will allow you get the best experience and future-proof your hardware for a few years. Bear in mind that the Vive Pro and Oculus require the high-end specs, but the Odyssey can cope just fine with this. So you can always downgrade your VR hardware if the top end devices float out of your systems spec.  Just saying…

Let’s Make Babies ($500+)

Electronics ($500+)

OnePlus 6T

Latest release to the OnePlus family of devices is the 6T. Again, compared to the flagship devices of Samsung and Apple, this is extremely affordable for those conscious about price but still want decent phone specs for under £600. This phone also sports the new fullscreen display like it’s predecessor OnePlus 6.

It has a lot of ram to allow smooth usage between and within apps and a dual rear camera to allow your photos and videos to be on par with the new iPhone.

With it’s own version of Android, it strips back a lot of the bloatware that plagues other phone manufacturers so you’ll be able to use all that storage for what you need want to.

iPhone XR

Now I’m not an iPhone fan but I do like the look of the displays for the new X series models. The wide screen lends itself to more content for apps so I’m very excited to get my hands on one to develop on. Despite the single rear and lower spec camera (compared to the X or XS model), the iPhone XR is one of the newer releases to the iPhone line which means that it’s more likely to be supported by Apple for about five years, so in terms of development, you’re future-proofing yourself. And the biggest seller of the XR is the price! Although only being released in late October 2018, following the XS and XS Max release, this device is actually cheaper than the XS and XS Max.

Computer Electronics ($500)

MacBook Air

Have you seen the new Macbook Air? it’s thinner, lighter, had an updated processor and boasts a Retina display. Available in three colours, it’s all aluminum case makes it more environmentally friendly that previous versions. Apple also states that it has an all day, battery life, which if true could even give the Surface Laptop a run for its money.

Surface Laptop 2

The Surface family of products by Microsoft have been a major success for the company. With the flexible customisable spec you can build a product truly suited to your needs.

The Surface Laptop 2, has all the great features that the previous model did however, it also now comes in black. This sleek design and extremely light product comes with an Alcantara keyboard, and improved speed and performance.

I’ve found the touchscreen display quite useful when using certain tools like calculator where it’s super simple and quicker to just tap in your values into the screen.

Compatible with Surface pen, this device is definitely my favourite out of this price range.

Google Pixelbook

Despite being labeled as a Chromebook, this device is of a higher standard and build, therefore it commands a higher price tag. But, with a 360 touch display, fast charging, Google Assistant built-in, being super thin, light, small enough to go into your bag, and having four ways to use it, it would definitely make it onto my shortlist if I were buying a new laptop.

Tech Accessories ($500+)

Maestra bag by Senreve

Available in many colours and finishes, I can’t see how this bag wouldn’t appeal to any savvy female tech programmer.

This bag can be a tote cross-body, backpack or satchel.

Made from Italian leather, you can definitely glad this high quality product as a statement and investment piece for your work wardrobe.

And if the size is a problem, it also comes in a mini and midi version.

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.