DEV Community

loading...
Cover image for Every Web Application is the same, the SELID Website

Every Web Application is the same, the SELID Website

Michael Landry
Michael Landry is the CEO, Architect, and Founder of Rondo Technology. He is a software engineer in the Atlanta area.
・3 min read

What does google, apartments.com, and amazon.com, have in common? They are all websites, obviously, but not just that; they all follow the same pattern:

  • The visitor is presented with a search field
  • After querying for something, the visitor is then whisked away to a search results page
  • Upon clicking on a result, a details page is then presented, usually featuring information and buttons that run off to CRUD something in a database or call some APIs

Yup, thats it. This sums up pretty much every web application ever made, even the fancy proprietary expensive application your employer is probably building right now. I like to refer to these as SeLiD websites ( Search, List, Drill down or Details)

Now the next question. What are the acceptable and approved tools and solutions available to software engineers seeking to build a customized web application? Sure, React is pretty amazing, and everyone has heard of AWS, but if every website emerges into the same template every time, then where is the tool that maps to these problems? Businesses want solutions to business problems. Retailers want customers to search, view, and buy merchandise. Property owners want renters to search, view, and rent properties. Software engineers are tasked to build these solutions, and as software engineers, we want to:

  • Build a search field that combs through and returns matches from a list of records
  • Shove each returned record into a template, then shove those into another list
  • Wire up each record into a detail page that will easily interface into some sort of CRUD SDK and extendable callback middleware.
  • Slap some make up on it.

As far as 'customization' goes, it should be a simple matter of asking which records are being queried, how should the data be presented, what widgets are going on to the screen, what are these widgets going to do to the data, and how is this thing going to look?

Surveying the current landscape of software engineering, I don't see this tool, and I observe the following issues.

  • The popular 'front end libraries' only solve technical issues, such as synchronizing behavior and state for the web app, which would normally be fine, except that businesses need to have their business solutions solved and not just their technical issues
  • Engineers have to solve and resolve the same problems over and over again for every web application. The same problems common to every app that the usual libraries don't address. These include authentication, authorization, theming, linting, building, containerization deploying, and on and on...

There are many projects that try to be the 'batteries included' unicorn, but all come up short in some form or fashion. Either they neglect to solve a critical concern, bring too much opinion to bear, too calcified to be extensible, too complicated, too broad, too difficult, and simply not aware of the absurdly common use-cases I have outlined above.

In response to this, the Rondo Platform was born. As an engineer, I have come to find certain platforms, libraries, and technologies as being very easy, robust, and extendable, and by combining these with other open source technologies and best practices, we are able to build the Rondo Platform to be as robust, and efficient, and as simple as possible. Simply put, it takes care of all the toil that goes into custom website construction, and allows the engineer to focus on what matters, solving the business need, while leaving extensibility to customize as much as required.

Discussion (2)

Collapse
ravavyr profile image
Ravavyr

Sorry mate, this is too much like
"All humans are the same, two arms, two legs, a head, yea all the same".

Websites have some similarities, but there's a good dozen variations in structure and functionality. Given the myriad of platforms/frameworks/libraries out there claiming to solve the web [Rondo sounds just like this], it's an incredibly vast eco-system.

No one platform [including Rondo] will ever be a one-size-fits-all service.

A 5 page brochure site, will never need the same setup as an ecommerce site, or a social network, or a CRM, or a Support Ticket system.

Presenting anything as a one-stop solution is just more of the same crap we've all been dealing with on the web for the last 20 years.

Collapse
milandry profile image
Michael Landry Author

I'm not forcing the Rondo Platform on anyone, I just wanted to illustrate to the community about the SELID pattern and its extreme ubiquity. When both users and web engineers interact with the web, its good to be conscientious of these patterns and to have names to refer to them. This particular pattern, for all of its pervasiveness, does not have a mainstream acknowledgement it needs, which is a shame because I get forced into using websites that lack any map, pattern, or scheme, can't achieve what I need to do, and have little feedback in knowing if my operation was a success.