Many Minds, One Solution

--

How we share solutions is just as important as how we become inspired to create them.

Creativity and empathy, the building blocks of development.

Quick, Close Your Eyes!

Close your eyes. Now, tell me every feature of the last application you built. How many buttons did you make? Which components used state? How many functions did you write in each file? Now, tell me your entire file structure. From memory.

Ok, how about an easier one? Take a look at the picture above. Look at it as long as you like. Then, close your eyes again, and tell me every color in the order it appears on each stack of those rocks. Take your time. I’ll wait.

The open source software development community is an incredible, vast network of creativity and support. We all build applications that offer solutions to the problems we see in a range of scope: solutions for our own daily lives, solutions to the problems we share among this microcosmic bubble we call technology at large, and solutions to problems we can see affecting humanity. All of this in effort to find more potential, more answers to the questions we share, and more creativity. The less we have to do on our own, the more we can do together. And minds working together will always be able to do more than one mind working apart.

So, close your eyes one more time. Now, open them again, and see that you don’t have to create an entire application from just inside your mind. There are ways to share your ideas, visually, among your team. The more you can all see what you’re building, the more you can all be inspired to build. And, I’d be willing to bet that you can build things as a team faster, and with unlimited potential, when you can visualize each feature, each function, each file just as fast as you can imagine it.

How Do We Build, and Why Does That Matter?

For four weeks, my team decided we needed a straightforward, simple way to generate inspiration. Then, we decided we wanted to quickly organize our collective creativity into manageable code that answered the question, ‘why this application, and why now?’ .

Ideas started forming: What if we built a UI feature once, then shared it across every aspect of an application that needed it? Think of how much time and energy our whole team would save if it only took one of us to make, for example, the most awesome <button> the world has ever seen. Then, how productive it would be if we could share that most awesome <button> across the entirety of our application. We are a small team of five engineers. On a production level, this team would be much larger. It’s almost guaranteed that not every member of the team would get the memo that our awesome <button> is going to be the new awesome <button> across our whole platform.

That’s when we decided that we needed a library to store all of our awesome inspiration. In constant time, we could make a component, give it any functionality we needed, and store it in a library of all our unique, customized components. Now, instead of threads of missed communication, or team members mistakenly working on the same components at the same time — just to have both their ideas revoked, when they could have worked together and made a most awesome component in half the time- we found a way to share our work, our inspiration, our solutions, in real time without an unnecessary , missed email or reminder.

We found an answer to our problem. We no longer had to close our eyes and try to imagine what was in the minds of each of our teammates. We built a desktop application that allowed us to see what each of us were thinking.

What We Share Is Just As Important As What We Can Make.

Great! Now, how do we use the code we can visualize. Next, we wanted a way to create a file of what we can imagine. When Osiris, our desktop application that helps us store our most awesome created components, came to be, we saw an immediate way to improve upon the idea. Take all of this creativity, and put it in usable code. We developed Osiris to create files, based on the components we created, the needs of each component, and then we developed a way to export these files directly into any codebase for which we needed that file. Then, we thought: let’s do it across different frameworks. Now, we can create code for Vue files as well as React files. The possibilities are growing every time we sit down to iterate over Osiris.

What we discovered was just how helpful this feature could be, especially considering the size of a production team. If one of us created the awesome with Vue, now many of us can see it, and in real-time, even if we’re writing our own files for another feature in React. With the UI library, our awesome is always available. Eye wide open, we created a way to see what all of us were thinking, and then build solutions in our applications faster and with more uniform creativity. As a team, we were pretty satisfied with our work.

The Way Forward

The real strength of Osiris comes in how creative it allows any developer to actively work on solving problems of any scope: in our heads, in the developer community, and in the world. We don’t have to close our eyes and think of ways to build applications from scratch anymore. We can see our awesome <button> s, our awesome <div>s, our most awesome functions, and our completely awesome, inspired files.

This is my encouragement to any developer momentarily lacking inspiration, or creatively blocked: visualize what is in your head. See what you have, so far, and it will help you find where to go next. Osiris has provided my team and I with that way forward. We hope it can do the same for yours.

The OSIRIS UI library, component generator, and framework design tools are available at osirisdev.io

--

--

Wayne Alan Wilcox
Osiris : component generator and ui library

Wayne is a software engineer at Codesmith. His core tech stack includes React/Redux, Node/Express, and SQL/NoSQL databases. He’s a co-creator at Osiris.