[DZone Research] Keys to Developing Effective Web and Mobile Applications
A discussion of the knowledge of the business requirements, UX/UI, and testing that developers must have to create great apps.
Join the DZone community and get the full member experience.Join For Free
To gather insights on the current and future state of web and mobile development we talked to 19 IT executives and we asked, "What are the keys to developing web and mobile applications?" Here's what they told us:
- Mobile can be web, native, progressive, or hybrid, and web can be simple web or responsive. At a general level, the keys to developing web and digital apps are: 1) Alignment on requirements between the product owner/business, developers, and testers. 2) Development process and timelines that sync, so one person/role does not delay the other (dev, test, ops). 3) Tools to support the above-mentioned objectives. 4) Successful implementation of proper continuous testing, integration, and development that is solid, stable. 5) Product status and quality visibility on-demand at all times to serve the various persona objectives (continuous integration dashboards, quality metrics, coverage, developer productivity – defect closure, user stories, implementation, etc.).
- Figure out if a mobile app is required or if you can do through the web. Learn what they need. Usability of the phone or sharing information.
- The biggest key to developing web apps is to understand your priorities and goals. For example, if SEO is a priority, then you’ll need to focus on server-side rendering and other optimizations.
- The volume of web to client-server is 10:1. How easy it is to use the platform to build and change apps to meet enterprise needs? Acceleration with pre-built UI components, easy widget for building components, or a backend engine for audit trail analysis. Specifically designed for developers’ needs. Enterprise operations to orchestrate workflow with web APIs to exchange information. EnterpriseOps.
- Start with a good technical stack. This makes everyone’s job easier. Let the developer focus on content management, UX, and manage scale. Only a few know how to use well.
- Ensure consistent UI across platforms – visually perfect across browsers, web. Make sure when customers use online banking it’s the same across all platforms. Be able to handle multiple languages. Make sure the layout didn’t break as you’ve gone from one language to another. Verify the accuracy of the data for compliance (FDA, financial institutions). Help accelerate the entire delivery process. Shorten the testing cycle by 50 to 94% based on the use case. Reduce development time by 10-15% and much fewer bugs with high levels of coverage and automatic maintenance. In web and mobile development, agility and speed are a critical factor to everyone who develops today. Shorten the release cycle while maintaining quality.
- Web and mobile applications must be designed and developed with a focus on user behaviors from day one. User expectations of their experience with an application are higher than ever, especially in the more tactile mobile interactions. This focus needs to start very early and guide application architecture.
- Test the app before it goes live. Emulation and simulation are the old school way of testing. Move to a real-world test environment with relative ease. Multi-model device clouds. Whenever you are eliminating issues and bugs a developer faces billions of lines of logs. Only 10-15% of issues matter from a mobile perspective, and those account for 80-90% of mobile issues. Prioritize mobile UX because that impacts the bottom line. There is a lot of focus on digital transformation. Organizations need to focus on mobile within digital transformation. Less digital and more mobile transformation. More precise with how to allocate resources. Invest with precision.
- Automate the process, especially testing. Dealing with UI development and testing still one of the tricky ones to automate. Selenium is out there with a ton of mobile testing apps. Still two or three holdouts so it’s hard to do UI testing, you need human judgment, and then databases. If an app is running on the desktop, then the web developer worries less about battery and memory usage. There are constraints on mobile apps with power consumption and memory. Testing comes in here as well you may have to measure post-build. There is a way to do mobile development flow and notifications. United Airlines’s mobile app flight status tab with slider to turn on notification and then a second later a modal dialogue telling you you’ve turned is unnecessary, redundant, and irritating. They’re obviously not thinking about UX, the modal dialogue is a nuisance and unnecessary.
- The keys to developing more secure web and mobile applications are developer training and automated security testing, producing fast and actionable results. For example, many mobile developers still struggle with the management of potentially sensitive data on the device. The first step is offering guidance through the use of a data classification policy which should classify sensitive data types with the corresponding level of protection required. Based on mobile application security training course recommendations, perhaps using the iOS KeyChain for “Sensitive” data is acceptable, whereas storage of something considered “Highly Sensitive” is explicitly prohibited.
- There are many platforms and frameworks. Applications need to connect to CRM and ERP systems. Help understand the mobile landscape.
- Make sure you’re using trusted libraries and SDKs. Most people are using a combination of in-house, objective C, Java, commercial SDKs, and third-party code with access to your mobile app data. Make sure third-parties are trusted and you know what they are doing with the data they pull from your app.
- Do both at once. Internal stack and APIs to build mobile and web apps on top they’re just a client to our framework. Use APIs to hook into the backend to freely integrate with their own apps.
- The expanding variety of devices with changing technology makes it hard to do mobile. There is a line of demarcation, conceptual and technical, encourage clients to focus on APIs and integrations with internal systems. We handle the front-end user interface.
- Don’t forget long-term supportability and stability. Take the time up front to create a good architecture that will scale and don’t take shortcuts.
- Since web and mobile apps involve a myriad of design choices, the keys to successful development naturally depend first and foremost on the developers’ ability to curtail complexity. That can be achieved by selecting tools and frameworks that strike the right balance between flexibility and productivity and match the existing skill sets of the developers on the team. Just as important is the necessity to consider both functional and deployment (quality-of-service) requirements from the get-go, rather than as an afterthought. Specifically, these requirements include security, performance, scalability, monitoring, and maintainability. Choosing tools and frameworks that have been proven in real projects trumps the latest, hot-off-the-press shiny new tools and frameworks.
Here’s who we spoke to:
- Malcolm Ross, Vice President, Product, Appian
- Gil Sever, Co-founder and CEO, Applitools
- Adam Fingerman, Founder and Chief Experience Officer, ArcTouch
- Jon Janego, Senior Product Manager, Static Analysis, CA Veracode
- Doron Sherman, V.P. Evangelism, Cloudinary
- Himanshu Dwivedi, Founder and CEO, Doug Dooley, COO, Data Theorem
- Rimantas Benetis, Technology Director, Devbridge Group
- OJ Ngo, CTO and Co-founder, DH2i
- Nate Frechette, CTO and Co-founder, Will Bernholz, V.P. Marketing, Dropsource
- Anders Wallgren, CTO, Electric Cloud
- Lucas Vogel, Principal Consultant, Endpoint Systems
- Sriram Krishnan, Head of Product, Headspin
- Joshua Strebel, CEO and Co-founder, Pagely
- Brad Hart, Vice President of Product Management, Perfecto
- Robert Warmack, Director, Sencha
- Jeffrey Martin, Director of Product Operations, SmartBear
- Eric Sheridan, Chief Scientist, WhiteHat Security
Opinions expressed by DZone contributors are their own.
Scaling Site Reliability Engineering (SRE) Teams the Right Way
Design Patterns for Microservices: Ambassador, Anti-Corruption Layer, and Backends for Frontends
MLOps: Definition, Importance, and Implementation
What Is mTLS? How To Implement It With Istio