Sociomantic Open Source: microbe.js

A modular JS library for DOM manipulation, and more

Open source code is not only free to use, but also free to be changed and shared by anyone. It can improve a project’s security, quality, flexibility and more. By November 2014, 97 percent of all the supercomputers in the world were running Linux (a well-known, open source operating system)—a testament to the power of open source [1]. It’s not a niche solution, either, at least not anymore: made famous by developers and users of Linux and BSD operating systems, open source communities have spread their way onto mobile phones (Android, Firefox OS) and even to game systems (Ouya, GCWZero).

At Sociomantic Labs, open source is also quite vital, given that our development heavily involves the software programming language known as D. Today, I’m proud to share our first open source JavaScript library: microbe.js.

What exactly is microbe.js? This question is best answered by the creators themselves, two JavaScript developers—Mouse and Nico—from Sociomantic’s R&D Department.

Mouse: “Microbe is a JavaScript library. It’s broken up into modules. Right now it has tools for general use (these are mounted on the root), DOM manipulation methods such as append or insertAfter, methods for directly interacting with elements, HTTP tools for AJAX requests, custom event emitters and listeners, and ‘observables’.”

Seems that microbe is trying to solve just about everything.

Nico: “No, to be honest, it’s still a library, it’s not useful for everything. Many problems are simply solved by a single line of code and there’s no need for a library. We want clarity, so that developers are more aware as to what they’re getting with our library. Just not ‘oh, lets dump jQuery and hope for the best.’ At least know what you’re doing. It’s also an extremely good learning experience for us, to take this huge, giant library—jQuery—and pull it apart and see how it’s actually built inside. This is very interesting and there are definitely a lot of clever people working on jQuery because they have a lot of good ideas, but sometimes it’s just too huge in filesize. You don’t want to put all of that code into a project and you don’t even need half of it, in general.”

What prompted you two to begin building microbe?

Mouse: “Mostly curiosity. I’ve always had my issues with jQuery, mainly that people jump to use it without contemplating bigger topics such as why and how it does what it does. It seems very easy and can lead to sloppy code. The real questions for me were, ‘How does jQuery do what it does? Why do the jQuery developers do what they do?’ Nico and I were in Hamburg at a conference and someone did a very quick shortcut:

“It could be said that this is the heart or main usage of jQuery: the selector string. And if this is so easy why do people need that huge document—the entire jQuery library—to be added if it’s just being used for the selector string, in most cases? We started with that and we’ve been adding things only as we need them.”

Why is it called microbe?

micro symbol

Mouse: “That was actually the idea of a colleague of ours—Michele. It was a combination of things. We were looking for a symbol to give the library. We were simply going through the keyboard and testing which symbols JavaScript would let us use as variable names. And we ended up using the micro symbol (µ) which we really liked. It’s a pretty cool symbol and it’s not really out there yet. But what to call it?”

Nico: “Microbe! It’s aquatic!”

Mouse: “Yeah, it was discovered on our hunt for an aquatic name.”

Why did you need an aquatic name?

Nico: “Because: Sociomantic.”

Mouse: “That’s how we roll. I believe it comes back to a story with Lars—one of our founders—he’s a deep sea diver and underwater photographer. A lot of projects at the Labs are given aquatic names to honor his passion outside of work.”

And how is microbe aquatic? What is a microbe, actually?


Nico: “It can often be found in water.”

Mouse: “Yeah, like a bacteria. Really tiny.”

Is that a reference to how small your library’s supposed to be?

Mouse: “No, but it works.”

[They laugh.]

Nico: “It was a good combination of all the ideas going into it. Our library is way smaller than jQuery but doing some of the same things and still competing with it.”

Thinking forward, what’s your hope or vision for microbe?

Nico: “That people use it, and like it, and start writing on StackOverflow, instead of ‘oh, just use jQuery for that,’ ‘oh, just use microbe for that.’”

[Both laugh.]
Any thoughts on a future microbe community?

Mouse: “For me it has to compete with jQuery of course but it doesn’t have to be the new, biggest thing. I’m really excited about being open sourced and having a community around it and I want people to contribute. There’s plenty of people that are smarter than me in plenty of different ways because everyone sees things differently.”

Nico: “We wanna see people’s crazy ideas.”

Mouse: “Yeah, we wanna take all those crazy ideas and smash ‘em together and see what happens.”

So how can people contribute?

Nico: “Hop on over to our Github and check out the Contributing section!”

Any last, parting words?

Mouse: “I feel like I should say something catchy but I got nothing.”

Nico: “Yeah I got nothing too.”

[Both laugh.]
Thanks guys, good luck with microbe!


Contribute / Contact: