What are B2C apps?

Thousands of apps are uploaded to the App Store and Google Play every day. The audience that your app is aimed at will determine whether it is a B2B or a B2C app.

What is B2C?

B2C stands for business to consumer. A business sells products or provides services directly to the end user. These are usually individuals who are everyday people.

When you produce an app where the customer is the consumer this is a B2C app.

What are B2B apps?

Thousands of apps are uploaded to the App Store and Google Play every day. The audience that your app is aimed at will determine whether it is a B2B or a B2C app.

What is B2B?

B2B stands for business to business. One business sells products or provides services to other businesses or organisations.

When you produce an app where the customer is a business or an organisation this is a B2B app.

If you want to know more about B2B apps listen to the ABP’s podcast episode on Opportunities in B2B and Partnerships.

11 tips from Women Techmakers

On Monday evening I attended an event held by Google in conjunction with Women Techmakers celebrating International Women’s Day.

The event was a series of talks about current technical advances in AI, VR, game development and a panel of experiences female developers across different technical areas.

There was a lot of great information shared on the night. This is a summary of the tips I think were important to share:

  • Join Adas’s list – a women only forum for women broadly working in technology and digital where they can ask for advice, share jobs, announce projects they’re working on, find expert speakers and get together at industry events.
  • When speaking in public, if you feel like you’re getting to emotional take a breath to calm yourself or take a sip of water
  • Confidence is a muscle, exercise it and yours will get better and stronger
  • When you’re new to a tech role try and achieve quick wins on projects to show your skills early on
  • Develop your skills to become a T-shaped professional
  • 300 Seconds gives pitching advice to women
  • Drive your own career by creating a one or two year plan
  • Work in growing areas
  • Work with smart people
  • Work on projects that you learn on
  • Take risks

7 popular ad plugins for Unity projects

Inserting ad networks is the easiest way to monetise your mobile project.  There are a number of different ad networks available. Which you choose to integrate into your project will depend on which is currently got the highest eCPMs and what type of ads the service supports.  The current types of ads available are banners, interstitials (full screen) and videos.

As the popularity of the Unity3D engine keeps growing more ad companies are realising the need to create not only SDKs that can be used for iOS and Android  but also for Unity projects.

These are the some of the most popular ad networks that support Unity projects.

Storing content within Unity made mobile apps

All apps will be made up some form of content. This may be images, text or a mixture of the two. Your app could rely directly on the content that is being stored or it could be used simply for translations.  Either way how you store it within your app will need to be considered as using a method that is inappropriate may impact on the quality and performance of your app leading to negative user experience and can affect the revenue generated.

So what ways can you store data within an app developed using Unity?

C# and .NET data structures

The most common methods are:

  • Databases (there are many types of databases to use, use one that you are familiar with)
  • XML serialization and deserialization
  • Data structures such as lists and arrays

Unity data structures

PlayerPrefs storing single values within Unity using a key/value pair style data structure.

Asset Store plugins

The Unity Asset Store also provides useful, quick to implement plugins like Google Sheets For Unity (GSFU) which creates a game object that once add to your scene and set up connects to a Google Doc sheet  document and reads data from these sheets. When the sheets are updated the changes are reflected in the project. Very handy as these changes won’t require a new submission to the app stores to modify content.

The data structure you decide to use will depend on a lot of factors. These will be specific to your project so you need to consider how secure you need all the content to be, whether the data needs to be dynamically accessed when the app is being used and the file size restrictions of your app for your chosen app store.

So think carefully about which data structure that will most benefit your project, bear in mind it may not be a simple task so you may have a learning curve.

Analytics packages for Unity projects

What is Analytics?

Analytics packages are plugins for your Unity projects that are either made by third party companies or Unity Technologies.

Analytics allows the developer to gather statistics on the user’s progress through the app. This means we can improve designs, the user’s journey and cater more closely to what the user actually wants rather than what we think they do.

Most systems have basic and custom events options to help you obtain the best information. Basic events are tracked as standard when you set up the SDK in your project. Custom events are those scripted by the developer to capture data that may be specific to that app. If you’re not very technical, just using the basic analytics events should give you a good amount of data to analyse to begin with so you don’t need to worry about any custom events. However, you could always hire a contract developer to integrate custom events for you.

The basic events that are tracked will depend on the system you choose to add.

When should you add analytics to your project?

I would suggest that you integrate analytics within the first version of your app.  This way you have at least captured the basic analytics data from day one. You can always add custom events in a later update.

What’s currently available?

Here’s a short list of the analytics packages available to add to your Unity project.

  1. GameAnalytics – free
  2. Google Analytics – free
  3. Flurry Analytics – free
  4. Unity Analytics – free
  5. Prime31 – $40+
  6. Parse – free
  7. Game Sparks – free

Which one do I pick?

I have been using GameAnalytics within my apps and have found the integration process extremely fast and easy to understand even for someone with no previous experience. But there is no right or wrong solution to use. It’s all about preference, how much you’re willing to spend and how much time you have to learn the integration process.  For beginners developing cross platform apps, I would recommend trying to use a tool where the code used to add in the basic events doesn’t change for each platform.

What is Unit Testing?

There are a number of resources on the Internet and offline that go into detail about the definition of unit testing.   The MSDN site defines unit testing as follows:

The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use.

The developers enforce test-driven development (TDD) in my current role as a software developer so I was introduced to unit and integration testing.  My experience so far with unit testing is like the MSDN definition above, however  writing these tests with the test tools for the Unity engine does not appear to be the same.

In a later post I’ll discuss writing tests within the Unity engine. For an introduction to using the test tools within Unity watch the live tutorial.

In the meantime, here are some more links regarding unit testing that you may find useful

Minimum tech for Android development

So you want to create an app and release it to one of the App Stores? That’s a great idea, however you will need a few basic tools and tech in order to develop and release your app.

Every platform’s app store is different so which you decide to focus on will depend on why you are making this app.

For now I’ll assume that your focus is to develop and release for Google’s Play Store and Android development (for the minimum tech needed for iOS development read Minimum tech for iOS development).

For Android development you’ll need the following:

There are tools that you can use to emulate how your app will look and function, like using the Game window in the Unity editor. However, I would advise to test on physical devices when you develop an Android app because of the multitude of devices with different screen sizes and resolutions.  This is sometimes known as fragmentation across Android devices.  But bear in mind that it’s not practical or possible to test your app across every Android device.   By picking a cross section of the most popular devices (with the most popular  screen sizes) and using these as the bare minimum you should have sufficient test coverage for your app.  As long as you fix any issues that you find during testing, when you release you should be more confident that your app won’t run into many fragmentation issues.