(616) 371-1037

[email protected]

Technologies

Technology is ever evolving and it is important to strike a balance between not being on the bleeding edge, but also not being left in the past, using techniques and tools that are not as efficient as more recent ones. Being MVPs and technology insiders, we can help you pick the right technology, technology that hits the sweet spot and that you will get many years of mileage out of. Currently, the following technologies are commonly used in our projects:

Native, Cross-Platform Mobile

For native, cross-platform (iOS, Android, Windows on both phones and tablets) we use Xamarin and Windows Universal Applications, developed using the same tools as the middle tier (Visual Studio, C#) and Xamarin Studio. We create completely native performance and native look and feel applications, that share a large amount of code, for faster development and improved maintenance.

UI

The webuser interface is developed as a Single Page application (SPA) using javascript, and a framework such as Angular, or Kendo/jQuery. Widgets from component vendors (such as Kendo UI) are used as appropriate. We use modern HTML 5 that runs in modern browsers on a range of devices, from desktops to tablets and high power phones and phablets. Responsive design allows the application to adapt to the capabilities of the viewer’s device

Cloud

Trailheads developers have been doing Cloud development and deployment for many years, and have amassed a large working knowledge of both Amazon Web Services (AWS) and Windows Azure. We design multi tenant, mobile and IoT friendly cloud services that are hosted in the provider of your choice

Security

Security is an integral part of developing cloud based and mobile software, ranging from on device secure storage (Sqlite with Sqlcipher), encrypted communications (HTTPS/SSL), robust authentication and authorization (claims based, also federated such as Facebook Single Sign On), and secure storage (SQL Server transparent database encryption, strong PBKDF2 password hashing) and encrypted configuration settings. We also take care to avoid various common attacks, like Sql injection, cross domain origin forgery etc, and can provide security audits.

Database

The database is typically one of the flavors of Microsoft SQL Server, including cloud versions, and versions that offer clustering, high performance, transparent encryption and automatic failover

Middle Tier

The middle tier or application server usually a Microsoft ASP.NET (including the new cross platform ASP.NET Core) application, written in C# using Visual Studio. It uses an ORM such as Dapper, nHibernate or in some cases Entity Framework (and now Entity Framework Core), to access the database, and components such as Dependency Injection (ninject, autofac) to increase modularity, extensibility and testability. The middle tier is written to be stateless so it can be load balanced and scale out.

APIs

The middle tier is exposed to web or mobile clients, or other systems using a REST API, passing JSON securely over HTTPS/SSL. In some cases we use OData, and in legacy systems WCF.

IoT

The buzzword of the year… Trailhead has hands on experience developing IoT using Windows 10 IoT and C#, accessing a range of sensors and peripherals, and communicating with cloud services.

Testing

Automated web testing is done using Selenium and Browserstack, and automated mobile testing with Appium and Xamarin Test Cloud. In addition, we use standard unit testing practices for API level testing.

Packages

Software components are pulled in and distributed using Nuget for .NET development, and NPM for javascript web development.

Reporting and Analysis

For reporting we generally use SSRS or Telerik reporting, and Microsoft OLAP Services for analysis.