.NET developers use mobile and cloud technology to impact and change society, from projects that help visually impaired people “see” to detecting Ebola in West Africa and making college education more accessible, among countless other applications. Aggreko, for example, provides heating, cooling, and electricity to thousands of global customers in locations ranging from the world’s busiest cities to national events to remote and emerging nations around the globe. Its powerful mobile and web solutions give employees and customers immediate alerts and proactively identify problems.
Today, we’ve invited Steven Faull, Applications Development Manager at Aggreko, to tell us how his team uses Microsoft technology, including Xamarin Tools for Visual Studio and Microsoft Azure, to deliver award-winning, high performance web and mobile apps that scale on demand.
Tell us about your company and your role there.
Aggreko, Scotland’s 10th largest company, leads the market in power generation and temperature control. Our teams work around the clock to make sure our customers get the electricity, heating, and cooling they need, when they need it. We’re a global company, with 6,500 staff members and 200 locations in 60 countries.
We have two main business units, with projects ranging from very simple to very large and complex. Our Power Solutions division installs and operates power plants for our customers, while our Rental division allows customers to rent and self-operate our equipment. Our customers run the gamut from groups powering their garden parties and town centers running ice rinks, to our 30+ year partnership with the Olympic Games and other worldwide sporting events. At the highest level, our modular power stations supply the national grids of emerging nations and provide humanitarian relief when natural disaster strikes (Hurricane Katrina, Japan’s Tsunami crisis, and more). We even powered Pink Floyd’s first US tour in the 80s!
Aggreko has always been forward-thinking from a technology perspective, and we formed a standalone development team almost three years ago. I haven’t always been a developer; my first career was in electrical and electronic engineering! I started my transition into the world of development programming industrial robots at Ford Motor Company and then, after moving to The Daily Mail, developed industrial applications in C and Visual Basic.
Around 12 years ago I moved into full time application development working for financial institutions, including investment bank Merrill Lynch.
Tell us about your apps. How do they fit in to your company’s mobile strategy?
We’ve invested in “telemetry-enabling” our fleets, allowing us to stream data from our generators to a central location (our Global Technology Centre in Glasgow). We’ve also established a Remote Operations Centre (ROC) in Louisiana, USA, where highly skilled and experienced technicians continuously monitor equipment health, tracking more than 9,000 global assets on hire to our customers. Whether we produce power or our customers rent equipment, we’re always responsible and committed to ongoing service and maintenance.
This initiative includes three main components:
- ROC Dashboard: Our ROC technical specialists use our web-based app to communicate with our customers and make sure they have the best equipment for their needs, based on energy and fuel usage. We also monitor weather feeds and cluster visualizations to anticipate and predict potential problems across the world. We’re consistently tracking thousands of global assets across North America, Europe, and APAC, and investigate 1–2 million annual alarm messages for minor and critical engine, fuel, and equipment issues (~285 every day).
- Aggreko Remote Monitoring (ARM) Portal: Our customer-facing web app, providing a real-time view into assets’ vital data, from fuel percentages and battery levels to locations and notifications.
- ARM Mobile App: Our first customer-facing mobile app, giving customers anywhere, anytime access to real time monitoring, instant alerts, and mechanisms to contact their nearest Service Center for prompt resolution.
Our customer-facing mobile app has two sections: “Discover” where potential customers can view case studies, estimate equipment needs, and submit sales inquiries to local Aggreko teams, and for our existing customers, we use ARM to deliver a higher level of service and peace of mind. In addition to receiving notifications for planned maintenance, site administrators can securely log in, track asset performance and usage, check energy status and request fuel, reduce or increase rental contacts, and rest assured that all equipment is working as expected.
Since our customers are spread throughout the world, ARM is not only available on Android and iOS, but it’s also multi-lingual; we fully support English, German, Italian, French, Dutch, Romanian, and Spanish.
Why did you choose Xamarin?
My team’s responsible for all web and mobile development, and we have many demands on our time. We’re not a big enough team to have the luxury of hiring Android and iOS development teams, but knew we needed to deliver a great user experience. We would have developed ARM mobile as a responsive app, but it wouldn’t have the same quality as native app.
To me, “native” and great user experience are about the ability to deliver the best design, capability, and functionality; apps that look great, are easy to use and deliver an excellent customer experience.
We looked at a few tools and approaches, but quickly identified Xamarin as the technology that would allow us to deliver the excellent experience we sought to provide, especially due to our team’s core C# skills (a massive value add!).
How did you get up to speed with cross-platform mobile development?
Xamarin University was an excellent resource (the Xamarin.Forms and automated testing courses were our favorites), and we’ve been fortunate to attend conferences like DevIntersection, the Visual Studio 2017 Launch Event in Edinburgh, and Microsoft Tech Summit, to hear experts share their knowledge. We’ve also received personalized on-site workshops from Microsoft Premier Services.
How are you using Microsoft Azure?
As I mentioned, we’ve built a suite of applications to support our Remote Monitoring operations, and these projects started our shift toward Azure. When we started, the Message Bus functionality (now Service Bus) was immediately appealing: a cost effective and resilient solution to one of our immediate (and very real) problems, giving us flexible, secure information delivery at scale.
We’ve implemented DevOps and CI for all of our Azure deployments, and we’re taking a cloud-first approach for all future development projects, including moving all our Dev and Test environments to the cloud.
How long did it take to ship your app?
This was Aggreko’s first customer-facing operations app, and it took us six months from design to deployment to release our first version, including one-off Azure PaaS / IaaS environment set up. It was a steep learning curve, but now that we have all of our Azure infrastructure and services in place, we’ll be able to develop apps faster going forward.
We needed a lot of nuanced, customized design, but we still share about 50% of code across Android and iOS. We integrated with several Microsoft Azure services, including Active Directory, Blob storage, Web Jobs, Table Storage, Notification Hubs, Service Bus, and Xamarin Insights (now HockeyApp), which helped us deliver and scale the app globally.
We use Xamarin Test Cloud for automated testing on Android and iOS, which removes the complexity and difficulties of testing apps across various devices and operating systems and HockeyApp (critical for crash reporting and bug tracking).
We also invested in Microsoft Intune for MDM to deploy our apps to technicians on Aggreko managed devices and securely deploy and manage apps to employees and contractors without Aggreko-issued devices.
Our next project includes adopting mobile DevOps and CI/CD with Visual Studio Mobile Center (Preview).
What have your users said about your app?
The response has been fantastic; ARM is just another example of how we add value to our customers and how technology can drive business benefits. My team, and Aggreko as a whole, are passionate about both customer experience and innovation. We’ve even received some industry recognition, recently winning ScotlandIS’ (Scotland’s trade body for digital economy) Digital Tech Award for “Transformational Innovation Through Data.”
What’s your team planning to build next? Why?
We’ve begun a highly ambitious transformation program, including investments in our Customer Focused Operations initiative, which centers on using technology to provide improved service to our customers. We’re transitioning from industrial-grade handheld devices to smartphones for our internal teams and using mobile technology to assign jobs to technicians, send safety notifications, provide service history, see machine drawings, and collaborate. This shift is driving an enormous appetite for mobile apps and, to meet growing demand, we’re utilizing the power of Xamarin Tools for Visual Studio, Xamarin Test Cloud and cloud services / DevOps with Azure. We’re essentially creating an “App Factory,” streamlining delivery processes to rapidly develop mobile apps for our team members and our customers.