For the first time in history, users are actually spending a greater amount of time on their mobile devices than at a computer. We’re past the tipping point, and developers need to make the best of the new paradigm.
But should a company purchase all of its software off of the shelf? There are countless ready-made apps for nearly anything under the sun. However, each commercial app solution has to be purchased and has a limited lifespan, not to mention being dependent on the developer for any kind of updates or tech support.
Many business owners are turning to enterprise applications to solve this problem by developing their own scalable and flexible applications.
We talked to Jimmy Bogard, the chief technical architect of the Austin, TX development firm Headspring, to learn about enterprise application development and what it means for developers.
Enterprise applications have been getting increasingly popular over the years. What are some of the reasons so many companies are developing their own apps?
I am reminded of one of our current clients that provides business-critical services for natural gas processors and transporters. We helped them build a tailor-made solution that has become a competitive advantage. They needed to optimize a legacy offering that they were rapidly outgrowing by improving their delivery workflow and regulatory compliance reporting. And because of the importance of this product, they were emphatic that it needed to be totally scalable, incredibly reliable, very fast and accurate, and easily modified if something should change or one of their customers had a specific need.
For things that don’t make a difference to their bottom line, our clients have no problem buying off the shelf. A performance hiccup is just that in offerings that are not business critical. But when the focus is on ensuring that the application can be changed or improved quickly, the company becomes more agile to better face challenges if they have all of the control.
In other words, the buy-over-build philosophy is not a very good macro strategy, because you can’t make broad business decisions on somebody else’s platform.
One of the challenges facing enterprise application developers is the need for both security and accessibility. What are some methods a developer can utilize?
To me, this question speaks to an undeserved reputation cloud-based solutions have in the context of security. If we look at the major security breaches over the last couple of years — the Sony, Target and Ashley Madison hacks — the accessibility of data via cloud was never the issue. In fact, these illustrate more than anything that private servers may be less safe.
So this opinion, one that is based out of fear rather than empirical evidence, is the real challenge. We hear all the time – especially from manufacturers, banks and government clients – that they “won’t ever go to the cloud” but they can’t explain why or how their systems are more secure.
What we do see that is a bit more legitimate is international companies who will have legal compliance requirements that infer better cloud protections. For example, some European companies will not allow their data to be hosted in the United States. In that situation, Microsoft has developed a solution that ensures data will be hosted regionally.
Long story short, we don’t see this to be a significant problem in the enterprise application development industry; and I think the general perception will shift this way sooner than later.
One of the solutions developers have adopted to deal with these security networks are virtual private networks, or VPNs. This can be good for security, but bad for mobile connectivity. Are there any VPN solutions that can also be useful for mobile development?
I’m of the camp that prefers less network-based security and more protocol-based security. VPN is going to be slow. If you are able to incorporate other technologies, you can use it as a stepping-stone towards more standard-based approaches. Envisioning this as your VPN strategy lessens the sledgehammer effect that 100% VPN would require.
To be ultimately useful, enterprise applications need to always be accessible. How can enterprise application developers utilize push solutions so an application is always available when a user needs it?
The end user defines how they want push notifications to impact them. This is no different than consumer applications that allow users to customize when they are notified of a new Twitter follower or email, for example. The difference is that consumer or social applications want you to be on their platform constantly because this is how they make revenue.
In enterprise applications, the end users want push notifications to alert them to something. They don’t want pushes to tell them everything is a-ok. That would be inundating, and the tool becomes the “boy who cried wolf.”
In this scenario, it’s our job to find the sweet spot between mundane and panic-inducing and develop that as the default. The client has every opportunity to come back and change that default or change the setting as easily as possible.
Enterprise applications often need to work with other applications. What are some ways developers can work with other app developers to make sure that all of the software will work together?
There are two answers to this question.
The first is to never develop in a vacuum. I wouldn’t expose things just for the sake of it. Integration efforts fail because they build integration points without an actual use-case in mind. Developing integration points on a guess or hunch is not a recipe for success. So it’s important to code with purpose; this includes when you are anticipating collaboration.
The second answer is to make sure whichever approach you take, you consider the long term. Since you have no control over how long a solution lives, you should use widely-adopted and widely-supported standards-based approaches. Beyond the code, spec, and technologies, we make sure whatever foundation we choose ensures that the connections will last a long time.
What are some of the most successful enterprise applications that you’ve seen that people have been responding to? What lessons can developers take away from these apps for their own designs?
‘Enterprise Apps’ is so broad; the off-the-shelf mobile options tend to be really broad and pretty generic, and the home-grown ones are often minimally-viable product-grade, especially in their user interface.
The biggest thing we see in the enterprise space, especially with custom apps we’re building for our clients, is that — far more than through a web interface — they want a look and feel that is consistent with the rest of the apps on their device. It’s even more important that it “feel” like the rest of their app ecosystem than to match any sort of internal or corporate UI guidelines.
So we’re seeing that what really resonates with enterprise app users is apps that conform to the iOS human interface guidelines, Android/Google’s Material Design, or the new Microsoft UWP standards. And if you’re looking to get a quick jump on enterprise mobile web applications that people enjoy using, we’re seeing a lot of support growing for Salesforce’s Lightning design guideline.
To Learn More About Custom Application Development, Contact Us Today!
Simon has worked in the software industry for over 20 years; intent on always producing work of the highest standard and creating software products that genuinely makes things better for people. Simon has previously held positions ranging from Developer, Technical Consultant, Head of Development through to CTO and more recently founder and CEO of several high profile technology companies.