In a perfect world, you’d have everything you need at your fingertips — and the internet has gone a long way toward making that a reality.
But sometimes you need things just so and the perfect solution isn’t readily available and you’re stuck between the simple fix with a compromise and an exact match that takes more time. What to do?
Developers frequently have to choose between spending time searching for pre-built modules or creating one from scratch. Often there are several great, pre-packaged options to choose from, but every once in a while a perfect solution cannot be found.
For me, it’s a question of balancing time and practicality: how long am I willing to search for the perfect answer vs. how long it would take me to build my own. I start with a Google search and a certain level of patience (knowing it could save me time in the long run). After enough frustration and 1995-esque demo pages I realize that I need to write it myself.
Early on when many of today’s great Content Management Systems (CMS) were still trying to get their foothold, TOKY realized their own search for a flexible CMS was coming up short. It became evident that it was worthwhile to build Eero™, TOKY’s proprietary CMS that services many of our client websites. With Eero™ our designers were able to create complex layouts and interesting user experiences that the developers could build in much less time. The daunting task of creating a CMS from the ground up, in the end, paid off in terms of the design potential unleashed.
More recently, my own search for a variable-width slideshow was looking bleak. I certainly found a lot of options that accomplish variable-width slideshows, but each one I found was always missing an essential component – touch support, responsive-readiness, or they were simply too inflexible to do more complex animations during the transitions.
To fill the void, I wrote QueueSlider, which met all of our requirements for this particular case: allows variable-width images, responsive, touch support, flexible, semantic, and accessible. We used QueueSlider on New City School, SAK Construction and MIT Visual Arts Center to create unique slideshows that appear and feel as different as their overall websites look but are derived from the same base plugin.
We also ran into this problem with a Drupal 7 website in which a majority of the site had to be password-protected from anonymous users. The client did not want to burden its audience with going through yet another user registration process just to reach information that is the same for all authenticated users. From this problem came the Node Access Keys module.
While there are a number of D7 modules that perform very similar functions (and at the time there were less than there are now), none functioned exactly the way we needed. With Node Access Keys, the client was able to manage their global, anonymous-user password from one page and distribute that key phrase via email to their audience.
I am faced with this challenge of finding pre-written code that will get the job done quickly and easily or custom coding something almost every day. As a Web developer, it is important to be fast at building websites but also to know when it is better to use existing code or when to roll up your sleeves and build something that benefits the next developer performing your same empty search.
If you are a developer who enjoys building things from scratch when an existing solution is nowhere to be found, then I encourage you to submit your resume as we are hiring both front- and back-end developers.