brightec
Home Services Projects Blog About Contact

Our Code

Latest Posts

Rhys working on a laptop
Firebase App Distribution vs Testflight

Perhaps the most important part of software development is acquiring feedback from users. There are multiple efficient ways to do this for mobile app development. Two of the most prevalent are Firebase App Distribution and Testflight. Here are the pros and cons of each and what we use them for.

Build a Mobile App from Scratch

I’ve been building mobile apps professionally for two years now, however I’ve only recently built an iOS app from scratch as a side project. This blog post is a summary of what I’ve learned and resources I used, I hope it will help or inspire you to get started on your own app.

Read >

Older Posts

Alistair working at his desk alongside Rhys
Internationalise your multi-module Spring Boot Application

How and where to define your user-facing strings.

Read >
WSDL client generation with Kotlin and Gradle
WSDL client generation with Kotlin and Gradle

How to use JAXWS to generate HTTP client code using the Gradle Kotlin DSL.

Read >
Elle sitting at a table thinking
A-Z App Development Jargon Buster

A glossary of common app development terms explained

Read >
Rhys working at his desk in the Brightec office
Secure Secret Storage using Google Cloud Platform

A simple solution to securely storing client and application secrets when using Google Cloud Platform

Read >
Alistair and Rhys working alongside each other
Introducing Vectordrawable-Seekable

Using the new and improved AnimatedVectorDrawable to pause and seek your animations.

Read >
Andy sitting at a desk with one of the Brightec team
Refactoring with Empathy

Is it just me or do the words ‘refactor’ and ‘rearchitect’ fill you with dread?

Read >
Nick Holcombe Headshot on the firebase app distribution blog post
Firebase App Distribution: Improving our sharing process

We wanted to make sharing our apps with testers easier

Read >
Kotlin Multiplatform iOS Certificate Pinning
Kotlin Multiplatform iOS: Certificate Pinning

How to implement certificate pinning in Kotlin Multiplatform using Ktor

Read >
Jonny talking to Chris and Elle in the office
Starting out in a new industry

Jonny is our latest junior developer, here’s his experience of working at Brightec so far…

Read >
Kotlin Multiplatform Android/iOS: Connecting coding and culture
Kotlin Multiplatform Android/iOS: Coding and culture
How does Kotlin Multiplatform affect your development culture?
Read >
Kotlin Multiplatform Android/iOS: Testing
Kotlin Multiplatform Android/iOS: Testing

A how-to guide on writing tests within Kotlin Multiplatform.

Read >
Kotlin Multiplatform
Kotlin Multiplatform Android/iOS: Project Structure Strategies

A guide to how should you structure your multiplatform project?

Read >
Alistair XMLCheck
Writing an XML style checker with Clikt

How we went about creating tooling to maintain high-quality code.

Read >
How to analyse Play Store Reviews in Google Sheets
Play Store Review to spreadsheet automation
Our guide to analysing Play Store Reviews in Google Sheets
Read >
Android Blog Post Featured Image
HowTo: Creating a Barcode in Kotlin Android
Read >
Brightec Code
Given When Then - Our Testing Approach
We've been looking into why we write tests and how we go about them
Read >
Brightec Eye Image
CircleCI: How to Create Signed iOS Builds
We set up nightly QA builds for our iOS projects on CircleCI so that we didn’t have to keep creating them manually.
Read >
Steve from Brightec
The SVG that wouldn't render
This puzzle took a little time to figure out but we managed to spot the difference.
Read >
Brightec Android Icon
Android Threads & Coroutines for Beginners
What is threading? Why is it important for Android? And where does Kotlin fit in?
Read >
Brightec Code
Flutter - is this the answer?
Could Google's cross-platform solution solve all our problems?
Read >
Chris at Brightec
How to Get the Best from Code Reviews
Chris has been writing about how we improve our coding and learn from each other.
Read >
Brightec Code
Why do we charge for bug fixing?
It’s a question that comes up regularly with new clients - we thought we’d shed some light.
Read >
Android Development and ConnectivityDataLive
ConnectivityLiveData
Our Android development team look at using Android Architecture Components to provide an observable interface to our connectivity status.
Read >
Coding Ideas Featured
Extending the ListAdapter with a header view
For all Android app developers tackling the issue of scrolling, read on...
Read >
How a mobile app developer writes an API 1
Writing an API - a mobile developer story
This in-depth blog series offers a step-by-step guide for mobile development teams.
Read >
Brightec Mobile App Development  Agency UI Testing tips 1
Swift Code: UI Testing Tips
Chris explores the topic of UI Testing your View Controllers in isolation
Read >
Scaling on Google App Engine 1
Scaling on Google App Engine
On a recent mobile app project using Google Cloud Platform, we had issues with instances not scaling as expected. So we took a closer look to understand what was happening.
Read >
Spend more time in the Playground 1
Spend more time in the Playground
In case you missed it, Apple released an experimental coding environment alongside their Swift programming language. So we had a play...
Read >
User Authentication for Cloud SQL 1
User Authentication for Cloud SQL
When using Cloud SQL for databasing on a project, we needed a solution to ensure the right people could access the right information.
Read >
How to set up Cloud SQL in Java Brightec illustration
Setting up Cloud SQL in Java
Are you setting up Cloud SQL within a Java project using Android Studio? Read on - and hopefully we can point you in the right direction!
Read >
Firebase Test Lab on CircleCI
Firebase Test Lab on CircleCI
Following Apple’s purchase of Buddybuild, and their decision to drop support for Android projects, we've been looking for an alternative CI platform for our Android projects.
Read >
How Brightec mobile app developers use Google Cloud Endpoints 1
Using Google Cloud Endpoints
APIs need protecting - when we were recently using Google App Engine we explored Google Cloud Endpoints and utilised them to improve the security.
Read >
Queued tasks on App Engine for Firebase 1
Queued tasks on App Engine for Firebase
We’ve recently been exploring Google App Engine with Firebase. Here’s how we queued tasks between them.
Read >
Brightec discuss Firebase Cloud Functions 1
Trigger Firebase Cloud Functions
How do you trigger Firebase Cloud Functions when a file gets uploaded? We recently needed to take regularly updated text files and read them into a database. Here’s how we used Firebase to do it.
Read >
Default Blog Image of logo on blue
Top tips for developing multitasking apps
If you're looking at developing a multitasking app, there are a few issues you need to consider, as our colleague Rhys has been discovering.
Read >
Android
Code snippets in Espresso
A few snippets from Espresso - the automated testing framework for Android
Read >
Coding Ideas Featured
PIN protection for your app using LolliPin
How to setup LolliPin pin protection to keep your apps secure
Read >
Talking
Working with Layer Messaging
Some hints and tips for working with Layer - the messaging service provider.
Read >
GitHub
Brightec on GitHub
GitHub is an invaluable resource for developers all over the world. We've collected below a selection of our own GitHub repositories and related blog posts.
Read >
Custom drawing ideas main
iOS Custom Drawing for Beginners
A simple tutorial to help you create iOS custom drawing components
Read >
Android library
Open source your Android Library
Rate The App - Part Two: Making your Android Library Open Source
Read >
Android library
Creating an Android Library

Rate The App - Part One: The story of creating an Android Library.

Read >
Top Shelf ideas main
Creating Top Shelf content for your tvOS App

A quick guide to developing Top Shelf content for a tvOS app.

Read >
Default blog image of logo on dark grey
Communicating between two devices using WebSockets
How we used WebSockets to enable two devices to communicate with each other.
Read >
Default blog image of logo on blue
Android Studio Improvements
What can we expect to find in the upcoming (and ongoing) improvements to Android Studio?
Read >
Default blog image of logo on blue
Calling RESTful APIs with Retrofit
How to call RESTful APIs with Retrofit (in just 3 steps)
Read >
Wearable
IBDesignable and IBInspectable with CoreGraphics
Working with CoreGraphics can be a developer's nightmare. It’s our bogey-man hiding under the bed.
Read >
Default blog image of logo on yellow
Simple Android network requests
Chris explores how we set up network requests for Android
Read >
Default blog image of logo on blue
Android Multi-Builds
Building Android projects automatically against multiple APIs
Read >
Default blog image of logo on blue
Objective-C code in a Swift project
Objective-C code is Shakespearean English and Swift is the latest London Cockney slang?
Read >
Default blog image of logo on green
Free online XLIFF editor
At WWDC 2014 there were a number of noteworthy releases from Apple. One that gathered perhaps a little less attention was the adoption of the XLIFF file format.
Read >
Default blog image of logo on yellow
Code Standards
What’s the difference between code standards and code style?
Read >
Default blog image of logo on yellow
Code Style expectations
How quickly can a developer start contributing good code?
Read >
Default blog image of logo on yellow
Why Continuous Integration?
This is the first of a four part series - ‘Evolving the development process’. Part 1 looks at CI (Continuous Integration).
Read >
Default blog image of logo on black
UICollectionView using horizontal and vertical scrolling with sticky rows and columns
A tableview which could be scrolled both horizontally and vertically?
Read >
Default blog image of logo on blue
Code Style Guide

Is there really anything worse than someone else’s code?

Read >
Default blog image of logo on green
How we created a Custom Slider with marks for IOS
The problem came to light when we needed to set a number of marks on a music player...
Read >
Default blog image of logo on yellow
iOS 7 Custom View Controller Transitions and Rotation

Custom iOS7 Transition
iOS 7 introduced a whole bunch of new APIs for developers to sink their teeth into but one of the standout APIs is the ability to create custom UIViewController transitions. Unfortunately it's also one of the most confusing.

Read >
Default blog image of logo on yellow
Simple multi pane in Android - Pt 2
In the second part of this article we look at how to add interactions to the split screen layout
Read >
Default blog image of logo on yellow
Simple multi pane in Android - Pt 1
A good way to utilise the space on tablet devices is to use multi-pane (split) layouts to present different parts of the app on one screen.
Read >
Default blog image of logo on grey
Android ListView with an alphabet scroller
When presenting data in a ListView it may be helpful to have a scroller down the side to allow users to quickly jump to a specific letter.
Read >
Default blog image of logo on blue
How to change the colour of a UITextField's placeholder text for iOS7 and still support iOS6
Working with UITextFields is generally quite easy, but how do we change colour?
Read >
Default blog image of logo on blue
Custom Android media controller
This post will explain the process that we went through and a sample project to help you build your own media controls.
Read >

Looking for something else?

Search over 200 blog posts from our team

Want to hear more?

Subscribe to our monthly digest of blogs to stay in the loop and come with us on our journey to make things better!