USING FASTLANE IN YOUR BUILD PROCESS

Over the past few months, we’ve really ramped up the number of meetups and conferences we talk at here at RIIS. One of the best things about giving a talk is not necessarily what you say but also what you hear. In the last few months I’ve heard Fastlane mentioned several times when talking about…

ANDROID SAFETYNET API

Communication between a mobile app and any backend server is one of the hardest areas to secure. Secure Sockets Layer or SSL is broken and has been for some time. First things first, if you send data using http then anyone can download your app, proxy the WiFi through a PC and perform man in…

ANDROID DESIGN PATTERNS

There are just too many reasons not to start thinking about using some sort of Design Pattern when you’re developing Android apps…scratch that when you’re developing any type of app of website. The urge to just start coding will always be there but you might want to wait a little and think about what you’re…

DRONES: FROM MAPS TO APPS

Over the past few months there has been an explosion of new drone announcements. DJI released the Mavic Pro, GoPro released the Karma, Yuneec released the Breeze. This was on top of an already crowded marketplace which included other DJI drones as well as 3DR, Parrot and many more consumer and commercial drones. What isn’t…

MOCKING IN SWIFT WITH CUCKOO

Swift is different from other languages. The same rules do not apply. Other languages can use reflection to alter your runtime code to mock out the classes. But you can’t do that in Swift. It’s been designed to be a much safer language and doesn’t allow the code to be modified at runtime. There aren’t…

SWIFT GUI TESTING WITH XCUI

iOS apps fail for a number of reasons other than simple logic errors that we typically catch with unit tests. The app may not install correctly, or there may be a problem when you move from landscape to portrait and back again. Your layout also might not work on one of the devices that you…

BANKJOY MOBILE WATCH APP

Every quarter we at RIIS choose three apps that we add to our Research queue. We pick some emerging technology and then the interns and people on the bench get to turn the idea into a real app. Typically we pick some emerging technology such as IoT or Hadoop and usually we choose a use…

SONARQUBE, JENKINS AND SWIFT

Continuous Integration (CI) systems really come into their own when working on larger projects with a team of developers. As each developer checks in their code, the app is built, unit tested and you even have the option of letting the business stakeholder get a copy of the app. Experience will tell you that someone…

SWIFT UNIT TESTING IN XCODE

In this blog, we’re going to look at creating a simple app to show how easy it is to add unit testing to Swift apps in Xcode. We’ll look at how much we get out of the box and then create a calculator app to do some simple unit tests. First create a new Xcode…

SWIFT UNIT TESTING ON UBUNTU

Swift was announced at the WWDC in 2014 and late last year the code was open sourced. It can run on both OSX and Ubuntu which is a huge departure for Apple which has typically been a more closed system. The language Swift is a completely different animal to Objective-C. Being brand new it doesn’t…

ANDROID OBFUSCATION TOOLS COMPARISON

As you may or may not know, Android apps can be decompiled back into something very close to the original Java code. It’s a simple process. You don’t even need a phone. Download the target APK using the Apkpure website and then use Jadx to decompile the code back into Java. One easy way to…

ANDROID MOCKING

One of the major goals whether it’s on the Android platform or not is to isolate the code that we’re testing. When we write our tests we should be testing a single method and not its dependencies such as a web service. Mocking out these third party interactions is a great way to help us…

ESPRESSO TESTING ON ANDROID

Android apps fail for a number of reasons other than simple logic errors. At its most basic the app may not install correctly, or there may be a problem when you move from landscape to portrait and back again. Because of fragmentation the layout might not work on any number of devices that you haven’t…

ANDROID UNIT TESTING

Before Android Studio incorporated JUnit4, Google’s implementation was an odd mix of standard and Android specific unit tests.   The current version of JUnit4 is a much more vanilla implementation of the JUnit standard, see http://junit.org for more information or https://github.com/junit-team/junit for the source code. The current recommended version of JUnit we’re loading in the…

AGILE TESTING ON ANDROID

Agile development has been problematic for Android developers. For a while now there have been a number of ways to test the user interface such as Robotium or Monkey Runner but before Android Studio 1.1, unit testing was hard to use, hard to configure and quite challenging to implement on the Android platform. Google would…

API KEY PREFERENCES

Most Android apps that do any real work operate in a client – server architecture with the phone acting as the client and much of the heavier work taking place on the backend server. Sometimes you have control over the server that communicates with your app and sometimes it’s a third party who provides the…