Tools and technology
We use various tools, frameworks, languages and technologies to help us make the complex simple.
Our team carefully select a combination of these in order to craft robust and elegant solutions for our partners.
We have be developing on the Microsoft platform since its incarnation and transitioned to .NET when it was released in 2002.
We are experts on the .NET framework; it is a vast framework that can be misused or misunderstood. It is mature and proven with a vast number of businesses scaling their operations on top of it. The future of .NET is bright with great vision coming from Microsoft and the Core teams.
Native Mobile Apps
We create apps for iOS, Android and the Windows platforms, many of which drive business efficiency.
To develop our mobile apps we use a variety of technologies, such as Cordova and Xamarin. We select the most appropriate technology for each project, depending on the objectives and constraints. Factors we consider include the target platform or platforms, required functionality, fidelity of the interactions, timescales and budget.
Microsoft’s cloud platform ‘Azure’ is our platform of choice. We have been developing and architecting solutions targeting Azure since its initial release and have been helping businesses move and adapt their existing applications to take advantage of Azure.
Architecting and building for Azure or any other cloud platform is different to a traditional hosting infrastructure. Rather than think of servers, VM’s, database servers and ESB’s, the platform is structured as a set of services such as storage, search, web app and streaming services. The application is deployed into the platform as discrete and disparate elements which together make up the entire solution.
There are various strategies for migration, including:
- Lift and shift – replicating the existing architecture in Azure, commonly know as Infrastructure as a Service (IaaS).
- Hybrid – on-premise applications using remote services or applications in the cloud with site to site VPN.
- Longer term strategies where a ‘lift and shift’ is employed and then a gradual expansion into Azure, leveraging the relevant service. This is often referred to as Platform as a Service (PaaS).
We have adopted Umbraco as our content management system (CMS) as it is open source, proven and is built on top of .NET and C#, the framework and language we are specialists in.
Umbraco has a clear separation of content and views enabling designers and developers to build in the right way and not the way prescribed by the CMS vendors.
Everything we produce is context aware. We always consider the type of device, connection speed and audience when designing and building appropriate software, but that’s just the beginning. Other environmental influences that affect user behaviour or could become a hindrance can also be considered. Device battery status, ambient brightness, location and motion information can help to create a more detailed view of the context. Given that context, we can shape the interface to suit.
As we mainly use web technologies, HTML is a staple of most of our projects. We always strive to write clean, efficient HTML code which complies to WCAG 2.0. Structured data, WAI-ARIA and prerender/prefetch techniques are always carefully considered.
Having a good grasp of new introductions to the HTML5 specification allows us to make use of an ever growing list of new elements, features and APIs. Experience and knowledge of the browser landscape allows our team to predict the consequences of our decisions.
There are various languages that compile down to run on the Common Language Runtime (CLR) and we specialise in C#.
C# is an ever evolving language and is now one of the most prevalent languages for the majority of .NET applications. With its evolution, C# is becoming a language that can easily be applied to many functional paradigms and with future plans many of the F# features will be present.
We use these languages when part of a much wider project or integration where these languages either already exist or are the most suitable for the task in hand.
Datastores & Databases
We specialise in SQL Server, SQL Azure, Azure Table Storage, DocumentDB, Azure Search and, in many cases, a combination of them all to gain the most effective throughput, durability & scalability.
We are also more than comfortable integrating none Azure-specific technologies such as Oracle, MySQL, MongoDB, PostgreSQL, Cassandra, SolR and Elastic. Often we utilise these technologies in combination with Azure in hybrid solutions.
Sass for CSS
Sass is a preprocessor for CSS. We use Sass to make our CSS more modular and flexible; more intelligent. It allows us to maintain control when changes are required, or updates are made to software.
Along with the technology, it is important that we have the right processes in place to ensure that what we build is right, fit for purpose and high quality.
We are big advocates of agile practices and have been practicing them for many years. We have continuous integration (CI) servers, practice test driven development (TDD), refactor continuously, continuously deliver and where appropriate pair program to ensure what we build is the best it can be.
We have scrums, stand-ups, product backlogs, user story maps, post-it notes, lots of white boards and all the other great things you would expect in an agile software delivery firm. We don’t always use everything; just what is needed in order to deliver efficiently and effectively.
Beacons are a low-cost, hyperlocation technology that uses Bluetooth low energy (BLE) to emit location pulses to bluetooth enabled devices such as a smartphone.
They can be thought of as tiny lighthouses emitting a multi directional signal with identification information. This information can then be layered upon additional data to provide accurate hyperlocal, context aware experiences.
We can utilise this technology to provide a vast range of improved localised experiences; everything from live events through to travel and transport. Combining this technology with our mobile app development, machine learning and big data processing skills, we have been able to produce innovative solutions that haven’t been previously been possible using technology such as Near Field Communication (NFC).
Machine Learning & Big Data
Machine Learning (ML) and Big Data have been trendy buzzwords in recent years. There is nothing all that new here except for the fact that these technologies and techniques are now more accessible and not just a powerful secret weapon of the world’s largest corporations.
With the advent of cloud computing and these features being commoditized by platforms such as Azure ML, actionable analytics can be in the hands of SME’s.
We use data (small, medium and big) and machine learning to provide predictive analysis and actionable insight for our customers in order to give them a competitive advantage.
Open Source Work
The Razor Jam team use a number of open source projects. Open source is a wonderful thing and as well as benefiting from existing open source projects, we also like to give back to the community.
We have already open sourced a number of tools and extensions and have an initiative to publish many more.