Senske Services
Using Technology for Competitive Advantage
Senske Services is the perfect success story of an all-American family business. The company was founded by Bill Senske in 1947 to deliver lawn care and pest control services in Washington State. Since then, successive generations of the family have turned a one-man venture into one of the most successful grounds maintenance businesses in the Northwest. Senske has diversified to become one of the largest providers of private and commercial holiday lighting in the region. The company has embraced new technologies and, as a result, grown to over 300 staff, in 9 office locations, across 4 states.
“Senske’s recipe for success is simple,” comments Chris Senske, the company’s current CEO. “We combine the traditional work ethic the business was founded on together with a constant search for new methods and technology to deliver more to the customer.”
The company has always viewed technology as a vehicle for doing better than the competition and extending its individuality. When Senske first implemented CRM in the late 1990’s, they developed a customized system in-house because off-the-shelf solutions couldn’t address the unique qualities of their service.
Senske's Transition to Mobile
Back in 2002, Senske stole a lead on the competition by adopting mobile technology. The company built its own “Mobile Ticket” application to more efficiently manage teams of staff in the field. The system used early Nextel clamshell phones to provide teams with live joblists, track their progress through status update messages and provide cancellation and rescheduling warnings. This relatively simple application dramatically improved day-to-day efficiency and allowed Senske to offer customers a faster, more responsive service.
After well over a decade of service, Mobile Ticket and the Nextel phones were dated. With low-cost tablets now widely available, Senske wanted to put the company back at the forefront of mobile technology by developing a new, dedicated enterprise app for its field teams. But with so much time and effort invested into developing its own in-house backoffice systems, the company didn’t want to throw everything out and start all over again.
Modernizing Senske's Mobile Stack with DreamFactory and AngularJS
The job of upgrading Mobile Ticket fell to newly hired developer J Zarate. Having built and supported a similar in-house software solution for service teams at a California swimming pool company, Zarate had moved to Washington to work at engineering giant Lockheed Martin. His experience made him an ideal recruit.
“Some might say this is the easy part, but it is actually a lot harder to get the frontend right so that people know exactly what they are doing,” argues Williams. “For the project to work, I needed buy-in from the end users. And for them, frontend usability is the bulk of the application.”
The first task was to recreate the existing frontend Mobile Ticket functionality on a tablet. However, the original application was written in an early version of Microsoft’s ASP.NET. Upgrading the existing app to a modern Javascript framework and HTML wouldn’t be easy.
He needed a simple solution that would hook into the existing Microsoft SQL Server database and provide a ready-made REST interface to a modern, open frontend technology. Zarate searched online forums for recommendations and came across DreamFactory. DreamFactory could hook straight into Mobile Ticket’s existing SQL Server backend and expose the data in the SQL Server database with a modern REST API.
“The big advantage was no lock-in: you can use what you want on the frontend, and on the backend you can use SQL Server, MySQL, Oracle - you just point at the data and it’s there,” explains Zarate. “Setting up DreamFactory takes a little time but once you have it running it’s almost unbelievably simple.”
With the data connected, Zarate chose to recreate the majority of the original application business logic with server-side scripts in DreamFactory.
“All the heavy lifting was done by DreamFactory. I didn’t have to rewrite the client-side app, this was basically just an interactive display,” he continues. “DreamFactory allowed me to just reuse the logic that the previous developer had produced. Fifty percent of the SQL stored procedures needed for the new app could be taken straight from the existing repositories. When you are working with someone else’s code, this type of platform is invaluable.”
Zarate was used to developing on traditional Microsoft platforms. Code had to be written and updated within a desktop IDE before changes could be uploaded to the server.
“With DreamFactory, I don’t have to worry about publishing changes to the server. It’s instant, that’s the beauty, that is what I really love about it,” he says. “I change the code on the server, say here is my SQL procedure, add that to my REST services, and the changes are there and visible instantly.”
The productivity of working on the DreamFactory platform allowed Zarate to move from Senske’s existing backend data to creating frontend views for the new application within a remarkably short timeframe. Working in AngularJS he was able to replicate the existing Mobile Ticket functionality on a 7-inch Android tablet within weeks.
“DreamFactory allowed me to recreate the basic application fast, because I didn’t have to create the interface between the application data and the new Mobile Ticket application,” Zarate explains.
However, DreamFactory does more than help developers quickly access backend data from existing applications with a modern REST API. DreamFactory also makes it simple to extend the original functionality, create new features and combine data from other sources and applications to create composite apps.
Even within the first round of development, Zarate went way beyond improving the usability of the existing Mobile Ticket application by providing a great mobile experience on both iOS and Android mobile devices. He supplemented the existing joblist and scheduling functionality with GPS mapping, live rescheduling and additional information around the job, which allow teams to prepare and plan en route. Field staff no longer need access to office applications and email, all the information they need and communications with the control center are delivered in real time through the app.
The Road Ahead
Like many developers, Williams also maintains his side projects outside of work. Having discovered DreamFactory, he is excited about the prospects for using the DSP in his broader development.
“It's great, just downloading the user management part of any application with all security built in,” William says. “I have been chatting with the DreamFactory dev team online about creating authenticated logins from LinkedIn, Google+ and Facebook.
”As someone who “dabbles” in mobile app development, the availability of client SDKs for HTML5, native iOS and Android is also appealing.
“I have used Facebook's Parse platform, but it’s a paid-for solution, you have no control over it and no control over your data. If your application grows and you want to start doing more specific things with your data, you really can’t do that within Parse,” Williams recounts.
“It is appealing to have complete control of the backend, you can run DreamFactory on Amazon and you are able to do whatever you want with your data. It is also great to have the option to install the DSP anywhere, in-cloud or on-premises.”
As a start, Williams installed the open source DreamFactory platform locally on his MacBook, using a dedicated Mac OS X package from the Bitnami website. From the admin interface he connected securely to a MySQL database instance he had set up for his project. DreamFactory then automatically generated a comprehensive MySQL REST API for the database. The entire setup process took less than ten minutes: from installation to using the live REST API for his new application.
“I liked the tool, I liked the fact it was just easy and straightforward. It had a slight learning curve, but this was fast, and after this, everything was just easy and straightforward,” says Williams.
“The hardest part was populating the MySQL database before I started with DreamFactory. I had to extract the data, transform it and write a few scripts, but these are pretty straightforward things if you know what you are doing,” he continues.
With the database in place, DreamFactory took care of all the remaining backend functionality. DreamFactory exposed the underlying MySQL database as a straightforward REST API, allowing Williams to get straight into developing his frontend AngularJS application.
“The middle layer that talks to the database and then pushes data to your app can get pretty complex depending on what you are trying to do. DreamFactory just takes that out,” he explains.
DreamFactory’s built-in user management gave Williams all of the necessary security and access controls out-of-the-box. Williams had not simply cut corners or bypassed the time-consuming backend configuration: by using the DSP, he had downloaded a solid, ready-made, open source solution.
“DreamFactory streamlines everything and makes it easy to concentrate on building your frontend application,” he says. “I had found something that was just click, click, click.....connect, and you're good to go.”