R&D at Absurd

Rob Dorsett

By Rob Dorsett

Technical Director

 

Team camaraderie

Our teams don't always work together on projects when there are multiple work streams in the studio, and in addition we have a number of remote team members, so it's vital that everyone works effectively together.  Having a day a month where everyone gets on the same project brings out everyone's expertise, which highlights team members' strong points and makes the team stronger overall.

Exposure to new frameworks and ways of working

The idea behind R&D is that you can take a step back from the day to day, and tackle a problem in a way where you can really think; no deadlines, no stakeholders, just a bunch of our team in solidarity determined to solve a problem.  This really promotes out of the box thinking and allows for experiment-led solution design and development.

Investing in the team increases value

To allow the team to hone their craft increases the value of the team; these skills learnt from R&D will almost directly translate into "real world" problem solving for our clients and allows us to open up our offering for different technologies the team wouldn’t have otherwise had exposure to.

Team happiness

I've worked at many agencies where it's just been all about. "come in, get your work done, leave".  At Absurd we are big on culture and staff happiness and wellbeing.  Having a day where the team feels like they have the time to invest in themselves has proven really successful in growing team morale.

What we did this month

This week we have been looking into mobile app cross platform frameworks, on trend with the recent release of MAUI and .Net 7 (you can take a look here).

We have a few mobile apps in our arsenal using Expo and React Native, but we want to reevaluate our offering in this space and diversify our skill set, as we like to use what we believe to be the best tool for the job, rather than cookie cutter solutions.

This month we looked at a few different cross platform mobile app frameworks and compared the pros and cons of each; ultimately building something with each them.

The frameworks

Before we get into the frameworks, let's discuss the rationale behind working with a cross platform framework at all.  In the agency world, you have to always deliver the best value for clients.  Due to this it means that in 99% of use cases, it’s a no-brainer to use a cross platform framework, rather than build 2 different (IOS & Android) native applications, which also come with their own learning curves and smaller talent pools.

We investigated a number of frameworks.

1. React Native & Expo

As mentioned we have a handful of react native and expo builds.  Thus we already had the experience with these, and having experts in React in general helps with this.  Due to us already having exposure to React native, we decided to not explore this any further, as we know it works.

2. Ionic & Capacitor

Ionics learning curve is quite small for web developers, as you can build in javascript, and React as a bonus.  You also have the NPM eco system meaning you can leverage well known packages to build your app. 

This made Ionic a strong suit to investigate further.

3. Flutter

Flutter has really good documentation and poses great performance.  The only drawback to using flutter in our case was it was using Dart, which would have been a steeper learning curve, given our engineers have expertise in javascript and .net.  Due to this we decided not to go further in on Flutter, just yet (maybe in another R&D).

Ionic

We really enjoyed investigating and working with Ionic.

  • Ionic has a great set of UI components out of the box to cope with most use cases which acted as a great dev accelerator.
  • It was very quick to get setup and up and running on a usable app on a physical device.
  • User authentication documentation was limited (specifically firebase).  We ended up using Azure B2C, which we would normally default to, having most of our infrastructure on Azure.  This was a little more well documented, we also integrated a backend .Net 7 api, implementing the same B2C instance for authentication for the app.  I’d still say this is an area with limited documentation for Ionic, although they have an enterprise offering for this - https://ionic.io/docs/auth-connect
  • The output app had high performance.  We had heard about and anticipated performance issues with Ionic, although we didn’t experience much difference compared to React Native.  A performance comparison article was published by Ionic here which breaks everything down and actually shows that Ionic uses less CPU & GPU on the devices.

 

What does this mean for our clients

Having new frameworks and tools in our bag means we can ensure we are building the right things for our clients, not those that suit our "stack", team makeup or commercial partners. For example, building our skills in Ionic means we have a framework that allows us to rapidly deploy prototypes and proof of concepts to support user testing or MVP rollouts.

If you'd like to talk more about mobile applications or how rapid prototyping could help your organisation, get in touch.

Absurd workshop