In web development, particularly front-end development, there are many forks in the road to navigate as concepts are created and implemented. Are we providing a single-page-app (SPA) experience with a defined application flow? Or does the content demand an open-ended platform for building document-type pages with any number of content pieces? If the goal is to drive a type of conversion, what best aids that goal? Do we need fast and direct access to a form because the user is already motivated? Or are the reasons a user visits more complex and varied, requiring an emphasis on informative and persuasive content? With these kinds of considerations in mind, we can leverage contained interactive techniques to help drive a more useful and meaningful web experience.
…interactive pieces that are “all sizzle, no steak” can end up interfering with those goals, and ultimately harm the bottom line for the website’s business owners.
As users of websites ourselves, we can pretty quickly sniff out ham-fisted attempts to impress us with fancy effects that fail to aid the purpose of our visit. There is usually a goal or intention for each website visit, so interactive pieces that are “all sizzle, no steak” can end up interfering with those goals, and ultimately harm the bottom line for the website’s business owners.
On the other hand, if we approach website concepting from a safety-first perspective, we might miss the truly useful opportunities to get creative with content presentation. Plain image and text in a document type format can be quick and effective for simple messaging, but what if you have a complex industrial process diagram with many parts and a specific flow? What if you wish to provide a targeted product list in an easy to understand visual way, but using a complex set of logic under the hood? What if you have a massive data set to provide, and so filtering by type, date, geographic location, and other criteria requires a lot of state management? These situations may call for interactive pieces that are not necessarily all-encompassing SPAs, but rather specific javascript applications within a larger standard website experience.
As web developers we’re regularly studying implementation news, blogs, and documents. We use the information gathered to make judgement calls about which technologies (especially new tech) to recommend. Despite emphasis in many guides towards using specific frameworks (React/Vue/Angular/etc) and a SPA context, there are many situations where a smaller and more contained build is beneficial, especially in the context of an Adobe Marketing Cloud site.
Platforms as robust as Adobe Marketing Cloud provide many options for setting up interactive development. You can use entirely separate folders at the root level, install full instances of your app, and change the configuration to output resulting Javascript into specific clientlibs. You can set up new clientlibs, and house all the application code within them. You can set up a parent application that provides multiple smaller interactive pieces when present on a given page, but sharing common code.
Although having many development path choices can seem a bit overwhelming at first, the diversity of implementation options is ultimately a blessing for our ability to provide specific, targeted and compelling content options that reach beyond plain text and images. It can be especially rewarding to help implement solutions that have not just a lot of visual appeal, but a compelling reason for existing in the first place. We can have our sizzle and our steak, and everyone can benefit in the end.