mrc's Cup of Joe Blog

Join us in exploring the world of modern development, evolving technologies, and the art of future-proof software

Rules for modern web application development

EducationWeb application development has experienced a fundamental shift over the last 5 years. Mobile devices have exploded. Consumer applications have largely surpassed business applications in both capabilities and overall simplicity. Development libraries, frameworks, languages, etc… have evolved.

The fact is, development standards have changed, yet many companies are stuck developing applications based on outdated standards and technology. If they don’t adapt, these companies will only fall further and further behind as technology rapidly evolves.

The big questions: How has development changed? What rules must developers follow when building modern web applications? What current development principles will help ensure success?

To help you answer those questions, here’s a short list of guidelines that you must follow when developing modern web applications. Of course, if you’d like to add anything to the list, please do so in the comments.

1. Build for usability

small_2736773665

photo credit: Tim Dorr via photopin cc

While always important, usability has now become an absolute necessity. After all, user expectations have changed. They expect the well-designed, intuitive interfaces they receive on their smartphones and consumer applications. These days, users have options. If the application confuses the user, they’ll find something else.

“My approach has really had to change since I am building a consumer-facing set of apps,” says Alex Genadinik, founder and developer for Problemio.com. “Instead of focusing on the server and database, and optimizing them to scale, I had to shift focus on first, observing user behavior as much as possible, and making sure all the buttons and screen elements are A/B tested to ensure the best usability. So I had to shift focus from the backend technologies to focus very intensely and with great details on the front-end and usability. Because if there is no usability, the backend tech becomes useless.”

Now, usability is a vague term. What does it look like? More importantly: How can you build applications with good usability? Here are three steps to take that will help you improve application usability:

  • a. Talk to users early and often
    The first step towards usability: Understand what the users want. Talk to them throughout the entire process, not just at the beginning.

    “Even though the time to launch has decreased dramatically, the competition in the web space has increased even more dramatically so the need to be efficient with development time is more important than ever,” says Michael Granados, Co-founder and the head of Product Design at Medko. “Talking to your users early is a very important step; it helps you understand what they want so you know what to actually develop. And talking to them often throughout the initial development process is equally important so you understand if you are interpreting their “wants” correctly in your product.”

  • b. Develop in small, agile cycles
    Miscommunication combined with long development cycles leads to disasters. Developers often spend months building what (they think) the users want, only to realize the users wanted something completely different. In short, it’s a big waste of time.

    “In past decades, development cycles could be months, sometimes even years,” explains Granados. “Today, it’s not uncommon for new code to be pushed every couple of weeks. Quick development cycles help ensure that the team is focused on only the most important priorities so you can quickly begin testing features with your early adopters. Fast development cycles also prevent teams from wasting months developing a feature that nobody ends up using.”

  • c. Measure Everything
    Usability goes beyond simply asking your users what they want. You must also understand how they use the completed app. In this way, you will understand how to improve and modify the app going forward.

    “Talking to your users is a great place to start development but once you understand what they told you they want, you need to use analytics and cold hard numbers to see if their behavior matches their words,” explains Granados. “There are many free and affordable analytics solutions available today and they can be configured into an app in just minutes. Measuring user behavior will give you indisputable data on whether or not your app is being successful.”

2. Plan for platform fragmentation

Fragmentation

photo credit: jurvetson via photopin cc

One of the biggest challenges facing developers today: Platform fragmentation. You no longer know how users will access your applications. Maybe they’ll use a PC. Maybe they’ll use a smartphone or tablet. You don’t know, and you can’t control it.

“In the past, IT could control application delivery platforms,” explains Tyler Wassell, Software Development Manager at mrc. “They could deploy one version of an application to a user’s desktop computer located in their network that ran an OS that they selected. Now, IT is faced with users who are working on remote networks, using their own PC, tablet, or smartphone running an OS that could possibly change tomorrow. To accomodate this dramatic shift and remain relevant, IT needs to adopt a web application development strategy that reasonably supports all of these devices, scales as the business grows, and prepares the business for inevitable change to both client devices and server architecture.”

3. Use APIs wisely

Application Programming Interfaces (APIs) are an important aspect of modern application development, as they let developers build applications that include data from other applications. However, APIs must be used wisely. Why? As any developer using the Twitter API over the last couple of years will tell you, API changes are often sudden and drastic, and can negatively impact your application.

“As more and more presentation logic is being moved to the client side (with Single Page Apps being the extreme) – business logic and data is more and more being consumed via web APIs preferably adhering to REST principles and using JSON for the actual resource/message format,” explains Ole Lensmar, co-creator of SoapUI, and Chief Architect at SmartBear. “As such, the same considerations and precautions must be in made in regard to these APIs being consumed from the client as from the server; error handling, timeouts, unexpected responses must all be handled pro-actively to ensure that the end user experience isn’t hampered by API changes or outages. This applies specifically to 3rd party APIs – which can change unexpectedly or not always work as expected; here it might make sense to hide them behind a facade API layer on the server which also allows for payload optimization and shared caching.”

4. Organize your code effectively

small_4734829999

photo credit: juhansonin via photopin cc

In the past, old procedural programming methods often resulted in large, monolithic applications. They were independent of other applications, and every function of the application was programmed into the code itself. As you can imagine, this structure created maintenance nightmares. These days, modern web applications avoid these issues using a design principle known as “Separation of concerns.”

“Separation of concerns is always an important development principle in any project,” explains Will Mitchell, Lead Developer at OnSIP. “Whether that means using a Model-View-Controller layout to separate business logic from display controls in a complex application, or just keeping styling in CSS, scripting in JS, and structure in HTML in more simple application, organization is key.”

5. Stick with well-established technologies

Developers love trying new things. They love experimenting with new libraries, frameworks, languages, tools, etc… (and they certainly have plenty to choose from these days). There’s nothing wrong with that. In fact, I think it’s a good quality.

However, it becomes a problem when developers carry that over into business application development. For instance, if you develop a new business application using a brand new language, you take a big risk. What if that language never takes off? Now you’re stuck with an application built on an unpopular language that may or may not work well with existing technologies. While experimentation with the latest and greatest technology is fine, when building business applications, stick with established technologies.

“In a nutshell, web application developers have to follow a technology which is widely implemented and not just ‘popular’ or ‘up-and-coming’,” explains Jeffrey To, Marketing Manager, e-Commerce and Web Strategy at Pureminutes. “This is because training, implementation and testing are all expensive and time-consuming processes and if you go with an “up-and-coming” code such as Django and Rails as opposed to the next “sure thing” in HTML5. The danger in choosing an unpopular code is that switching servers is problematic and troubleshooting requires more specialized sometimes non-existent expertise.”

Bonus: Open architecture is more important than ever

The importance of open architecture in this day and age cannot be overstated. Open architecture doesn’t lock your company into one vendor or product. It gives companies flexibility to choose the technology that best suits their needs. It integrates easily with other software and services. I could go on, but you can read all about the importance of architecture right here.

Simply put, closed applications and systems built on proprietary languages/frameworks are on the way out. Modern development efforts must focus on open standards.

Wrap up

Over the last 5 years, technology has experienced some of the biggest changes in history, many of which affect web application development. Companies must follow the guidelines listed above with their web development, or risk falling out of touch with technology. Would you add anything to that list? If so, I’d love to hear it in the comments.

15 thoughts on “Rules for modern web application development”

  1. Pingback: Rules for modern web application development | ...

  2. Pingback: Tech News: Windows 8.1′s changes a huge improvement and More! | CBT Nuggets Blog

  3. Pingback: » Rules for modern web application development – Mrc-productivity.com

  4. Yamini Dobhal

    Great post..!! You have shared all the points about Rules for modern web application development are very clear and useful for us.. Thanks for sharing such great info.. Keep updating..!!!

  5. Sanjeet Kumar

    Nice Post..!!! I am feeling great to know about Rules for modern web application development. As i am running a development company ,your post is very useful for me.
    Thanks & keep sharing.

  6. We have to need follow proper strategy or flow chart for developing web application such as Requirement, Scope, Technology Selection, UI & Database Design, Testing, Implementation etc. Without proper planing mostly application cause issue in development phase.

  7. This is a good article & good site.Thank you for sharing this article. It is help us following categorize:
    internet strategy, Delivering high-quality service for your business applications,
    Solutions for all Industries,
    Getting your applications talking is the key to better business processes,
    Rapid web services solutions for real business problems,
    Understanding Your Data is the Key to Good Decision-Making,
    Web-based Corporate Document Management System,
    Outsourcing Solution,
    Financial and Operations Business Intelligence Solution,

  8. Thanks for giving rules for modern web application development process. I keep all the points in my mind. Thanks again.

  9. Mitesh Patel

    Great article each and every point is very well explained. Thanks for sharing such helpful info you provide in your articles.

  10. Thanks for giving rules for modern web application development process. I keep all the points in my mind.

Comments are closed.