Of all the open source analogies we’ve come across, zombies has to be one of the most unusual.
One member of the undead infects another, who goes on to bite another. The zombie infestation spreads rapidly. Meanwhile their human counterparts can’t replicate as quickly.
Their birth and development is slow and their progress sluggish. Paired against each other, the zombie future is inevitable.
Zombies are the equivalent of open source software. Open source software development can identify, debug and grow at a much faster and nimble rate than the progress of humans (proprietary software) which are limited by time and resource.
Instead, open source allows developers to dive straight into a codebase to fix bugs and propagate the improved software.
The benefit of the zombie-approach to software development is that everything it builds is open to constant improvement and the sheer volume of its adoption provides safety in numbers (most of the time at least).
Think your developer toolbox is full? Think again.
Open source tools and software are built by a community trying to solve the same problems you are, and by feeding back into the zombie frenzy, software iterations become stronger and more beneficial as the community grows.
We’ve rounded up some recommendations from our engineers on the tools and software they couldn’t design, build, implement and support without. From mobile to design, the zombie approach is helping these go from strength to strength.
Mobile
Twitter Bootstrap – If you want a really quick way to spin up a nice basic interface for hardware hacking, then Twitter Bootstrap is the way to go. It’s responsive (works on mobile, tablet and desktop) and allows you to rapidly prototype interfaces using your web browser.
Cordova Project – If you are looking for a way to access native APIs relating to a mobile device, (for example, its camera or one of its sensors) then the Apache Cordova project is one for you. It is a powerful and evolving toolkit that allows you to really mobile-enable your hardware projects.
Android – The Google-created operating system, Android, is actually built on open source. It’s not just mobile, though; it’s already being used in televisions, cameras, kiosks and even in factories to monitor equipment.
If you really need to give your hardware a brain and build apps on it, then Android has a powerful set of features that you can customise and use to create something formidable.
Design
Inkscape – For colouring, illustrating or icons, Inkscape is your holy grail. Particularly renowned for its illustration features, Inkscape has become a staple for professional designers worldwide. To convert shapes into objects, direct edit on SVGs and edit clones on canvas, check out Inkscape. Oh and it converts Bitmap to Vector automatically.
GIMP – As a free, open source alternative to Adobe’s Photoshop, GIMP has been given a rough ride in its time for poor UX and for not quite being on a par with its licensed counterpart. GIMP has now been overhauled with a varied and powerful set of features that gives Adobe a run for its money.
Firebug - If you’re looking for a website inspector tool for Firefox, Firebug should be your first port of call. If you can’t figure out why page load time is so high and your performance is slipping, Firebug is a handy tool that lets you edit and debug CSS, HTML and JavaScript in realtime.
Content
Drupal – Drupal does many things, but at its heart is content. It runs millions of sites including whitehouse.gov. At a content level, it has tonnes of built in features for SEO and its default installation comes with a high level of security and file maintenance tools.
Varnish Cache – Searching for a web accelerator for a dynamic site with a shedload of content? Varnish is a good place to start to help speed up your website. If it’s good enough for Facebook, Twitter and LinkedIn, it’s probably good enough for you.
Continuous Integration
Jenkins - Although you don’t need a specific tool for Continuous Integration, it’s pretty darn handy. Written in Java, Jenkins is a fork from Oracle’s Hudson. After a tumultuous inception, Jenkins has established a firm foothold in the automated testing space.
Infrastructure
Nagios – If you’re looking for open source options on the infrastructure side of things, Nagios is worth looking into. It’s fast becoming a standard for system and infrastructure monitoring. It’s robust, reliable and runs on many operating systems.
This is by no means an exhaustive list of the tools and software our engineers use every day, but that’s also part of the appeal of the zombie approach to software development. By the time you’ve got to grips with the first round of tools, there’s a whole new wave waiting to make their move.
Writer is Barney Hanlon, technical team lead at Inviqa, with over seventeen years experience in software development.