Starting a new project? Here are a couple of criteria that can help you choose technologies that won’t feel like a burden to future you. For any task that you want to solve with software, it can feel like there is an unlimited number of libraries, frameworks, and CMSs to choose from. Even more stressful, it can feel like yesterday’s celebrated technology is outdated today. It is perfectly acceptable to feel overwhelmed when choosing a tech stack for your application whether you’re a developer or not even technologically inclined. Here are three criteria that can be used to examine any tech tool that you want to add to your project:
- Is there a large and active community of users?
- Are the developers of the project active? Is the project open source?
- Is the project popular?
These criteria can help anyone weed out future headaches from their tech stack.
Be wary of beautiful project websites. After the initial setup, most projects, libraries, CMSs main website becomes significantly less helpful. If they have a documentation site, great. Otherwise, look for official user forums and how often questions related to the project are asked on sites like StackExchange. The actual developers of a project can only do so much. When you have questions about how to use/extend a project, you will most likely be asking those questions to other users. A large community of users is the best tech support you can hope for. Having lots of active users is a feature more common to projects that have been around for a while. So while the newest projects tend to look the coolest and have the best advertising sites, don’t forget to look at more mature projects. For example, WordPress may not have the flashiest website, but it can do almost anything you need it to and the community is huge.
Tech ages quickly, but that does not mean that older projects become obsolete quickly. When looking at any project, see how often the developers release updates. Stay away from projects that haven’t seen a release in over a year (unless you know what you are doing). This can happen to new and older projects. It is easier to see if a ten-year-old project receives regular updates versus a one or two-year-old project. The speed at which the developers of a project fix bugs and address the concerns of users can tell you whether the project will be a help or a hindrance for you later.
Projects that are popular now are easier to use. If a project has been popular for a while chances are that the developers are active and the community of users is large. Popular projects also tend to have lots of tutorials on how to use and extend them. Search for “reactjs todo app” and you will see links to lots of different tutorials. Search for “mithril js todo app” and there are a lot less unique results. Popular projects tend to have a large pool of community-created resources. This means more support when you are a beginner. When a new version has a difficult update path, community support is a lifesaver. If you don’t update your site quickly enough, community support is often the best way to keep it running relatively smoothly and securely.
Open source means that you are free to modify and redistribute the source code of a project. This may not mean much to a non-developer, but it means that the world of extensions/plugins is not limited by however much documentation the project developers choose to create. Anyone with the know-how can comb through the source code for the project. It means that you can see and modify the source code at will. If the developers stop working on the project, community members can take over. Even if the developers are active, an open-source project means that community members can find errors/bugs/vulnerabilities, point them out to the project developers and even address the issues themselves. Open-source projects allow for more collaboration which makes for better projects for everyone.
Starting a new project is difficult. There are always so many choices when it comes to picking which tools to use. If you look for projects that have a large, active community; have active developers; and are open source; you’ll make sure that you are limited more by your creativity your tools.
Culture Foundry is a digital experience agency that helps our clients elevate their impact with beautiful technology. We provide the expertise and insight at every layer that makes a great digital experience for websites and applications possible. If you're committed to elevating your digital experience, contact us and we'd be happy to schedule a chat to see if we're a fit.
(Psst! We also happen to be a great place to work.)