August 6, 2018
Fighting feature bloat in open source
I’ve grown up in open source, I learned how to code in open source and my thinking about software was founded on the principles of open source. Needless to say as things went along I realized there were some interesting and unique problems associated with open source software. But before we dig in there’s a couple of things we need to address.
First, I love open source. If you can’t tell or don’t know I have dedicated my time and my talents to promoting and furthering open source. And anything I share below is not because I don’t believe in open source or the way the software can change the world.
Second, my background is a mix of math, science and art. To quote a well-known and massively overused line…”I have a unique set of skills.” 😂 I joke, of course, but the truth is there are times when my design-sense takes over. And as I see open source software and the way the code is created I can’t help but realize there’s a problem that exists in many of these projects. There’s an element that gets overlooked and completely ignored far too often in open source projects. So here’s a problem I’ve seen and a few of the determinant factors.
Problem: Open source projects tend to gravitate towards feature bloat and disregard the power of minimalism and simplicity.
Group decision making
One of the greatest and most exciting parts about an open source community is the ability and opportunity for anyone to rise to a position of leadership. Communities are a fantastic way for individuals to find and discover their leadership talent. In a community everyone has equal opportunity to grow into a role or a position and to assume responsibilities. Usually these come from two factors: either you’re naturally gifted, skilled, or inclined towards a particular subject and as such you are quickly moved into a relevant position; or you have a personal desire to volunteer in a particular area because of personal interests.
Regardless of the reason, communities usually allow for individuals to explore every possible working group (or at least the best communities do). But this wonderful opportunity can also be an incredible Achille’s heel. If there are too many people in a group, too many voices on one particular subject the decision making becomes increasingly difficult.
In fact, I would almost venture to say it becomes exponentially more difficult with each new voice added to a discussion. Of course this topic of group decision making is not one to be addressed here as it would be a full blog post in and of itself. For the sake of simplicity let me merely suggest large group decision making leads to feature bloat in open source and this is something we should attempt to avoid.
All things to all people
The second cause for this rather disagreeable outcome of a feature-bloated product in open source tends to be the reciprocal evil for the inherent good when a large number of disparate people focus on a single idea. Whenever there is an abundance of voices there is also a corresponding abundance of opinions.
This abundance of voices and opinions is not a problem and as I have suggested this is one of the reasons why open source tend to be so successful. This is the power of the community, this yields a greater opportunity for identifying the most desirable solution. The problem arises when the notion of selection is neglected. What I mean by that is when the various ideas are not distilled down and the “best” one chosen the result is a superfluity of options and alternatives. This is not simple or minimal. This is feature bloat.
Open doesn’t mean all-inclusive
This third reason is not so much a different reason but an expansion on the previous. When there is a great number of suggested alternatives there is also a desire to please as many people as possible. Therefore, in an effort to demonstrate “openness” or “inclusivity” all the options are made available and all the features are added. And any time when there are this many “all”s used in a single sentence the outcome is inevitably feature-bloat.
It is wise to understand that the idea of open does not in and of itself mean all-inclusive. There is nothing wrong with a community selecting what features to add and what features to refrain from including. This is not a negative and should not be seen as a derogatory response to a particular suggestion. Instead when the focus of the community is centered on the same outcome even in case of a denied feature inclusion there is a fundamental acknowledgement and acceptance of the solution for the greater good.
I would even go so far as to suggest those communities where you see options being added for everything, where toggles, switches and alternatives are included for everything there is perhaps a greater root problem. In these communities there exists a lack of strong, shared vision and a leadership team capable of making decisions based on that vision.
The power of simplicity
We all tend to recognize the beauty of simplicity. We are quick to appreciate the power of a good, clean, easy-to-use product. And yet, when faced with making the hard decisions of inclusion vs exclusion we often waiver and become more lenient in our decisions. We should ensure the power of simplicity is not only recognized but held as a requirement for the product created.
The problem is magnified in open source where again a multitude of voices can influence the product. Great open source communities are aware of and are able to require the power of simplicity in their product.
Why open source wins
Over time the value of open source and the power of the community has become well-known and acknowledged. It is easy to understand the many benefits found in a community of impassioned volunteers. As a result open source software has grown increasingly popular and increasingly commonplace in companies around the world. There is less and less a debate about whether open source software is better than closed source when it comes to these areas. However, open source wins completely when it is able to balance this power of community with the power of decision making. Coupled together the force of these two is unstoppable and the product unbeatable.
Open source wins because it’s a better software solution. Open source dominates because a community and its leaders are aligned on a shared vision and focused on a single goal. The best open source communities fight feature bloat with each release and constantly evaluate their decisions in light of their goals.
August 1, 2018
Automation Days: Brazil Edition
As my evening winds down I am sitting here putting the finishing touches on a couple of talks I’m about to have the privilege of delivering at two different Brazilian Automation Days. This is an incredibly exciting couple of events for several reasons. First, in case you weren’t aware of the power of the Brazilian community let me share just a couple of stats that point to the size and significance of this awesome group of Mauticians.
A Few Mautician Stats from Brazil
The Mautic community in Brazil is quite special to me, their support and their passion for Mautic has been immense from the very beginning and the earliest days of our community. I will never forget my amazement to discover the size and activity of this group. I had no idea more than 3,000 Mauticians were actively engaging and helping one another with their marketing automation and Mautic. And their growth has only increased. Mautic Brazil now has over 5,000 Mauticians! That’s phenomenal. And perhaps even more phenomenal is that this group is ridiculously active and encouraging in their support for others.
In addition to holding the title as one of the largest Mautic communities the Brazil Mauticians are also highly active in contributing to the community as well. Some of these Mauticians have led efforts and teams within Mautic (e.g. our Mautic Docker container) which have furthered the global use of Mautic tremendously. Others have taken to contributing to the Mautic community blog to help educate about Mautic and marketing automation.
What’s An Automation Day?
Now you may be wondering what an Automation Day is. Let me explain, Mauticamps are the ongoing monthly meetings of our local community groups (and there are dozens and dozens of these happening every month around the globe). But the Brazilian community recognized they’d like to do something a little greater. They wanted to bring together some outstanding speakers and spend more time together than what a standard Mauticamp might allow for. In short, they wanted to create something special.
We’ve decided to call this an Automation Day. Our goal is to promote Marketing Automation in all its facets and increase the usage and understanding of the Mautic software. But in addition, we have decided to spend a little bit of time talking about something else I believe is extremely exciting. We’re expanding on the concept of an Automation Day to also include some time to discuss an open source CRM, Saelos, and how it contributes in the automation of the sales cycle.
My Talk Topic
As you might imagine based on the above paragraph, I am going to be talking on two topics in one session (talk about a lot to go over!) I am excited to share about the plans and process for Mautic 3 and how things are unfolding as we prepare for this massive undertaking. I am also excited to unveil and share the features and functionality of Saelos. What I really think is exciting is beginning to explore how these two separate platforms can integrate together to create a seamless automated experience.
Check back over the next few days as I’ll be sharing more updates after each event along with my slides and pictures from this incredible community.
July 12, 2018
I Need Your CRM Feedback
This is a bonus Saelos mid-week post, but that’s because I need your help and I need it urgently! I’m doing a quick feedback loop about CRM platforms and I realized there’s no better audience than my personal network of friends and followers. I need your ideas, your thoughts, and maybe most importantly…your complaints!
That’s right, this is a free pass to gripe, complain, and whine about the shortcomings, faults, and flaws of your current software. You know your friends and co-workers usually don’t want to hear about the problems you’re having (we all have plenty of our own). But today is your day, and this moment is your moment. Unload on me. Share your ideas, thoughts, and problems. I’m listening!
Okay, okay, that’s all you get. No more moaning and groaning, get back to your day and keep your chin-up, your feedback has been heard and you may soon have answers to your problems!
July 3, 2018
If you read my blog much or listen to the podcasts you know I tend to talk a lot about active listening. (In fact, I just referenced this Sunday.) But the idea of active listening is only the first step in this journey. Beyond the act of listening actively you need to follow-through with the next step. I consider this next step equally important. This next step is applied listening. This is where I take the listening I’ve been involved in doing and actually use it to affect something I am doing. I apply the knowledge I’ve gained.
Oh, but there’s lots of room for learning still, and today is no different. What you’re about to read is my Tech Tuesday post. Last week we dug in deep and explored polynomial code computing. I’ll save you the mental struggle of wading through another concept at the same depth this week and instead explore a more applied technology. In fact, we’re going to take things extremely simple this week and look at something I wrote over the weekend.
The idea is simple. I wanted to take my applied listening and do something with it for the purpose of making this blog in particular easier and better for my readers.
The idea: applied listening
Real life example coming at you. My blog posts usually come in at around 1,000-1,200 words with some going even longer. That’s a lot to read, not necessarily when taken individually, but when put into the context of a week’s worth of daily posts…it can be overwhelming, and possibly a bit daunting. I was faced with a dilemma. The depth of each post is important, and there’s valuable information I’m conveying typically without demonstrating an unnecessary verbosity.
But not everyone has the ability to devote the time required to read a long post each day. In fact, my best friend once mentioned no matter how much they hoped to be able to, they could never keep up with it all. And this resulted in a negative experience for them! The exact opposite of what I hoped to accomplish. I want my readers to feel inspired, motivated, and most importantly in control of their time. When the length of my post dramatically and directly contributed to the opposite effect I felt I was the one failing them!
I wanted to find a way to resolve this conflict and provide a better user (reader) experience while at the same time not sacrificing the quality or content of my message. This leads to my proof of concept below.
The proof of concept:
There are existing plugins which will report the average reading time of a post. These are somewhat helpful in providing information to the reader about the length of time to anticipate a particular post requiring. However, in my opinion this reading time message is merely passive usability. I’ve written a good deal about the notion of active vs passive. (Don’t get me started on this in regards to artificial intelligence!) I call this passive usability because the basic message is merely, “Here’s what’s happening, deal with it.” Somewhat beneficial but not necessarily proactively helpful.
Instead, I’d like to draw your attention to the top of this post (if you’re not reading this on the actual post page, click through to the single post instead of the homepage). As you can see, my subtext is slightly different and a bit more specific. There’s an included link asking a question – got less? I believe these two little words and the included functionality take this usability from passive to active. What you have now is active usability because the message now says, “Here’s what’s happening, want to change it?” See the difference? Beneficial while also empowering and proactive.
At this point I was going to tell you to try it out. However I am 99% sure the minute I referenced the subtext in the previous paragraph you’ve already played with the technology and seen what it does. I hope your first response is delight mixed with a hint of intrigue. If that’s the case then I’ve been successful in changing the experience to a positive “reader experience”.
- First, I’ve written my post in its entirety as I normally would, then I use a special toolbar formatting option I wrote in the editor that allows me to wrap words, sentences, and paragraphs of text in span tags. Each span tag includes a special class name, such as, level-10, level-25, level-50, level-75, etc… any digit between 1 and 100 can be used in association with the level- portion of the tag.
- The second step implements a rather standard jQuery UI slider element (I’ll admit this was the first time in a very long time that I used jQuery UI…I almost didn’t believe it was still actively used!). This slider UI begins at 1 and has a max value equal to the total reading time of the post.
Side note: Total reading time as I mentioned previously is easy enough to figure out using an average words-per-minute read time. Nothing super special in here honestly. It’s a basic equation.
It’s really that easy. 3 simple steps and you have a “surprise and delight” experience for your readers. But since I’m all about the value of time and the essence of simplicity and convenience I wrote a plugin to perform all this work and all my job consists of is merely selecting the appropriate spans from the toolbar, the plug-in does everything else.
And finally, let’s open source everything.
Of course I plan to open source this plugin so everyone can see the code and have a go at it…and hopefully make it better! Before I do there are a few things I’m still improving before I want to share it, basically cleaning up the code and implementing something I added just yesterday (take the page url and add an “anchor” such as #3 to be automatically given the 3 minute version of the post). It won’t be too much longer and I’ll share the code and I’ll be sure to post an update so you can try it for yourself!
Have a great Tuesday and remember, simplicity is key, sometimes the best usability is also the easiest to create. Finally, remember sometimes what looks like a magical user experience only takes a few lines of code and a little bit of extra thought.
July 2, 2018
Changes to Mautic’s Leadership
Recently the Mautic community shared an incredibly important blog post on their site. I’d recommend you read the full post for yourself but I will give you the summarized version here to make it easier for you. Here’s the lowdown: Mautic community has grown super fast in the past 2 years. When the organization and leadership team were initially formed there wasn’t much of a community (as you would expect). This meant an inordinate amount of work was done by a few people. Again, this isn’t a problem, it’s how everything starts in the beginning.
Mautic began with only a handful of dedicated individuals, most working together during the day and also contributing to Mautic’s open source platform every chance they had. Today, the Mautic community has grown significantly since those early days but the leadership hasn’t necessarily changed at the same pace to reflect the same rapidity of growth.
The most recent blog post shared in the Mautic community was a call for leadership volunteers. There was a call for a series of changes to be made to the teams, organization, and release processes. All of these changes need to be made so the Mautic community might be better represented in the leadership team.
The reason for this change
You may be wondering why this change matters. What makes this governance model so important and why should you care. If it’s not immediately evident the true purpose of the Mautic leadership teams is to distribute power to as many strong, capable, community volunteers as possible. Mautic believes the best decisions can be made for the largest group of people when the leadership represents those diverse people and their interests. When one company is more represented than another company the open source community and it’s direction may be suspected of defining a path forward skewed too heavily towards one particular viewpoint.
The Mautic community rightly recognized this situation and have decided now is the appropriate time to make changes to the leadership to better represent our strong and growing community of volunteers. Personally I find this every exciting. This announcement demonstrates the dedication and commitment of our contributors. We have grown as a community to the point where the vision for our future is shared. I find it exciting because the dreams and ideals I envisioned for Mautic are no longer held alone.
The benefits of open source
And yet even that reason (distributed representation) doesn’t necessarily take into full account the underlying motivation for changing leadership structures and empowering volunteers. The underlying premise which sets the foundation, or belief, that distributed representative control is better begins with open source. Open source has long been proclaimed the winner in the software world. Companies of all size and scale now implement open source software at all layers of their infrastructure (software stack).
More than 90% of all software either contains open source components or is comprised completely of open source.
A large number of these companies would also seek to share their software as open source in an attempt to harness the values and benefits of open source communities. But, these corporations hope to see value without accepting the full definition of open source.
I recently read an amazing article about the Magento community and how they changed their open source approach to increase community contributions. As I read the post I discovered many similarities to Mautic’s own journey (As I expected I would; my friendships within the leadership circle of Magento kept me fairly well-informed as things unfolded over the years.). Here’s the intro snippet to the article, which I believe summarizes the previous paragraph:
The theory of open source is community-driven development…Most open source projects actually attract very little community. As much as a project like Linux or Kubernetes attracts deep developer involvement, most open source projects toil away in obscurity, the labor of love of a single developer. For commercial open source projects that do see significant contributions, like MongoDB or Red Hat’s JBoss, virtually all of those contributions come from developers on a single company’s payroll – Source
This lack of distributed decision-making, and missing community contribution at the leadership level causes many of these smaller open source communities to not achieve the stratospheric success otherwise possible. (Interested in what I mean by this definition of success? I lean heavily on the influences of Jim Collins, shared in books such as Built to Last.)
I believe the only true and right way to build a proper open source community is with a strong, shared vision held passionately by a diverse, equality-driven tribe of leaders. There’s wisdom in a multitude of counselors as the timeless proverb states.
Mautic understands the value of open source
Thankfully, Mautic is not like many other open source projects. We are building a community with this focus and concept in mind. We have set lofty goals and laid a framework to help us achieve them. This improvement to the leadership process is the next step in our journey to success. We believe we are building something to last. We believe as another old proverb states:
If you want to go fast, go alone. If you want to go far, go together.
Mautic has always had the right motivation and goal as a community. Our leadership even in the early days recognized that we needed to go fast to establish ourselves and to demonstrate to the world there was something truly unique, truly special in Mautic. And now we have reached our first of many milestones, we shift to going the distance. Mautic is intent on going far. And we are going far together.
This new leadership and organizational structure proves this point perfectly. If you haven’t yet taken the time to read the post, or haven’t considered the role you might consider playing in Mautic’s future I would urge you to take a moment and contemplate the possibilities. Your unique skills, special talent, and incredible gifts when shared in community allow you to be a part of something bigger than yourself. Find that sense of satisfaction and personal fulfillment by seizing the opportunity to become an influential part of something changing our world today.
June 13, 2018
Apples, Oranges, and Communities
“You’re only focused on the developers.” The comment stung but only for a second. I was deep in conversation with a few Mauticians when this supposed truth bomb was dropped in my lap. But rather than devastating me, or causing me to explode in a defensive nature, I let the comment soak in. I rolled it over in my head and attempted to evaluate the truthiness of the words. Here are the conclusions I came to as a result.
What am I focusing on?
I appreciated this reminder about how vitally important it is to focus on the many different type of community member. In other words, not everyone is a developer. I’ve been working in communities and developing communities for the better part of the last decade. And still, still I struggle with remembering this valuable fact.
I’m an engineer at heart. I love creating beautiful code and I love creating process. I love the ability to create order from chaos. Or create functionality from nothing. In addition to just the code I am hyper-focused on the presentation. I’ve written about the topic of UI/UX frequently on my blog (Most recently I wrote about the concept of UX writing). So, code + design are always the first and foremost on my mind.
I’m sharing things about myself in order for you to have a better understanding of what comes naturally simply by default for me. In this situation these are the things which influence my responses and my “top-of-mind” areas of focus when considering community and community growth. I would suspect you are each similar to me as well, albeit with different focus items.
This is the reason why the comment which turned it into a conversation was so important to me. The statement made me look inward and evaluate how I was doing as a Mautic community leader and how the Mautic community was growing. Were there areas in our community being neglected? Were we as a community overlooking valuable contributors and passionate volunteers simply because they didn’t look like everyone else?
And all of that brings me to my somewhat unusual blog post title. I always hesitate to share common idioms in an effort to not bore you with something I assume you already know. However I’ve found there are usually one or two who appreciate the quick response of something they remember only vaguely.
Why are we talking about fruit?
The phrase I refer to in my title says, “Like comparing apples and oranges.” This classic phrase is usually called upon when someone is attempting to compare two items which are clearly different. The point being that the person making this comparison is neglecting or overlooking the rather obvious fact that at the most basest of levels the two items are simply incomparable.
And of course the final item in the title refers to our communities we live and work in. Comparing community members or making the base assumption that every community member looks the same (aka has the same skills and talents and focus) is just as flawed as fruit comparisons.
How does a community grow?
When we reevaluate our thinking about our community and we look with a fresh focus on the diversity found in skills, talents, and abilities we see something more than differences – we see strengths.
These strengths, these unique qualities, when they are recognized and encouraged, result in community growth. And this little secret is what everyone is seeking in community growth hacking. A community typically forms around a common set of shared values (Seth Godin’s Tribe mentality). When we recognize this foundation then we can turn our focus to our differences.
Reference: Tribes and the reality of the worldview.
Why are differences so important?
The previous paragraph leads me to ask this next question. Do differences actually make us stronger and help us grow faster? Isn’t the opposite view, of a unified approach, better and more productive? The seeming contradiction however ignores the fact of a strong shared foundation of values. There is a basis of unified beliefs and a shared vision (this is the why of the community). The differences are the unique additional qualities of each person. And here’s the reason it matters, wrapped up in a biblical expression:
“If our bodies were only an eye, we couldn’t hear a thing. And if they were only an ear, we couldn’t smell a thing.”
— 1 Corinthians 12:17 (CEV)
Simply put, if everyone is the same (an eye) in a community (body) then there are all sorts of things (the act of smelling) which cannot be done. In other words, we lose out on incredible and valuable functionality. This implies therefore the inverse is an increase in functionality. Our differences make us stronger.
Mautic celebrates differences
The conclusion of my short mental journey down this path was a realization of two facts. First, Mautic is an incredibly diverse and unique community. We share a common set of beliefs and goals, but beyond that we each have unique talents and abilities. Mautic as a community embraces those differences. Second, while I was reassured after this mental exercise I was not neglecting any particular subset of our outstanding community, I was thankful for the opportunity to review my actions and motives.
If I could leave you with a word of encouragement as you are in a community (or possibly building a community) – consider your differences. Seek to support, encourage, and empower volunteers by highlighting their strengths. Do this and I guarantee you – you’ll be amazed at how easy it is to hack your community growth.
June 4, 2018
Microsoft, Github & Changing A Reputation
Today another headline has captured the minds of many in open source as it seems that yet another open source centric company has been acquired by a private one. Only a couple weeks ago we heard the announcement of Adobe acquiring Magento, arguably the biggest open source e-commerce platform. My good friend Dries wrote a great piece on the purchase so I don’t feel it’s necessary to rehash it too much. If you’re interested you should absolutely read his post: My thoughts on Adobe buying Magento for $1.68 billion | Dries Buytaert. And now, this last weekend the big news appears to be the announcement that Microsoft is acquiring GitHub for $7.5 billion.
Woah, but I thought Microsoft was the enemy
Perhaps one of the most talked about part of this news is Microsoft’s previous statements about open source (particularly Linux). I thought long and hard about this as well as considering my own opinions and inclinations towards Microsoft in this regards. I knew of this deep-seated animosity and dislike for Linux and simply assumed this belief continued deep within the Redmond walls — and in spite of any outward overtures of support, and dare I say “love”.
I thought about Satya Nadella and the work he’s been advocating so heavily for at Microsoft since he stepped in as CEO. And I reflected back on the book, Hit Refresh, his autobiography. This caused me to pick it back up and skim through my highlights. This note caught my eye:
“Dogma at Microsoft had long held that the open-source software from Linux was the enemy. We couldn’t afford to cling to that attitude any longer. We had to meet the customers where they were and, more importantly, we needed to ensure that we viewed our opportunity not through a rearview mirror, but with a more future-oriented perspective.” — Satya
I realized I needed to return to this book and dig in a little deeper as I was now more curious than ever to see how this recent acquisition news played a role in Satya’s overarching vision for Microsoft’s future.
I am glad I took the time to do a bit of research on this topic and glad I returned to this book to see those points that I found interesting back when I first read it. As part of this background refresher I also spent a few minutes looking over Microsoft’s historic acquisitions. The list is quite long as you might anticipate. This obviously ended in the most recent news of Microsoft’s purchase of LinkedIn. And at a price tag of $26 billion dollars I would hope no one has forgotten this transaction yet.
At the time of the LinkedIn purchase, there were questions about the motivations behind this move as well, but again, it’s easy to understand if you consider the approach of Nadella as he looks to the future version of Microsoft:
Satya wrote that he has a “bias” for focusing investments on advancing services such as LinkedIn and Office that help people create and “become more productive rather than software that is simply entertaining — memes for conspicuous consumption.”
Wrapped up in that quote we begin to see a bit of Microsoft’s motivation for this purchase as well. It fits the plan they have strategically set for their future direction. GitHub stands as one of the greatest online destinations for individuals to demonstrate and share their productivity. Following this logic it is easy to see why GitHub holds so much potential value for Microsoft, but what about for GitHub?
GitHub has a long and storied history itself mired in fast success, public stumbles, and the ever-present churning in an attempt to grow revenue. They continued to take larger and larger checks from investors in their search for a path to success. They knew the product direction but they struggled with how to best capitalize on the financial side of things.
For the statistics and numbers junkies reading here’s the financial lowdown on their position. GitHub was valued at approximately $2 billion dollars based on their funding (they’ve raised $350 million historically) and their revenue numbers in 2017 were slightly more than $200M in ARR.
In more recent news (last year) the current CEO, Chris Wanstrath announced his intention to resign. His resignation, unlike his predecessor’s, was not forced by any scandal but instead due to his interest in product development and testing. His announcement and subsequent search for a replacement CEO has lead to fruitless searching and things looking bleak for GitHub’s leadership team.
Clearly this is the story of a company in turmoil. Rumors about possible IPO’s and potential suitors were growing more common by the day. It was evident that for GitHub’s success something had to change.
Open source impact
Of course the reason this particular acquisition has been brought to my attention is due to the open source community. And as I alluded to earlier, the prevailing “anti-Microsoft” opinions of many in the open source world are growing more vocal. But what does this acquisition mean for open source? I think this question is one which would be answered quite differently today than it would have been a few years ago. Again, under Satya’s careful curation we’ve seen a shift in Microsoft’s culture and views towards open source. (This is no small feat!)
But as the press appropriately admonished: Any grand future vision must be met with real and consistent actualities. Microsoft has done just that. I believe a quick look at Microsoft’s current views on open source point to their intentionality:
Microsoft has over 15,000 contributors on GitHub (the greatest of any single company). The company said that over 6,000 employees contribute to open source projects, and have released over 3,000 open source projects. Microsoft’s open source programs office tracks nearly 10,000 open source components, everything from NPM packages to Linux distros used by Microsoft teams. — Source
All of this forces me to think more about what this recent news means for open source and even more personally, for me as a result.
People change, so can businesses
And this is where the learning comes in; the personal challenge to grow and rethink long-held opinions. We all know that people can change. It’s not easy, takes ridiculous amounts of will-power and dedication and ultimately only the test of time will prove the veracity of the change. But in the end, people can change. And if people can change, so can businesses.
Microsoft, under the leadership of Satya, has been focused on rediscovering their soul as a company. They have redefined their mission and outlined steps which help investors and customers to grow the company. As Satya shared:
“In order to accelerate our innovation, we must rediscover our soul—our unique core. We must all understand and embrace what only Microsoft can contribute to the world and how we can once again change the world. I consider the job before us to be bolder and more ambitious than anything we have ever done. Microsoft is the productivity and platform company for the mobile-first, cloud-first world. We will reinvent productivity to empower every person and every organization on the planet to do more and achieve more.” (emphasis mine)
All of this speaks to the core desire to return to what the soul of the company should truly be and the first step in that journey was admitting the failures and missteps which had befallen them over the years. But businesses can change, they can grow, and they can evolve. Perhaps this acquisition is yet another demonstration of Microsoft’s ongoing commitment to rebuild their brand and their reputation. The work they have been doing and the emphasis they have been placing on open source is evident.
As I shared earlier, only in time will we know if this is genuine. Until then the open source community, and the world, will watch with diminishing skepticism as actions attest to intentions. And unless something causes a break in this fragile yet growing trust in a company rediscovering itself — our response should be cautious support.
I’ll leave you with one final quote from Satya’s book.
“Over the years, I’ve found that openness is the best way to get things done and to ensure all parties feel terrific about the outcome. In a world where innovation is continuous and rapid, no one has time to waste on unnecessary cycles of work and effort. Being straightforward with one another is the best way to achieve a mutually agreeable outcome in the fastest time possible.” — Satya Nadella
May 31, 2018
Creating MarTech Glue
If you're a digital marketer then you know the struggle. You know the gaps in your marketing stack. Those ever-widening cracks as the MarTech landscape expands. Mautic is creating the future of marketing automation with this new advancement we are calling MarTech Microservices. Want to learn more about what this means for marketer's everywhere? Read this post.
Yesterday I published a post about Filling In The Marketing Gaps and I hinted at returning to a topic I have grown increasingly excited about. I want to share just a few more thoughts and details along with some graphics which I hope will make things easier to understand. I promise, after this post, if you’re simply begging me to stop I won’t post anything further on the topic for a little while. The challenging thing is I’m seeing what I believe to be an invigorating and innovative spark for moving the future of MarTech. And Mautic is positioned on the forefront of it. As a result of all this pent-up excitement I end up thinking about the topic and by extension writing about it frequently. The topic as I’m sure you’re well aware is one we are calling MarTech Microservices. Mautic is creating the future of marketing automation with this new advancement.
The Next Generation of MarTech
There’s a lot of words in there and I realize I’ve completely obliterated the key 6×6 principle (6 words and 6 lines max on a single slide). Let me pull out a few salient points from this particular slide.
Mautic is positioned to become the leader in the MarTech space, based on an open architecture, a flexible framework, and a sustainable path for future expansion and growth.
As I shared yesterday, the very foundational core of Mautic positions us uniquely to step into this role as a leader, pushing the boundaries of what we know to be marketing automation today. Mautic 3 will give our community the opportunity to demonstrate what this future looks like by creating a headless, serverless marketing automation tool. This means a variety of things and I’ve shared it before (ad nauseam?). The purpose of this post is to take those concepts and make them easier to understand exactly what it will look like.
A Complete Marketing Automation Package
This is the first and greatest point that needs to be made with Mautic 3. Mautic will continue to provide the absolute best, most cutting-edge, full-solution marketing automation solution in the world. Even as we explore the many and exciting ways that Mautic 3 will technically change the MarTech landscape and revolutionize many of the services which marketers are already using; we will continue to offer an incredible all-inclusive Mautic product.
Mautic will grow and become better with each release and Mautic 3 will build on the learning as well as the technology of each previous Mautic release. Rather than losing value with this major release we will be able to build upon our history.
Continued expansions through plugins, a renewed vision for the various “builders” (emails, marketing messages, and landing pages) and countless additional valuable improvements through across the platform – some seemingly inconsequential and some more noticeable. (Does this interest you? I’ll share more specifics if this is a topic you find intriguing – leave a comment if you do!)
A Complete Marketing Automation Platform
Okay, this is where things get exciting. This is where Mautic 3 is completely and totally revolutionary. This is where everything changes. This is where the future begins to become the present and ideas become realities. Can you tell I’m getting excited? Because this is the inflection point. This is the Mautic 3 platform.
The title for this section belies the true differences between the previous section and this one. Package to Platform. An incredibly subtle difference in words, but an incredible impact for marketing and technologists. A package is a bundle of things, a group of objects. In this particular case, the marketing “package” is a bundle of two objects: a frontend user interface and an API driven application layer. The Mautic 3 platform refers to these two individual objects. Keep reading to learn more about what this means.
Two Marketing Automation Tools In One
Here is a more direct look at these two completely unique and standalone parts of the Mautic 3 platform. Each one of these tools is capable of functioning completely independently from the other.
This idea of two tools in one sounds far more complicated than it really is. Remember if you get worried or confused — return to the first point above: Mautic is a complete marketing automation package. There’s no need to feel differently about Mautic 3, and certainly no need to worry.
The power of combining two discrete tools affords the marketer the opportunity to be as demanding as necessary for their unique business environments. Mautic is flexible.
If you’re not sure what this bifurcated approach enables then I’d recommend posting a comment or letting me know! But first, keep reading and see if the next few sections explains things better.
Mautic 3 User Interface
The first of these two tools to explore is the Mautic 3 user interface, or commonly thought of as “the frontend”. The user interface (UI) is the part of the Mautic platform the marketers directly interacts with. This involves all the beautiful drag-and-drop functionality of the campaign builder. The powerful and intuitive navigations. And everything related to what is visually displayed in the browser or app.
Feature Highlight: Did you see what I did there? (I said “app”) We have big plans coming for Mautic 3 in this regards both mobile, desktop, and far far beyond.
As the slide above indicates, this marketing automation tool can be used with any “backend” system (you may understand this part more with the next section). Simply put, if you have your data in a different location, or different database, by adding a simple API layer you can take advantage of the Mautic 3 user interface with your own system.
Mautic 3 API
The second tool available in the Mautic 3 platform is the incredibly powerful API. Again, as with the previous “frontend” tool this API platform builds on the previous success of Mautic 2. Rather than a complete rewrite (I trust this will encourage some of you) Mautic 3’s API will expand upon and continue to extend what was done before.
Feature Highlight: Mautic 3’s API is powerful and robust due to the open source nature of the code. Every aspect of the entire platform is required to be available via this API.
When you have an API that is completely and totally capable serving every aspect of the marketing automation system you are capable of using this tool in a wide range of applications. As highlighted in the image above, Mautic’s API can be used to power a variety of other outputs. Regardless of the interface, Mautic can power the backend data processing.
Just as with the previous section, this API can then be implemented by the discerning marketer into a wide variety of different use cases. (For those with a question – this is meaning of a “headless” system)
Diving Deeper into the Mautic 3 API
It is usually at this point we tend to get into the deep and technically challenging part of the Mautic 3 topic and debate and cause some consternation for people. Let’s rehash how we got to this point very quickly.
First, we have a full marketing automation package in Mautic 3, this package can be used as one tool. Second, this package is actually a marketing automation platform consisting of two distinct tools: a frontend user interface, and a backend API. Each of these tools can be used on it’s own. Now, we have gotten to this concept of microservices. If we look at the API tool we can imagine breaking things down with even greater specificity and consider the concept of discrete functionals components.
In the graphic above I’ve highlighted three possible examples of these microservices. The takeaway is simple and incredibly powerful at the same time.
MarTech Microservices are discrete functional improvements which enhance the marketer’s role across their entire digital marketing stack.
These microservices are the glue which bind together the entire vast and confusing MarTech landscape. They can be used independently of the full marketing automation package (point 1 above).
The Mautic MarTech Glue
This is why I get so excited about Mautic 3. We’ve taken a flexible and open source framework and the concept of being adaptable to every marketer’s unique business workflow and magnified it times a thousand. We have the opportunity to take MarTech into the next phase and to enable marketer’s not only through the use of a new and powerful marketing automation package but to seamlessly bring together their entire marketing suite of tools into a single cohesive system with Mautic MarTech Microservices. And this can be expanded even more as we look into the future a bit further.
Mautic fills the gaps between the various and disparate systems in use by a marketer. Mautic does this with the ultimate in flexibility. By no longer existing as only a monolithic platform Mautic is able to fill in the space, adding value, and connecting marketing tools and more across the organization. — Filling In The Marketing Gaps
If you’d like more information not this particular section I recommend returning to my post from yesterday where I shared more detail.
Flexible, Open Source, Connected
Here’s where we bring it all together. Final thoughts on the topic. I’m going to try to summarize the content above and distill it down to the core fundamental points in as clear a terminology as possible. So here goes.
- Mautic is a marketing automation package which offers a full and complete marketing automation experience for businesses to use as an entire system to handle their omni-channel marketing automation needs.
- The Mautic platform consists of two tools: a beautiful and intuitive marketing automation user interface and a powerful and robust marketing automation API framework. Each of which can be used independently as needed in various marketing environments.
- The Mautic API framework contains discrete marketing automation microservices which can be implemented independently of the rest of the platform to enhance existing marketing tools and services.
These three core principles enable the marketer to experience a truly unified digital marketing experience. But it’s important to recognize how these 3 core principles are made possible. This unique ability to be both monolith and microservice at the same time is only as a result of the underlying foundational architecture and beliefs of the Mautic community and Mautic product. Those foundational truths are:
- Mautic is flexible to be used in a variety of means as required by the unique requirements of each marketer.
- Mautic’s open source code means every aspect is available for review, use, and improvement. There are no black boxes. And full transparency exists across the entire system.
- Mautic is capable of providing marketers with a single, unified, connected system for their digital marketing. Being open source and flexible gives Mautic the unique ability to add meaningful value “in the cracks“ left by other systems.
I hope this has helped to make things a bit more clear and also to showcase what Mautic 3 will involve. More than anything, I hope you are beginning to see the vision for what the future of MarTech looks like. Not only the vision of the future, but a better understanding for why this is so important, relevant, and meaningful. The digital marketing landscape is changing, growing, and expanding. What we believe, what drives us to create Mautic 3, is our uncommon, sui generis ability to be the glue to bring it all together and improve the lives of marketers around the world.
May 30, 2018
Filling In The Marketing Gaps
One of the biggest features and benefits of an open source platform like Mautic is the extreme amount of flexibility and customization that is possible. Open source gives incredible power to each business to create a tool that works for them (rather than the business working to fit the tool). Marketing automation historically never had this level of flexibility before Mautic was created and so in that sense I’m excited to see how quickly the marketing landscape has been improved by Mautic.
The crazy part of this Mautic journey personally is the feeling that this has been both instantaneous and interminably long at the same time in achieving this milestone. In reality we’re probably somewhere in between. Mautic has progressed from an alpha release, beta, a stable 1.0, and then a number of releases to the Mautic 2.x series. Along the way we have educated the world about the powers of open source marketing automation and learned a great deal about how to create a world-class marketing automation platform.
Current Status of the Mautic Platform
Today, I am excited to see the widespread acceptance of open source marketing automation as a natural and significant advancement for the MarTech “Forest” (a concept I’ve written about previously). Open source uniquely allows businesses to create campaigns, workflows, integrations, and processes that match their unique requirements. I’ve had the privilege of hearing story after story from those who have found success in a software tool that fits their needs. It’s extremely rewarding to know Mautic is empowering these individuals to do things the way the want to.
Looking Ahead at Marketing Technology
As I consider the landscape today and look ahead at what the future of MarTech looks like I realize there are still ways we can help marketers do even more. What we have done so far is the first step in my opinion. We cannot stop at this point and rest in our success. We cannot pause our forward momentum and progress and consider ourselves to have achieved our goals. This is the beginning. And we must always be looking at what comes next.
The Next Step in the Mautic Journey
I’ve shared the next step recently when I discussed, announcing Mautic 3, and then I shared both technical advancements (yes, I’ve heard this is a highly technical post), and business benefits, timeframes, and even more suggestions based on what I believe is coming next in the marketing space.
There is one particular aspect though which I inherently feel we should focus in on as we discuss marketing technologies, and what moving forward actually looks like. I believe Mautic changed everything by offering an open source flexible platform. I believe being flexible, integrating, and supporting marketers in whatever tools they choose to use from the “MarTech 5000”. This belief compels me to continue to refine and improve what open source marketing automation means. This is some of the reasoning behind my thoughts on Mautic 3. Let me explain with a graphic. This is a sneak peek from an upcoming blog post but I think it perfectly outlines my point.
I love this graphic because it provides a visual representation for a rather abstract concept. In fact, it also provides a picture for the title of this post as well. Mautic fills the gaps between the various and disparate systems in use by a marketer. Mautic does this with the ultimate in flexibility. By no longer existing as only a monolithic platform Mautic is able to fill in the space, adding value, and connecting marketing tools and more across the organization.
Flexibly Adding Value
I highlighted the key phrase in that last paragraph. Adding value. You see, by focusing on filling the gaps Mautic does far more than just connecting various tools in a blind or “dumb” connection. Rather, Mautic enriches the data, adds value, creates additional knowledge, simplifies processes, and improves the marketer’s intelligence into their audience.
Open source gives Mautic the uniquely powerful position in being able to offer this level of customization and separation. Separation in the sense that you can use some of those services without others. I referred to this in previous posts with a term, microservices, and this leads me to the eventual concept and drive behind some of my philosophies for Mautic 3 and marketing automation microservices.
Important: While Mautic 3 has the ability to provide various functionalities as microservices, there is also a full Mautic 3 marketing automation platform as well. (Not to mention an independent robust API platform and an incredible independent UI as well)
Even as I write that I realize there is so many more things I want to share with you on this topic. But I hope this post at least whets your appetite for learning more about Mautic 3 and the reasons behind why what is being proposed for this release is so important. I’ll be writing much more on this topic as well as sharing a full slide deck that highlights the various relationships in more detail. The image above is only one slide in this forthcoming post and I’m very excited to share it with you. Mautic is once again improving the way marketers work and interact with their tools. Stay with me, things are about to get good.
May 20, 2018
Marketing Automation and CRM
There's often confusion and questions surrounding the necessity for both a marketing automation platform and a customer relationship management (CRM) platform. This post highlights the values of each and why both are important for business growth, continuity and ultimately success.
One of the more recent announcements in Saelos was in regards to the first plugin written for the Saelos platform. As you can probably imagine, this plugin focused on the relationship between Mautic and Saelos (for rather obvious reasons: I’m a bit of a Mautic fan). But this plugin represents so much more than just another CRM to marketing automation integration. This “Mautic mix-in” forces us to ask the question: what’s the difference between marketing automation and customer relationship management? Should you use both these systems? (and what’s the difference) I know I’ve been asked this question quite a few times, so on the off chance that this is something you’re curious about as well….read on.
What is marketing automation
I’m not going to lie, writing this headline and starting this paragraph I almost cringe a little. I feel I’ve read a million articles answering this exact same question. I really don’t want to go down that same path answering the same question so in order to preserve my motivation to keep writing, I’m going to give you a callout with a definition of marketing automation and then share some slightly different thoughts about marketing automation.
Marketing automation refers to software platforms and technologies designed for marketing departments and organizations to more effectively market on multiple channels online (such as email, social media, websites, etc.) and automate repetitive tasks. — Wikipedia
That’s the Wikipedia definition of marketing automation. It’s a bit dry, possibly a little outdated, and even a bit vague. But this is the same general consensus you’ll read over and over. I think there’s a missing element here. I have heard it touched on when I meet with others, or attend conferences (like the awesome SiriusDecisions Summit).
Marketing automation has an incredible task of also being the manager of the brand. Sharing the voice of the company with the world, as broad as everyone and as specific as each individual. Just as we talk about the customer’s voice – the company has a voice as well. Marketing (in most instances) takes the primary role in conveying this voice to the public, to future customers, and to existing customers. (This is your first hint in answering the question)
What is customer relationship management
If the idea of answering the question about what marketing automation does is a difficult one to write about; then I’m sure you understand the even greater reticence I have regarding this paragraph’s title. What is customer relationship management (or as most everyone in the world knows to be a CRM)? Again, I’m taking the time-saving method of giving you a definition you can find yourself with a 2 second search and then I’ll give you a thought or two about my take on something different to consider.
Customer relationship management (CRM) is an approach to manage a company’s interaction with current and potential customers. It uses data analysis about customers’ history with a company to improve business relationships with customers, specifically focusing on customer retention and ultimately driving sales growth. — Wikipedia
Again, thank you Wikipedia, you’ve given a wonderful definition that’s both highly explanatory and equally difficult to easily digest. (Side note: I love Wikipedia and get sucked into the site at least once a week)
So CRM systems have been created to manage the customer (and future customer) and improve relationships with them. This is probably the point where confusion starts to creep in. It appears that the CRM is doing the same thing as the marketing automation tool. “Manage a company’s interaction with current and potential customers” — yep, sure sounds like overlap. But I actually believe there’s a subtle nuance here to be explored and understood better. CRM systems are focused on customer retention and sales growth, aka closing deals and making sales. (Second hint in answering our question)
Why you should use both systems
Okay, we’ve got excellent “book” definitions of both marketing automation and customer relationship management systems and rather than introducing clarity it seems we’ve only made things more convoluted and increased the questions surrounding potential overlap. But I left you hints along the way, lets get into this now and see why you should have both a marketing automation system and a customer relationship management system.
We read how marketing automation is designed for marketing on multiple channels and carrying out automated tasks. We then saw that the CRM is designed for managing relationships and increasing sales growth. When it’s filtered down to those two sentences there seems to be less overlap. This is step one. We have to understand not what each system does, but what their purpose is. And now that we have this knowledge let’s build on it to understand why you should use both systems and possibly more importantly why they should be linked.
The “Voice of the Company”
If you believe in the marketing automation being the voice of the company than you will naturally agree that messages sent by the company should be shared with that voice. The value of a unified company voice is incredibly important and has been the topic of books and blogs the world over. If you don’t have a strong link (continuous bi-directional sync) occurring between marketing and sales you won’t have a unified voice. But, why is this true? Let me explain.
Brand management & single communication source
Marketing automation handles the brand, we discussed this already and determined that this management of the company voice was one of the key functions of a marketing automation platform. Or to put it a different way: Marketing handles the communication for the company. This leads us to the reason why you should consider using both marketing automation and customer relationship management platforms (Big deep breath, this is what you’ve been reading for…):
A CRM manages your interactions and relationships and your marketing automation is responsible for sending the messages.
This means your sales team should be sending messages to their customers, and future customers, through the gateway of your marketing team (Remember, they manage the brand and the company voice). This is where we begin to see the slightest crack starting to form in the world of today’s software systems and where I believe Mautic and Saelos begin to differentiate. (Does that interest you? You should subscribe to my blog and I’ll tell you more about it in a future article)
Source of Truth
The source of truth for each contact record lives in the CRM, because as we learned today the CRM is responsible for managing the relationship; but this doesn’t mean the marketing automation system should have less information. Instead, the marketing automation platform must know everything about the contact, plus be able to correctly determine the best channel, time, and message to be sent to them. That message might be a marketing message, but it might also be a sales message coming from the sales team directly.
Two systems, two purposes, one connection
All of this understanding and enabling between the CRM and the marketing automation requires an integration or mechanism for this data to be shared openly between these two systems…a plugin (or in Mautic term’s, a mix-in). And this two-way sharing of information between marketing and sales is what happens today, but it’s not complete yet. We have not yet seen the complete integration between the two platforms (primarily because both are fighting, incorrectly, to be the source of truth).
Why data control isn’t the answer is a great topic and I’d love to say more, but I have written entirely too much for this post; expect to see a separate post soon!
And so, hopefully as you’ve read through the purpose and focus of these two systems you begin to see the value in both as well as the extreme importance placed on linking the two of them together. The answer to the question should you use both systems is a solid yes; because each system has a unique, distinct and important focus.
What comes next is even more exciting. I’ve hinted at it throughout this post, so if you want to know how Saelos pushes CRM and marketing ahead elegantly and beautifully you’ll need to keep reading.
May 16, 2018
Marketing Automation Microservices
Recently I was on the phone with a good friend of mine, he’s not directly involved in a technology sector and as such it makes our conversations incredibly fun, light-hearted, and many times /not focused/ on the highly technical discussion and debates I normally find myself sucked in to. This particular chat however ended up steering into my work and some of my recent blog articles and he made a comment that caught my attention. He said, “Hey man, at some point can you explain what exactly are you talking about with Mautic 3 and this new version you’re constantly getting excited about?”
I’ve written a good deal lately about Mautic 3, from my initial thoughts on the subject, a business benefits piece, to a pretty technical introspective, and even a timeline for how I think it might unfold (yes, it’s aggressive). Being a good friend he had read all these articles, and this meant he knew what I was talking about and what I was doing, but he didn’t necessarily have a strong understanding of what it meant and what it actually would do. What he was asking was a very good question and exactly what I like to hear.
I get great advice from lots of people, but some of the best advice comes in the form of a question, and comes from those that are not too close to the situation. Those questions are the best for me. They help me to re-focus, or maybe to state it better, they help me to step back and see the forest, not just the trees.
The Marketing Forest
I hope this post will be a less technical and better view of the marketing automation forest as I see it. First, I think this is an extremely important point to not overlook. Maybe you don’t call it a forest, necessarily, maybe you prefer to call it a ‘landscape’.
I need to take a quick moment to tip my hat to the incredible work done by Scott Brinker (@ChiefMartech) and his team creating the marketing landscape each year. If you haven’t taken a moment to appreciate it – do it).
Regardless of what you call the space, it’s overwhelming, and as Scott suggested in a recent blog post the space is only going to continue to grow. There will not be a mass consolidation of marketing tools but instead a proliferation as more and more are introduced. This leads Scott down an interesting line of questioning and thinking. I call it interesting because he begins to touch on the very thing I have been speaking and writing about . I’ll touch more on that in a second, but first, let’s talk about the implications of such an expansive (and constantly expanding) marketing space.
Expansion means competition
What we see occurring in the marketing space is not uncommon nor should it be something to be afraid of. Instead, the increasing number of companies entering this market improves the customer experience. As more and more services are offered the customer will (hopefully) find a better and better solution to their problems. At least that’s the idea. If businesses happen to overlap, competition comes into play and the product will improve. (also there is the side effect of potentially lowered prices as well!) .
I’m always a fan of competition, I believe it has been well proven that such competition results in a better environment and experience for everyone. This also encourages companies to be better and better.
There’s a second outcome I see as a result of this massive and somewhat exponential growth. As Scott suggested, and as I’ve talked about many times previously – with so many options and companies available in this space there becomes a greater problem to be solved, a greater need to be met. This is where Mautic is uniquely and (dare I say it) perfectly poised to meet the need.
I recently read an article published by KPCB recently which shared the number of marketing tools that a single enterprise business uses. It’s mind-blowing. Care to take a guess? If you guessed 10-15, you’re off by a mile. If you thought 25-50 you’re getting closer (and by closer I mean halfway to right). The number of different marketing technology services, platforms, or products that an enterprise uses is nearing 100 unique systems. This is the product of an 8,000 tree “marketing forest”. But while some may see a problem; I see an opportunity – a massive opportunity.
I see an opportunity of epic proportion that only an open source, agile, API-driven marketing automation platform can attain. You see, a proliferation of tools means there needs to be some manner for communication between them, some exchange platform for the data to be shared, and other advanced data transformation to be performed.
What this marketing disconnect needs is a connector. Something that can seamlessly integrate with all those tools, fluidly fill the gaps between them, complement them, and improve the marketer’s experience. But this shouldn’t be another app with a fancy UI. Even more importantly this can’t be another platform seeking to be the “data holder”. The one place where all data must be kept (i.e single source of truth)
Side Note: This is a point worth more consideration. Almost without exception every existing platform seeks to be the source of truth. They believe only by owning the data are they able to “win” the competition to be best. Therefore, everything they do is to protect and extend this perceived trophy.
Big Data Is Not the Answer
This point is a big one. Many businesses today focus on big data (or at least they used to). What do I mean by big data? I’m glad you asked. Big data means collecting as much information on as many people as possible. Once all that data is held the theory is that predictive analysis and data scientists can extrapolate potential results and thus make smarter marketing decisions. But there is a shift in the tide and this commonly held belief is wavering.
Interesting Read: If you’d like to learn more about what causes this change in thinking, I’d suggest reading this article: Mastering the game of Go without human knowledge.
If the collection of more and more data is not the answer, what is? What is the solution that makes marketers more successful and handles the overabundance of different and disparate tools currently existing in the marketing forest? Enter marketing microservices.
I realize there are some that fully understand what a microservice is and what value it offers. For those I apologize if I make it sound too simple or oversimplify the technical nature of the definition. My goal is to summarize in such a way that everyone feels comfortable talking about marketing microservices.
Personally, I’ve always seemed to learn best with examples and clear instructions. The simpler the better. (The popular subreddit: explainlikeimfive is a personal favorite of mine as you might guess.) And so I’ve picked a hypothetical marketing microservice to be used. And as you might imagine this is something Mautic is preparing for part of M3.
A Marketing Microservice Example
Almost every marketer I know and every system of record (you know, the place that wants to be the source of truth we explored earlier) has a common dilemma. In fact, marketing automation platforms in particular struggle with this issue on a daily basis. The problem is recognized but the problem is not easily solved. Curious? For our example, we’re going to assume the issue is contact record de-duping. The ability to recognize and remove (or merge) duplicate contacts in a database.
This is a problem everyone wants to solve but everyone takes a slightly different approach and everyone has found equally varying levels of success. A marketing microservice would allow a marketer to send contacts to a headless, marketing automation microservice provided by Mautic, which would de-dupe the records and return the result. Everyone wins.
The result is a marketer with a cleaned database of contacts, existing platforms don’t have to worry that another tool is “fighting” to be the “source of truth” and Mautic has provided a valuable microservice to fill-in a gap. Once again we have the idea of filling in the gaps. A clear opportunity for a fluid connecting of marketing microservices providing highly relevant, extremely efficient, valuable, results.
Side note: Interesting side effect, when the data storage is irrelevant the marketer is empowered to do things better, without worrying about switching costs, data privacy concerns, and which platform is /the/ platform for their data. This changes everything.
And this is only one very simple example of the power and capabilities of a headless marketing automation platform. Don’t let the slightly unusual terminology throw you off – it’s only a technical way of saying, a platform which fits in with other existing tools seamlessly and painlessly, complementing, strengthening, and simplifying existing marketing stacks and allowing the marketer complete control over where and how their data is stored, manipulated, and displayed. But that’s a lot of words! So I shortened it to headless marketing automation.
I hope this has helped to showcase what a marketing microservice is and how it can completely revolutionize the industry. All of the incredible power of marketing automation where and when its needed. No more data security and storage concerns. An improved experience for marketers. Finally, a solid, robust way for 100 different and disparate systems to begin effectively talking to one another and improving each other. This is the type of thing Mautic 3 is prepared to handle. This is the opportunity Mautic, an open source marketing automation platform, is uniquely able to address.
If you haven’t taken a look at Mautic, I suggest you do so now! Maybe after reading this you have some great ideas for other ways marketing microservices can add value in the overwhelming marketing landscape. Join in the discussions being held, add your voice to the Mautic 3 development process and become a part of something bigger than yourself, something that will truly improve the lives of marketers everywhere, and change the way the landscape is viewed.
May 13, 2018
Saelos Sunday Update 2
Here we are on the weekend again; and I love the weekends. Partly due to the fact that the schedule tends to be more relaxed, and partly because this means I get to spend some time on Saelos! If you’re just getting to my blog then you should do some reading on other posts before continuing, check out the Saelos announcement, a peek at the technical advantage, the previous update, and then let’s talk about what’s coming next.
Today I want to do two things, first give everyone a quick update on the status of Saelos today (hey, this is an update post) and second, I want to share a little bit about a benefit that Saelos provides and why I believe it’s so incredibly important in the world today.
Saelos Growing Organically
Okay, so first is an update on where Saelos is today. Things continue to progress at a pretty good rate. I wrote last week about a Saturday project I undertook building a dashboard for watching a GitHub repository and monitoring growth. I applied it to Saelos to get an idea how things were looking. Here’s the screenshot:
Here’s the lowdown from that snapshot. First, Saelos downloads are exploding! The growth is tremendous with over 250% increase from the previous release. Second, 2/3 of the issues have been addressed already in the last release and working through the rest as quickly as possible. Lastly, Saelos has a total of 50 stargazers and 9 forks already. This is ridiculously fast uptake and I’m very excited to see this kind of growth continue. Oh, and by the way, the downturn in that one release was because we pushed the next one so quickly there was no time for the Beta 3 to be adopted!
Monopoly Should Only Be A Board Game
All this growth is exciting and the fact that, yes, there is a real need and desire for a super strong open source CRM. Honestly, just a super strong CRM (open source just happens to be the best mechanism in the world). But not a run-of-the-mill standard customer relationship management software that only functions in a small business environment. (Don’t get me wrong Saelos works brilliantly for SMB.) No, what everyone really needs is an option.
There’s nothing worse than a monopoly in a market. And let’s be honest with each other. Currently there’s a bit of a monopoly in the CRM market. And this has lead to stagnation, lack of innovation, and an overwhelming sense of despair. Why? Because when you’re an 800lb gorilla (or maybe that’s a bear named “Codey”…) you keep iterating on the same outdated mentality and philosophy and grow by acquisition alone. The result is frustration, despair, and heartache for businesses and sales teams everywhere.
So how does a cartel get overthrown? By no longer buying their product. But let’s be more realistic. It’s not quite that simple because businesses need a CRM. They need some system to manage their customers and those relationships (not to mention potential customers). And so simply walking away from a software platform is not an answer, something must fill the gap. Enterprise businesses should have options, reliable, capable options which can function at scale. This transition isn’t going to happen overnight. Rather, I believe, the best method for opening the floodgates for businesses is to create an alternative that offers immediate successes. Consider small wins. Super small wins. In fact, maybe we call them micro wins.
CRM Micro Services
Let me be the first to say I dislike talking about other software because what I prefer to do is talk about our software and why Saelos is different. And why Saelos is better and ways in which Saelos stands apart, and functions differently than other systems. And so let’s talk about Saelos and the future of the customer relationship management space. I hinted at my ideas at the end of the last paragraph and in the title to this one.
As technology has advanced we’ve ridden the waves of box software, to hosted software, to software as a service. Even the irony of a ‘no software’ software company is hard to overlook. But as we continue to move forward in technology and software we see the landscape continue to change.
If we step out of CRM and look at technology in general we see the shift from hosted software, to containerization, and then server-less software (or functions-as-a-service).
But specific vertical markets like CRM have not made these same advancements, in part because monolithic software companies have found massive profits in their markets and have not been interested in pushing the limits of technology (or even keeping up-to-date with those technology advancements). There’s a second reason why some of these same improvements haven’t been applied to these markets and that’s due to the inability of closed source software to be able to fully capitalize on these changes.
This is why open source software has a particular advantage for businesses. Run your own containers, run your own server-less infrastructure, or even your own function-as-a-service with open source software.
I believe Saelos as an open source server-less CRM gives rise to the future of customer relationships management. I believe we will (and should) see a proliferation of micro-services in the field of CRM. Use the tool that’s right for the job, pick and choose the best parts of each platform to make your business successful. And in this way, Saelos brings immediate success and improvements to businesses that have existing CRM systems already.
And if by chance a business or organization does not yet have a good CRM in place, or is ready for a complete overhaul and change to their current system, than Saelos provides an amazing platform upon which to build. That’s the true beauty of Saelos, use the frontend, cutting-edge UI, use the advanced API backend, or simply use the functions you need. Saelos works perfect in each of those settings.
I am really excited about the future of Saelos and all it has to offer. If you haven’t yet taken it for a spin, I suggest you look for yourself and see what the future holds.
The last thing I’ll leave you with for this quick update post is a very simple and easy call-to-action. If you like this content and want to be kept in the loop regarding all things Saelos then you need to fill out this short form and you’ll get an update newsletter direct in your inbox each time once is created.
That’s it. I’ll do my best to keep the Saelos Slack channels updated as well as the newsletter and if you are following my blog here, you’ll also get updated whenever I post something here too.
May 11, 2018
Mautic 3 Proposed Timeline
The next major topic everyone is very interested in relating to Mautic 3 is the proposed timeline for when things will be worked on…and maybe more importantly when they’ll be available to user. I totally understand this desire and want to do my best to answer this question but I truly hope that everyone understands this is not a black-and-white topic and something that can be easily answered. Why? I’ll answer that quickly and with two words: because developers. I say that in jest but the reality is not too far off from that joke.
In an open source community the release of new versions of Mautic are completely and totally reliant on the time and attention of the volunteers in the community. This is a massive strength for us because we have such a large number of volunteers, but can quickly become an Achilles’ heel when it comes to timeframes. Volunteer work as they are able to. This means while I will propose a series of steps below for the Mautic 3 timeline I will not attach highly specific deadlines or timeframe (at this stage).
Now in the future as we begin to move through this process and as we begin to accomplish certain milestones or goals we will have a better understanding of how things are flowing and can at that time begin to establish some rough timeframes for completion.
With this disclaimer in place let’s take a look at the various steps in a Mautic 3 release timeline and what is involved with each step.
This is where we’ve been living. This is the active ongoing discussion that has occurred in the core channel of our Slack group and if you haven’t been involved in that process, I recommend logging in and sharing your thoughts. This phase is anticipated to have controversy, differences of opinions, and different strategies proposed for how everything comes together.
I’ve written a fair bit lately on this topic as we discuss different options. Starting with a discussion about what Mautic 3 might look like, to the technological advances Mautic 3 might achieve, to the business benefits created by Mautic 3.
The desired outcome from this phase is a shared understanding and an agreed upon vision for what we want to accomplish as a community. And I would merely suggest compromise is important to keep in mind as we all work together for the good of the whole (I’m speaking that admonition to myself as much as anyone else.)
The next phase after the discussion phase is a team formation. This shouldn’t take very long but there will be a time period where we want to evaluate who is involved in this team. Anyone in the community can be involved but there are certain traits which will provide greater value to the team. Things such as a strong ability to see solutions in addition to problems. We want problem finders, but not without being solution finders too.
Side note: Problem finders are critically important to our success but if there are only problem finders are also /critically detrimental/ to our success. We must have problem solvers.
Secondly, having technical abilities and interests are vital to this team as well. I’ll try not to make this sound too obvious, but without developers we can’t create Mautic 3. I’ll be the first to tell you, I’m not writing this one on my own!
Consensus on Course
I know it sounds silly to appear that we’re returning to the discussion phase but that is not the idea behind this step. In this step we are taking the outcomes from the discussion and beginning to outline how we (as a team) tackle those challenges and begin development. We also identify what is possible and not possible to complete in a timely manner.
Did you catch that? This is the point where we begin to discuss overall timing for successful release of Mautic 3.
We discuss where we want to go, what resources we have, and what is a reasonable time frame to get there. This is what I mean by consensus on course. The direction is set previously; here we focus on timing and specifics.
Core Areas And Distribution Of Tasks
Next the team begins to identify those specific items that each developer or couple of developers is interested in focusing on. I think this is a particularly important phase because we will make the most progress and find the greatest success when everyone is working on something they love. If you feel passionately about a particular area you will put everything you can into it, and will be able to take incredible pride in the end result. And you’ll know that the end result is something that has been done well. Because you care about it.
I am driven by this mentality on seeing others doing what they care about because I do what I love every day. I am committed to seeing others in our community free to focus on the things they are passionate about as well. Do what you love or move on to something else. This isn’t a duty, Mautic isn’t a chore, it’s an opportunity. Yes, at times Mautic may be a /challenge/ but that only makes the outcome better.
Key things to be examined at this stage will be specific areas and leaders for each: Every functional and foundational part of Mautic will need to be addressed. Examples: Campaigns, Segments, Contacts, Companies, Email Builder, Landing Page Builder, Messaging and Channels, Plugins, etc… Let me be clear that is not an exhaustive list. Not by any stretch.
Technology Proof of Concept
Once all the areas have been identified and work is clearly defined the next step takes place rather quickly. In my opinion this is a key validation step in the entire process. The idea of a proof of concept is focused on creating a representative example of the final product.
The goal of a proof of concept should be to confirm the path and technologies chosen to be implemented or clearly identify the ways the current approach is wrong and what should be done instead. That last sentence is super important. It’s more than just showing something doesn’t work. In the case where there is a misalignment of expectation and outcome, an alternative approach should be identified. (Remember earlier? It’s not just problem finding, it’s problem solving)
Once as a core team we are able to evaluate whether the proof of concept has given us the necessary results we can move on to the next step. Keep in mind that each major component must meet a minimum level of expected result for the progress to continue.
Go Go Go
This is the exciting phase. This is where everyone is turned loose to start creating Mautic 3 code. We have a direction, we have a plan, we have a solid proof of concept and we are prepared to create the future.
As we create new things it is critically important that we include testing at every step. This something that was not done as effectively as well as it should have been done during Mautic 1 and even Mautic 2. I can only imagine there was a collective groan emitted by everyone when reading this part. Writing the unit tests and functional tests associated with new code is only interesting to a very select few. (I hold massive respect for those who find pleasure and personal fulfillment in creating these test processes and procedures.)
This phase is also where collaboration is important. Without proper collaboration we will find ourselves working in silo’s too much. We can’t work without collaboration and sharing of information. Do not let the importance of this collaboration be lost as we look at the next phase below.
Silo Alpha Testing
Because we will be creating tests as we build new software we should be able to test our code as we go as well. I’m referring to this as silo testing because it can be done within each functional unit without having to be applied to the greater product at the same time. Again, an API driven micro-services marketing automation platform gives us the ability to do this silo’ed testing
During this stage we will also be refining and modifying this code as we go either to make sure it functions optimally or because we have seen additional improvements we can make as we create Mautic 3.
Bringing It All Together
Everyone gets excited at this particular step. Here we are bringing each of the individual pieces together and begin to evaluate what Mautic 3 looks like. This community core team gets the first sneak peek at what Mautic 3 will present to the world. Yes, this will be an exciting day.
As part of the process of bringing all the pieces together we will repeat some of the steps we undertook during the Silo Testing phase above. We will again evaluate and refine the product based on the interactions between the various parts and identify ways in which the whole of Mautic 3 can be improved to be more than just the sum of the parts.
Important: This should not yield any massive surprises to the team because it is understood that communication and collaboration has been occurring frequently through each of the previous stages.
Alpha Release Deployment
This is the first of several celebration stages! Here the core team wraps up and presents to the community the alpha version of the brand new Mautic 3. This is a milestone moment not just for the core team, and not just for the Mautic product, but for the Mautic community and the world of marketing automation at large.
The Alpha release is the first fully packaged version of the final Mautic 3 product. It will not be without issues. Did you read that? If you’re following the process of Mautic 3 development and you’re not part of the community core team creating this product it can be easy to miss everything that has gone into this process. And it can be easy to point to problems. May I encourage you to exercise discernment and caution as you do so. Feedback is of course welcomed and encouraged. But everyone should maintain the proper perspective and understanding of the status of Mautic 3 at this point. This is an Alpha release with known issues to be found. Do not use in production.
So, if you’re skimming through this article looking to find specific dates I’m sure you’re disappointed. But you shouldn’t be. Instead let me encourage you to scroll back up and read through the points with a bit more intentionality. Then you’ll understand why the dates are not listed. It will not be until we have reached Consensus on Course that we will have a better understanding and a first attempt to outline specific dates.
Let me reassure you, when we get to that phase, we will absolutely and unequivocally share some preliminary dates and deadlines. Without a clear goal we will meander without enough of a sense of urgency.
Now, if you’re still reading and want just a ballpark idea of dates, the following is my opinion on dates and relevant release points.
- Discussion: May 15
- Team Formation: June 1
- Consensus on Course: June 7
- Core Focus: June 15
- Proof of Concept: July 15
- Go: September 30
- Silo Testing: October 7
- Alpha Release: October 30
Disclaimer: This is my personal opinion only and is not a finalized roadmap. If anyone attempts to quote these dates as “official” you’ll be immediately and unequivocally corrected!
Please also notice I am not showing beyond the Alpha, as we get this far into the future it becomes more and more difficult to identify deadlines and milestone dates. I have ideas and goals in my own opinion which I think would make for an amazing 2018 but will not share those with you yet. I believe as we move along these steps we will be able to gain more clarity into what is possible and along that path I will feel more comfortable to share specifics on other areas of Mautic 3.
I hope this helps give you greater visibility and understanding into what I believe would give us an incredible future and the path I believe would help us get their. Don’t be disillusioned this will not be easy; but I am confident that the rewards we will reap will be well worth every day spent, and every problem tackled. I hope you’ll agree and you’ll join me as we create the future.
May 10, 2018
The Business Benefits of Mautic 3
Longer posts are always an undertaking. It involves a lot of thought and attention to detail to make sure the information I share is clear and easy to understand. There’s a lot of work that goes in behind the scenes for a finished post to come across as simple. So, usually before undertaking a post like this I like to take a deep breath, a big stretch, and smile. Something about staying positive before wading into the deep end once again.
I should say also, the smile comes from the amazing volunteers in this outstanding community. Together we are building an amazing platform that stands out from the crowd and differentiates us in a number of critical ways.
One of the biggest ways we can demonstrate our expertise lies in our ability to push the envelope and advance new thinking in the landscape of marketing automation. Yes it may be a daunting task, but I would suggest that our community, and our open source approach to marketing automation is the only way this level of growth can be achieved in a stable fashion. We have an opportunity that no one else has. And it’s our duty to push this space forward. It’s our obligation to change the world of marketing and give everyone the tools to market effectively using the latest in technology.
With that quick bit of motivation to get us started, let me dive into the business benefits of Mautic 3. I’ll follow that up with a proposed timeline for this product improvement as a separate post.
Let’s start by exploring the business benefits by making this shift to the next major release of Mautic software. I want to highlight that these six benefits I’ll suggest are not necessarily distinct only to a Mautic 3 release. However, in each case I believe the greatest growth and leap forward would be realized in a major version release.
Stay with me to the end; I’ll discuss in a little more detail tomorrow the idea of migrations and how those would and should be handled with a transition like this.
Speed (Should I say Agility)
At the risk of sounding extremely cheesy I noticed as I typed up these benefits that many of them ended in the same suffix and sounded like they fit together. The marketer in me could not help but then adjust the one outlier (Speed) to also fit this same mnemonic. Thus, for point 1, we have agility, or speed, as an improvement that the end user would experience and thus become our first business benefit. Faster is better (in almost everything – yes, I realize there are exceptions to every rule). Moving to Mautic 3 for our platform will enable us to completely gut parts of the system that have experienced significant slowdowns in the past. Those areas where we see bottlenecks in processing times can be alleviated and the problems with overall system performance can be improved.
Of course we could see improvements in the current branch (Mautic 2), however, due to the discussion that has been held it has become evident that the greatest improvement to speed can be done with a re-write of several areas of the platform. This begs the question – if we must re-write core parts of the platform regardless of the branch in order to improve our speeds, should we not make the necessary improvements to improve speed everywhere and better structure our underlying architecture for the future at the same time? The argument is an easy one to make, in particular when considering our existing infrastructure is reaching end of life for support and we have fallen significantly behind the latest current release (by multiple versions). This must be addressed.
An improvement in our overall speed continues our competitive advantage as we already enable businesses to complete processes in a faster manner than other marketing automation platforms today. This furthers our lead in this area.
The second area where a Mautic rewrite gives us a business benefit lies in the flexibility of the platform. We already built Mautic in an open source way that allows businesses to create a marketing automation workflow that suits their unique business needs but that was always step one in a multi-step plan. The next step in that journey involves giving the business even more flexibility to manipulate and control their data.
Mautic 3 enables businesses to take advantage of existing data stores, and other sources of truth beyond the Mautic database by enabling the separation of frontend from backend code and functionality. Any database that incorporates the necessary API endpoints will be able to take advantage of the Mautic 3 frontend (and vice versa). I spoke specifically to this point in a separate blog post which I would encourage you to read if you’d like to know more about this point.
Mautic was created from the beginning with the concept of mixins – the addition of functionality to the core platform through a Mautic Marketplace which closely resembled a CMS extension directory. This was a fantastic first version and demonstrated that the desire and interest from a community and business perspective clearly existed. With the launch of the new Mautic.org website at the beginning of 2018 we saw a massive uptick in the number of integrations and their downloads.
Businesses wanted this ability to integrate. We wanted to continue in this direction with an overhaul to the existing mixin (plugin) infrastructure and architecture in Mautic 2. But this is still only a step in the journey. Extraction of the existing mixins from core and the unique repositories linked to each mixin allowed for faster development and release of individual integrations. Mautic 3 pushes the software even further in this regards. This is done by doubling down on the API integration layer and the manner in which these mixins talk to the backend (and frontend) of the platform.
I’ll touch on this point in greater detail below as this serves to become a very unique selling point for Mautic and a massive differentiator for our platform in the market. Let’s look at that next as we discuss defensibility.
One of the most challenging obstacles in any company (or community) is understanding and identifying the manner in which the software being created is defensible.
Side note: When I use the term defensible I am referring to our ability as a community to offer something unique that our competitors will never in reality be able to achieve or offer to the same extent as we can.
Understanding what makes a product defensible is a challenge in and of itself and often is very difficult to do in the earliest days of a community. Therefore Mautic 3 is the opportunity where we can begin to apply our learnings in the marketing automation space and begin to clearly define those areas and functionalities where we are unique and defensible.
And this is where the excitement builds for me. This is the culmination of our learning, our open source core, and our ability to push the marketing technology landscape further. Our defensibility is found tucked into many of these business benefits I’ve shared already and will share in the next two points. The underlying mechanism and ability for our open source platform to be split and used interchangeably either from a frontend UI or as a backend API gives us the unique and defensible ability to be the first ever truly open source, API driven, suite of marketing automation micro services.
I know you’re probably very interested in hearing more about this but I’m going to simply say, you’ll have to wait for that specific blog post if you’re interested in digging in. I promise you I’ll publish it soon, because when something is this exciting I have a very hard time keeping quiet for long.
The concept of extensibility as different from integrability is nuanced and tenuous at points. But I would suggest the differentiation is clear enough to allow extensibility to be a separate business benefit. Just as integrability allows the software to work seamlessly with other tools “plugged into it” the idea of extensibility allows for the core functionality of the Mautic platform to be extended to additional areas and implementations.
This underscores the notion that an open source API driven marketing automation micro services platform can do far more than any monolithic platform ever could and allows for the functionality of the platform to extend far beyond the limited reach of existing tools.
Extending the platform requires an API first approach as recommended for Mautic 3. This level of abstraction provides the tools and system interoperability necessary for this business benefit to be properly realized.
The final point I’d suggest as a business benefit for moving to Mautic 3 is a tricky one, particularly because it requires more than simply creating new software. In order for Mautic 3 to be substantially superior to the existing latest release of Mautic and provide additional business value in the sense of a superior stable product implies several fundamental truths. First, Mautic 3 can’t be merely “new code” – it must be tested code. By this I mean while the code may be new, this does not require it to be either untested or unstable.
New Mautic code will not be merged into Mautic 3 until it has the appropriate unit test coverage and functional tests. Otherwise we run the risk of experiencing the same flaws and bugs as Mautic 2. Very fast releases of new features but this surpasses the number of fixes provided to reported bugs.
Therefore, in a release of Mautic 3 we can create a solid, and fully-tested platform capable of being improved upon as needed without fear of the potential to break something unrelated with each new feature release. Overall the stability of the platform is massively improved, the documentation excels, and the usability demonstrates an excellent product. (Read this post I shared recently on the topics of stability, why I think it’s important and what benefits it will provide us.)
May 4, 2018
Mautic Release Strategy 2018
The Mautic community has a history of various release schedules and timings as we’ve sought to find the best strategy that works for our devs and our users. This tends to be one of the biggest ongoing challenges facing software projects everywhere regardless of the size. We don’t want to create a strategy that is too intensive for the users to maintain and stay current. We don’t want to stuff too much into a single release and hurt our testing strategies or sacrifice our QA process. And on the other end of the spectrum no one wants to wait for years for a release.
This constant back and forth struggle will more than likely continue and I don’t anticipate that we will solve it here today. But I want to share what I believe is the best release strategy for Mautic today.
Side note: Mautic follows semantic versioning. If you need a refresher on what this means, read this article. In summary, Mautic releases three types of releases (X, Y, and Z) and our versions are numbered accordingly: X represents a major release (1.0, 2.0 etc…) this release may break backwards compatibility. Y releases are minor point releases (2.1, 2.2, etc..) these releases introduce new features but maintain backwards compatibility. Finally, Z releases (2.1.1, 2.1.2, etc…) are sub point releases which address bugs and fix issues without introducing new features.
Now, rather than going into the historical study of what Mautic has done in the past we’re going to look at a strategy for future releases. I’m basing the following on discussions I have held with many in the community, observations from other successful open source projects, and my personal experience releasing software to large audiences. I
Major Releases (X) are released on a bi-annual to annual strategy. This time frame may fluctuate depending on the volume of work to be undertaken and the code to be modified. Sometimes this process may require extensive testing and significant discussion. Due to these factors major releases are scheduled for either every 6 months or 12 months.
Minor Releases (Y) are released on a monthly basis. There isn’t a set in stone date specific for these releases either, but rather a relative time. Minor releases, when they are released are always released on the last Tuesday of the month. Some months may not have a minor release.
Point Releases (Z) are released bi-weekly. These releases are quick, really quick. These releases only touch bug fixes. There are no new features being added through a point release. Some of these releases may have only a handful of fixes, and others may be packed full of quick fixes. These point releases should be easy to apply and even easier to test.
This should give everyone a clear understanding of what we are doing and when we release new versions. Now since we’re all on the same page let’s get out there and push Mautic forward faster.
Recently I wrote about Mautic 3.0 as the next major release for Mautic. While this is an important step forward for our community and our code there’s something that we have to be very mindful of in the process.
Mautic 3.0 will not happen overnight. While that phrase may seem obvious here’s what it means. Just because we’re talking about and building excitement around the next major release does not mean we are ignoring Mautic 2.x or discontinuing development on the next Minor and Point releases of Mautic. Because the time to development for a major release undertaking (like Mautic 3) will be significant and lengthy we won’t be halting development on the current series during that process. I told you it sounded obvious but it’s worth remembering.
Mautic 2.14 is the next release to be announced and it includes a great number of new features and bug fixes. All of these need to be tested and applied before we can merge and release. And then we will begin working on 2.14.1 (or 2.15 depending on the features we want to include as a community).
Simply put, even while Mautic 3 is exciting and on the horizon we will continue to fix issues, release new features and improve Mautic through the current release 2.x until 3.0 is announced Stable. Are you interested in learning more about how to get involved in Mautic? Testing the next release is an excellent way to start to learn the codebase. Need help setting up a testing environment? Let me know and I can point you in the direction of good resources.
As we move forward in our community-lead releases it becomes more and more important that we test and re-test each new feature and each bug fix to ensure it meets the quality that our community demands.
May 2, 2018
Headless Marketing Automation
Yesterday I released a blog post entitled Looking Ahead at Mautic 3. This blog went into great detail on why I believed a Mautic 3 should be considered next on our product roadmap and then I outlined the problems (as well as some solutions) that we could solve with this next release. One of the features I shared received a few more questions than the others so I think it deserves a little bit of specialized attention.
An API First Headless Application
First of all can we all admit that is a mouthful to say? We can break it down and make it a bit easier to understand and then let’s dig into what it means and why I believe it’s a valuable step for Mautic’s future.
API First implies that every function of Mautic, every call to the database, and every interaction has to be “call driven”. This extracts the front end user-experience from the data layer (or API). This also means that the only way that the user interface (design, page layout, display elements) interacts with the data is through a series of API calls. These calls are the glue that holds the data together. API first means the system has been created in a way that the API is the only way these things happen, and every API return is formatted accordingly.
Headless: This concept is a funny one to discuss when working in software and applications. We’re not getting into the Ichabod Crane story /(though admittedly for some reason a character on a horse holding a pumpkin is inevitably the first thing that comes to my mind)/. In the software universe the concept of headless means something quite different. Here’s a definition:
…the front-end is a stand-alone piece of software, which through API communicates with a back-end. Both parts operate separately from each other, and can even be placed on separate servers, creating a minimum version of a multi-server architecture. The bridge between both parts is the API client. The endpoints of the API are connected to each other….
— Headless software – Wikipedia
Earlier in that same page the first sentence distills it down even further. Headless software is software capable of working on a device without a graphical user interface. (Wikipedia)
By these definitions we see that headless makes sense particularly when discussing things such as API first.
Now, let’s take that thinking and put it into more of a practical application. Why is a headless marketing automation platform useful and desirable. Why should Mautic consider this something worth undertaking in the next major release of our software? Here are my three main points to justify such a task.
In my opinion, the first reason to consider undertaking a task of this size is based on the concept of improving our flexibility as a platform. If our goal is to be “open” (more on that later) then the best way we can do that is by having a platform that is flexible.
Flexibility, to me, means continuing the great work we stated where a business is able to use the software in a way that is best for their business (rather than the situation that 90% of other software operates). We want to give people the ability and the flexibility to be in complete control of their information, their data, and their software. Software flexibility comes in a variety of ways; in Mautic we’ve considered our platform flexible from the very beginning. Custom fields, highly customizable and configurable campaigns, and the ability to create software practices that match a particular business have been part of the product from the start.
The next logical step in this effort to be flexible and to continue to push the limits and lead in this area involves looking deeper at other areas where we can implement more flexibility. Separating the functional layer from the user interface allows just that. A platform where you can consume the data from any interface you desire means you have a marketing automation platform prepared for the future. Your data, made available in any manner you need. API first, headless marketing automation gives you the power of marketing automation in any visual, end product you desire.
The second reason I believe we should focus on a headless approach to marketing automation is for future sustainability. I don’t mean sustainability of Mautic necessarily, but more importantly stability of your data. If you are locked into a single user interface then you’ll find yourself duplicating data, moving between different databases and potentially losing information. You’ll also be tied to a more narrow focus and implementation strategy for your marketing automation because you’ll only be able to use Mautic in the manner envisioned by the Mautic community and its developers.
While this isn’t necessarily a bad thing (we’ve got a pretty good roadmap and vision for where marketing automation should be), I believe the ability for a business to use their data in multiple outlets gives a sense of sustainability to the database and security in knowing the functional aspects of the software is capable of being implemented in a variety of ways. You move from a singular marketing automation-platform-only to a situation where your data (and your marketing functionality) is able to be consumed everywhere by any other service or device.
The final reason I believe that a headless marketing automation platform is beneficial is for the sake of being more open. Mautic is built on open source. We are steeped in the knowledge that our code is readily available to anyone to review, to use, and to improve. This means that every function is understood (or could be), and that every action the software performs is easy to observe. If we continue this line of thinking it stands to reason that in much the same way, the data, and the output from those functions be easy to view, to use, and to improve. By extracting the user interface from the software and making the underlying infrastructure (API) available to be consumed by other sources we make Mautic more open.
No other marketing automation platform gives you this API-first, headless ability. You are essentially “locked in” to their user interface and their experience. (And we don’t even need to start talking about the limited API abilities of marketing automation platforms in general.) Closed marketing automation constricts and restricts your abilities as a marketer. You are forced to understand their interface, and to only view your data within the bounds of what they believe is marketing automation and how they believe you should access your information.
Mautic has always sought to do more, to be more. To provide you access to everything — after all, it belongs to you. Shouldn’t it be able to be used any way you want?
For these reasons I believe it is in best interests and the future success of Mautic to become API-first and truly headless. I hope this shares my thinking in a bit more clarity and if you were unsure before what headless meant you now have a good understanding about the topic.
If you have ideas or other ways in which a headless marketing automation platform can change the landscape and improve marketing I would love to hear them. We’re building this together, our robust and global community of marketers and developers working together create Mautic software and we have the power to envision and create the future. We are changing the landscape and we will continue to do so. It’s an exciting time to be in Mautic.
Special thanks to Don Gilbert for his help with this post.
May 1, 2018
Looking Ahead to Mautic 3
Mautic 1.0 was released out of beta on March 10, 2015. Then Mautic 2.0 was officially released on July 5, 2016. And that’s where we have continued to make improvements. This means we have been improving and iterating within the 2.x release for almost 2 years. This holds both positive and negative connotations. I’ll start with the positive.
This duration of a major release demonstrates the significant improvement to overall platform stability we have seen. It also speaks to the flexibility of the existing platform to be improved and built on top of, without major breaking changes needing to be introduced.
But there are also negatives resulting from a lengthy release cycle like this. We’re building software for the internet, the rate of change of software on the internet is growing exponentially; the technology is changing; and the landscape is shifting — drastically. By remaining in a single major version we limit the ability to take advantage of those technological advances (if we are unable to make those changes without breaking backwards compatibility).
I’ve discussed the versioning for Mautic previously, if you want to review that information but the tl;dr is we use semantic versioning.
For these reasons the time has come to begin exploring the benefits (and potential downsides) to beginning development of a new Mautic 3.0 release.
The first thing we need to identify is the reason why we would want to move forward with a Mautic 3.0 release. We don’t take these large transitions lightly and there must be sufficient difficulties needing to be overcome and/or new features made available by such a move. To that end, the following are the areas (in part) where a 3.0 release may prove beneficial to the Mautic product.
This might possibly be the greatest reason for beginning our discussion around a Mautic 3.0 release. Currently, Mautic requires Symfony 2.8 and only works within the 2.x series. This series of Symfony reaches end of support for bug fixes in November 2018. Meanwhile Symfony current LTS is 3.4.9 and current released version is 4.0.9. This is a very large problem that we need to resolve. A migration from the current Symfony requirement to even the long term support version (3.4.8) requires a large overhaul to our codebase and framework due to some of the deprecated methods. (I can elaborate on this in more detail in a separate post should it be of interest)
We’re learning as a community through this process and some of the design/architect decisions we made in the early days of Mautic have been improved upon and reconciled so as to not lock us in to specific releases of a framework in the future. Regardless, this upgrade plays heavily into the remaining evaluation of an imminent restructuring and release of a Mautic 3.0 version. And as such opens the door for further discussion around framework implementation.
The first item to be considered as an issue that Mautic 3.0 is capable of resolving involves the front-end interface. Mautic’s interface has remained relatively consistent – even through the Mautic 1 and Mautic 2 series transition. But as mentioned, the existing interface has been in place for nearly 3 years now. This clearly points to the success and clean approach that we took when designing the initial Mautic interface. However, at this point it’s time to consider an update, or facelift, to the user interface.
The frontend modifications are more than just surface level though. Currently Mautic 2.x frontend code is deeply integrated throughout the codebase. While we attempted to isolate the code to the /views folder within each bundle we have inevitably had HTML generated and output from other locations as well and this does not lend itself to a clear separation of frontend and backend. Only with a Mautic 3.0 can we overcome this and resolve this intermingling of views.
Mautic’s API is fairly strong, and absolutely open and flexible – you can review it here: https://developer.mautic.org. But as mentioned in the first item above, Mautic is not truly architected as API first. It pains me to say this because our API is so strong, but it’s not complete. There is more we can do. We need to take our API to the next level and make it truly headless.
The modifications necessary to our API to enable this would also require modifications to many of the functions and classes within Mautic. Touching this many areas of the system is risky and poses additional potential problems which is best mitigated during a major version release.
One of the greatest issues we’ve faced with Mautic 1.x and 2.x has been implementing at scale. I’ll address speed in particular in a future point but there are two main contributing factors (primarily) to our latency. Our current database ORM structure is one of those factors. Please understand what I’m suggesting. I don’t believe the ORM is necessarily the problem (though there have been open discussions about the implementation of an ORM as causing speed issues in other situations). More so I am referring to our specific implementation of Doctrine ORM. Many places suggest that ORM should be used for smaller projects with smaller amounts of data or for jumpstarting development as a scaffolding before moving on to a full-fledged data schema.
The three greatest problems with ORM-based development are as follows: First, performance degradation due to metadata, DQL, and entity processing (this adds greater overhead than simply fetching the data). An ORM often makes sacrifices in native performance features of a specific platform because of the way it “forces” a one-size-fits-all approach.
Second, Doctrine does a lot of things behind-the-scenes and without any control by the developer. In these instances, the ORM is treated as a bit of a “black box” where functions go in and data comes out with little to no idea how the actual queries are structured, or how they can be refined. Hours upon hours are quickly lost attempting to debug this data and extrapolate what’s happening “inside the box”.
The third point is closely related to the first: an ORM is quite limiting from a developmental perspective. You are unable to properly optimize your database platform for your specific use case and all queries are in this way forced to be “basic” while at the same time the associations are forced to be overly complex due to the way that the ORM manages the relationships.
The second factor which has greatly impacted our speed relates to our entity hydration. The method by which we make our queries, hydrate the results and return them is often bloated and more than necessary. As a result of this overkill we experience latent page loads. Evaluating our use of entity hydration suggests we are doing far more than we should be and this drastically effects our API call query time.
This affects our API call time due to the way the entities are hydrated. Let me explain, when we fetch and format an API payload we create DQL that Doctrine then translates into SQL and then hydrates those entity objects using \Reflection which we then pass through a serializer that reverse-engineers the entities into arrays and removes the elements we don’t want. This process also involves going back into nested associations and removing those unnecessary items as well. Finally we then package up that outcome, encode it as JSON and return it. (Can you say overworked?)
This same process also goes into our forms and the majority of our UI output. Most of the time we only desire the data, but unfortunately we are returning full objects of data that’s been converted a half-dozen times into different PHP objects and arrays before it ever reaches the UI.
Our integrations is one item that understandably needs improvement in Mautic (either 2.x or 3.0). This is as a result of our incredibly fast-paced growth and our attempt to stay ahead of the curve. There’s no denying that as a result we sacrificed some of our “code beauty”. If you haven’t explored our integrations code existing in Mautic then I’d recommend taking a look. What has happened is understandable and yet inexcusable. We’ve added far far too much to the core package and not properly abstracted the integrations as they should be. This failure to decouple properly leads to several problems.
First, this makes plugin upgrades inextricably linked to a Mautic release. This means that at no point are we free to improve upon and release new versions of a particular plugin without waiting until the next version of Mautic is released. There’s no reason to continue this discussion as the problem here is blatantly obvious.
Second, the current integration situation adds bloat to core. There is no reason to bundle plugins with Mautic core while enforcing other plugins to exist in a plugin repository (or Mautic Marketplace) to be downloaded and installed by the user. All plugins should function the same way, reducing the overall Mautic footprint and providing a clear path for installation of desired plugins without extra baggage for unused or unwanted integrations.
While there is a path where integrations can be improved upon iteratively within the 2.x series, this is yet another factor to be weighed when exploring the potential of introducing a 3.0 release.
One final point to address when discussing existing challenges relates to the overall platform speed. I think it fitting to close this section with this point because ultimately this plays a major factor into the roadmap for Mautic in the future. Currently Mautic performs quite well in a variety of environments.
Mautic has been tooled very well to work for small to medium size databases and while the functionality services every business equally there were some limitations that began to emerge when working with large-scale database implementations. This had lead to a slowdown of various functions within Mautic and requires workarounds to improve.
Secondly, due to the entity hydration and Doctrine ORM implementations done within Mautic (partly to speed up release timing and create software faster) the overall architecture suffered. This isn’t immediately noticeable but does come to light with larger datasets and more intensive query objects (e.g. within campaigns or when creating complex segments).
Lastly, all of the above speed-related issues roll up into a degraded user experience. The goal has always been 300ms page load speeds within Mautic. While this may seem aspirational it does not necessarily mean its impossible. A rethinking of the underlying architecture gives us the opportunity to explore ways to achieve these aggressive goals and deliver an outstanding user experience.
Now that we’ve highlighted several of the challenges we’re facing in Mautic it’s time to explore how we solve them. This involves keeping an open mind and looking at every possible solution path. Some of these may be far-fetched, some may be irrelevant and some may seem overwhelming. The goal in this section of the document is to review all of them with an open minded approach.
I’m going to outline the four ways I see this being addressed and hope this serves as the beginning for further discussion. It’s also important to keep in mind that these solutions are not completely mutually exclusive. There is the potential for a combination of these solutions to be implemented for the final desired result.
There are both pros and cons to each approach and rather than attempting to highlight those options in this post I will leave that for either a future post or for group discussion. Instead I’ll merely outline what each solution entails so we have a better understanding of what each represents.
Re-write on existing framework
The first option we have is to rewrite on the existing framework. At first glance this sounds the most logical and least stressful of the solutions for Mautic 3. This would involve a significant review of the existing code and a harsh look at what should be re-written or even removed. At this time, there’s not a definite answer on the amount of work involved with a framework re-write on Symfony and this will need to be explored to have a better understanding of the level of effort involved.
Selecting a new framework
A second consideration at a major release point like this is to re-evaluate the framework that has been incorporated so far and determine whether it is the best framework moving forward. This also involves a great deal of work (obviously) as the code would need to be re-written. This is precisely why I suggested you keep an open mind at the beginning of this section. We need to objectively evaluate what is the best solution with all things considered. We must step back from looking at just the code but consider everything in its entirety that would be involved with something of this scale.
Another area where we must evaluate current Mautic 2.x versus Mautic 3.0 is the database architecture. Our existing structure has served us well but if we are exploring the undertaking of a 3.0 series we are defining a release where we have the opportunity to make significant improvements and/or adjustments to the database architecture as well.
Currently our table schema has presented a few problems (though minor) which may be served well by a refresh. This will allow us the opportunity to improve indexing, table columns, and even the overall structure of data. (Need an example? Currently we refer to contacts, however the database table is called leads, while this may seem minor it is a remnant of a speedy release earlier in the 2.x series that should be rectified).
API first architecture (headless)
The last item I recommend be considered as we explore this stage in our development cycle is a return to the topic of API’s. I mentioned this previously in the problems definitions section. We must reconfigure our existing structure and modify our existing product to be API first. This means we need to evaluate every endpoint, identify which are missing, and extract end-user code from the output (i.e. all responses should be JSON strings).
Mautic 3.0 is the first major opportunity we have to make this improvement. Regardless of the framework selected (after evaluation which we will discuss next) this is the time we should make the improvements to our API. We must make this a priority in order to ensure that Mautic is properly headless. (Interested in why headless is important? Let me know and I can make a separate post describing the value.)
Next comes the step where I need your feedback. I’m looking for end-user feedback, always, but more importantly I would like technical feedback on specific solution outcomes. This discussion has begun in the core slack channel of our Mautic Slack. I would encourage you to join the discussion there should you be interested. While opinions are welcome, those with use cases, specific data, and or use cases based on historical data will be given greater credence.
Let’s explore a few of the items to be handled by this evaluation process.
Whenever there is discussion over switching a framework there is usual an instant and visceral response. This response comes from a good place but often times is not backed with the correct factual information. As a result, during the evaluation process in order for everyone to keep “feelings” out of the equation (as much as humanly possible) I want to make sure we back up our opinions with benchmarks and statistics (again, as much as humanly possible).
I recognize that the best benchmark is one that involves our own software written in different frameworks and other factors all kept as control in order to provide a clean comparison. I also recognize this is highly unlikely and presents numerous challenges and as such we must do our best to mitigate these other factors from contributing to the result. This doesn’t take into account the impossible undertaking of writing the same code on multiple frameworks simply for the purpose of extracting benchmark data.
Based on this information it is deemed appropriate to find existing benchmarks for other platforms built on each of these framework at various degrees of scale and using those as a baseline for comparison.
Specific use case evaluation
Once we have some basic benchmarks we can begin to explore specific use cases and implementations. This is where we take the best of the best and begin to build out a plan for how the various pieces might work together. Again, the goal is a non-subjective approach to the information and presenting varying use cases for evaluation.
This should not be extremely time-intensive but rather a precursory step prior to the next phase where a proof of concept is mocked up.
Proof of concept
This step is often where I get most excited myself. Sometimes others may see me arriving at this step and not fully realize I’ve worked through all of the previous steps already. I trust in this particular instance we will make this journey together and share in the excitement of a proof of concept.
As a word of caution, the proof of concept is not a final or even functional application. We simply want to test our hypothesis and theories that we have drawn from the research, benchmarking, and use case evaluations. This is the point where we create code. We build out an example of what it would entail to create Mautic 3 using the solution as defined.
There are several key things to look for with a proof of concept. Code style, readability, implementation methods, and database architecture. This proof of concept should give us visibility into each of those areas as well as a good understanding of the implications of this solution as it relates to page speed and the API results speed.
Subjective item scoring
The last part of the solutions exploration involves scoring the results from each of the solutions identified on a number of criteria. This will be certainly challenging for our community based on the first word of the heading: Subjective. It’s never an easy task (and an oft avoided one) attempting to rank outcomes where the answer is not a clear black-and-white, yes-or-no. Instead we have to consider all potential benefits and detriments to each solution. We have to weight them according to their perceived merit and potential value.
There are a number of factors that contribute to the success of a solution and while I have highlighted the technical solutions first in this particular post there are others to be considered as well. I will be writing an additional post that will focus on the extraneous factors and how they affect the Mautic product either through a 3.0 release or implementing an update to the 2.x series.
So, now that we have this outline for what we are looking to accomplish and evaluate from a code perspective with a Mautic 3.0 release potential we need to begin focusing on how we best accomplish these goals. Here are the first three steps I am recommending we take as a community as we push forward with exploring Mautic 3.0
Organize a team
First, we need to organize an evaluation team. This should be a team with technical ability primarily as the majority of the items listed above are highly technical in nature. There will be a time and a place where the greater community will be able to voice their input and opinions and the subjective feedback from the community at large will be desired at that time. This initial team should be developer-centric given the tasks at hand.
Formulate an evaluation matrix
Once we’ve gotten a team organized and we have carried out the steps for the potential solutions listed above we can begin to draw some results and conclusions. The best way to do so is to compare an evaluation matrix where we can properly identify the pros and cons for each solution recommended. This will help to remove the subjectivity and allow us to focus on the best and most strategic paths forward.
When creating this matrix we will also consider additional items such as time to implementation and community involvement. In addition to picking the most technologically sophisticated solution we must also match that with the existing skills of our community and determine if we need to reach out to other communities for assistance as we seek to grow properly.
The evaluation matrix will not be evaluated at this point and a conclusion drawn but rather be the culmination of the work done to date and distilled down to a meaningful format which can be easily shared in the final step.
Prepare an RFC
The final step in this evaluation of the Mautic roadmap involves preparing an RFC for dissemination to the community. This is where we seek to get feedback, support and buy-in from everyone. We want to ensure that our community as a whole agrees with the decision made and more importantly agrees because they have received the proper factual information. This is where the evaluation matrix will offer a great deal of insight and information.
This will be a great milestone for the Mautic community as we continue to push the boundaries on marketing automation and the technology used in our software. We are capable and equipped for defining the future of the marketing automation space and this is our next big step in that direction. I hope you can tell the excitement I have not only for the outcome but also for the journey as we grow. I look forward to seeing what comes next!
Special thanks to Alan Hartless for his feedback to this blog post
April 29, 2018
Saelos Sunday Update
Well this is an exciting update to share. Saelos was announced and released on April 15. Today is April 29, exactly 2 weeks later. Because everyone is busy I’m sure you haven’t been able to keep up with the progress the same way that I have been so I figured the best thing to do is to write a short update post to give you a sort of a status update on how things have been progressing.
This is of course very early beta software (some would even call it alpha, simply due to its newness) but the status of the code causes me to suggest that we have moved much quicker into beta software status.
These numbers are constantly changing as you can imagine so please don’t put too much faith in any one metric. Rather I’d recommend looking at them as a brief snapshot or glimpse into the growth being experienced. And let me be the first to tell you that growth is evident and exciting. Saelos is moving along at an excellent pace and perhaps even more exciting growing we’re moving forward in a very sustainable fashion. You’ll see why after I share a bit more information.
Okay, here’s a quick stats list:
- Downloads/Sites Created: 264
- Releases: 5 Beta Releases
- Slack: 22 members
- Website: 49 members
- Pull Requests: 0 open / 7 closed
Wow, those types of numbers and to be only 14 days old is quite exciting. Perhaps the last statistic is the one that speaks the most to me. As an engineer at heart I am always looking for indicators that other developers are also interested in and willing to contribute to a project where I am involved. The number of pull requests submitted by community volunteers in the very first couple of weeks of this project is indicative of several things – including the ease of readability of the platform and code.
In fact, even better, I saw 4 community created pull requests in the first 24 hours! (Of course a couple of these were minor issues, but still, the point remains the same: the software is easy-to-read and modify.)
I should also mention the new website just briefly since I realized I never shared anything about that earlier (I’m not lying, the time is just flying by these days). I also launched https://www.saelos.org this past week which gives an online home for conversations, announcements, and other things related to Saelos. You should join in so your voice is heard and you’ll be able to share your ideas for future releases of Saelos and begin getting involved yourself (Are you interested in documentation? If so, we should talk).
Beyond the highly notable achievements listed above occurring within the first 2 weeks of release an additional exciting contribution came in the work of Luiz who has already created and taken lead for maintaining a Saelos Docker container. This makes installation and setup of a new Saelos instance incredibly fast and simple (and significantly encourages new users to try Saelos).
The next obvious question is “now what?” What release comes next and when? This question is a little harder to answer simply because when dealing with beta software new issues or uncovered all the time and the desire is to create as stable a product as possible before releasing a 1.0 stable. Currently there are about 10 issues open in GitHub but of course they vary in difficulty and time to implementation.
The next more imminent milestone is the release of an RC (Release Candidate). At this point I’ll have a pretty good idea of what the 1.0 Stable will look like and this release will be a pre-packaged version to begin fixing any last minute bugs before release. This RC should be fairly close to stable. At the moment I don’t have a solid date for that release because we may iterate through a few more – Beta releases first as we knock out issues and make system improvements.
The next beta will more than likely be released next Friday afternoon or Saturday as time permits. I am hopeful to see a number of the open issues resolved with this beta and I can share those fixes as they are merged.
The last thing I’ll leave you with for this quick update post is a very simple and easy call-to-action. If you like this content and want to be kept in the loop regarding all things Saelos then you need to fill out this short form and you’ll get an update newsletter direct in your inbox each time once is created.
That’s it. I’ll do my best to keep the Saelos Slack channels updated as well as the newsletter and if you are following my blog here, you’ll also get updated whenever I post something here too.
Have a great rest of your weekend and I’ll see you in Saelos!
April 24, 2018
Mautic and GDPR
One of the hottest topics circulating the internet these days is the upcoming legislation surrounding GDPR being put into effect on May 25, 2018. Companies of all sizes are closely watching what this legislation means and taking a hard look at their software to see what is affected. Given the hefty fines, this scrutiny and concern is completely understandable. Mautic, as an open source marketing automation platform and community also holds these concerns and possibly to a much higher degree than others. Our community has hundreds of thousands of businesses running Mautic, and our software is powering their marketing automation effort and customer data collection.
As a result, Mautic is of course highly interested in not only understanding, but also complying with any and all new regulations put forth that promote openness and transparency. Interested isn’t really the right word – more like /actively engaged/. We are dedicated to ensuring that our software not only complies but stands out as a model by which others gauge their own level of implementation.
Before I get too far into those details, let me give a very brief refresh on what GDPR means and what it represents.
GDPR, or General Data Protection Regulation, is a new European regulation that enforces the protection and accessibility of personal data for all European citizens. Read more
Four basic user entitlements
- Every individual is allowed to know what data is kept by any business; why that data is kept and for how long it’s stored by the business.
- Every individual has the “Right to Access” their own information and data.
- Every individual has the “Right to Data Portability” of their information (they can request a copy of their data as it’s stored.)
- Every individual has the “Right to be Forgotten”. (Request a business change and permanently delete any stored data)
Now you may be one of the shrewd ones and recognize a specific phrase in the original definition: that’s right the word European. But if you’re reading this from the US, you’re not off the hook just yet. Keep reading.
This new regulation applies to European citizens regardless of where they are located at any time. US companies must abide by these guidelines for any and all customers, contacts, accounts associated with the European Union.
There is one last aspect of the GDPR we need to consider before getting into some specifics. What is personal data? That’s right the GDPR is concerned with the data so obviously we need to understand what that data is. And this is where things get a little bit muddy. Here’s a short list of the most commonly recognized types of information that falls under this regulation.
- Online identifies (IP addresses, mobile device IDs, browser info, MAC addresses, cookies, account IDs, and other forms of system generated user identifiable data)
- Racial or ethnic origin
- Political opinions
- Religious or philosophical beliefs
- Trade union memberships
- Health data
- Sex life or sexual orientation
- Past or spent criminal convictions
- Genetic & biometric data
- Location data
- Pseudonymized data
Whew, what a list! Now that we have a bit of a handle on what the GDPR is about (at least at a high level) and you may be sufficiently uneasy about your current software I want to share how Mautic as a product is already compliant and continues to seek the best and most proactive approach in these new guidelines.
Based on the four principles listed above let’s look at an optimal Mautic configuration that complies with them. There are two options that existed for Mautic and my desire was to set a precedent for our community, our product and the entire marketing automation space. As I dug into this issue I met with more individuals in our community and in business than I could mention. My desire was to get a better understanding of the regulations and their implications myself. And I am excited to share with you the conclusions I’ve come to. And of course I’m always interested in more discussions on the subject and welcome the opportunity to chat with anyone that has questions, ideas or thoughts on this subject. It’s an important one.
Okay, with all that said, let’s dig in. As I mentioned there are 2 paths we can take. The real trouble lies in the uncertainty. I alluded to it earlier when I mentioned the “muddy” aspects of the data. There is a balance that must be struck. Mautic should be proactive and a leader in the implementation of these new guidelines. But time spent on unclear work, or without good direction is wasted and the time of our community developers is far too important to waste.
In order to make the absolutely best use of the developers in our community’s time; and in an effort to make the wisest decision in time and resources I believe the smartest strategy is to take a dual-prong approach. This is exciting because Mautic software can be easily configured for GDPR regulations today with just a few simple steps.
Instant GDPR Compliance
This dual prong approach involves an immediate step and a longer term software feature enhancement. The first step is quick and relatively painless. And with the implementation of a few simple changes to how you currently setup your Mautic instance you’ll be instantly compliant!
Here’s all you will need to do:
- The very first thing is to plan how to convey and accept explicit data collection consent, usually done through a focus element in Mautic, this step is potentially already being done in the case of cookie collection. As such you may only need to modify the language of your existing focus item.
- Configure two new segments within your Mautic software, name these segments, Request to be Forgotten and Data Requested.
- Setup a new form that allows an individual to submit their name/email and select the options they wish to submit (Request for Data, Request to be Forgotten)
- After each form submission associate them with the correct segment and take the necessary steps to either delete the contact from the database or export their record to a CSV.
- Notify the individual of the action taken.
One of the biggest (and simplest) mistakes I hear is people getting caught up in the thinking that this process needs to be instantaneous. While of course each request does need to be handled with expediency, nothing states it needs to be automated. To the best of my understanding, the above 4 step process gives you a GDPR compliant Mautic! Congratulations, you can sleep a little easier.
GDPR Mautic Software Improvements (Future)
Of course being compliant in this manner is only the first of the two-phase strategy. The second involves some modifications and improvements to the Mautic software. And while this is yet to be fully determined I can share a few ideas that have been circulating.
- New configuration section for GDPR.
- Configuration options that add the necessary acknowledgement checkboxes to forms automatically.
- A semi-automated contact deletion process
This is just for starters and only a few thoughts I’ve had as I’ve listened to some of our European community members share their concerns and their ideas. As I stated earlier I would love to speak with you and continue this discussion. Mautic is committed to being a leader in this regard and demonstrating to others how proper GDPR should be handled. We have the knowledge of a global community and the power of a flexible and open source development platform enabling us. Our software can be proactive and our software can demonstrate how others should consider GDPR compliancy. I trust this helps, join our Slack channels to learn more and make your voice heard.
April 21, 2018
Saelos CRM: A Technical Advantage
One of my greatest undertakings of this past year has been the development and subsequent release of the Saelos CRM (still in beta of course!). I was able to use my knowledge and experience gained from Mautic (a world-class marketing automation platform) to create a complementary platform for relationship management. I expect if you’re reading this you’ve probably already read the original announcement post (if not, go check that out before continuing). Otherwise, let’s take a few moments to explore what an open CRM looks like and what it means for the future.
By the way, if you haven’t looked at [Mautic](https://www.mautic.org) you should definitely check it out. The open source marketing automation platform is second to none and does incredible things for your marketing department.
The purpose of this post is to showcase just a bit of the Saelos CRM technical advantage. I’ll touch briefly on the methodology and practices implemented as well as the reasons for various technical choices made along the journey.
As a brief overview, Saelos has been written in two distinct sections. A frontend and a backend. This was done to make Saelos completely headless. (I’ve jokingly made the comment that not only did we create the first headless CRM, but also the first bodiless CRM as well – I’ll explain that in more detail later in this post) Creating a CRM in two sections like this allows for the absolute maximum flexibility and customizability in the future by an incredibly wide variety of use cases.
By default Saelos runs smoothly and seamlessly as a single app, so for most users this distinction of “frontend” and “backend” will hold little meaning. But for those more technically minded or for those use cases where it is required Saelos is capable of meeting those advanced requirements.
Without any more delay, let’s start by exploring the backend system for Saelos.
Saelos backend (not to be confused with admin or config) is the code platform which interacts directly with the database. This backend manages all the code and logic related to the data and then provides a full API by which the Saelos frontend (and other systems) can interact with this data.
Saelos was written in the “API first” mentality and as such every functional aspect of Saelos is controlled and manipulated via an API. That’s a pretty big statement and gives us the ability therefore to offer Saelos as a completely headless app. Any interface can interact with the CRM simply by referencing this robust API.
Finally, here is a quick note on the technology involved with the Saelos backend. This platform is written in Laravel (Laravel 5.5) as the base, and follows the 12 Factors of recommended methodology for apps.
The Saelos frontend is the UI platform which the user interacts with directly. This visual interface makes functional calls to the API to return the information in a user-friendly format. This interface is cutting-edge and incredibly intuitive. And that’s not just marketing speak. The Saelos UI responds instantly and is declarative as well as component-based.
The Saelos interface is able to cache responses, storing data in the client’s browser for improved query speed, only making server calls when the data is changed. Doing this takes full advantage of modern browser local caches and makes page load speeds lightning fast (and in many cases non-existent).
Just as the backend is able to function independently of the frontend; so the UI can function independent of the backend. This means, as I joked in the beginning – Saelos CRM is completely bodiless. You can take the Saelos UI and connect it to your data source provided your admin backend implements the same API endpoints.
Again, as a final note on the technology involved. The Saelos UI is written completely in React. This compiled with axios, redux, and lodash provides one of the best frontend platforms available today.
The outcome or result of this approach to a modern CRM and sales enablement platform is abundantly clear. Lightning fast, incredibly flexible, and infinitely customizable. No other CRM or sales enablement tool gives this much freedom. Saelos, a single powerful application, with the ability to exist as two complete platforms, capable of being independently as needed.
To be clear, Saelos does not replace Mautic in any world. Instead Saelos is a beautiful and perfect compliment to an outstanding marketing automation platform. The lessons learned from Mautic have been applied to make Saelos incredible, but it doesn’t stop there. Already, Saelos is giving back, allowing the Mautic community to begin expanding and improving our code for version 3 (already in the works!). This is a beautiful symbiotic relationship where two open source projects and communities are able to work together to improve each other and I am so excited to be a part of each.
April 15, 2018
Announcing Saelos Beta
Wow. I’m a little in shock that this day has finally arrived. It feels like months and months and months in the making. (Probably because it has been). And I couldn’t be happier with the result. What I want to share with you today is the result of untold nights and weekends. Long days and quite literally thousands of hours of time. I’ve talked about it before, but time is our most valuable asset. We can’t buy, beg, borrow, or steal more of it. As a result there’s nothing that costs more than time. With that thought in mind, what I am about to share with you is a gift. A gift of my time. It will cost you nothing. I give it to you completely for free. But wait, before you think that’s the end of the story. Let me stop you and share with you something I believe is even greater than a free CRM. This gift I’m giving you, the one comprised of my countless hours of time I will never get back – this gift is more than just free. It’s open.
This is now completely and totally available for you, for me, for everyone to continue to improve upon. This creation now lives freely available and completely open in front of you and the rest of the world. No one has seen anything quite like it before. Every line of code is available for you to review and improve upon.
As with any software this project starts its life as a beta. Now I believe you will be hard-pressed to find other beta software with the feature richness and depth that you’ll find in this one, but I am sure you will find bugs. Please remember, this is beta software.
I would be remiss if I didn’t specifically mention one very important individual who has joined me for this ridiculously challenging journey. From the beginning there has been one person that deserves special recognition for his willingness to tackle any problem, to identify the best solutions, and to build anything he was asked to build. I’d like to thank Don Gilbert for his tremendous contribution and his dedication to this project, without him I would not be announcing what I’m announcing today. Thank you Don.
I am sure by now everyone knows what I am about to share with you. I’m sure you’ve read the previous posts, heard me speak, or gotten some other insider scoop into what I want to share with you today, but that doesn’t mean it’s any less exciting or any less monumental of a moment. Today, I am pleased to announce that Saelos, Open Source CRM, is officially available for download.
The Saelos repository links will be shared at the end and the website will also be immediately available as of today to give you the download.
But let me first tell you a little bit about this amazing software which I’m sure you’re dying to know more about.
An Open CRM
Saelos is customer relationship management re-imagined. It almost pains me to call it a CRM. It’s more a beautiful blend of sales enablement, customer relations, and incredible intelligent relationship management. I knew when I started thinking about this system I wanted to solve a problem. A problem I faced. It seemed every time I wanted to find out something about someone I was stuck logging in, clicking through what felt like a million links, staring at a hideously ugly screen, and ultimately being presented with some table layout of information that was disjointed, outdated, and difficult to search through.
What I wanted was a way to see the people that mattered to me, to easily see (and update) their information, to be told what things they were related to, and to be able to instantly connect with them. All I wanted was intuitive, beautiful, fast, access to the people I cared about. I believed I should be able to have this. I believed the relationships in my life mattered and I shouldn’t have to waste my time trying to maintain them.
This meant designing modern software capable of solving this problem. This meant rethinking everything I knew about existing systems, taking the pieces, and creating something new. The trick always lies in attempting to create something new and yet familiar. I believed whatever I built had to feel comfortable. I wanted you to sit down, log in and feel at home. You just know where things are, you know how they should work…and they do, beautifully.
So, what can you do with Saelos? I’m glad you asked, let me show you a few features I think you’re really going to like.
The first and most obvious area in Saelos are the contacts, you’ll notice I’m using terms you’re probably familiar with, and immediately you know what I’m talking about. The contacts gives you a blazingly fast list of your contacts, and wow, is it ever beautiful. You’ll probably want to know how it’s so fast and what the software is behind this platform. I’ll tell you more about that in a bit, but first, let’s just look around the contacts to see what all we can do.
In the middle of the screen you’ll find all the details about the person you’re looking at. You see their address, and other important information right at the top, and then convenient groupings of other fields below. These fields are customizable and easy to create in the config section.
Sometimes my memory fails me for a second and I need a reminder about what’s happened with someone in the past. It’s embarrassing to ask and it’s time-consuming to hunt through old messages to try and figure it out. In Saelos you simply click the arrow at the top of the right panel and you’ll instantly see everything that’s happened with this person. Every field update, every interaction, every status change, everything.
Activity & Conversations
I mentioned interactions a second ago, and you’ll probably notice I slipped right over the top row of icons. Let’s look at those real quick. Sometimes you want to give someone a quick call, it’s as easy as clicking a button – one button. And you’re connected via your phone. But that’s not all, with a simple config setting every call can be recorded and attached. And it‘s not just phone calls, you can send text messages (and receive them) as well as send email. And you can do all of these tasks without ever leaving the page.
If we look underneath the person you’ll find a record of each conversation (phone call, email, text) instantly and easy to review, Saelos CRM makes your conversation tracking effortless.
I love how everything is logically laid out and easy to find. Everything working together at the speed of my thought. This is revolutionary.
Beyond just contacts, it’s important to keep track of the accounts and companies where your relationships work (and worked in the past). Keeping track of all this information as well as any opportunities, tasks, and notes associated with each account can be overwhelming at times, but Saelos helps you manage them all by placing them directly on the page along with the company information. You’ll never have to go far to see these details. Which brings me to the next area to explore: the details.
The panel on the right is full of valuable information you can use to easily jump from one thing to another. Your mind works incredibly fast, you process relationships and connections almost instantly, and now you can get information delivered to you at that same speed. Companies, opportunities, tasks, and notes are all conveniently located right next to your person. You can see and manage the status of the relationship instantly as well in Saelos CRM. (Need to add more statuses, again, an easy config option)
But managing my people involves more than just their personal details. I also want to know what opportunities (another familiar term) I had with various contacts. I wanted to know what stage those opportunities are in and what next step is best to take. Just like with the contacts we can easily scroll through our opportunities to find the one we’re looking for (or use the advanced search filtering to quickly narrow the list). More custom fields can be added here and I can easily see all the related information here as well. Creating and managing these opportunities has never been easier.
The last thing I want to draw special attention to involves beautiful, incredibly functional tags. Tagging in Saelos lets you quickly link items that might not be linked anywhere else. You can pick a name, pick a color, and even add an emoji. Then, you can easily see people, companies, opportunities, and tasks associated with that tag. It’s ridiculously simple and yet surprisingly powerful.
There really is so much greatness captured in this system it’s hard to highlight only a few of them, but it wouldn’t be any fun if I didn’t let you discover some of them for yourself. That’s the beauty of a system like Saelos where everything is so intuitive, it really is like a fun opportunity to discover something new and exciting.
Here’s a few hints for things you should definitely check out:
I hope by now that you’re sufficiently prepared for what you are about to find. But before I let you go and use Saelos for yourself I want to share some of the incredible tech that supports this system.
Finally I mentioned earlier that this is beta software and that you will undoubtedly find bugs. I also mentioned that this was started as a gift made available to you, free and open source. But this is not the end, it doesn’t stop with an a gift given. No, this is the beginning. Now you have an opportunity. An opportunity to make the gift better, to continue the act of generosity and improve this software for yourself, but more importantly for others. Be patient as you implement but hold Saelos to a high standard at the same time. Gather issues and report them. Take the next step and fix them. Become a part of this community that is now forming and take an active role in forming the foundation for this open source project.
Now, with all that information shared, and without any future awaiting. I am proud to give you immediate access to Saelos Beta. Here are your download links:
Full Package Download: https://github.com/saelos/saelos/releases/tag/1.0-beta
Code Repository: https://github.com/saelos/saelos
Please be sure to star this repo and share it with others! If you have questions, drop me an email. I’ll be sharing even more documentation in the coming days. For now, the repository has step-by-step setup if you’re building your own. The download package you simply unzip into your web folder.
What are you waiting for? Start exploring Saelos CRM! Tell others, tweet about it, facebook post about it, share on LinkedIn; just please help me spread the word! Let’s change the way we think about relationships in business!
Interested in the slide deck? Download the PDF here.
April 13, 2018
Open But Not Inclusive
This week I attended DrupalCon in Nashville, TN. I always enjoy open source conferences and this event was no different. There were hundreds of sessions available over the 3 day event and it’s always tricky to navigate the feeling of “information overload” when attending a multi-day conference like this.
One of the tricks I’ve learned over the years of attending these events is to take one session slot each day and not attend a session. Instead I find a quiet location somewhere and jot down my thoughts on what I’ve been hearing and learning. This helps me to keep from getting conference brain where I’m sitting in a session but not hearing anything. This also gives me a chance to catch up on other messages so when I /am/ in a session I can give it my undivided attention.
I’d like to share with you is the result of one of those reflection sessions. This nugget of greatness came from the opening keynote on Day 2. Steve Francia, @spf13, was sharing his story and it was full of helpful information, anecdotal advice, and stories from his personal journey. It truly was an amazing keynote. As he spoke there was a few slides in particular he shared which caught my eye and attention. They specifically addressed an issue I am constantly aware of with the Mautic community.
You’ll have to forgive my sketching, and trust me when I say his slides were much prettier. But I imagine you’ll get a fairly good idea of the concept. Not to mention, if you are that interested; you should have attended!
Here’s the basic concept: Open NOT Inclusive.
The idea was one that Steve mentioned he discovered while working with Google and the Go community. What he saw was that the core team (Google) was doing all the contributing to the code and the community was observing and consuming without being actively included or taking active leadership roles. As a result the true power of the community was left untapped and the internal team was a limiting factor.
I was struck with the similarities to the Mautic community and as you can tell from my sketch I self-identified with our team in a similar fashion. At this point I found myself agreeing with Steve’s problem statement and as such was eager to see what he shared next. Below is again my representation of the slide that followed.
Steve offered a simple solution. Well, it appears simple, but the implications are of course much greater. The suggestion as outlined above involves Distributed Control – when the community is able to make leadership decisions and assume roles of responsibility the dynamics change. This seemingly obvious change to /inclusive/ gives a sense of ownership to the community. It makes the community truly empowered and in control of it’s own destiny. What a fantastic and exciting future.
While I believe that the Mautic community is working hard to assume positions of leadership and my intent is to see this growth occur as soon as possible this served as a valuable reminder to me what we are all striving for. Steve pointed out that the Drupal community was an excellent example of this inclusive open community functioning properly and looking around at the thousand or so in attendance I would have to agree with him. I look forward to the Mautic events in the future when we can say the same thing and demonstrate it with the many community leaders taking an active role in the future of our project.
That’s all for this post, but I will continue to share my thoughts from my reflection sessions in the near future. In the meantime, let’s not forget this valuable lesson and keep striving to make Mautic the most amazing community it can be.
March 25, 2018
Sunday Saelos Update
Since it’s my weekend project and since today is Sunday I feel it’s an appropriate time to publish a quick update on Saelos. I’ve done the unthinkable. In the world of software development and releases some might say I’ve done the unimaginable. I announced a release date. That’s right, in case you missed my previous blog post (catch up here), I have announced a date when I’d be releasing my passion project Saelos.
I’m not repeating that date here, if you’re curious about when it is…go check out the previous post. Let’s just say under my current level of stress and the number of hours left in my weekend it’s going to be a bit of a hard deadline to hit. But I’m committed. And just in case announcing something like an actual date of release isn’t stressful enough – the response I’ve received so far has been insane. Far more than I anticipated.
I’m a stats kind of guy, and as a programmer the numbers and equations are kind of a thing for me. I love to see and find patterns and since my little side project is just getting started I figured I’d set the stage right by sharing various stats as I go and as I get closer to a release. Because there’s something else that defines me; besides just being into the numbers and the patterns. I am open. I believe in open source to my core and that same openness pervades other areas of my life too. I hope you find the inside view refreshing and informative. Let’s get rid of black boxes.
Okay, so here’s some information coming at you: Since I published the blog article on March 14 (roughly 11 days ago) there have been 472 individuals that have submitted the form requesting more information. We can also take a quick look at geographic information and see 35 different countries are represented by those known contacts with the majority of those originating in the United States. The website has tracked more than 5,000 unique visitors. And that’s just a couple of the numbers.
In case you’re curious: I collect these types of details (and much more) using Mautic, an incredible open source marketing automation platform.
In regards to the blog article, it has exploded into the top 10 most visited pages of all time on my website (interested in the first?) . And this is after only 11 days of being published. I find this exciting and intimidating at the same time (no, not being trying to be cliché). It’s awesome because it means there’s a real interest and a real concern. It’s terrifying because I put a date on it! What was I thinking? And why on earth am I wasting my weekend hours writing a blog post instead of working on it?
I guess because I want you to be as excited as I am about what’s coming and I want you to know what’s going on behind-the-scenes. The numbers are fascinating and exciting. The interest is very real and I want you to be a part of the entire journey, start to finish. All in all, things are progressing nicely and I can’t wait to share more with you. If you do want to know more, check out the splash page, throw in your email address, and get notified when something new is shared. (You can also sign up on my blog here on the left to be notified).
Now, I’ve got to get back into things. I’ll do my best to share a bit more with you in the days ahead. But don’t sit around waiting for me! Sign up to let me know you want me to reach out and then go out and get something done (or enjoy your relaxing Sunday)! We’ll be talking again soon.
March 20, 2018
Market Smarter Not Harder
I think a lot about what’s coming next in the world. I focus a good bit of that time on the area where I spend most of my waking time – Mautic and marketing automation. When I set out to create Mautic I wanted to create a marketing automation platform that had never been seen before. I wanted to give the world the tools and the power of a platform that not only excelled in feature and functionality compared to existing proprietary products but also did so in a revolutionary way.
I am excited to see and hear the growing and continual positive response that Mautic receives. The reviews keep piling up and the compliments speak to the fact that we are accomplishing our goal (notice the verb tense? Active. Because we’re not done yet). If you haven’t had a chance to explore the Mautic marketing automation campaign canvas then you’re really missing out.
What we’ve created is something that was more robust, more functional, and quite honestly more beautiful than anything marketers had ever seen before. And that’s not just marketing speak. The blank white canvas you start with is a breath of fresh air. From here you can create a simple or complex marketing campaign with the ease of dragging and dropping items onto the page. It’s just like sketching on a whiteboard (and we all know how much fun that can be).
But this is only the very first step in our marketing automation journey. There is so much more to be done. We have to keep digging deeper and we have to continue to explore what should be done with marketing automation and doing smarter marketing.
What follows are my ideas. They are incomplete, they are my sketches and my thoughts. I want to engage you in my future-looking focus. I want to encourage you to expand your mind and think more about what the future might look like.
Let’s talk about old marketing first. I know I’m calling this old marketing but unfortunately the oldest of these sketches is what some current marketing automation platforms still sell today. Mautic v1 was the revolutionary marketing automation platform our community created over 2 years ago. Today it is still one of the most talked about aspects of our platform.
So, with all that hype why am I considering V1 and V2 to be outdated? Let me explain. Marketing automation should be automated. We all agree with that concept. The above marketing campaign solved some of the problems with marketing automation but not all of them. Mautic did some amazing things with multi-channel messaging. We also created some really advanced campaign canvasing that allowed marketers to send those segments down a variety of paths with different channels for communication.
But there’s a fundamental piece that has been overlooked. We also all agree that marketing automation should be personalized. With that in mind why do we continue to do marketing in groups? (By groups I mean of course segments)
This is where I believe the next step in marketing need to be realized. Let me elaborate.
First, I want to be sure that I don’t think I’m suggesting something new that’s never been thought of before. There are many smart people that have done bigger and better things before. I want to make it a reality. I believe Mautic and the open source community is capable of making those ideas a reality. The above sketch is what I believe the future of marketing automation looks like and in the next 6-9 months I am confident the Mautic community can achieve this.
Okay, now what does it look like? Let’s get real. Instead of the marketer having to create these elaborate paths that segments or groups of contacts have to navigate together there should be a more personalized route Here’s what that looks like broken down.
Marketers should instead create marketing messages which are a number of variants of the same message created for several channels (e.g. email, sms, web push, mobile notification). These variants are collectively called a marketing message. The marketer outlines an objective and success for each message. Finally, the marketer then creates a number of these marketing messages. After creating these messages the marketer defines what success for the campaign should look like. Success does not necessarily mean 100% completion of every message. Instead a marketer may decide upon a number of outcomes based on various percentages of completion.
This may sound mildly familiar and somewhat similar to existing marketing but here’s where it gets different, very different. Marketers shouldn’t have to market to entire groups as one; better that each contact received a personalized marketing campaign based on their particular specific interests. Mautic V3 does this.
Because Mautic v3 creates customized journeys for each contact based on their preferred contact channel. In addition to sending the message on the preferred channel, Mautic also accomplishes one other important marketing objective: right time.
I know, it sounds a bit like a marketers dream – right time, right message. But that’s exactly what Mautic offers and we’re able to do this because we’ve been planning for it all along. We launched version 1 with multi-channel messages. We released version 2 with the ability to create marketing messages as well as a preference center for contacts to select their preferred channel. From day one we’ve been carefully creating a marketing automation solution that is world-class and second-to-none. Mautic version 3 continues that journey and brings about the next step in amazing marketing automation.
March 14, 2018
Introducing Saelos: A Personal Project
Some of you may have noticed that it’s been a little while since I posted a longer piece on my blog. That’s not because I haven’t wanted to but because of some other things I’ve been pouring every spare second into. Literally every spare second. We won’t get into a discussion on the topic of sleep habits (maybe I’ll come back to that one – it’s interesting) but suffice it to say, the time I’ve spent has been all-consuming.
But that’s what happens when I am passionate about an idea and want to see it developed. I lose myself in it. I can’t help but think that’s normal though right? Don’t you do the same thing when it’s something you’re incredibly excited about? Regardless, I’ve come up for air now and decided it’s worth taking a few minutes and letting you in on my personal project. This is just something I personally believe the world needs and a shift in a current status that I think can improve lives and business for everyone.
If you’ve never read the book What Do You Do With An Idea? you should stop right now and pick up a copy). It’s a children’s book so don’t fret – you can finish this one in a few minutes.
So, what do I start with? The solution? The problem? Oh, wait, I know. I should start with why. Let’s do this:
I’ve watched people keep lists my whole life. I’m a list maker. I love making lists of things and keeping track of how I’m doing as a result. So when computers came around people wanted to create lists on it. Natural progression. As is always the case with software one list became multiple lists. Then people dreamed up the fabulous idea of using those lists for showing more information. What a beautiful thing. Now my list of a sentence could be an entire paragraph or more. What if I wanted to define fields and then allow other people to edit and update my lists. At a very high level this concept of a list item gradually turned into the idea of a single record with lots of data in it.
Okay, everyone with me so far? I’m going to jump ahead a few steps so keep up we have to start moving faster (I have a thing for speed). Companies began to create software to help with managing these records. They all started with this idea of building a list and adding more and more fields to each record. Display the record differently, use different names for the list items (or objects) then package it as a different software product. Rinse and repeat. This was the state of the world and then the internet came along and these companies all moved their products to the web. Same product, same thinking, but a different medium. (C’mon people, this is “the internet”)
But the thinking that built these platforms was inherently the same (for the most part). One company even went so far as to attempt to use a “No Software” logo, which attempted to suggest a new paradigm shift in business work, but this was the same thinking, different platform. The software was never the problem. The thinking about how it was built and the implementation of how it functions is.
This problem of record management was something that I both heard about and experienced myself. A world of “apps” all performing the same CRUD tasks (Create, read, update and delete – Wikipedia). Then you could even build your own app on top of an app to add more of the same with different fields you wanted to track or different functionality you wanted to have. But the underlying system was faulty. And though the underlying code was constantly being added to and tweaked, it was the same framework. And I believe people need a change. I believe software today is fundamentally different from software of yesterday. Below are my fundamental principles about software.
- Be modular not monolithic.
- Be extensible.
- Solve specific problems.
- Be active.
- Be open.
Those five fundamental beliefs shape the work I do and the projects I work on. I absolutely believe this. Let’s look at each very quickly.
Software should be modular and not monolithic.
My statement here is more than just the concept or idea of bolting more pieces onto a base. That’s the app tacked on to an app tacked on to an app idea which businesses today attempt to do. By modular I mean the core functionality should be able to be removed, replaced, rebuilt and improved upon.
An example of this lives in the Mautic platform. Mautic functions as an omni-channel marketing platform. Fancy words, simply put, Mautic lets you market across email, sms, social, web, mobile and more. The channels are fundamental to the software, but they are completely modular. Want to use SendGrid instead of SparkPost to send your email, no problem? Have a different ESP? Drop in your credentials and go. What about SMS, Team Twilio or Team Plivo, the choice is yours. Mautic is fundamentally modular in it’s approach.
Software should be extensible
I believe the idea of extensibility is broken in many cases. This idea is commonly misconstrued in the world through the proliferation of “App stores” within product companies. (/I’m not referring to Apple or Android which provide applications to be run on an operating system./) Software being extensible means something quite similar to the first point. Modular software can be easily extended to include additional functionality while not losing its core purpose. But extended to a different ecosystem (or app) through the open exchange of data.
Software should solve specific problems
Too many software companies today try to be all things to all people. The world is not your target market. I believe in the idea that software should be accommodating and flexible but this doesn’t mean it’s a one-size-fits-all approach. Flexible means the software should fit your business rather than your business conforming to the software; but the problems to be solved are unchanged. This means the processes might vary, but the solutions remain the same.
Software should be active
I know this point sounds funny but the majority of today’s software is passive. It responds to requests, it dumbly regurgitates what it has been given and spits out a mangled version of an answer … when asked a question. I call this passive software. In contrast, I believe software should be active. It should proactively assist me in performing a task or reaching a goal. (These many software assistants are absolutely passive but that’s another post.) Software should be helpful and active in enabling the user to move faster and do more, intelligently.
Software should be open
I left this one to last because it’s the foundation. It’s the belief on which everything thing else is built. I believe software should be open. There are countless studies, reports, and white papers on the reason why so I won’t sidetrack this discussion. I believe in open. An open software empowers people and enables the other points above.
All of that brings me to a problem I face. I needed something to help me manage relationships. But everything that existed in the world was old, bloated, slow, inflexible, and closed. Yep, pretty much the exact opposite of everything I listed above. It’s frustrating. But solvable. I believed I could create a platform that managed relationships but was built on the principles I believed in. So I started working.
I wanted to create something blazingly fast (regardless of the number of people) being managed. Something modular that could be easily extended, something that solved some very specific problems, something active in its interactions, and most importantly something open.
I’d like to introduce Saelos. An open platform built on the software principles I shared. The purpose: customer relationship management. That’s a tricky one to say because instantly I’m sure you conjured up one (or more) companies that offer a solution under this label. But Saelos is different. Very different. Because Saelos is something I’m calling active software. By this I mean that not only does it manage customer records differently but it also actively helps you maintain connections, build relationships, and accomplish your goals by actively assisting you. Task completion, recommended actions, process improvements, and intelligently created reminders are just a few ways that Saelos will do things for you.
Let me be clear: Saelos does far more than just incorporate another workflow builder and follow simple step-by-step procedural tasks created by a user. Saelos builds them for you, and then executes them. And informs you along the way, all the time enabling and empowering you to do more of what you should be doing with the right person at the time you should be doing it.
Possibly the best part of this entire project is that Saelos is built on the right foundation: open. This means Saelos can be downloaded, self-hosted, installed, configured, and improved upon by everyone.
I have so much more to share and I can’t wait to show you what’s been created. I’ll be giving early access to the project I hope by the end of the month. (Friday, March 30 2018). I know it’s forbidden to set a date in software development…but I’m feeling pretty good about this.
Are you interested? Do you believe in the same fundamental principles as me? Would you like to experience something different in how you manage and interact with people? Sign up for early access here, and let me know. Oh, and subscribe to notifications on my blog to be on the insider’s list. I’ll be posting more information and (hopefully) screenshots in the days and weeks leading up to the release. It’s coming fast, I hope you’re as ready as I am.
March 5, 2018
Blockchain Bonanza or Bitcoin Bubble
I didn’t post anything in 2017 about the concept of blockchain and I’ve been diligent in not posting anything so far in 2018. Now I’m finally going to break my self-imposed silence. I’m choosing to now because it seems that the initial craze has worn off a bit and thing are finally starting to normalize. (At least that’s the impression I’ve gotten in recent days/weeks). Sure there’s still plenty of news and publicity surrounding the technology and there’s the occasional doomsday post but the rabid chatter that the everyday individual engaged in seems to have faded.
As a result of this decline I think it’s finally time to share some of my thoughts and opinions (not to stir things up again but because I believe my post now won’t be seen as my feeble attempt to jump on any bandwagon). The concept of blockchain technology is profoundly revolutionary to our world but you have to look far beyond the early beginnings of a cryptocurrency and the current proof of work mining efforts.
If you are not yet caught up on the topic, there are literally thousands of articles to help you. This one is a great read, but my personal favorite is this article: WTF is The Blockchain? – Hacker Noon. After you’ve read this (and hopefully others) then you should have a much better understanding about how the blockchain works and functions and maybe a hint about why it’s so important for the future. (And no, that’s not just hype talking).
Now, as is usually the case, anytime something new is announced you get the first rush of early adopters. In some situations those early adopters are quiet, excited enthusiasts doing fun things, exploring the limits of the newest frontier on their own and happily doing so. In other situations those early adopters see the potential in something and begin shouting their praise every way they can. When those situations happen the rest of the general population can’t help but notice and begin to pay attention. Again, nothing incredibly new or different here. But every once in a while in rare instances something else comes into play. Money.
That’s right, blockchain might have happily been created and begun to spread in the usual manner, but instead bitcoin was the primary vehicle by which the technology was propelled into the spotlight, and the money changed everything. Not instantly, but when it took off, it really took off.
But this post isn’t about the history of the blockchain or even the debate over bitcoin bubbles. Instead, as I began with, I am excited to talk about the future of blockchain and explore what the blockchain might be able to provide for different verticals besides cryptocurrencies. And no, I don’t consider CryptoKitties | Collect and breed digital cats! to be the full extent of the possibilities. Although I do admit to owning a few myself.
I truly believe in the fundamental concepts behind the blockchain. Maybe that’s partly because it seems to be the next generation of open source. We’ve seen the world gradually come to accept open source software as the new normal and the studies are in: open source software is eating the world. Almost every major company and organization participates and uses open source software in some manner in their business. And what I see in the blockchain suggests that this will be the future next generation of open source. Decentralization. No single source of controlled power. Democracy ruled and available for everyone to participate in. Sound familiar? It does to me.
Open source and blockchain share a lot of the same principles (along with some of the same, familiar opposition). And I am excited to encourage and push the boundaries of the blockchain much in the same way as open source. We can do this by examining what ways blockchain can be used “outside the box”. If we look at blockchain applications (and there are many already) we can begin to see how versatile the platform is and how it can be used. But just like the saying goes:
”…it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.” – Abraham Maslow
This is referred to as the Law of the instrument and is a common cognitive bias and is especially important to consider when exploring new technologies (like blockchain). Just because it’s new doesn’t mean it’s right for everything. So while it is important to think outside the box, we must still at the same time also consider the most effective tool for a job. It’s more important to identify the job and then pick the right tool then to take a tool and try to find a job it will do.
This frames my thinking about blockchain and the future of software as I see it. I believe this is a powerful tool and will be the basis for many new innovations in the future. I also believe that with this tool we will be able to improve security, openness, transparency and trust in software systems. And finally, I believe that blockchain is a fantastic tool, but it should be treated as a tool and selected only when it is right for a particular “job”. We should push the boundaries. We should explore new technologies. We should do this thoughtfully and intentionally. Join me and let’s begin creating the software for tomorrow’s internet.
Interested in hearing more about what I’m thinking and working on? Let me know and I’ll write a follow up post with some greater detail; otherwise I’ll share it with you when it’s ready.
January 3, 2018
The MIRROR 2017
Well recently I wrote about my New Year’s Resolutions and I admit my post was a bit of tongue-in-cheek and felt it only fair to share something with a bit more substance. I figured the best way to do this was to share something meaningful which I spent a significant amount of time writing. This was meant for internal use only but in the interest of openness and transparency I’m going to share with the community.
Every end of year provides an opportunity to reflect back on the previous 12 months and identify the successes and the stumbles that occurred. A good look at oneself is hard but extremely helpful. Knowledge is power and if we have a good understanding of what we truly know we can be more powerful. Honestly there’s few things worse then to be “in the dark” about something and if we don’t know what happened in Mautic or what others are doing then we are completely clueless.
Below is a document I created that will help you understand every aspect of Mautic. If you’re involved in Mautic then this document will give you a great review over what all has been done in the past year. If you’re not yet a part of this incredible community then maybe this deep look at every aspect of Mautic will help you understand why Mautic so special. And even better this may give you some ideas on how you might get involved in the Mautic community.
I will probably comment about various aspects of this doc in future blog posts but for starters I’m merely going to share the doc. Enjoy the reading!
December 21, 2017
Re-Launching Mautic Meetups
Recently I received an email letting me know that my subscription to Meetup.com had expired and as a result the Meetup groups for which I was listed as organizer were now listed without an organizer and in danger of being shut down.
This got me thinking; if I had a problem with keeping up with one more subscription then I imagine there were others as well. Digging in even deeper I discovered there were other Meetups not forming simply because of the costs associated with the existing platform. As a result Mautic was fighting for consistency and a unified platform for the community merely due to the tool being used! Our community was limited from growing properly not because of the community but the tool we were using. Quite contrary to the very reason we were using the platform!
This gave me an idea. What if there were a better way? And just like that a new Mautic initiative was undertaken. I reached out to a few of the community who I suspected would be interested in working on building something better and we got to work.
Identifying Our Needs
The first thing we knew we needed was to clearly identify what we needed from a group networking and meeting solution. As it turns out there is not necessarily a long list of requirements that we simply must have in a tool.
Our current groups were semi-organized, gave people a way to join them, share upcoming event details, and in some cases share photos from past meetings. That doesn’t sound like something too difficult to find in a solution. Oh, and there was one more objective that was ranked quite highly on our list. We were intent on finding a solution that held to the same core beliefs and standards that Mautic holds. This meant we wanted an open source solution. Based on the list of our needs we believed this was completely doable.
Aside: I believe strongly in using open source solutions. I do so when the tool is the best at what it does and performs better than other solutions available. In other words, open source is not (and should not) be the sole deciding factor when selecting a tool.
Evaluating The Alternatives
The next task we undertook was to evaluate the various solutions available keeping in mind the list of requirements we wanted to see. The list was surprisingly shorter than anticipated. There was the obvious incumbent that we had used before and we knew the shortcomings associated with that platform. Then there were a variety of hybrid solutions where we could make something work if we cobbled a few different tools together or if we chose to neglect different aspects from our requirements list. That sounds rather problematic especially when our list is rather short and honestly quite simplistic.
Finally, after some thought and much review we settled on something far easier and quicker than we anticipated. With the help of a plugin for our existing website we could extend our current CMS to enable groups. This met the needs we had, increased our community opportunities, and finally much to our delight was an open source solution.
Once the decision was made the process of implementing was undertaken. This solution encouraged us to think about two more questions we hadn’t initially expected. The first question was quite relevant to our current initiative and the second question was far, far more existential.
- What do we call our community meetings?
- What is the main purpose for Mautic.org?
I’ll answer them in reverse order. The second question came about because we recognized that with the integration of groups directly into our website perhaps now was a time to evaluate the purpose and reason for our main website. What purpose does it serve and how does it enable our community to be bigger and better? Our current goal was to identify a way to enable our community meetings and not answer such a large question but there are a few minor steps we could take to better prepare ourselves for the future so when the time came to answer this question we would be prepared and ready.
The first question was one we new we had to answer and wanted to create something that resonated with our community and also hat-tipped to the many other open source projects that had paved the way for our success. And of course, it never hurts to create a name that’s unique and special to our community.
I am excited to share that after only a little deliberation we chose to call a community meeting a MautiCamp. These MautiCamps are a way for our community to meet in person at cities around the world on a regular basis. MautiCamps are organized and lead by local volunteers. Our existing MautiCamps are an incredible list of locations literally around the globe. It’s amazing how fast they have grown even in spite of a difficult community platform. I believe that this new open source platform built directly into our website and available to everyone completely free will make our community grow so much faster.
There are many more ideas and suggestions related to our MautiCamps that I want to share. Ways to make them even more successful and ways to empower volunteers to get involved. I can’t wait to share more. If you are a current MautiCamp organizer I would welcome the chance to talk with you, get your ideas about what’s been working and what needs improvement and share some of my initial thoughts for your feedback.
If however you are not yet in a MautiCamp or don’t see a MautiCamp close to you, or focused on a topic you’re interested in, then I have a challenge for you. Why not organize one yourself? There are resources available (and more coming as I suggested) to help you create a vibrant local community. You’ll be amazed at how many others may be close by already and interested and what better way to find new friends, learn new things, and grow your business then through the awesome power of Mautic.
December 16, 2017
Upcoming Mautic AMA
2017 is drawing to a close and it’s been a whirlwind of a year. There’s been so much going on in the Mautic universe it can be a bit overwhelming. Whether you’ve been around for the entire ride, or just joined us I have no doubt that you may have a few questions about things.
As you may have begun to notice I’ve been ramping up my efforts on sharing information. One of my focuses as we close out this year and start the next year involves how to empower more people in our amazing Mautic community. To that end I have been working on the best way to share information, organize my thoughts, and help get everyone on the same page in terms of Mautic: where we are, where we’ve been, and possibly most importantly – where we are going. I’ve shared several posts recently on my blog (here, here, and here) which give a few insights but I believe there are even more ways I can improve. Because I think there are probably still questions outstanding that haven’t been answered yet.
So, in order to help with that I am preparing to do something for the first time in Mautic history. I am excited to announce our first ever AMA (ask me anything). This will be an opportunity for you to ask your questions directly and hopefully get immediate answers. There’s general guidelines for the session and of course any deep technical questions or bugs you just want solved are not really the purpose of this time. To put it bluntly I won’t be “live fixing” anyone’s website. 🙂
However, questions about how Mautic should be used, ways to get involved, questions about the roadmap, our community future, leadership structure, GitHub projects etc…these are all welcome topics and I will do my best to give you good, clear, concise answers. And I give you my word, if I don’t have an answer – I’ll be honest enough to tell you I don’t know and point you to a resource that might be able to help.
The goal of this AMA is to ensure our global community, and you as an individual, feel confident in what we’re doing and also where we’re going. I hope this will be a fun, enjoyable and informative session where we can all learn and improve.
And lastly, if all goes well I hope we will hold more of these in the future. I’m not going to dig into specifics about what to expect (Remember this is our first one, we’re going to be learning as we go). But here’s what you need to know now:
What: Mautic’s First Ever AMA
Where: Mautic’s Slack Channel – # ama
When: December 21, 2017
Time: 10:00AM EST (The World Clock Meeting Planner – Details)
What To Bring: Your questions!
See you there!
Oh, and if you can’t make it you can still send in your questions.
December 13, 2017
Standardizing GitHub for Product Management
GitHub is a fantastic tool for organizing code, handling issues, and tracking feature requests. Mautic has always used GitHub for its code repositories and more. But there are struggle that come from tools like this and without proper organization or structure it can quickly make a project become a chaotic jumble of questions, feature requests, and code. A lack of standardization destroys an otherwise useful system.
I am proud of the organization that Mautic has around issues and the use of labels. This has historically been something we’ve done somewhat well. We’ve also made extremely good use of the basic code repository and release functionality. You can see this well-organized approach by diving into the Releases tab and noting how every release going all the way back is documented and tracked. It’s refreshing to see things like that and speaks to the consistent attention to detail we’ve worked so hard to maintain.
But I firmly believe there are always things that can be improved and our GitHub usage is no different. So I sat down and looked at our repositories and began exploring ways we could improve our organization and structure around our already amazing product.
Improving and Explaining Labels
I shared at the beginning that Mautic is very good in its use of labels as it relates to issues and pull requests. But I think sharing what those labels mean and how they are applied is helpful as we discuss a standardization of our GitHub account and organizational structure. Plus, I’m not sure it’s been clearly outlined recently how those labels are used.
Here’s a current list of our existing GitHub labels, when they are applied to issues, and how they should be interpreted.
- Backlog: Applied to any issue left in an open state longer than 6 months, not automatically applied yet but will be in the future.
- Bug: Applied to issues directly related to a bug in the production code.
- Code Review: Applied to issues that require additional review of code by core and community developers before merging will occur.
- Duplicate: Applied to issues that have already been submitted. New issues will be closed in deference to older ones.
- Feature Request: Applied to new features or modifications to functionality that is different than originally intended.
- Has Conflicts: Applied to PR’s mainly that conflict with other parts of the Mautic codebase. Must be resolved before merging.
- L1: Applied to issues where the fix is deemed lowest level of knowledge to create. Alternatively applied to PR’s where the testing is considered minor in time and intensity. Considered a Level 1 item.
- L2: Applied to issues where the fix is deemed to require a moderate level of knowledge to create. Alternatively applied to PR’s where the testing is considered moderate in time and intensity. Considered a Level 2 item.
- L3: Applied to issues where the fix is deemed to require a significant level of knowledge to create. Alternatively applied to PR’s where the testing is considered significant in time and intensity. Considered a Level 3 item.
- Needs Automated Tests: Applied to pull requests submitted without the appropriate unit tests. Every pull request requires unit testing of code.
- Needs Documentation: Applied to pull requests submitted without the appropriate documentation. Every documentation requires accompanying documentation.
- P0: Applied to issues considered critically important to resolve. These issues are ‘showstoppers’ and ‘break’ the entire Mautic system.
- P1: Applied to issues considered detrimental to Mautic functionality. These issues are important but do not stop day-to-day operations.
- P2: Applied to issues considered annoyances to Mautic functionality. These issues are high priority to fix but do not restrict usage.
- Pending Feedback: Applied to issues or pull requests that require further information or discussion before being added into work queues or testing.
- Pending Test Confirmation: Applied to PRs that still require a second successful test confirmation. /Every Pull Request requires 2 successful +1 tests before merging./
- Ready To Commit: Applied to PRs that have been tested and are ready to be merged.
- Ready To Test: Applied to PRs that have been submitted with completed code and are ready for community testing.
- Translations: Applied to issues that are related to translations. /All language translation strings are handled by Transifex/
- User Experience: Applied to issues and PRs that are related to how the end user uses Mautic and experiences the platform.
- User Interface: Applied to issues and PRs that are related to the user interface directly, typically these are cosmetic problems.
- WIP: Applied to PRs that are not ready for testing. These are Work In Progress and represent work actively being done by another individual.
I recognize that list feels long and possibly a bit daunting but I trust the somewhat exhaustive explanation will help clarify how Mautic applies labels to issues and pull requests and makes your life a bit easier as you contribute to the Mautic platform. Other labels may be added in the future either for temporary usage or as additional labeling is needed.
Improving Feature Requests
The way that Mautic handles feature requests is quite simple at the moment. We have a label marked Feature Requests which is applied to every issue created that represents a new feature request (See I told you it was simple.) There are a few problems with this basic approach to feature request tracking. First, this drastically clutters and increases the total number of “issues” on the project (notice the screenshot above – 728 Issues). This number actually includes 314 Feature Requests and inaccurately skews the number of issues. Second, with the current system feature requests are lumped in with every other issue in the system and it makes it exceedingly hard to identify what features have been requested and which are the most popular. This leads me to the first standardization I am recommending we implement in GitHub.
Standardize Feature Request Voting
Moving forward I recommend that the somewhat new “reaction” feature in GitHub be used for feature voting.
Specifically, only the following two reactions should be used for feature request voting: 👍 and 👎. A thumbs-up indicated a +1 vote on the feature and a thumbs-down indicates a -1 vote on the feature.
This will then allow anyone to quickly view the issues on GitHub and with the proper query be able to see a list of feature requests sorted by popularity. To make it easier for you here is the exact link you can use:
As a bonus side effect of this standardization we will be able to programmatically pull this list of issues via an API and allow us to inject a Top Feature Request List in other locations as well.
Improving Pull Request Testing
The second area where I think a bit of standardization may be helpful involves the testing of pull requests. Currently there is a core team in the community managing the testing and committing of pull requests. This ends up appearing to be a bit unclear and not as visible as it should be to the community as well as not demonstrating a clear path for community volunteers to grow into various leadership positions. The core team is open to community members who demonstrate their ability to properly test and merge code contributions. However, the privilege of that responsibility has to be earned through a building of trust. That trust can’t be established without some method of consistent demonstration of personal reliability.
This brings about my second recommendation for GitHub standardization.
Standardize Pull Request Testing
Our Mautic community needs greater empowerment as I shared above in playing an active role in which pull requests are merged. Our volunteers also need the opportunity to grow into greater leadership roles and become critical parts of the core team. This means community testing of pull requests. Specifically, a +1 listed as a comment on a pull request implies that the developer has tested the PR in accordance with the test procedures listed in the pull request description.
Alternatively, adding a -1 comment signifies the developer has followed all the same steps and procedures outlined in the pull request but did not find the fix to successfully solve the issue.
Notice in the above comment additional text was added (this is acceptable as long as the comment begins with the appropriate +1 or -1 designation.
And you guessed it, as a bonus we can programmatically use the comment text to extend the use of GitHub to other systems and improve communications as well as automations.
It may not sound like a terribly fancy system, or even a huge difference in how we manage our GitHub account currently but these little improvements and standards in how things are managed make our entire development process better and more streamlined. And the more organized we are, the more efficient we can be. The more efficient we are the better and faster we can grow.
You now have all sorts of new knowledge and insight into Mautic development, go find your favorite feature requests and 👍!
December 11, 2017
Creating The Mautic Credit System
Recently I published a blog post Recognizing Mautic Code Contributors. If you haven’t read that post I’d recommend taking a few minutes and reviewing it before continuing. I want you to review it because there are good things and bad things in that article. While any level of tracking and metrics is better than none there is always room for improvement.
In fact, one of the things that I have been most focused on in recent months has been properly tracking volunteer activity across Mautic. As you read Github does provide some nice metrics to allow for some level of acknowledgement and recognition (purely as it relates to issues and pull requests) but this is such a fractional and minor view of the Mautic community I knew we still had a long way to go. I also knew my good friend Dries Buytaert recently shared a blog post about the credit system implemented in the Drupal community and this reminded me of the work that had already been done in this area. (What better way to build a system then on the shoulders of a giant.) And so we began crafting a Mautic credit system.
The Idea of Merit
As with any system we wanted the Mautic contributions to be recognized in a special and unique way. After consideration of both fun names as well as common names we settled on something that made logical sense and also had a fairly nice benefit of being an ‘M’ word. In the Mautic community a volunteer can earn Merit through a number of different ways. Below I’m going to outline some of the ways a community member can earn Merit.
Community Involvement: GitHub
We wanted to look at community involvement across a wide range of metrics beyond just GitHub, but at the same time recognized that there was much more activity going on in our repositories besides just issue creation and pull requests. And so we set out to create something special. I’d like to share with you some of what we’ve created so far and then outline what we plan to create next. Please keep in mind that everything is still very much in a beta stage and changes will continue to be made as the system evolves.
In the beginning we recognized those volunteers who contributed issues simply as a matter of volume and frequency. With the introduction of Merit we have taken that rather rudimentary beginning and created something much more intelligent. A volunteer can receive Merit based on a number of factors when opening, editing, or closing an issue. These factors include the level of difficulty of the issue, the thoroughness of the issue report, the adjusted status of the issue, the number of comments on the issue at the time of the status change and other factors. Sounds incredible? That’s because it kind of is.
Similar to issues the early days for pull request attribution and recognition revolved almost entirely around the creation of a pull request. The Mautic credit system again allowed for a fairly massive improvement to this basic implementation. Mautic contributors can receive varying amounts of Merit based on complexity of the pull request, the creation, and subsequent merging of the pull request (and other factors as well).
The very nature of comments on issues and pull requests is a tricky one as this can be the most abused area within a credit system. Volume of comments does not necessarily equal quality contributions. Merit attempts to intelligently recognize the value that a comment brings to the issue or pull request. I will be the first to point out that this area will require the most refinement and improvement as we learn what represents value. Merit will get better over time.
Community Involvement: Forums
But I knew we couldn’t stop with just the code in Mautic. In fact, this was only the beginning. The second area where Mautic needed to create some reward system was in the forums. Just as with the GitHub facet of the community I was interested in gaining a much more detailed understanding of how the community was growing and improving as it relates to our forums. And as I have shared before – the better our knowledge the better equipped we are to improve.
In the Mautic Credit System we provide Merit for a wide range of activities. One of the most obvious ways to gain Merit through the forums is by creating a post. Each post creation gives a certain amount of Merit to the forum poster. While this is the most obvious way it is also the lowest weighted method (again due to the nature of determining value associated with a specific post).
Forum Post Solutions
The greatest way to earn Merit through the forums is by solving another posters question. When a forum post is marked as a solution Merit is credited to the solution’s author.
Community Involvement: Slack
There is also value to the Mautic community knowing the activity of volunteers as they engage in conversations within the community. Volunteers in Mautic receive Merit when they log in to the Mautic Slack team, when they log in for consecutive days, and when they login and post messages to channels. As with other ways of gaining Merit the Slack engagement method is a constantly changing algorithm and will improve over time.
Community Involvement: Meetups
Mautic Meetups are offline events but they can still be (and should be) a way for community volunteers to gain Merit. Clearly a community member that attends a Mautic Meetup, or even better organizes and leads a Mautic Meetup should receive Merit for their involvement. The Mautic credit system accounts for these events and offers Merit for them.
Community Involvement: Translations
Translations in Mautic are a huge part of our community and an aspect that makes Mautic truly impressive. As a result we wanted volunteers to be rewarded for the value their translations bring to Mautic’s global initiative. We use Transifex for managing language translations and the Mautic credit system will be deeply tied into this platform so Merit can be given based on involvement on translations as well.
New strings added to an existing language, language string reviews, new languages created, and language moderation are all parts of the Transifex translation system that are monitored for Merit.
Community Involvement: Blog
Mautic volunteers are active in many parts of Mautic and writing articles that are published on Mautic.org is an additional way to help share the Mautic name and be involved in the community. As a result Merit can also be earned for blog article contributions.
The Future of Merit
As you can probably begin to tell from the above list; Merit is a constantly growing and improving concept. I don’t claim it to be perfect and I certainly don’t think the work on this new Mautic credit system is complete. Every day brings new challenge as well as new opportunities. I have numerous other ideas where we can implement Merit. The beautiful thing about our current technology is the seemingly never-ending list of APIs.
And so the Merit system will continue to evolve and grow and improve. We will learn which of our existing systems needs to be tweaked and make changes based on our understanding and how the community grows.
Merit Implementation Team
Because openness and transparency is a cornerstone principle within our community and because (as I just shared) the future of Merit involves constant improvement and growth, a team is being created within the Mautic community help establish this initiative and make the result something the entire Mautic community can be exceptionally proud of.
Merit Open Source
You had to know this last paragraph was coming right? Mautic is one of the leading open source companies in the world. We build incredible open source software and we distribute it to the world for everyone to benefit from. Open source is in our DNA. Open source is how we see the world.
We are building the Merit platform as an open source tool so that other communities in the future can also implement what we believe will soon be one of the most robust volunteer recognition system ever built.
If you’ve ever experienced the Mautic community or used the Mautic marketing automation product you will already know that the products we create and that our community is responsible for are beautiful, sophisticated, powerful and yet easy-to-use. The Merit system is no different. This means it may be a little while before we tag a version 1.0 but it doesn’t mean we won’t be sharing our progress and incorporating feedback along the way.
Next Steps with Merit
I am excited to lead the Merit Implementation Team and help organize volunteers around this effort. I shared in the beginning of the post that we had already begun this initiative and I will be sharing frequent updates on this blog as progress is made. If you are involved in the Mautic community you will begin to see signs of Merit appearing in the various channels I outlined above. And finally your community member profile on Mautic.org will begin to showcase all your volunteer work.
I hope you will be as excited as I am about Merit as you begin to see the system we’re building and the ways it will recognize the invaluable contributions of our volunteers. Mautic is one of the best open source communities in the world and now we will have a practical and specific way to recognize and reward the great volunteers that make it up.
December 8, 2017
New Themes in Mautic
Unique landing pages and email templates are incredibly popular and critically important to most businesses. These are ways for the business to make an impression with their audience that stands out. They want to create a look that is specifically their own. And they want to make sure their brand is represented across all of their marketing efforts. Whether it’s a landing page, or email and form, or even something as simple as a notification Mautic wants to make that seamless with the rest of the brand.
Mautic has always been acutely interested in creating a platform that allows each marketer and each business the opportunity to create their brand experience across all their digital media.
From the very beginning of Mautic we created a way for there to be an infinite number of custom themes within Mautic. These themes included all of the elements I listed above. We wanted the marketer to have complete control over the entire marketing outreach; regardless of channel. This meant creating a way for marketers to use their own themes. And a way for developers and others to create additional themes and add them to Mautic .
Extending that even further there’s an opportunity in the future for community to create and then share their theme packs. This concept is nothing new to anyone coming from an open source community in the past (content management systems such as Drupal, WordPress and Joomla are notorious for their plugin systems and marketplaces). In Mautic we do things a bit differently since these theme packs offer more than a website theme or template. But the underlying principle remains the same.
The creation of this marketplace is the topic for another blog post which I’ll publish in the near future (hint: we’re getting things ready and we need your help!) For now I want to turn our attention back to themes and share with you some exciting news.
In the 2.12 release of Mautic we are including additional core themes. Keep in mind that usually themes are added to core only once in a great while. And this will be the case for Mautic in the future too, however, 2.12 is a special release. Since we have not yet launched our marketplace and there are so many using Mautic (Over 100,000 now using Mautic) we wanted to make sure we had incredible default themes available for everyone use. And we wanted to improve on the ones that were already existing in core. I’m so excited to announce that we will be including not just one theme, but four new themes in Mautic 2.12.
I won’t keep you waiting any longer, below are a few screenshots of those themes. But first here are a few things to keep in mind.
- Every theme is fully responsive and works on all device types
- Every theme includes layout and design for emails, forms, and messages
- Every theme is completely customizable
- And lastly: Every theme is completely free and available for immediate use
And now, check out these new themes:
These are some beautiful, responsive Mautic themes. Marketers will be able to take these four highly flexible and customizable themes to build a unique and special digital experience. I couldn’t be more pleased with these themes and I am thrilled to see them included in Mautic 2.12.
I’d like to offer a very special note of thanks to GaberNeighbor · GitHub for his time and creativity with these themes. And this gives me the chance to encourage others to do the same. Mautic is a great way for designers and developers to share their creative talent. Themes in Mautic are seen and used by over 100,000 businesses. Creating themes is an exciting way to get involved in Mautic.
If you’re interested in getting involved in this way be sure to check out the Mautic #design slack channel and read the Mautic Developer Documentation for other helpful theme creation resources.
December 6, 2017
Improving Mautic Query Speeds
Creating robust applications capable of scaling to handle millions of records in any industry is difficult. Often as a startup there is a focus on speed and agility in development, but that same speed comes at a cost. Fastest development does not always equate to best development. In the startup life we are focused on creating a product people want. Actually, scratch that, we start by thinking about creating a product people want; but in reality we quickly realize we have to create a product that people will love. And we have to do it immediately.
And whenever a startup moves that fast they focus on today’s issues. Most of the time that’s valid. Very rarely does a startup have to face massive scale problems. Those are tomorrow’s problems solved another day. Mautic was no different. We built our Minimum Lovable Product (MLP) and began an incredible journey. The speed at which Mautic accelerated while exciting is not (or should not be) surprising. Powerful free software performing tasks never before offered as an open source downloadable product is certainly something to be excited about. And the world was excited. But this acceleration has happened to others before and so in that sense Mautic wasn’t alone. Which means the problems and challenges we have faced (and the solutions we arrived at as a result) are also not unique.
I don’t say any of the above as an excuse, but instead as background. An introduction because Mautic developers are some of the finest in the world. My previous post recognizing the Mautic code contributors attests to the work they have done and continue to do. But there is a different type of thinking that comes into play when taking software to the next level. Things like query language becomes critically important. Here’s an actual example from Mautic.
$q->from(MAUTIC_TABLE_PREFIX.'leads', 'l') ->andWhere(sprintf('NOT EXISTS (%s)', $dncQb->getSQL())) ->andWhere(sprintf('NOT EXISTS (%s)', $statQb->getSQL())) ->andWhere(sprintf('NOT EXISTS (%s)', $mqQb->getSQL()))
This partial query is used whenever you attempt to load up a list of emails in Mautic. Normally this isn’t a big concern and the query above would have no issues. However, when dealing with a large number of contacts the above query results in significant slowdowns. What’s the solution? Well in this specific case,
howlinghuffy (Nick Hough) · GitHub came up with a rather simple and seemingly equivalent query that yielded drastically different results.
$q->from(MAUTIC_TABLE_PREFIX.'leads', 'l') ->andWhere(sprintf('l.id NOT IN (%s)', $dncQb->getSQL())) ->andWhere(sprintf('l.id NOT IN (%s)', $statQb->getSQL())) ->andWhere(sprintf('l.id NOT IN (%s)', $mqQb->getSQL()))
That’s right, by replacing
NOT EXISTS with
NOT IN the query yields the exact same results. But from a speed perspective the results are far from the same. Before the modification when Mautic managed 500,000 contacts this page took approximately 200.5 seconds to render. After the query was changed the same query takes 1.04 seconds. That’s right, 200 seconds down to 1 second. That’s a 200x speed improvement.
Are there other queries within Mautic that should be evaluated and re-written? Absolutely. And the Mautic community is best equipped to handle this challenge if they know what they are looking for. This was one example. Let’s go find others!
August 2, 2016
The Importance of the Last Mile
Everyone talks about going the extra mile. But there’s actually something to consider before thinking about going the extra mile. In fact there’s something directly before the extra mile. And that is the last mile. Even from an early age I had the concept of finishing drilled into my brain.
Many of you who know me may not think of me as necessarily athletic. In fact you would probably assume I was your typical computer nerd with glasses during high school and you are mostly correct. I was a computer nerd and I did wear glasses but I also played sports and enjoyed participating in both soccer and basketball during my high school years. This environment helped me mature in team activities and also in other areas of my thinking as well.
As I mentioned one of those concepts has been permanently impressed on my life and affects nearly every aspect of my daily life. I hinted at it above but let me give you a little more detail about why the concept of finishing sticks with me so thoroughly.
It was a hot summer afternoon and we were running sprints. Back and forth we plodded across the dead remnants of a soccer field, the lush grass long since withered and faded under the blistering unforgiving summer sun. Goal line to the box, back to the goal line, forward to the half, back to the goal line. Repeat. To his credit the coach would run with us, encouraging us, cheering us on, cracking jokes, pushing us. When finally we were allowed to collapse exhausted onto the needle-like surface of the battlefield he would remain standing. We knew he was spent, clearly he had to be, in our youthful eyes he was ancient and yet he stood. He stood because as he would go on to tell us, it’s not whether or not we played the first 80 minutes impeccably, but how we played the final 10; the last 1. Standing rather than collapsing. Finishing the game. But not merely finishing; finishing strong. That was only the first of many lessons on the value of finishing.
Every game would begin with a huddled mass of excited, adrenaline-filled fists jammed into a circle before being thrust heavenward with the battle-cry of “Finish!” More importantly ever content, regardless of victory or defeat, was ended with the same ritual. Some times the cry was painful as loss still echoed in our heads. Other times the anthem rang out embodied with every goal and winning moment of the latest success. But always, “Finish.”
The lesson taught has gone on long past those summer evenings. Gone are the game-day lights and the glory of a sports conquest. But the concept of finishing continues on. Just as my coach had always envisioned, he was doing more than teaching us to play. He was teaching us how to live.
In a world where “going the extra mile” is praised and celebrated and where going above and beyond is rewarded with accolades and commendations, we too often lose the value of finishing. There is tremendous benefit and something to be said for finishing strong. Before worrying about going above and beyond, and before thinking about the next big step you could take, focus on finishing well. Create finished products. Deliver work done excellently. There is extreme value in the last mile.
June 30, 2016
First Follower FTW
Recently a humorous in-office chat unfolded on our #cooler Slack channel. It began simply enough. I posted a random photo that I found to be funny due to an optical illusion.
This lead to one of our team posting this humorous reply.
What happened next caused me to remember a post I had meant to write but forgotten about. This is the message which pushed me to write this post.
It seems rather innocuous and unimportant even, but the opposite was in fact true. This was the first follower. Why you might ask? Because this post lead to this.
The leader was the first poster, they had an idea and they shared it. But the first follower, the second poster, they started the movement. They supported the idea and turned it into something more. That’s a very practical example now let’s look at this concept of first follower in a bit more detail.
What is first follower
The first follower is a phenomenon I learned of first from a TED talk by Derek Sivers. In this talk he discussed a popular viral video which you can watch here if you feel so inclined. Here is the bottom line if you prefer a tl;dr version.
The first follower is the hidden leader of a movement. They support the vocal initial person who began doing something different. The first follower lends credibility, support, and raises awareness. The first follower takes the focus off the person and places the focus on an idea. This is the moment when a movement behinds. Let me rephrase that another way.
“A movement begins when the focus shifts from a person to an idea.”
Why be a first follower
Clearly there is an immense amount of power held by the first follower. This person is the true hidden driver behind revolutionary change. Their input might not always visible or even publicly recognized but the power exists. The first follower recognizes they have the ability to support and promote the idea creator. Being the first follower requires bravery. At this point the idea is new, young, and unaccepted. The general audience has not yet accepted the idea being promoted and the creator is a lone voice proclaiming their message. The first follower therefore holds an immense amount of risk in accepting this idea and following the promoter. But the power, the responsibility, the opportunity to make an idea a movement lies in the hands of the first follower.
When to be a first follower
Because of the amount of risk associated with being the first follower there should be some guidelines followed before blindly becoming a first follower. Here are a few general questions to consider before assuming the role of a first follower to an idea.
Do you agree with the idea?
Sounds basic right? But before you follow someone or something you have to determine that you fundamentally agree with what’s being shared. The world today is so connected and accessible that anyone can share any random idea or thought. This does not mean every idea is worthwhile or worthy of becoming a movement. Critical thinking is required.
Do you feel passionately about the idea?
It’s not enough to simply agree with an idea you need to feel passionate about it. Is this truly something you believe in. Keep in mind is the turning point for the idea and its creator. This holds the potential to turn an idea into a movement. You should feel passionately and willing to truly support and back the idea.
Are you prepared to support the idea?
This question should be an easy one to answer if you have asked the first two questions but it’s still important to ask yourself if are ready. Supporting an idea in its infancy may result in rejection from others who don’t follow with you. Even more difficult is the acknowledgment and acceptance you may even be ridiculed for your belief and support of the idea.
If you answer these three questions and you’re ready to move forward then keep reading.
How to be a first follower
There are many way you can demonstrate your support and approval of an idea some are easy and some require more work. Typically the more difficult the way to demonstrate your following the greater results you’ll experience.
Be a silent supporter.
This may seem like passive support but in the early days of an idea (before reaching the critical mass) even the silent support is important to the eventual success of the movement. Silent support might be as simple as a “like”, or maybe a public acknowledgement of someone else’s verbal comment.
Be a vocal supporter.
The next level of first follower involves vocally supporting the idea. Again slightly more risk involved as you are publicly sharing your agreement with the idea. This might mean resharing, retweeting, or verbally affirming what someone else says or does.
Be a secondary creator.
This is the most difficult level of first following. At this point you we no longer merely supporting silently or vocally but you are creating and sharing additional supporting ideas. You are taking your support of someone else’s idea and you are owning the idea at this point. This is opens you up to your own level of ridicule as you are now becoming a bit of a public leader yourself. This is creating variants of the idea and sharing them all with the purpose of growing the support for the original idea.
The bottom line is simple: be a first follower. Start a movement. Don’t feel like you must create an idea to be successful. Instead as this post and the supporting documentation and research shows – you can be the true force that makes an idea into a movement. Find those ideas you believe in, passionately believe in, and support them, advocate for them, and build on them. Follow them.
May 24, 2016
Truth, Trust, and Transactions
False transparency is damaging to relationships. When an untruth is shared under the guise of being “open” and “honest” but the listener is clearly aware of contradictory information the relationship is damaged. In a world where openness is valued and transparency is respected the Internet has revolutionized these concepts. Here’s why:
In the old days it was much easier to “fool” people. It was much easier to share half-truths and slight exaggerations when the audience was unable to verify the truth of the information shared. Think about this for a minute. With companies like Google whose mission is to categorize and make all the world’s information accessible; information has never been more available. Have a question? The Internet has the answer. And here’s an important point. Not just one answer. Not just one viewpoint. The Internet has dozens, hundreds, thousands of answers and views. With the rise of the connected computer network humans have the ability to find and connect with like-minded individuals around the world. Stuck in a difficult situation? Have a perplexing question? Find solutions, recommendations, and advice from a host of others who have experienced similar situations (or identical ones).
Google’s mission is to organize the world’s information and make it universally accessible and useful.
What does this have to do with openness and transparency?
Simply put, companies, individuals, organizations must be vigilant and committed to being truthful. Either commit to being open or don’t. There is no place for a false transparency. Interested in launching a new ad campaign touting a specific feature or benefit which performs unlike anything else? Be sure your claims are true. Attempting to convince others of radical transparency? Your data better not be manipulated. Your statistics should be valid and backed up by others. Otherwise, it’s your audience that will feel manipulated and tricked. They will see through your attempt at openness and will interpret your communication as demeaning. It’s insulting to feel lied to by someone. Nobody likes feeling tricked or treated as stupid.
Why is this important?
Because every company wants to be known as open. Every company wants to be known as trustworthy and transparent. However wanting to be known for something and committing to the day-to-day requirements to accomplish that are two very different things. You have two choices – commit to the goal and resolve to follow through regardless of the consequences, or don’t market yourself as if you are. But that’s not the main reason way this is important. Companies want to be known as open and trustworthy so they can build relationships with their customers. Everyone knows the adage that relationships are built on trust. Relationships built on trust result in advice being followed, purchases being made, and deals being brokered. When people trust someone they value their opinion and listen to their suggestions.
Clearly relationships are important and trust is the foundation. Thus, when a situation arises and trust is lost the relationship suffers. Future conversations are filtered or scrutinized more. Advice is not readily accepted. All interactions are evaluated, judged, and validated through others. This is not the type of relationship that yields long term value (for either). That’s right, the value is not just for the company. There is also an intrinsic value to the person as well. They can find better products, improve their lives, and simplify otherwise difficult decisions. The transactions are not just for the company. Transactions involve multiple people and multiple interests. The right relationship between a brand and a customer is valuable to both of them.
What is the response?
Be open, be honest, be transparent; ultimately be truthful. Even if the truth hurts, or if the outcome is not what you think your audience wants to hear – be committed to telling the truth. This is what being open truly means. This is what will help to establish a foundation of trust and begin laying the basis for a long, healthy relationship.
February 23, 2016
Global Marketing Automation
When we talk about global marketing automation and the need for a product which can meet the diverse needs of a world market one of the first priorities becomes languages. I’ve written about this before but recent news has made this a good time to revisit the topic. More often than not people tend to forget that there are other languages spoken in the world. It’s just human nature to become comfortable and focus on your local environment. This is especially noticeable in the Western world (aka the United States). But this is close-minded and a narrow focus on the task to accomplish.
Marketing automation has traditionally been one of the largest offenders of this narrow view of the world. Case in point: some of the most well-known existing marketing software companies are proud (and actually brag) on the fact they provide their software in 5 languages. Five.
Mautic is an open source marketing automation platform where the focus from the very first day has been on a global environment and the vision for a product available to everyone in every language. This community-first approach has lead to some incredible milestones being reached at insane speeds. How incredible? Let’s look at some numbers.
More than 253 collaborators have joined the Mautic translations team. Together these engaged volunteers have actively been translating Mautic into 24 languages. With more than 47 languages started. That’s amazing! (24 languages is 500% more translated than the other marketing platforms.) And the Mautic community has accomplished this in under 10 months. That’s not a typo; in less than a year this community has come together and built a robust platform available in a way unlike anything before. Local and familiar.
But this is not the end of the story. Even Mautic has a long way to go. Our community has some great momentum but this is not the time to sit back and relax. Because this is the bigger picture:
“There are roughly 6,500 spoken languages in the world today.” (Source)
And so, even though Mautic dominates the marketing landscape there are still thousands of languages yet to go. And as we have done so far we will continue to do, pressing on, empowering people around the world to use cutting edge marketing software in their native language. Because that’s what open source and community means. This is the power of our community and this is the power of Mautic.
February 12, 2016
A Better RedHat Model to Replicate Today
If you look at what made RedHat successful you will find a unique story. Unique in a variety of ways. First, the marketplace was dominated with closed source box software and lacked any open source freely available products. The dominant players sold licenses of a single software version. Secondly, the notion of free software but paid support was practically unheard of. Again, the dominant players would offer a paid product with free support. RedHat offered a reverse on this model. Many people are aware of this part of the story. Many understand the implications of free software and paid support and how enticing this proposition was. It is easy to see how this caused the global market to shift. Free software regardless of the support is a powerful motivator for someone to begin using a product.
But this is where the majority of people think the RedHat business model ends. This is the point at which many new companies attempt to mimic the supposed “RedHat Model”. And this is the fallacy. Because this is not the complete RedHat model. Look deeper and you find a much more detailed strategy which helped to make RedHat successful. Even still what follows may not be a complete picture but should provide at least a slightly more detailed view of the story.
Though the “free software and paid support” model does play a role in the overall strategy there are many more levels of opportunity present. This is the key to a modern day RedHat model. These often overlooked additional features are how a current open source model can replicate the success found in RedHat. Here’s a better look at the RedHat model.
RedHat offers a freely available product; an amazingly good codebase available for anyone to download. Then, in addition to offering support for this product RedHat provides a wide range of additional services offered as add-ons to effectively make things easier for businesses. Note what this does not mean. This does not yield a sub-standard or crippled free open source code. The free source code is every bit as powerful and is the basis on which RedHat builds everything else. Rather than maintaining a separate and “better” product RedHat takes away the pain of compiling and building the finished product. Then they offer support for this product (everyone sticks on this part)…and they offer additional services focused on specific market segments.
This is a brilliant strategy for a number of reasons. This approach still supports and encourages open source completely. This provides anyone and everyone regardless of the size of their business or their revenue the opportunity to use incredibly powerful software. This allows a global community the opportunity to find and improve the software and to implement improvements that meets the goals and needs of the majority. This strategy empowers people. And this strategy also allows a successful business to be built around this product. But this is just the beginning. Structuring things in this way paves the way for other businesses to find success and also be built on this same amazing source code.
RedHat is more than a support company. RedHat is an open source company that empowers people regardless of size. They have turned an industry on its head and revolutionized the way software could be released for free and still be profitable. This strategy, this complete strategy, can be replicated. This is how you can be successful today replicating the RedHat model. Look at the bigger picture. Don’t neglect the community. Don’t cripple the core open source code. Build supporting services to meet specific needs. Empower people.
February 9, 2016
It Only Takes One
I love talking to people and listening to them as they share their story with me. I find it fascinating to hear about what they do, what they work on, how they live, and what they love. There’s always one thing I notice when I have these conversations. When you ask someone what they do you will most often get some story about how they make money. Inevitably the question of what someone does is intrinsically tied to their bank balance. But if that’s the case then you’re asking the wrong question.
I’ve seen many posts before suggesting alternatives to the question about what someone does which will give you a better answer or a more enlightening response. I love those suggestions because that’s when something different happens. That’s the moment I notice something different.
Ask a better question, get a better answer.
Ask someone what they love, or ask someone what a perfect day might look like to them (and feel free to specify that it does not need to even be related to work) and watch the reaction and response you get. You’ll immediately see what I’m referring to. They don’t rattle off some answer related to how they pay their mortgage. No, instead you’ll see a passion ignite in their eyes, you’ll hear a lift in their voice, maybe even a smile will slowly emerge across their face. This is golden. This is why I love to listen to people share their story. I enjoy hearing what people are passionate about. I especially enjoy watching them get excited and feeling that excitement start to resonate in my own spirit. Because in this moment, in that flicker of a spark, you connect with someone on a deeper level.
Their passion, their excitement, their eagerness to share with you something they deeply care about and love is contagious. When you’re passionate about something and you share it with someone else you have the opportunity to go much further than answering the “what” question, you answer the “why” question. Did you catch that? Your motivation and energy to accomplish something which answers your “why” can resonate with others.
Imagine this with me now. What happens if you were to spend time each day sharing your passion, and your driving force with others. This contagious spark spreads. Your passion leaps from person to person, motivating, inspiring, and engaging. Those individuals in turn will share that passion and that experience with another, and another, and another. Suddenly what started as your vision, and your passion, a single solitary flame burning inside you is now a raging inferno spreading farther and faster than you ever imagined. Now you’re no longer alone, now you are a group of individuals brought together by a common goal, a common purpose and a common passion…wait, does that last sentence sound familiar? It should. I used a similar sentence once before in a previous post, only this time I’ve left off the first three words. Here is my previous sentence:
“Every successful community must be centered around a common belief, a common passion.”
You see, that same passion which excites you, and ultimately those around you; that same driving force which answers your “why” and that of others ultimately provides you with the basis of a community. And as that fire spreads your community grows.
People often ask why Mautic is such a successful community. They wonder at how we’ve grown so incredibly fast in such a short time. The answer is easy. In fact, the answer is so easy at times people struggle to believe its true. But it is. The Mauticians which make up our community have a common belief and a common passion. We rally around our goal and the answer to our “why” and we spread like a wildfire. If you still don’t believe this, talk to a Mautician, find someone who knows and loves Mautic and ask them about it. Watch the light in their eyes, the smile on their lips, and hear the excitement in their voice as they tell you how we’re revolutionizing the world, disrupting an industry, and empowering everyone. And then afterwards, well then I imagine I’ll see you very soon in the Mautic community.
Find someone who knows and loves Mautic and ask them about it. Watch the light in their eyes, the smile on their lips, and hear the excitement in their voice as they tell you how we’re revolutionizing the world, disrupting an industry, and empowering everyone.
January 12, 2016
Free Software and Success
Marketing automation is highly complex. A free app gives the wrong signal as if everyone with MA can be successful.
I recently saw this tweet and it annoyed me. The foundational belief that if something is free it cannot therefore be of real value is completely and totally false. Availability has never implied success. Cost does not unequivocally equal value. Granted there are many areas of life and the world where a brand may charge a premium for a similar product. You may find yourself paying for a logo, or a particular “name brand” recognition, but this hardly means the higher the price the greater the value.
The reverse is even more fallacious. The more affordable (or even free) price does not automatically relate to the quality of the product, the value of the software, or even the ability of this software to be helpful in future success.
A free app means the availability of the raw goods, the resources, are available without cost. The impetus still lies within the business to correctly implement the software to be successful. Let’s take a different perspective.
Imagine you find a stunning piece of software, it’s beautiful, it’s highly functional, it does absolutely amazing things. But you can’t find the price anywhere. You’re convinced this software is just what you need so you agree to begin using it regardless of the price. Now, you have two possible outcomes, you either fail to successfully implement the software and it sits there, beautiful, shiny, untouched. Or, the second option, you take this software run with it, implement it, and it makes your business incredibly successful. You’ll notice one thing that’s not revealed. The cost. Through this example what we discover is that the price of the software plays absolutely no role in the eventual outcome.
The price of software tools used should never be thought of as an indicator of the business’s eventually success.
Now, marketing automation has traditionally be considered complex, detailed, and difficult to use. But the status quo exists to be broken. Disruptive organizations, like Mautic, demonstrate this fact. Mautic revolutionizes the marketing automation industry with convenient, easy-to-use, intuitive marketing software. Mautic empowers everyone, and gives each the tools they need to be successful. Mautic gives the raw product. Mautic supplies the things necessary to be a success; but does not guarantee it. And an interesting fact, as we look at Mautic and what it has the capabilities to do, we haven’t once discussed price.
This leads to two obvious and glaring contradictions to the initial suggestion. First, marketing automation is no longer complex and difficult to setup or use. Second, Mautic doesn’t make you successful any more than having the various parts to a bicycle means you can ride one. Regardless of price, software is a tool to be used to accomplish a goal. You can read more about this theory in a recent marketing automation tool article on Mautic.org.
Bottom line: Don’t reject something new based on preconceived possibly erroneous notions.
November 30, 2015
The Importance of Marketing Tech
Recently I answered a question on Quora about the efficacy and “rule of thumb” for the benefits of marketing technology and how this tech should increase revenues. I thought it was a great question and followed a train of thought I have recently been pursuing so I added my answer to the page.
I believe you will be hard-pressed to find any definitive metrics for how efficacious marketing technology is for a business. The reason for this is in part related to a previous blog post I wrote on Mautic.org. The short version, summary, of that post in essence says that marketing automation platforms and other marketing technologies should always be considered tools to be used and not solutions. Here is what I mean and how it relates to this question. Let me use an analogy to make it easier to understand.
I’m very interested in bass guitars. I love the idea of laying the foundation of a musical rhythm the rest of the band then builds upon to create beautiful music. Bass guitars come in a variety of sizes, shapes, and styles. Each has their own beauty and their own purpose. They are powerful tools that, when placed in the right hands, can be used to impress and stun the audience. But, if I were to give a bass guitar to my son (awesome kindergarten kid) the result would be vastly different. Obviously you naturally and instinctively understand this difference. The guitar didn’t change-the player did. And the results are completely different.
The analogy should be fairly self-explanatory. Those same principles apply to marketing tech. These are tools to be used and with the right marketing department they can impress and stun the C-Suite and others. Inexperienced or new marketers will find the benefits far fewer and their path much different.
Once we’ve established this baseline understanding there are numerous metrics and statistics which demonstrate what is possible with effective marketing strategies. But remember, you should think of this like putting a Rickenbacker 4001 in the hands of Cliff Burton. If I were to pick up the same instrument my results would be different. Here are a few statistics floating around regarding marketing technology and improvements in efficiency and costs. Your results may vary.
Marketers who implement marketing automation see 53% higher conversion rates and annual revenue growth 3.1% higher than others.
Email marketing has an ROI as high as 4,300%.
Successful lead nurturing programs average 20% increase in sales opportunities.
So, there’s three quick stats, a quick google search will yield hundreds more. The key here again, is that the marketing automation platform, or the marketing technology used is only the tool to help you be a better marketer. The right tool can save you hundreds of hours. Pair your expertise with a powerful platform and the results will be epic.
*For full disclosure, I contribute to the Mautic, free marketing automation platform, and have a strong bias to the belief that a powerful platform doesn’t have to cost a fortune. Mautic is an open source tool capable of helping you rock out like Metallica.
September 15, 2015
Finding the Right Fit
(Building An Exceptional Team)
Part of my duties in my day-to-day life involve finding the next great talented person to join our team. I don’t think by any means I am an expert at this, but I have been told on numerous times that we have a great team. (That’s not me, that’s the team believing in what we do). Remember these are not just empty chairs floating around and in need of a warm body. These are highly important positions for your team. Every single team member is important. When it comes time to build a team or fill seats, whether that is for a business or for a community there are several things I think are incredibly important. Some of these qualities might be surprising and some may be noticeably absent. I would like to share with you the five qualities I seek most often when looking to build a team.
These might be different for you and you may find mileage may vary depending on the industry or the focus of your company or organization. But I believe the following five qualities are a great place to start when building a team. I’ll give them each to you quickly and explain why I feel they are important.
Of course everyone is looking for an honest employee or co-worker. No one wants to think they are working with someone that will lie, cheat, or steal (remember though: if it’s in the refrigerator and unlabeled- that’s fair game). But in seriousness, an outstanding team member must have outstanding character. They should be not only honest and trustworthy but open. No, not the type of person who blabs every little detail about their personal life. But rather, they are quick to share their concerns, their potential problems and their work struggles. They are open and transparent in both successes and failures. I believe this is one of the most important character traits you want to find.
I love determined people. I am highly determined. I’m motivated. I love to work with people who are determined. They take the tasks they are given and they “make it happen”. Sometimes today that feels like an overused phrase but this determination to accomplish things is important. Immediately you may think the opposite is laziness, but I disagree, the opposite of determined is disinterest. They may be present and performing their job but without determination they are not the outstanding team member they could be. Determined does not mean working long hours every day either. Determination may require an occasional late night or at the least the willingness to put in extra time when the situation arises, but being determined is not being a workaholic. Being determined is more about a state of mind.
A great team member will be proactive not just in doing what is required of them but seeking out other ways to help the team succeed. This state of being proactive means being a thinker. Proactive team members are always interested and engaged, they want to see great things happen because they believe in what they are doing. But more about that deep down belief in the next point. Proactivity isn’t just doing more work or finding more work to be done. Proactivity means a sense of alertness to the team environment and the outside community. What does that look like exactly? I’m glad you asked. Here is a simple three word phrase that I like to use to describe this concept. Proactive means listening. Many consider listening to be a reactive or passive activity. But if you are actively listening to what’s being said what you’ll find is you are essentially hearing what could be next. If you are actively listening you are proactively building the future.
Yes, an outstanding team member needs to be caring. I don’t mean a touchy-feely, let’s all hold hands and dance through the fields type of caring. But the outstanding team member needs to care deeply about the team, the organization, and the community. How does this happen? Simple. When you build a team surrounded about a shared belief system. When you find those team members who see, understand and share the vision of the team then you will have found an individual who will care. Let me describe this quality by sharing another opposite. The opposite of a caring individual is an apathetic person. They show up, they do their job, and then…then they leave. They only punch the clock; these individuals lack determination, they lack the proactive understanding about the underlying foundation for why you do what you do. They don’t care. A caring individual must be deeply motivated by the reason why.
The last character quality I like to seek out when identifying exceptional team members is their ability to get excited. Too many times I think the idea of excitability gets a bad rap. People label someone as excitable if they are easily agitated, that’s a completely different word. When I say excitable I mean someone who’s passions can be stirred. They are caring, they understand the vision and they are compelled by the vision to accomplish the mission of the team. And this excites them. This drives them and gives them determination. to be proactive. I love to see someone get excited about what they are doing. This speaks to me. I see their passion and this passion, this excitement, is contagious. It spreads throughout the team. If you have a team member that does not have the quality of excitability then the team as a whole suffers. But when excitement works its way through a passionate team then each person feeds on that excitement and the passion builds, and builds, and builds within the team.
And those are five of the key qualities I like to look for when building a team. When I find someone with those traits I have a pretty good feeling they will fit within the team. They will share in the culture of the team. There are some great examples of company culture and team culture which I follow but I will refrain from commenting or sharing my thoughts on that aspect of hiring in this post.
You may have noticed a few qualities conspicuously missing from this post. No I haven’t neglected the importance of formal training, potential salary requirements, or the hard-working nature of a team member. But these are secondary qualities. They play a part but they are not what I look for first. I want to build a team that will last, a culture that inspires, and a community that grows for years, and decades to come. When I meet someone with the five qualities I listed above the result is usually someone who will not only fit into an amazing team but become an amazing part of the community.
July 3, 2015
The Price of Free Software
Let’s talk for a minute about the topic of free software. As you may know I am deeply involved with the Mautic community which offers a free marketing automation platform. This platform is free, open source and available for immediate download by anyone interested. I am thrilled to be able to play a part in this community which seeks to support businesses, organizations, and people in their marketing efforts without asking for anything in return.
I have over a decade of experience in this type of environment as I’ve previously volunteered my time in the Joomla community as well as spending time in both WordPress and Drupal communities. All of these communities are centered around a free product and also an open source one. Their content managements systems can be downloaded and installed and used with no payments made. These are merely three additional examples drawn from personal experience, hundreds if not thousands of other communities exist to provide free software. This leads to an inevitable question. Is free software truly free? What is the hidden price of free?
I’m going to break this down into three sections. First, we’ll examine monetary costs, second we’ll look at secondary costs, and lastly we’ll look at future costs. After each section we’ll draw a conclusion.
The Monetary Cost of Free Software
This first point may seem almost ludicrous since we’re discussing free software and by very nature free software implies that there is no monetary cost. However, unfortunately in some cases free software is limited software. These types of free software are poor restricted attempts to win customers by offering something free which in truth is merely a hint or shadow of what the software should do.
This is a uniquely cruel form of torture and one which should be abolished and abhorred. No software intentionally shackling or tethering the user under the guise of free software should be allowed to exist as free software. This kind of “free software” does indeed have a very high monetary cost and unfortunately gives all other types of free software a bad name.
Conclusion: All free software has not been created equal.
The Secondary Costs of Free Software
There are, of course, additional costs associated with a software platform that exist far beyond the money spent in acquiring the software. These are indeed very real and should not be forgotten. Let me name just two of these secondary costs for you.
- The Learning Curve: With free software there is a learning curve which the user must overcome before they are comfortable using the platform. This learning curve requires time and dedication. This time can be extremely expensive. And yet, I would challenge you with a question. Could I not remove the word “free” from the first sentence and the statement would remain the same? “With software there is a learning curve which the user must overcome before they are comfortable using the platform.” Yes, this statement is also true and valid.
- Training & Support: Free software may not cost for its use, but there are training and support expenses which result from the use of this software. And again, these costs would be equally attributed to paid systems as well. Every time software is implemented there is an opportunity for training and support fees to be provided.
So we see that there are opportunities for additional secondary costs associated with free software. There is something though that I touched on briefly in the second part of the Learning Curve cost. The time involved in learning a new platform, of any kind, is a cost that can be most exorbitant. But here’s an interesting suggestion. When dealing with a free community full of active volunteers this learning experience can be much aided through network of others. This type of learning can never be accomplished in the same volume by a paid software company. Thousands of volunteers working and participating on the improvements of the software able to answer your questions, offer advice, and improve your understanding makes your learning curve easier with free software.
Conclusion: All software has secondary costs.
The Future Costs of Free Software
Here we explore the potential future costs as a result of implementing free software. Some would suggest that because free software is free it must then be unsustainable and more liable to disappear in the future. I find this somewhat ironic. These communities which exist purely for the growth and improvements of the software and are not tied to a for-profit business serve to exist for far longer times. Successful communities will be able to continue without fear of failure due to lack of funds. Now free software where the code is also open source means the code will be forever in existence and available to everyone, anywhere. And lastly, due to the sheer size of free, open source communities volunteering there is a much larger development pool capable of continuing on the progress and improvements to the software.
Conclusion: Free software is not bound by for-profit corporations for future existence.
I am not foolish to assume that all free software is as wonderful as the software I listed at the beginning of this post. These are both free and open source software tools which are a bit different from just examining “free software” however, my background and experience leads me to speak to this type of free software. There are of course other, far worse examples of free software which harm the concepts of the software listed here.
And lastly, you may notice that the second item listed is the only example where actual costs may exist. This is indeed a cost associated with free software. However, as I stated this cost exists regardless of the nature of the software. Both free and not-free software hold these secondary costs. Therefore I believe it is fair to say these costs are valid to be disregarded when valuing the cost of software since they will exist in any situation.
I conclude then that while there may be costs associated with free software you will find that these costs are far, far less then in other situations and ultimately you will still find free software to be more cost effective than the alternative.
June 4, 2015
I know you’re probably thinking when you read the title that I’m referring to socially unacceptable or perhaps profane talk. That’s quite far from what I’d like to share with you though. I’m referring to the differences of languages around the globe and the impact that these languages have on communication, growth, and community.
As most of you know I am deeply involved in the Mautic community. This isn’t the first community I’ve been a part of and I doubt it will be the last, but Mautic does hold a special place in my heart. Recently I witnessed something that gave me chills of excitement. You know what I mean, those raised goosebumps on your arms that tell you something big is happening, something way bigger than yourself and something so exciting your body reacts physically to its revelation.
You may be wondering what triggered this response. Language. Specifically the wonderful, beautiful Thai language. Not too long after the Mautic community was formed and began to grow I received a contact request from Akarawuth Tamrareang. He was very polite, very friendly, and very excited. He was excited because he saw an opportunity. He saw a young, vibrant and growing community that could be thrust forward to an entirely new level as a result of his direct influence and skills. He reached out for confirmation and support in his effort. His undertaking would not be a simple one. Krit, as he is affectionately called, wanted to translate the entire Mautic website into Thai.
I have to pause here and give you just a bit more personal information. I am an American, more specifically, from the United States. I took the required foreign language courses during my educational years but sadly I am no proficient in any language beyond English. (Unless, as I like to joke, you count code as a language and then I know a couple more). I travel extensively around the world and it never ceases to amaze me how many people speak multiple languages. I admit I am always left in awe at their ability. I respect and appreciate the skill this requires and the dedication of so many to be able to communicate in multiple languages. Now you know just how incredible I find Krit’s request and his ability.
Of course the Mautic community encouraged and supported Krit in his task and recently I was excited to reveal https://th.mautic.org as a translated version of Mautic.org. This is what gave me those chills. This is incredible. Almost overnight the Mautic community has been expanded in a mighty way. Now every native Thai speaker can experience and learn the power of Mautic in their own language.
This is the kind of thing that grows a community. It starts with one. Mautic is blessed to have Krit. But this is just the beginning. And I am excited to share that there are others following already! I will share each with you as they are announced!
And if you read Thai (and even if you don’t) you should take a look at this beautiful site.
March 18, 2015
The Power of Product Hunt
Chirp. That’s how it began. A single, simple, chirp from my Tweetdeck. I was in the middle of a meeting in my office when the tweet came in and I glanced only half-interested while deep in conversation. When I read the tweet however everything else stopped.
— Product Hunt (@ProductHunt) March 17, 2015
That was all it said. Added as a maker of Mautic. (Our open source marketing automation platform and community.) But I knew what this meant. I was very familiar with the twitter handle @ProductHunt. For those that don’t know what Product Hunt is here is a brief explanation. Product Hunt features a list of the best new products on the web. Every day the list is restarted. Throughout the day these items are voted on by the community and comments added. This social aspect allows trending of the most popular new items. For startups and early stage communities this is an incredible achievement and I was well aware of the power of Product Hunt. I’d even submitted Mautic in the past but had never heard anything back.
Happy St.Patrick’s Day
Now, here on St. Patrick’s Day, I had just received notice that we’d been added. Things kicked into high gear almost immediately. I excused myself from the meeting I was in and quickly informed the rest of the Mautic community that we had been “hunted” as Product Hunt refers to the adding of a new item.
And as expected, traffic spiked. (See graph above) We watched – anxiously monitoring our web servers as they creaked under the sudden load increase. But though we may have been anxious we had a confidence because we had some great tools in place.
Some Of Our Tools
We were using a CDN for static assets (CloudFlare is amazing), we also have a secret weapon (not too secret). We use New Relic. We could monitor throughput, response times, CPU usage, memory usage, and errors in live time. This was incredibly helpful as there were moment when we were registering a dozen accounts a minute and we found a problem with simultaneous registrations. We were able to fix them incredibly quickly and notify those few affected users directly. Remember, first impressions are everything! Zendesk was also a great help in monitoring and responding to any specific questions or support issues.
Of course we had thoroughly tested and re-tested to ensure we could handle a traffic increase and traffic spikes (we knew we would be wildly popular once people began to hear about Mautic). But there’s nothing like the confidence that when things are actually exploding you are capable of dealing with the situations as they occur.
Helping Continue Momentum
We continued the buzz by promoting Mautic’s addition to the list through various social media posts. We had to work fast because although we were aware of Product Hunt and hoped to be featured we had to create the resources on-the-fly. We created a custom short URL, http://mau.tc/prod-hunt which would be easy to share (Thanks to Bitly.) And then very soon after the announcement we released this on our social media platforms:
But we didn’t stop there. We continued to share the good news to hopefully increase the visibility of our listing throughout the day. We updated all our social media platforms at the same time. Following some good advice we didn’t stagger our announcements but posted everywhere.
Later we created a second social media announcement focused on the specialness of being listed on St. Patrick’s Day and later in the afternoon we released this graphic:
The response was tremendous. These social media posts helped to boost our presence and awareness of our placement on Product Hunt. As a result we saw an increase in upvotes on the site and our listing began to trend. Things continued to grow as a result and now, the day after we are still “above the fold” as we continue to trend into the second day on Product Hunt.
All in all the day was a thrilling and somewhat wild ride. We saw thousands and thousands of new users and an incredible response to Mautic. Just as we had all suspected, people are thrilled when they discover the power of free and open source marketing automation. My alert may have started with a single chirp from a single tweet, but it wasn’t long before the notifications were coming in so close together the sounds were overlapping.
If you have a startup or a young community then you may be aware of Product Hunt already. If not, you should be. If you are, take a look at some of the tips I shared above to help you capitalize on your listing and do everything you can to maximize your social sharing!
February 23, 2015
Scaling Applications for Global Communities
Below is a transcript of the talk I gave recently in Oman at their Free and Open Source Software Conference (2015). If you want to watch the talk instead you can do so on YouTube starting at the 1:18:44 mark (Here is a direct link to my talk on scaling applications for global communities). Or if you prefer to download and read later, here’s a PDF version.
1. The Personal (about me)
I know you probably aren’t too terribly interested in hearing my entire life story so I’ll keep this short and sweet. As you may have seen, or read in your pamphlet, I am deeply involved in open source and several different projects. I spend an incredible amount of my time both creating code (I love to write code) and also telling others about open source code. I truly love speaking about open source and sharing the power of those communities with others.
Let me give you just a little bit more information about what I work on. I am extremely proud to share that I am the founder of an open source community for marketing automation, called Mautic. But I contribute to a number of other projects also. And one of those roles, in fact, the very first open source project I ever had the privilege of working in was Joomla, an open source content management system. I started my journey in Joomla just as a user and a developer (remember, I love to write code). But over time I became more involved with the community until today. Now I’m the community development manager for the project and am a frequent speaker, project evangelist for Joomla.
2. The Project (about Joomla)
This is without a doubt an incredible community. Joomla has been around since 2005. Fittingly enough Joomla and I share a birthday, August 17. Many of you probably know that Joomla was a fork from a previous open source project called Mambo. Since 2005 Joomla has continued to grow and expand and is now recognized as the second largest, and most downloaded CMS in the world. That’s pretty big news. It gets even more exciting. Joomla not only holds the second largest CMS market share but is the largest not for profit, community-driven CMS project. No other CMS platform has this type of honor.
So that’s a pretty nice introduction to Joomla, but maybe a few more specific examples will help to put the true size of the Joomla project into perspective. And you’ll see later how this all ties in together.
- Joomla is multi-lingual
- Joomla is accessible
- Joomla is convenient
Great ideas? Well Joomla is much more than just a few impressive statistics. The Joomla community focuses on an aspect much more important than just the lines of code. Something deeper. Joomla focuses on people. The individuals who make up the Joomla community. These unique and special people all play a vital role in the success of the project. Here are some numbers related to the growth of the Joomla community.
- Joomla has been downloaded over 60 million times
- Joomla has more than 2,000 forum posts every day
- Joomla has more language translations than any other CMS
Again these are some fine examples of the size and scale of the Joomla community. This also demonstrates the growth rate for the community. I mentioned that Joomla focuses on people. I want to return to that in a second. But before I do that I want to touch briefly on just a couple more areas related to the Joomla project.
These two areas are often the most difficult to bring up when sharing Joomla with others. It’s not always pretty. And it’s not always easy. But the truth is Joomla is just like any other community and any other project. It has struggles, it has problems, and it ultimately has successes. Let’s take a minute and look more closely at a few of the struggles which face the Joomla community. Perhaps you can relate to some of these.
Joomla has grown quickly and has struggled to maintain order. Obviously anytime you see the type of amazing growth that the Joomla community has seen you will have difficulty maintaining order and avoiding chaos. It’s almost inevitable you will find yourself struggling with keeping that easy-to-understand, easy-to-get-involved nature you often find in smaller communities. When projects scale to huge sizes the simple act of getting involved as a new volunteer can be an incredibly difficult task (and sometimes an impossible one). This struggle for order is even more of a potential failure when the project is completely and totally community driven. Without any single entity supporting the community, helping to make the tough decisions, and ultimately ensuring the project’s forward progress it can become difficult to avoid confusion and chaos. I’m not saying it’s impossible, Joomla has worked very hard to show that this is a possibility. What I am saying is that it can be difficult and it’s certainly a struggle.
Joomla has struggled with adapting to change. Just as you will find in many large and established companies (Think Microsoft). It can be a very difficult struggle to stay relevant and ensure your project doesn’t begin to just tread water. The minute you begin treading water is the minute you begin sinking. A project must maintain its vision for the future. A community must be driven to continue improving, innovating, adapting to change around it. When a community (or business) does not allow for change, it will ultimately die. If we consider Microsoft as an example then we can all relate to this sense of stagnation. What was once a booming technology company on the cutting edge of everything is now a behemoth trudging, plodding along through the daily chores of bug fixes and patch Tuesdays. Gone are the glory days of new release after new release. They spend millions (maybe even billions) of dollars in their research and development departments. They understand the power of innovation and the need to return to those monumental discoveries. Joomla must also be able to pivot, to make changes, to improve and adapt.
Those are a couple of the struggles the Joomla project faces. They are difficult to share but understanding and knowing your struggles is the first step in overcoming them. So I talk about them openly. I share them with you and I hope to share how we overcame them. It’s an ongoing, continual state of learning.
3. The People (about the community)
I mentioned the Joomla community and the focus that Joomla has on the individual volunteers, contributors, and people which make up the Joomla community. Let’s look now in a bit more depth at several facets of these individuals. This is the good stuff. If you only take one thing away from my talk today. Learn this. People matter. More than code, more than working groups, more than teams, more than documentation, more than anything – the people who are giving their time, who are giving their lives to the project: these people matter. That’s one of the most important things I’d like to share with you today. Relationships are important.
Let me tell you a little story. A Joomla story. This is the story of a person who is relatively quiet and shy, would never step outside their comfort zone and would never think about standing in front of a group of people to talk. In the beginning it started with a few small bug fixes. A pull request for improving a module. Nothing fantastic and certainly nothing ground breaking. In fact I’d dare to call them worthless fixes. But they weren’t worthless. Because they served as the beginning for something greater. These seemingly minor one or two line comment spelling corrections were just enough for this individual to stay committed to the project and continue keeping involved in the community. As time passed the encouragement from others in the community helped this person become more involved. Soon, at the bidding of his new friends within the Joomla community this individual applied for a leadership role. He was welcomed with open arms and continued his involvement soon he was spending a significant amount of his time each day devoted to the success of Joomla. He became more and more involved and was passionately committed to the community. All of this came from a few almost meaningless lines of code. Why? Because of the encouragement and support of others in the community. As you have probably guessed this is my Joomla story. This is how I came to my position in Joomla. If you hear nothing else from my story I hope you will hear this: Encouragement, support, and the relationships formed with others in the community are of utmost importance.
If we are to explore the complexities of scaling an application for a global user community then this should be our one guiding principle: People matter.
There are of course many aspects which can prove to be difficult when growing an application to global size. We will discuss a few of those and look at how Joomla has handled each. I refer to Joomla as our case study because as I have demonstrated above Joomla is a worthy and fitting case study for us to examine.
Let’s look at three different problems which must be overcome if you want to scale your community globally. First, languages can prove to be challenging. As you are aware even from my speaking here today there are times when languages can prove a difficult obstacle to overcome. As your community or application grows beyond the boundaries of your country or your specific language it will inevitably face this problem. Each new language, each new country where your application begins to be used introduces a new set for potential problems. Let me explain. When I say languages are a difficulty I am not referring merely to the words. Of course the words present the most obvious challenge, but in the world we live in today we are blessed to be able to translate our words.
Notice, I said translate our words because translating our words is not the same as translating their meaning. This is where the true problem lies. There are so many other aspects of language which must be considered. Things such as tone of voice, implied meaning, cultural differences, are just a few ways in which language barriers can prevent successful project growth. In order for your project to be a success you must consider all of these aspects. Take Joomla for example. Joomla has been incredibly successful in this regard. If you’re not aware let me share a statistic or two with you. The Joomla CMS currently has 58 different translations that’s a staggering number of languages. Each of those translations has a working group of individuals dedicated to keeping that language up-to-date with each new release of the software. But as I mentioned it’s more than just language strings or words. Joomla works very hard to ensure that implied meanings and cultural differences are also considered when working groups and individuals collaborate. Great care is taken to be considerate in all communications. This sounds trivial but is instrumental to the overall success of the project. Joomla has created a wonderful culture code document which outlines specifics for how the Joomla culture should be created and maintained. Languages are more than words.
I offer a second example from a much younger and newer community, Mautic. I have begun implementing exactly what I stand before you and share. Languages are an important pillar in the building of a global community. Within only 3 weeks of launching the beta for the Mautic open source product we have been able to see 5 complete language translations and a dozen more started. It’s exciting to witness and it shows to everyone that the Mautic community values each language and each country.
Here is your first lesson: If you want your application to be globally accepted, to scale to the size of a world-wide audience then you must consider the value of languages, both in word and in meaning.
Next we turn our attention to a second important problem that must be overcome when scaling globally. Timezones. It is often easy to forget in a daily routine of application development and product releases that there is an entire world of varying timezones. 2PM in one location is 2AM in another. I can tell you first hand speaking from my own experience in the United States it can sometimes be forgotten that not everyone is on the same relative time as I am. If you are interested in being able to grow your community, or your project, or your organization to a global size then you must remember and account for varying timezones. Let’s take another look at Joomla and how this community handles the timezone problem.
The Joomla leadership is comprised of three different teams working in harmony across the many aspects of the project. These teams are each consisting of individuals from around the world. Each team has dozens of different timezones. Joomla has used several different tactics but one in particular has proven to be useful and serve the community well. Joomla alternates the the schedule of leadership meetings. What does this look like? Joomla changes the meeting time when a leadership gathering is held. By doing so Joomla ensures that there is an equal opportunity for each person to meet in a timezone that is most convenient for them. (and everyone shares the same inconvenience) The timezone is an often overlooked important aspect of being able to scale an organization.
In the beginning this can be a difficult task. When your community is small this will be a challenge and will require dedication and attention. I share an example from Mautic. This community as I told you before is much younger and much smaller. As a result the initial community members must be more flexible and more dedicated with their time. When beginning to grow your community be prepared to spend significant amounts of time at all times of day and night. You may not sleep much! But if you are committed to seeing your community be successful you must be prepared to make the sacrifice.
The second lesson to learn: In order to increase the global availability of your community and project you should pay attention to the timezones of your contributors and volunteers. Make your community convenient.
We arrive now at our final problem you should seek to overcome as you grow a global product. I say final, but in reality there are many more problems you will face. The task of building and scaling an application is a constant and ongoing challenge. But we look in particular at three problems and this final one is related to accessibility. Just as you want your meetings (timezones) and your communication (languages) to be convenient you want also for your community to be accessible.
I’m quite pleased to share the success Joomla has seen related to being an accessible project. Don’t mistake me. One of the reasons why Joomla has been successful in regards to accessibility lies in the fact that it continues to focus on and constantly improve accessibility. This is not a one-time thing to be solved and then ignored. This is a key point. Joomla continues to focus on this aspect of its community and the software. Through the use of specialized formats, screen reader improvements, and special administrator templates designed specifically to be accessible Joomla shows its incredible attention to accessibility.
Here is the third lesson: To scale a global community requires focusing on every type of user and being a community whose people and whose code is accessible to everyone.
So we have covered three lessons to help scale an application for a global community. Dealing with languages, timezones, and accessibility. As your project and community grows you must focus on each of these areas if you want to overcome the complexities of a global community.
Let me quickly give you some practical steps for implementation. First, you must plan ahead. Don’t think only about what your code or your community looks like today. Look ahead at what it will become in the future. Plan for what will come in future days, weeks, months, or even years. Be prepared and be constantly ready to make changes when needed. Next, monitor everything. You will need to be vigilant as you watch your community grow. You must be monitoring your code to ensure it remains stable and can handle an increased load of traffic. You must be monitoring your community to ensure it continues to grow and that it is accessible, and convenient for new contributors to take part. Lastly you should take what you have planned, mix with what you have seen through your monitoring, and apply it to improving your community. You cannot simply observe and make plans without implementing them. You must be looking to constantly improve. Your code must adapt and grow as new opportunities arise. Your community must adapt and grow as you scale to larger size.
Let me close with this. There is no formula that guarantees you will be successful in scaling an application for a global community. It simply cannot be put into a specific step-by-step exact plan. Rather what I offer here are some important lessons that when put into practice will offer a strong path to lead towards a successful global project. I want to thank you again for this opportunity to share with you what Joomla has proven to be a successful strategy for scaling and what Mautic is also following in like manner. And I wish you each success as you seek to grow your communities and projects. If you have other questions or ideas feel free to reach out to me. I would be happy to answer any questions that I can and look forward to hearing what you are passionate about!
February 4, 2015
December 16, 2014
If you think about the title of this post I wonder what might be the first thing that comes to your mind. Perhaps you think of an antonym – closed, or maybe you think of an action taken as with a door or window. Perhaps you think of someone being an open book and what that entails. There are any number of proper definitions of the word open. If you are anything like me (or you live in the same circle as me) then you’ll more than likely think of the same definition as I do – open as in open source. But let’s look at a few of the alternate definitions and then seek to apply them to open source.
1. Open as opposed to closed.
When we look at open in terms of being the opposite of closed there are several things to consider. First, something that’s closed is usually hidden, restricted, or kept back. Being open therefore is the opposite of each of those, easily found, unrestricted, put in front. This openness is easy to recognize and can quickly be spotted by anyone looking. Open is a concept familiar to all, regardless of language or translation.
2. Open as a door or window, a verb.
The verb form is the second way of looking at the word open. Open is an active verb which demonstrates a proactive approach to something. When you open something you give it the properties listed in the first definition above. You take something previously closed and you make it open.
3. Open as in a book.
This definition for open comes from a popular saying, for example, he read me like an open book. This use of the word open implies a sense of transparency and easy to understand nature. Similar to the first definition above when something is open the result is transparent. Easy to read, easy to follow, and most of all open. Open to be read by everyone. This final definition lends itself well to the definition of open source I personally enjoy the most.
4. Open as in open source.
Open as in open source. This is the definition of open that I tend to use on almost a daily basis. Open source often refers to the concept of source code being available, transparent, and free to review. This open source code is open (as in the opposite of closed), it’s an action that is done proactively by the communities which surround these projects and it’s open as in transparent (like a book). There’s something exciting about open source and the thrill of contributing to something amazing.
Each of these are valid definitions and each carry a unique meaning. I trust this post has encouraged you to think more closely about the true meaning of open source and how each of these definitions can legitimately be applied to the concept of open source as we know it.
We live in a world being eaten by software. Let’s make sure that software is open; in every sense of the word.
December 15, 2014
Beta List Featured Startup Mautic
So there’s an awesome website, if you’ve never heard of it you need to check it out. It’s called Beta List. Beta List gives you just what it sounds like, a list of awesome new software platforms that are currently in beta. You can get a quick overview of what the app does and view a screenshot or two before visiting the site to sign-up for the beta.
No, not an advertisement!
Why am I talking about this website? I’ll tell you why. Yesterday I was notified, much to my delight, that our young, new community Mautic has been added to the list and featured. It may not seem like a big deal to you, but it’s pretty awesome to be placed on the list among other great up-and-coming beta apps. We’re incredibly excited to share Mautic with new people and introduce others to the future of marketing automation. Free and open source marketing automation.
Check us out!
If you have time I’d encourage you to stop by our listing, check us out, but also look around at some of the other amazing beta opportunities listed on the website. Oh, and I apologize in advance because you may get lost in the excitement of looking around and lose track of time.
September 30, 2014
Open Source Appreciation
When you’re volunteering in an open source community most of the time you understand that you are giving your time and talents without any expectation of payment. Monetary payment. You do the work because you see the value in the community and you see the opportunity to get involved, contribute your skills, and make a difference. You don’t do it for the praise and you don’t do it for the personal gain. You’re volunteering.
However there is an opportunity for the community here to do something remarkable. Open source communities have the chance to appreciate you as the volunteer. There is an opportunity to offer heartfelt thank you and appreciation for the donation of your most valuable asset – your time.
The Greatest Community
The best open source communities understand that their volunteers are worth far more than a check from a venture capitalist firm or a sponsor payment seeking some specific return on investment. These outstanding communities place their worth and their value in their volunteers. Those individuals who are so committed and dedicated to the community they give the one resource they can never get back. They give their time. When these superior communities understand this principle it is reflected in their attitude, in their behavior, and in their treatment of their contributors and volunteers. They demonstrate excellent appreciation.
How can this appreciation be demonstrated by an organization or community where finances and money are not the motivating or driving factor? What are some ways in which appreciation can be shown. Great communities have already figured this out and the put these ways into practice on a daily basis. Here are a few examples.
A Public Acknowledgement
There are several great examples of this idea of public acknowledgement. I’ll give only one which I found recently and thought it to be an exceptional one. If anyone is familiar with Mozilla Firefox they have done some amazing things to publicly appreciate their volunteers. One of those is the San Francisco Monument they’ve constructed. It’s a fantastic example of just one way in which Mozilla has very publicly demonstrated appreciation for their volunteers.
Of course it doesn’t take a marble pillar to publicly acknowledge the hard work and effort of volunteers. Sometimes all it takes is a blog post. Finding ways to publicly thank those individuals giving their time is a fantastic way to demonstrate appreciation.
A Personal Note
You don’t always have to be public in your appreciation. Some communities send a note to active volunteers thanking them personally for their work. This is almost the reciprocal action of the public acknowledgement. Rather than publicly thanking someone you can do it privately.
I’ve seen some examples of this which are truly awesome. A handwritten letter in the mail. Yes, that’s right an actual snail-mail post thanking someone for their efforts. It doesn’t cost more than a stamp, an envelope and a little time. But the value is immense. If you’ve ever gotten a personalized note you know what I’m talking about. It’s a great feeling to feel appreciated and valued. It doesn’t cost much to personally thank someone.
I was going to list several more ways but I erased my points because I want to leave you with these two thoughts. Public and Private appreciation. A personal connection. This is what it all comes down to. The ability to connect with each other not just as a community of volunteers working on a project but as people interacting and growing.
Our communities are a place where relationships can thrive. Lifelong friendships can be made and personal growth is encouraged. The truly great open source communities realize without volunteers they have no future. These communities show this realization through their personal relationships and thoughtful appreciation of each volunteer. At the end of the day its the relationships which matter.
In our communities the focus should be the person not the project .
September 23, 2014
Use Marketing Automation and Never Work Again!
What is Marketing Automation?
To some this is a familiar term and to others its a bit intimidating. Let’s look first at what marketing automation is and then we’ll look at a few more related topics and hopefully give a pretty clear picture about what we’re doing.
Marketing automation is defined by wikipedia as the following:
Marketing automation refers to software platforms and technologies designed for marketing departments and organizations to more effectively market on multiple channels online (such as email, social media, websites, etc.) and automate repetitive tasks.
This is a fairly detailed definition which while it answers the question of what marketing automation is, it could perhaps be simplified somewhat. Marketing automation is powerful software and processes which makes complex and repetitive tasks easy. (That’s pretty simple). It doesn’t mean you don’t work, but it does help with the repetitive and mundane tasks.
So that’s a bit easier but still rather generic. Let’s look quickly at who marketing automation is for and who should be interested in the topic.
Who is Marketing Automation For?
Marketing automation is for every business. Maybe that’s not completely true. Before Mautic was created marketing automation was something only available to large businesses with significant marketing and sales budgets. I’m incredibly excited to be a part of something which is revolutionizing a market and empowering businesses of all sizes. Marketing automation is changing forever. We are building software which everyone can use to save them time, simplify their sales processes, and learn their customers better. Mautic allows you to do everything from better lead nurturing and targeting to social media networking with potential clients. Marketing automation also helps you automate tasks such as email campaigns and much more.
Why Open Source?
So if there are such powerful software platforms already providing these services why bother with creating another one? If you’ve followed my writing at all then you know I’m passionate about open source. I believe strongly in the power of open source and I have volunteered hundreds (thousands) of hours to open source and its promotion. I truly believe open source makes our world a better place. Whether you’re talking about a content management system to power your website or software tools to give you the business tools you need to be successful. Open source now provides an option. Read my previous articles about open source and community if you need more reasons or specifics for why open source is important.
What is So Special?
So now we know what marketing automation is and we also know why open source as a software type is important we can now look at what makes Mautic different and special. As I said previously marketing automation was not available for everyone. Marketing automation used to cost thousands of dollars a month and was simply unaffordable for many for most small and medium sized businesses. Not any more. Mautic is special because it completely disrupts everything. Mautic is providing the powerful tools of marketing automation to businesses of all sizes at a cost everyone can afford. Free. This open source community is focused on empowering every business and giving everyone equal opportunities for success. That’s revolutionary. And as an open source community it’s exciting.
When Is It Available?
Ok so now some of you may be as excited as I am; at least I hope you are. Because Mautic is all about equality. Breaking down the barriers which previously kept powerful software away from the every-day businesses. Open source is truly changing our world. I am as eager and anxious as the next person to see Mautic released and am hardly sleeping as we work to release the beta software. Dates are shifting constantly (as always with software development) but we have a strong expectation that we’ll be able to release an alpha version to those businesses which have signed up to be early testers within the next several weeks.
You can check back on my blog as I will be posting more information about what is to come in the weeks to follow and if you have any specific questions or ideas please let me know – I would love to hear from you! We have great things ahead. And I truly believe we are all in this together – Let’s work together to do revolutionary things!
September 16, 2014
Why I Love Open Source (Reason 2)
I previously blogged about the first reason why I love open source. You can read that post here. This is the second in the WILOS (Why I Love Open Source) series. It’s difficult to come up with just one reason to focus on at at time and maybe that’s why my posts on the topic come so far apart. But I have narrowed down my second reason why I love open source and I’ve listed it below along with my reasoning. Please keep in mind these are in no particular order and I hope you’ll agree with each of these reasons.
Reason 2: Open source gives power.
Ok, no panicking. Don’t go thinking this is the “I will rule the world” type of power. Power in open source is very, very different. Read my points below and I think you’ll agree that power is an excellent reason to love open source. There’s different types of power and different applications and displays of power. Here’s what I mean.
Power drives communities
When a community holds power they are able to do great things. A community which has been empowered to make decisions and change the course of the project is a highly motivating force. These open source communities are powerful and capable of shaping their future based on the needs not of a single corporation but of the entire community. This power enables the community to feel in control and share a bond which encourages teamwork and cooperation. In addition the empowered open source community maintains stronger bonds of trust between the individuals which make up that community.Great open source communities are built on the trust and relationships of dedicated individuals.
Power belongs to everyone
Open source is unique in that it allows everyone to be empowered. The really great open source communities give their volunteers the opportunity to own the source code themselves. They can take control of the code. What do I mean by taking control of the code? It’s easy. If you see a problem. You can submit a pull request to fix it. If you see a need you can fill that need. The opportunity is available for you in an open source community (and particular the open source code projects). This is power. This is exciting power. This means the power for improving the project belongs to each and every individual.
Power means responsibility
It can be an awe-some and intimidating task to think that each community volunteer yields the power to change the direction of a global open source project. This amount of power can be overwhelming and certainly challenging…but as the popular phrase goes, “with great power comes great responsibility.” Each of us working in a volunteer open source community must behave responsibility. We have the power to make changes which will affect others well beyond our own sphere of influence. This empowerment means we are responsible. We must maintain a sense of respect, support, and encouragement for others. We must hold this power responsibly. Questions about what that looks like? It’s as simple as the golden rule. Do unto others as you would have them do unto you.
I love open source for so many reasons. The power to change our world and improve the lives and businesses of people I would never otherwise meet is almost breath-taking. Stop and think about it for a second. The power to help others and provide a sense of empowerment to someone else is yours. Your open source activities empower you to find both personal and professional satisfaction.
Do you consider open source to be powerful? Have you thought about the power you hold when volunteering your time in an open source community? If you haven’t then I hope these couple of points have encouraged you to think about it again. And I believe you’ll agree with me. Power is certainly another reason to love open source!
September 4, 2014
A Vision Statement
One of the first things every community should have is a reason for doing what they do. I’ve said it numerous times before and I’ll probably elaborate on it even more in a future blog but the first and most important part of every community is the “why”. I won’t go into more details now; if you want to refresh your memory watch this video.
A vision statement for a community is important to understanding the why and sharing a grand “perfect world” example of what things would be like if the community’s why is achieved. If you have never heard or thought about a vision statement before or if you simply want to learn more about them then keep reading.
What is a Vision Statement
According to the Business Dictionary the definition for a vision statement is as follows:
An aspirational description of what an organization would like to achieve or accomplish in the mid-term or long-term future. It is intended to serves as a clear guide for choosing current and future courses of action.
These aspirations are usually grand in scope and world-changing in philosophy. Some might even consider them to be unattainable. The vision is what the community strives to see happen. It’s their purpose for existing and their motivation for future improvements. The vision statement helps to shape the direction and course for decisions and choices which might affect the entire community.
Because the vision statement shapes the direction of the community it is quite important that the vision match up closely with the why of the community. Now that we understand what a vision statement is by definition let’s look at a few examples.
Examples of Vision Statements
The following are some examples of vision statements from well-known companies. See if you can find similarities between them.
Shaping the future by preserving our heritage, discovering new knowledge, and sharing our resources with the world
Our vision is nothing less than realizing the full potential of the Internet — universal access to research and education, full participation in culture — to drive a new era of development, growth, and productivity.
– Creative Commons
Our vision is a world in which every child attains the right to survival, protection, development and participation.
– Save the Children
Almost every community, non-profit organization, and company has a vision statement. I’ve explained the reasons above why a vision statement is important and now we have three samples from three vastly different types of organizations. What similarities can we find? First, each of these statements clearly defines a purpose: shaping the future (Smithsonian), drive a new era (Creative Commons), and every child attains the right (Save the Children). Each of these purposes is grand in scale. Each one wants to change the world.
There’s nothing wrong with a vision statement that seems impossible to achieve. Your vision is your ideals, your goal, and the thing which motivates you as you make decisions. If you are in a community that doesn’t want to change the world…then why would you even bother. Making a difference in the world is one thing which instills the passion in volunteers.
A Problem Identified
As I shared previously, I’m excited to be involved in a brand new open source community. Mautic, is a free and open source marketing automation software. The Mautic community is centered on a very particular focus. Small business. The little guy. The underdog. Whatever you want to call us. We’re the ones working to build the base for our world. Our companies are the ones which employ the most people, provide the most revenue, and give stability to the global economy.
Previously we’ve been neglected. Big business likes to work with big business. That means big software companies like to focus on big business because they can charge more money and make more profits. Because of this misplaced focus the small businesses are disadvantaged. We lose out on access to tools and resources which others are able to use. Because we are ignored we lose opportunities. Without opportunities our chances for success are lessened. We see this as a problem.
The Mautic community is focused on solving this problem. We, as a collective group of individuals, are joining together for a purpose, and a cause. We have grand ideas about what we want to do and we want to see the world changed. Here is our vision statement:
Mautic is free and open source marketing automation and our community is passionate about doing big things and changing our world. I can’t wait to share more about what we can do and how we can do it. I’ll hopefully provide another update as things move quickly towards a grand unveiling. I’m excited to be able to be a part of something so revolutionary and if you’re interested in joining this community you are welcome to become a part. We’re all in this together and we’re passionate about changing our world.
August 28, 2014
Proprietary Open Source
I’ve noticed a bit of a trend in some business circles where companies are eager to use open source. Open source is the “thing to do” and everyone is doing it. I love it. The more the world uses open source the better. The problem comes when the businesses are using open source but keeping their same closed source mindset! That’s not the open source way. That’s a business interested in open source merely to be included in a trend. That’s a poor attempt at proprietary open source.
What do I mean by proprietary open source? I’m glad you asked! It’s a bit of a contradiction those two words, and yet it seems to be what some businesses try to do. Here’s what I mean.
Protect the Code
The first thing these faux-open source businesses want to do is protect their code. They want to be accepted as open source by the world but they have failed to understand some of the very basic tenants of the open source way. I don’t mean they want to protect the code from being used incorrectly or broken. I mean they want to lock the code down and prevent it from being manipulated, used, or distributed by others. They want to keep the code from being universally accessible. For those who may not recognize those last two words, they are pulled directly from Wikipedia’s definition of open source.
A business cannot be an open source business if they fail to follow the very definition of open source. The right way to protect the code is not obfuscating, encrypting, or otherwise restricting access to the code. Successful open source businesses understand this.
Dominate the Market
The second signal of a false open source company is their singular quest to dominate a market. Of course every business seeks to be successful and success can be enhanced by complete control over a space but this is not the reason to select open source. Again, there’s nothing wrong with being the best or being the company which stands head and shoulders above the rest. But dominating a market should not be the reason a business chooses to be open source.
Make a Profit
Making a profit is an important part of any business. If a business doesn’t make a profit then the business will fold. Of course I would never suggest that a business not seek to be successful. I’m always looking for ways to improve efficiency, increase profitability and grow the businesses I’m involved with. I do mean that if a business selects open source purely with the goal to make a profit then they have not understood the purpose of open source. There are many examples and long debates on open source as a successful business model. This is not my point. A business should not be consumed purely with being profitable and as a result view open source merely as a way to generate revenue.
Miss the Point
When I see a business exhibiting the above symptoms I immediately begin to think they are missing the point. They fail to understand the open source way. The reasons for using and contributing and working with open source are many. I’ve heard countless stories from people I greatly respect on why they work with open source. The more I hear these stories the more stark the contrast becomes when I see someone fighting to keep their code “protected” and keep their business in control of a marketplace. I realize these businesses have missed the point.
Lead the Way
The open source way is indeed a different way of thinking. It requires a dedication and focus on more than a single business. Is your business an open source business? Is your focus on an open source world? There are many, many great resources available to help you as you learn more about open source and doing business in an open source marketplace. Will you be one of them? I encourage you to consider it. Consider promoting open source. Lead the way.
August 26, 2014
The Danger of Assumptions
Assumptions can be a very dangerous thing. They can be exceptionally harmful in an open source community. Of course its not always intentional to be assuming something about someone or a situation. In fact I imagine, to some extent, human nature causes us to make assumptions based on the knowledge we have on hand. Unfortunately, more often than not, those assumptions are false. And the resulting feelings, emotions, and actions which are taken as a result of those assumptions can harm the community.
So what are some common ways in which assumptions can harm a community? There are many but we’ll look quickly at three examples.
An Assumption Can Harm A Reputation
First, an assumption can harm a reputation. You may not mean to harm someone’s reputation by making an assumption about them or their character, but what happens when you make an assumption based on false information or a mis-understanding can oftentimes result in someone’s reputation being damaged. There’s nothing worse than having to defend yourself against an accusation which is untrue or unfounded. And when that accusation is based on an assumption rather than truth or a fact, it makes defending yourself that much harder. In a community setting it may be easier to walk away then bother to defend yourself against a false accusation. Too many good community members are lost this way.
An Assumption Stirs up Strife
Secondly an assumption harms a community because it sows discord. When community members are assuming things about other community members they begin to distrust others. As the community, in essence, turns on itself, the community begins to fall apart. The trust, the common bond which has brought all these various individuals together begins to dissolve. And it dissolves because each person begins to distrust the other people. They begin to question motives and intents. They begin to distrust because of an assumption rather than a fact. If a community lacks trust in one another then there is no solid foundation on which to build a healthy community and a healthy team. Great communities rely on mutual respect and trust.
An Assumption Makes A Community Look Bad
Thirdly, a community can be hurt by assumptions because of the image it portrays to others outside the community. When others outside the community are witnessing the assumptions shared within a community they spread like wildfire. Before you know it others outside the community are also making assumptions and very quickly the entire situation escalates out of control. If someone outside the community hears a rumor or a story, especially if they know nothing about the community, they will usually assume the worst and then they will share that with someone else and person by person the story will spread. And the community suffers.
What are the best ways to avoid assumptions in a community?
There are ways to avoid assumptions in a community. These are a great place to start when you find yourself caught in a situation where you believe you may be involved in a rumor or an assumption which seems difficult to believe. If you find yourself questioning the validity of a story, follow these steps.
Open communication is first and foremost the fastest way to ensure assumptions are stopped. If you have questions or concerns about the motives or intents behind someone’s actions – ask them. As a community we should have that level of personal involvement with each other; that level of comfort which allows us to go to one another, share our thoughts, and ask for clarification. We’re working together. We’re fighting for a common cause. We’re seeking to accomplish a singular goal with a shared focus. If there are questions, comments, or concerns about that focus the fastest way to clear up confusion is direction and open communication.
If you hear a rumor its often better to go directly to the source and verify the information. This will keep you from continuing an assumption. This also helps to ensure the assumption stops quickly when they do form. Because its impossible to stop all assumptions, but at least we can minimize the damage. The idea here is not a public name-and-shame tactic which some people use. The idea of being direct involves a one-on-one personal conversation, much as you would have with a close friend. Because…we should be close friends. We are a community. We should have a real and personal relationship with one another. We are not enemies.
Too many people are scared of offending someone or intimidated by the possibility of conflict which may arise when speaking directly to an individual about a situation. But that fear will quickly turn into something larger, something far more damaging to the community. We must choose to work together. We must refuse to be afraid. We must choose to be brave. Assumptions have no place within a strong community and the faster we destroy assumptions when they begin to form the stronger our community will be.
August 20, 2014
On Community Excitement
Open source is a challenging and very interesting space to build a community. There’s a certain amount of excitement derived from being involved in something open source and available to all. There’s also a certain amount of confusion and if you’re not careful there’s a certain amount of conflict. But community excitement is different. It’s catching. It’s fun.
Conflict within a community is not always avoidable and being able to deal appropriately with conflict when it occurs shows the true strength of your community. I’ve written before on effective conflict resolution within a community so I’m not going to repeat any of that advice here but I would rather like to talk about the excitement of working in open source and some of the benefits you’ll experience from life in the engine room of an open source community.
You Learn (a lot)
You’ll learn so many things by being involved in an open source community. You’ll learn more about how to work with other people and share your toys, you’ll learn how to listen to others, you’ll learn how to be successful, you’ll learn more about yourself. And these are just a few ways in which open source communities will help you learn. In case you question the value of continuous learning I’ll drop a quote from a rather famous individual all will recognize and most will respect.
“Live as if you were to die tomorrow. Learn as if you were to live forever.”
– Mahatma Gandhi
There is (or should be) no doubt about the power of learning and the benefits of continuing to grow in your learning throughout your life.
You Meet People (a lot)
Now I know you could say the “a lot” part of this section is debatable depending on the size of the community but think about a community of one (yourself) now every other community means you’ll meet a lot of people. And when you meet a lot of people you will find those things you have in common with them. Meeting people, sharing common interests, common likes is yet another benefit from being involved in open source. This in itself is a learning experience as you cross cultural and geographical borders in a common setting.
You have to be able to meet people and greet people. For some this involves coming out of your comfort zone. For others this is second nature, you enjoy the attention and being in the middle of the conversation. Either way you must be friendly, smile and be personable.
“We’re all working together; that’s the secret.”
– Sam Walton
You See Change (a lot)
So my last quick point on exciting things you see by getting in deep within the engine room of a community and become involved with the inner workings and day-to-day aspects of an open source community is related to change. I think a lot hinges on this particular point. If you are deep in a community where there is an aversion to change of any kind and things fail to grow you’ll see a loss of excitement, interest, and motivation. You’ll find stagnation and eventual death. To be honest…that’s not exciting.
“To improve is to change; to be perfect is to change often.”
– Winston Churchill
But if you’re in a thriving community you’ll find all types of excitement and growth. There’s little changes happening all the time. Nothing is perfect and there are always ways in which things can be improved and made better. These micro-changes are what keep the excitement level up and make the entire community long-term successful.
Sometimes the changes aren’t micro-changes but macro-changes. Large and sweeping change, sometimes even a pivot is what becomes necessary to make the community a long-term success.
Working in a community is fun. Working deep in the engine room of a community is an incredible rush. It’s a different level of excitement all together. If you have not yet experienced the deeply satisfying experience of working within a community don’t wait. Start today. Find an open source community which you enjoy and dive deep. You’ll find (a lot) of exciting new things and ways in which you will enrich your life.
August 19, 2014
Open Source Project Update (Top Secret)
For those of you who have been following my blog and have seen my previous post about what I’m so ecstatically working on then this post will serve as a bit of a status update. If you are curious about what I’m talking about then I suggest reading back on my previous post. I admit I was slightly abstruse in my previous post. I’ll clear some of that up with this article…I hope. Here’s more information on this revolutionary new open source project (soon to be released).
What’s in a name?
I guess the first thing which would be important to share is the name of this super top-secret project. I’m excited to announce this new open source software will hereby and forever more be known as Mautic. Now before you go trying to figure out what it means let me save you the time and let you know you won’t find much. We developed a name which held the meaning, the essence, of what we were creating and are thrilled with the result. So what is the essence of the platform being created? That’s the next exciting question I get to answer.
What is Mautic?
Mautic is a free and open source marketing automation platform. That’s right, completely free and completely open source. No strings attached. After seeing this completely closed-source dominated market space and how severely it impacts the lives and successes of hundreds of thousands (millions even?) of small and medium-sized businesses which simply cannot afford the extravagant monthly costs of existing software-as-a-service only solutions we knew there was a problem. Mautic is set to fix that problem. We’re disrupting the space and introducing the power of open source to marketing automation in much the same way the CMS landscape was forever changed by the release of three powerhouse open source systems (Drupal, Joomla, WordPress) back in 2004-2005.
We are excited to be the catalyst for this movement and help grow the community around this project. The simple bottom-line answer – Mautic is a game changer.
The First Big Decision
One of the very first big decisions we needed to make was in regards to our logo which would represent us. We went through a very, very detailed process which if others are interested in the psychology behind the final selection or are interested in hearing more about the process involved with defining a brand image then definitely let me know. I’d love to share (as I said this platform truly is something the community can rally around) but I certainly don’t want to waste anyone’s time with “the details”. Needless to say a lot of time, effort and community feedback was involved in this process of selecting the most appropriate logo. And so I’m excited to announce and share the version which will represent the Mautic brand.
Without any further ado. Here is the shiny new logo for Mautic the free and open source marketing automation platform.
August 18, 2014
Why Do You Use Open Source?
I’ve been thinking about this post for a little while. I wanted to make sure I gave the right message and asked the right questions. I think I have a few key questions now that I’d like to present. There are of course other reasons, everyone is unique and we can certainly have vastly different reasons for contributing (or using) open source. My main question is semi-rhetorical-Why do you use open source?
There are of course a number of reasons to use open source and as I mentioned in my opening paragraph it would be foolish to think I could cover all of them in a simple blog post but I’m going to list a few and I’d like you to use them as starting points to decide why you use open source and if it makes the most sense to continue using open source for your needs.
Reason 1: Belief in a goal
The first reason many people get into open source is for a deep-seated belief in a goal. I’ve written previously about what makes a strong community and why a shared set of goals and a vision is a powerful motivator. Does that require the product or community to be open source? Remember, I’m asking just questions I’d like you to consider and think through your reasonings. Can you accomplish the goals you want without being open source? Is there a reason you selected open source to accomplish what you want?
Reason 2: Make the big bucks
Second reason for choosing open source. You want to make the big money. You want to find yourself ridiculously wealthy and open source sounds like a hot buzz word that would be a great niche market to make your fortune. Is this a valid reason for choosing open source? Certainly there are open source companies which have done exceptionally well (obligatory link to the RedHat model). However, there are dissenters who strongly disagree with this model. Did you choose open source because of the money? Was open source created by companies looking to maximize profitability?
Reason 3: Share the joy
The third reason I’ll list why you might choose open source is because you like to share in something fun. Maybe you like to have a good time and enjoy hanging out with friends and having a laugh. Open source communities are a great way to meet people and just ‘hang out’ but I’d ask the same question as before. Does it have to be open source to do that? Can you have the same amount of fun outside of open source? Sharing is more unusual in a business environment but sharing fun is still something you do with your friends outside of work. Of course open source is all about sharing…but is it all about fun? Is this the reason you chose open source?
Reason 4: Leave a legacy
Maybe you chose open source because you want to leave a legacy. You want to be legendary and you believe open source is the only way to do that. Obviously that’s a bit tongue in cheek as there are many ways to leave a legacy without working in open source code. Right? A quick look at history will yield the truth about the true legends of our time. Does open source offer the only way to be legendary? Does it offer any way to leave a legacy? Be sure your focus in right when considering your motives and reasons for wanting to leave a legacy.
Of course there are many, many good reasons for using open source. I will list a handful of them in a future article but for this particular post I simply want to ask you why you chose open source? What do you want to accomplish? What motivates and drives you to work with open source.
Where to start
The best place to start is understanding your “why”. This point is key. If you aren’t sure then watch this clip from Simon Sinek. It’s absolutely worth your time.
August 8, 2014
Sharing Your Toys
It’s one of the most basic lessons we teach our children when they’re young. The idea of sharing their toys with others. We try to instill in them the values of giving up control or playing alongside others and finding joy in a shared toy. We recognize the importance of this idea and we work hard to impress it on our young kids understanding of the world.
But then something happens. Somewhere along the way they grow up and turn into adults where a different mindset takes precedence. Corporate secrets, intellectual property, and maintaining an edge of others. Where along the way did we seemingly forget those values our parents worked so hard to instill in us?
Open source is the exception to the rule
There is one model which does continue to prove the importance and value of sharing. It’s the open source way. Open source believes in the core values we were taught as children and shown to be the ‘better way’ to live. Here’s 3 quick areas that open source demonstrates a better way.
Open source encourages sharing
This one is fundamental. If we look at the four software freedoms we can see very clearly how important the concept of sharing is. To clarify, obviously these four freedoms are not a part of all open source, but do hold value as a reference when thinking through the concept of sharing.
The Four Freedoms
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3).
Of course sharing might be called other things, like distributing, or re-distributing, but the principle is the same basic principle we were taught as kids. Sharing is important for adults for the same reason its important to our children when we teach them the value of sharing. The concept of being unselfish and giving something of ours for the good of someone else.
Side note: One thing I love to see shared in open source is knowledge. It’s great to see knowledge shared and open source provides a fantastic way for people to do that. It’s the whole “teach a man to fish” principle. Sharing knowledge empowers others. Sharing your knowledge is one of the greatest gifts you can give to someone else.
Open source encourages working together
Open source not only encourages sharing of resources, and knowledge but it inevitably leads to sharing time. And when we share time we begin working together. Open source encourages collaboration and teamwork. The importance of teams should not be overlooked. When we work together we se an exponential increase in accomplishments. Something said inspires a different line of thought. Groups working together see greater success at a faster pace. Recently I saw an article about the strength of open source involving the ability to “try” a lot of possible solutions quickly.
When we work together in open source we accomplish more (and quite honestly have more fun in the process). Playing together was always a part of a kid’s childhood (even for the introvert).
Open source encourages thinking bigger
When we share with open source we encourage people to make changes, to grow, and to improve both themselves and the project they are working on. By working with open source and by sharing open source the result is new ideas come to the surface, bigger ideas. No longer are we tied to the innovation of a single person where we all work within our own silos and do things on our own, when we share our knowledge and share our resources we enable each other to build on the successes of others and build bigger, higher, and greater solutions. When we shared our toys as kids we were forced to realize there were other toys to play with, there was the opportunity to play together, and there was always the chance that we’d discover something better.
Open source sharing encourages us to reach beyond our comfort zone and think bigger.
So the next time you’re in a situation where you are encouraging a child to share, take a minute to think about your job and the ways in which you are able to continue practicing the idea of sharing. Do you have an open source community where you can volunteer some of your time? Do you have a way you can share your knowledge or your skills? If you don’t already then I encourage you to find one. Share your toys. It’s the open source way.
August 6, 2014
Teams are Awesome
There’s no doubt about it. Working together, working in a team is an awesome experience. Before you go thinking I’m incorrectly using a word in a modern sense let’s define the term.
Awesome: extremely impressive or daunting; inspiring great admiration, apprehension, or fear.
Awesome is a great word which perhaps is too casually thrown around these days. The idea of something being awesome means more than “cool”. We’re not talking about TMNT kind of awesome. I believe teams are awesome in the extremely impressive and inspiring great admiration sense of the word. Here’s 10 reasons why I believe teams inspire great admiration.
1. Teams Share The Workload
Teams are a great way to share work among many people. A team helps to ensure no single individual holds too great a weight on their shoulders. The work becomes far more manageable when shared. There’s the old saying,
“Many hands make light work.”
This is definitely a truism. When a team of individuals work together and properly delegate tasks to different team members they are able to make hard things easy. Sharing the workload means nothing is left to much on any one person.
2. Teams Provide Alternative Views
I know speaking personally that I have opinions and views on how things should be done and the best way to do things. I base these opinions on my own personal history and life experiences. Other people similarly have their opinions formed by their past. Working in a team provides a chance to evaluate alternative views and determine the best course of action for accomplishing your goals.
3. Teams Hold More Talent
I know some incredibly talented people. I’m blown away with their skills and abilities. Some of them are able to do things I can only dream of doing. But they are only one person. Now consider putting several of these crazy-skilled people together in a team. The combined talent is exponentially greater. A good team nurtures each individual to strive for greatness and push their talents to the limit. Joining these individuals together in a team means the overall talent level is ridiculously more than a single individual.
4. Teams Encourage
There have been plenty of times when I’ve been discouraged. Working alone, coding at night by the light of my computer screen and getting stuck on a bug when there is no one to turn to and ask for help is discouraging. Teams provide a way to encourage each other when feeling beaten. It’s not even necessary for the team to solve the problem or come up with an answer. It’s enough for a good team to simple be available to offer encouragement and support.
5. Teams Spread the Word
I’m only one person, I can only share information so far. My sphere of influence extends to a certain size and that’s the extent to which I can spread the word. A team on the other hand applies a multiplier to that concept. Spheres of influence expand much much farther when a team of people work together to spread the word. Teams influence far more people.
6. Teams Run Longer
It’s a fact of life. Everyone sleeps. Some of us may sleep less (far less) than average…but we still need sleep. We experience setbacks, frustrations, and other unexpected life situations. Each of those interruptions takes us away from what we are working on. In a team these disruptions are minimized because someone else can be there to carry the torch. Teams support each other and like a relay race they can go much further than an individual.
7. Teams Conquer Challenges
If you’ve ever tried to move a piano you know it’s nearly impossible to do so on your own (or at least it’s impossible for me). But I know if I gather a team of friends we can conquer the challenge. Similar to the first point of sharing the load a team can also conquer big things by working together. Obstacles too large for a single individual to overcome can be moved with enough team effort.
8. Teams Create Great Things
More than just moving obstacles though teams are able to create great things. There’s only a limited amount of things I can do by myself but when a team of people share the vision and work together they can accomplish much much more. A team is how you build something which will withstand the test of time. Teams do more than just create great things; they also inspire greatness.
9. Teams Value Individuals
My last sentence from the previous point carries nicely over to this one. Teams create great things but even more so they inspire greatness in others. Those individuals who are a part of the team grow personally and take pride in the accomplishments, in the greatness of the team. A good team recognizes the strengths and weaknesses of the individual team members and appreciates what each brings to the group. Teams value the individual skills of each person.
10. Teams Build Relationships
This is an amazing side effect of a team atmosphere. As you work through challenges, as you share work and live in the trenches you begin to build relationships, bonds with one another on the team. These bonds reach far beyond the tasks for the team. These friendships forged through fire (problems in the project) are the lasting kind of relationships. You will find you’re no longer alone. The unexpected and great side effect of a team is the personal growth you’ll experience.
With those 10 points I think it’s quite easy to say. Teams are awesome. Teams inspire great admiration and they are without a doubt extremely impressive.
The next time you are contemplating how to get something done or feeling overwhelmed; stop and consider the benefits of building a team to help you do more. There’s something exciting about building a team and getting started. Don’t go at it alone. Build a team. Be awesome.
August 5, 2014
The Open Source Armchair Quarterback
Everyone laughs at the guy sitting back in his chair and coaching the team on the television. Regardless of the sport there’s always those individuals who think they can do it better. They see a better passing opportunity, or they imagine a smarter way to score. Those around them laugh at the obvious inability of their friend to actually accomplish the great boasts he makes. And to be fair, when seriously questioned he admits he would be incapable of performing at the same level as the pro athlete on the field. But this doesn’t stop him from continuing his boasting.
Interestingly I see this same characteristic found in some open source communities. There’s a temptation to sit back and critique those actually doing the work. It can sometimes be easier to simply point out the flaws and ways in which things could be done differently or better. Sadly sometimes these community members fail to see the same faults which befall the armchair quarterback. They neglect to acknowledge the truth regarding the work and the difficulty involved. I’d like to provide 4 quick and simple ways to encourage the armchair quarterback in an open source community to do more.
1. Get Active
The first way is simple. Just get active. Get off the chair, get involved in a team, find some way in which you can actively become a part of the open source community. And no, before you ask, merely discussing a topic on Twitter, Facebook, or other social media is not being active. To be active means to get your hands dirty doing the work. I recognize the importance of discussion however when talking is the only contribution it is a poor substitute for actually being involved. Talking provides a false sense of activity by allowing the talker to console themselves with the fact they are contributing an opinion and thus have done their part.
I understand we all have different abilities and skills. I don’t expect everyone to be active in the same way, however, I would suggest that being active involves doing more than merely debating an opinion. Talking only helps so much without actions to back them up. If you see a need determine how you can fill it. Be active in doing.
2. Give Advice When Asked
This one is often the most easily abused. It follows a bit in line with the first point and also relates directly to the armchair quarterback. The ones doing the work may or may not have asked for your opinion. In those cases where they are busy accomplishing something your advice from the comfort of your chair can easily be misconstrued, or simply be unwelcome. It is much easier to be able to offer advice if you are busy working alongside them. The pro athlete listens to their teammate. The people in the trenches with them, not the person sitting in the stands or worse at home yelling at their television.
Rather than shouting (or tweeting) your advice without provocation if you choose not to get active the second best thing is to hold your advice until there is the right opportunity. Give advice when asked or when general discussion is held. You’ll find a much better reception to your words when you offer your words of wisdom at the appropriate time and place.
3. Gather Information First
One of the worst things you can do is make assumptions without knowing all the facts. Those armchair quarterbacks believe they know the best way to do things. They see the perfect pass, the perfect score. They don’t stop to think perhaps they don’t have all the information necessary. It’s often the same in communities. Speak too quickly and without all the information and you risk looking foolish because you made wrong assumptions about the situation. Don’t guess at meanings, or assume intent.
In open source communities especially I believe it is important to assume the best rather than the worst. This involves believing others are working for the good of the community. Gathering information and facts first will help you be sure you speak with knowledge.
4. Go The Extra Mile
The final way in which the armchair quarterback can become a valuable part of the community is through going the extra mile. By going the extra mile I mean getting involved, believing in the team, and looking for ways to do more. By becoming involved in a community and becoming a member of the team you are able to do more and gain so much beyond merely a task completed.
Going the extra mile can be difficult and involves dedication and commitment. This last way is probably the hardest as it requires time. Time is such a valuable commodity and yet one of the best ways to demonstrate your heart and your intentions.
It’s simple really. If you want to truly be more than an armchair quarterback. If you want to show yourself to be a true part of the community and be of value to a project where you can be a part of a team, these four ways will help you get started. I love the feeling of having friends working beside me. Together we can build great things and overcome remarkable obstacles. I’d love to have you join me in one of the fantastic open source communities I have the privilege to work. Got questions? Ready to get started? Message me. Let’s do this thing!
July 30, 2014
Why I Love Open Source (Reason 1)
The conversation rages on, discussion and debate abound, individuals pick fights and people take sides. The community becomes embroiled in each minor change and pick up the banner for the underdog regardless of the logic or lack of evidence supporting a claim. At times it feels almost ludicrous. How could such animosity, such anger and personal feelings be so openly shown within a community? I believe the reason is simple and it is one of the reasons why I love open source.
Reason 1: Open source is full of passion.
Why can so much drama be found in open source communities? (Love the logo there BTW). I believe the answer is a single word. Individuals in open source communities hold a character quality which cannot be bought, sold, forced, or enforced. These volunteers have passion. They believe in what the community stands for and they believe in the power of their voice to improve it. They love the efforts being made and they love the goals the community is trying to accomplish.
At times this passion is difficult to control. Moderating oneself on discussions which matter to them regarding something they feel so strongly for is difficult (impossible?). But this passion, this desire to be a part of the discussion and the community is indeed one of the reasons why I love open source. Let me give you a few examples.
Passion implies dedication
At times it can certainly feel discouraging when there is debate and discussion on every point. In fact, if talking is the extent of every decision then indeed the community will fail. Action must be taken to implement change, to make progress, and to improve. This can be easily lost in discussions and debates. It’s much easier to talk about something than to actually do something. I challenge you now – do something!
That was a freebie ‘aside’. Whenever you get to feeling discouraged or frustrated with these frequent examples of passion (through the form of debate or argument) remind yourself of this simple fact. This level of dedication often occurs because the individual is passionate about what you’re doing and what they believe holds value. If they didn’t-they would leave. (I know at times that seems hard to believe.) The next time you feel like someone is arguing just for the sake of arguing keep this point in mind.
Passion demonstrates attention
When someone can post a comment or create an issue and immediately generate multiple responses this tells me there is a certain amount of attention being demonstrated within the community. Individuals who are showing attention to everything occurring within the community hold a passion about the community. They care. Sounds crazy when you read responses and replies but the bottom line is clear. If they didn’t care they would find another community.
Open source communities frequently rely on the volunteers to contribute time and attention without renumeration (no pay). When a community has a significant number of individuals demonstrating such a high level of attention to details and minor discussions it shows a passion for the community. There is little financial gain for these volunteers but they value the community and its future enough to give it their attention.
Passion shows life
The last thing I use to remind myself when feeling discouraged with the seeming endless debates found in open source communities is the fact that without this debate, without this passion, there would be no community involvement. The very presence of these discussions demonstrates the life of the project and the community which holds them. Each open source community I am involved with seems to hold some level of these discussions and arguments. Each also can be overwhelming at times. But if everything was quiet in the community there would be cause for concern as well.
Bookmark this post!
The next time you are feeling discouraged or frustrated with your community for some reason use this post to remind yourself of the value of the passion which drives your community. Passion in open source communities is an invaluable asset. You won’t find the same type of passion anywhere else. This is one of the reasons why I love open source so much. Open source communities are unique and wonderful.
So take a deep breath and focus on the positive aspects. Then, with a clear mind and a cool head, dive in and make a difference yourself.
Above all, don’t let the passion end in a debate or fall into the trap of endless discussion. Break the cycle, contribute more. Get up, get involved, roll up your sleeves and do something. No matter how small, no matter how seemingly insignificant. Just do.
July 25, 2014
Community Building 101
One of the most common topics I speak on and work with on almost a daily basis is the topic of community building. How does an organization create, maintain, or grow a community? The topic is an interesting one and often a difficult one. Each community environment is different and unique and requires a thoughtful and focused plan to help nurture and grow from nothing into a powerful, strong, and successful community. The job of community building lies not with one person but with a group of people. Here are a few tips to get you started.
Start With A Team
I hinted at the first tip in my introduction. Quite simply the job of community building is not a one person job. In order to build a strong vibrant community you will want to make sure you have a small group of dedicated individuals who share a similar goal and objective. Of course understanding the meaning of a community and the purpose behind a community it should be relatively easily to find a group of individuals sharing a set of goals. If you can’t organize even a few people then perhaps you need to step back and re-evaluate those goals. Make sure you’re forming your community around the right thing. This dovetails nicely with the second tip.
Identify Your Nucleus
In order to successfully build a community you need to provide a nucleus which the community will be able to grow out from. This can be an ideal, a goal, a dream, or something more. The important thing is to have something which serves as the central focus for your community. Work with your team (mentioned above) to identify what your nucleus is and how you want to focus on your central reason for starting a community. This nucleus is vital as it serves as the anchor to which you can always return to as a community as you grow (or shrink).
Create A Catalyst
The next thing you’ll want to do as you build your community is to create a catalyst. Find the thing which will cause your team and those individuals beginning to form around the nucleus to grow. Create an ecosystem where growth is inevitable. Of course there is only so much you and your initial team can do but there are certainly ways in which you can be the catalyst for growth. If you have identified your core values and goals and people begin to join in your community it’s important to give them the encouragement they need to grow. Think of the catalyst as the way in which you light the fire inside each volunteer to become more involved and to get others involved as well.
Define A Culture
The last tip I’ll mention in this post is to properly begin defining your culture. Don’t believe the culture will create itself and automatically appear simply because you’ve begun growing your community. The culture of a community takes thought, planning, and nurturing. You will want to create a culture which reflects your core values; the goals upon which you’ve begun building a community. It’s never too early to begin planning this piece. Community building means planning ahead. Plan for the success you’ll see and be ready to grow at an exponential pace. Having your culture defined and clear for everyone to feel at home and part of the community.
These are just a few tips to get you started in the job of community building. Being a community manager often feels as though the weight of the community is on your shoulders. The reality is a good community manager recognizes it’s not the job of an individual but is a part of everyone’s role in the community. Community building takes time, effort, and thought.
I love the role of community manager because I get to be the enabler. I’m the vocal volunteer encouraging others to get involved. In some ways the community manager is the tangible result of a good catalyst. I get to share the spark with others and fan the flame of the community to encourage others to become a part. Based on my experiences I may share more ideas directly related to the role of the community manager-and I may also share my reasoning why I think the title is wrong.
Community Building is Fun
Building a community is incredibly fun and is an opportunity to reach out to others, make new friends, grow common interests, and be a part of something. I’ve got a million more ideas on community building…not because I’m an expert, more from my own failures than anything else. I’ll probably share more in future posts. I may get into specifics on ways you can help communities grow. Got ideas? I want to hear them. Let’s share our knowledge and improve each other’s understanding.
July 16, 2014
4 Survival Tactics for Your Open Source Project
It finally happened. You developed a killer app. You spent months agonizing over every decision in getting the application to market and you’ve worked incredibly hard to create a cutting-edge technological marvel which blows away everything else on the web. You focused on all the right metrics, the user experience is beautiful and the community is thriving. (Yep, it’s open source). You feel on top of the world, and it’s exciting.
Don’t get left behind
Before you know it, in a blink of an eye, the year(s) flew by and now you’re standing looking back over a long history of product releases. You’ve pushed new versions and sure you’ve updated things along the way. Your community has seen better days but it’s still strong and still somewhat active. This is the day you failed to plan for. The day which sneaks up on you and you never saw it coming. Sure, you had lulls and there were times when activity slowed down in the project. Every project has those moments right? You told yourself it was just a fleeting rare occurrence and nothing more serious. Now you sit looking around at the dust and rubble left behind and wonder what the future holds. How could you have prevented this outcome? Here are 4 quick ways to ensure your open source project stays relevant and you don’t get left behind.
1. Be Aware
The first step to ensuring you don’t get left behind when it comes to your project in the world of technology involves staying aware of what’s happening around you. Don’t be so caught up in your own world and your own drama that you fail to see the bigger picture. Keep track of current trends, what others are doing and how they are changing the technology scene where you work. Subscribe to your main competitors’ newsletters or mailing lists. Watch what improvements and modifications they are making. Be aware of your surroundings. This is the first tip of good survival tactics for your open source project.
2. Be Accessible
Accessibility is always a hot topic and an important one. The concept of accessibility typically takes two main paths when discussed in relation to an open source project. First, you should want to make sure your product is accessible and available for everyone to use. This is almost a given these days and most open source projects spend significant time ensuring they are accessible for all.
The second path that accessibility takes is the openness and accessibility of the project to new volunteers. How easy is it for someone to contribute and be a part? Does your project do more than just “say” they encourage new volunteers? How is this demonstrated? What is the on-boarding process for a new volunteer and how easy is it for them to not only be involved but see something accomplished? You must be accessible (and prove it) in order to stay relevant and survive.
3. Be Active
The idea of staying active is deceptively simple. Here’s why being active is so difficult. Active is different from busy. Busy is the false pretense of doing something to look as though you are active. Busy is a creative way to waste time. If that’s the case, how do you determine the difference between busy and active? You can quickly tell by the results. Do you have results to show for your time? If you can point to improvements and updates and ways in which your open source project has grown as a result then you have been active in the right sense of the word.
Active involves the idea of being aware as well since they are very closely tied together. If you are aware of something but do nothing about it then the awareness provides no benefit. Once you are aware of something and you make the conscious effort to do something about it. To be active with what you know then both the step of being aware and the step of being active work together for the benefit of your project.
4. Be Accepting
This fourth and final (for this article) step in your survival tactics involve the idea of being accepting. Accepting is an interesting word. It sounds passive and yet here it’s used in a very aggressive sense. You could think of this acceptance as an active desire to change where needed. Change is tricky. I’ve spoken about it before on several occasions. Some individuals are very risk averse and avoid change simply out of fear of the unknown. Survival requires the acceptance of change and the ability to deal with changes.
Accepting also can be considered accepting of other individuals within your open source project. Having a culture which accepts differences of opinions and ideas and deals effectively with differences when they occur is quite important to an open source communities chances for survival. As your open source community grows it will need to be capable of growing and accepting others. The ideas, the code, the questions, and the fears of others must be faced as an opportunity to grow and (when necessary) change.
You Can Survive
These are four survival tactics which you can and should employ in your open source project to ensure you don’t get left in the dust. There are other tactics as well but master these four and you’ll be well on your way to staying relevant, vibrant, and growing within the ever-changing landscape of today’s world.
July 11, 2014
The Future of Open Source
I was recently involved in a discussion where the topic of open source came up. The comment was made that open source has become quite ubiquitous in the world and the concept of open source was no longer novel or unique. In fact open source has become pretty much the “norm” or the standard by which technology projects are created. So with that base in mind, what does the open source of tomorrow look like?
Disclaimer: Please keep in mind what follows are my own thoughts only. You may completely disagree. I may be entirely wrong about what tomorrow’s open source holds and how the future of open source looks. These are only my thoughts based on my opinions.
Today’s Open Source
I think when we explore what open source has done for technology in general we see some interesting points and some great success stories. Everyone is familiar with the success of major corporations like Linux, which has now proven its dominance as an operating system (I refer to server dominance – they still struggle with implementations for the end user). We’ve seen countless companies (and governments) attempt to integrate open source deeply throughout their products. And we’ve seen millions of smaller projects employ open source and publish their code on popular social sites like GitHub or BitBucket. That’s now.
Tomorrow’s open source continues on this basis but expands it even more. And it’s already begun. Here’s a few things I think we’ll see in the future of open source.
Open Source Will Go Beyond Technology
This idea of going beyond technology has already begun to occur. We’ve seen articles about companies involved in open source farming, open source healthcare, and many other areas of life. The concept that open source refers to merely the code behind a particular software project is yesterday’s thinking. Looking forward at what tomorrow holds we see a world where open source permeates every aspect of life.
The benefits to this saturation are numerous. We’ll see advancements in our scientific research. We’ll experience faster innovation in the study and treatment of various health conditions. We’ll be capable of improving our planet by improving our understanding of nature and each other.
The idea of open source will continue to grow and expand beyond the current community of the technical and the engineers. More and more people will be familiar with the term open source, but the idea will be vastly different then what it means today.
Open Source Projects Will Be Blended
In the future of open source the projects built on open source will begin to be blended. We’ll see a sharing of open source information cross-pollinate between various aspects of life much more so then is evident today. If we look at a small subset of open source available today we notice the efforts of communities to make their open source product not only available to everyone but interoperable with others as well.
The communities want to work together and interchange bits of open source systems to allow people to create what they want to see without being reliant on any one open source project. As mentioned, the majority of open source today is code-based. Developers share their code through online social networks and encourage others to use it. They work to make their code generic enough that it can be used with other open source code as well.
In the future this sharing and blending continues to become more of a priority. In the future open source will lose the heavy “tech” feel and be found everywhere in the world and as that encompassing occurs the new cutting-edge will be seamless interaction between different systems. The future of open source will be the sharing of knowledge and concepts.
Open Source Will Be Simplified
The next logical step for open source to take is a simplification. As those individuals push the limits of blending open source across platforms the need for a standard or simplified base will become more and more a priority. Open source projects will seek ways to increase the ease with which they can be blended and integrated with each other and through this process the concept of open source will be simplified and standardized.
The simplification of open source will increase the number of individuals who can work with open source. Currently open source is somewhat limited to technology. As such the more technical-minded of the world are leading the charge and creating things with open source. In the future this balance begins to shift.
Tomorrow’s open source is everywhere, in everything, and simple enough for everyone to be a creator rather than just a consumer. The world will become more open as more people are empowered to put their imaginations to work in creating something new. Because they can.
Open Source Continues.
The future of open source is somewhat of a mystery. I admit the ideas above are perhaps more of the immediate future than a long-term vision. (Maybe I’ll share other revelations later). One thing is clear. Open source has proven its dominance and will continue to impact our lives in more and more ways. The benefits of open source will continue to grow and the use of open source will be far more widespread.The future of open source is the future of our world, and it’s exciting.
Do you have ideas about the future of open source? Tweet me, I’d love to hear them! Let’s share knowledge, let’s promote open source, it’s our future.
July 10, 2014
Introducing Something New To Open Source
Open source software is the future of our world. The power of the community has been clearly demonstrated and the opportunity to provide equality to businesses of all sizes has been shown. I’d like to share my latest endeavors with you and encourage you to join me.
Too often businesses are forced in to situations which limits their opportunity and their ability to succeed. Small businesses account for over 65% of all new jobs and more than 22.7 million small businesses existed (several years previous). Strikingly though of this dominant portion of the economy 80% average less than $50,000 in receipts. Small business is a struggle. More small businesses close than open each month and yet the struggle continues.
Small Business Confession
I’m part of a small business. I know firsthand the struggles faced and the challenges which exist in the day to day. One of the greatest concerns and frustrations I meet is the lack of strong software tools available for small businesses. This weighs on me heavily and I am deeply passionate about changing this perceived standard.
“All that is valuable in human society depends upon the opportunity for development accorded the individual.”
– Albert Einstein
What I Fight For
I’ve spent my entire professional life seeking ways to combat these issues and help other small businesses just like myself to succeed and find the resources they need to achieve their goals. Too many vertical markets exist where the only providers are large, closed corporations intent on maximizing their profits and focused solely on serving other businesses of their same size. The Fortune 500 helping the Fortune 500. No one is looking out for the little guy. The underdog. The up-and-comer.
Other Open Source Projects
Through the years I’ve been privileged to be a part of several open source projects and to create several open source tools aimed at providing an equal playing field for small businesses to compete at the same level as these large businesses. I’ve learned a lot. I’ve learned the importance of good support, the value in a community, and the opportunity for growth through conflicts.
Initiatives I’ve been fortunate to be involved in have released amazing Content Management software, Customer Relationship Management software, Project Management software, Live Chat Management software and others. Each of these software tools has been with the same goal. The empowering of small businesses. We’ve sought to reduce the ridiculous over-priced expense which previously had prohibited small businesses. But there’s still more to do. There are still more challenges to conquer and more ways to empower small businesses. Rest assured I will continue to be an active supporter and vocal contributor to each these open source projects.
Continuing To Grow
I am incredibly excited to share with you the next open source project I’ll be involved in. Myself along with several other close friends have identified a vertical market completely out-of-reach for many small businesses due to the exorbitant monthly costs. Monthly fees exceeding the entire gross revenue of approximately 75% of all U.S. small businesses. And yet a powerful piece of software which incredibly helps those businesses which can afford the service. This tool is revolutionary not just in the powerful, cutting-edge framework upon which its built but also in the disruption it brings to a previously closed market.
I look forward to sharing much more with you through my blog as we go about preparing tools. I’ll share the pain-points, the highs and the lows of beginning a new open source project and we’ll grow together as we begin to form a community. As we go if you have questions, ideas, or just general comments I welcome them. You can contact me directly through my email. The excitement is growing and the buzz is definitely starting to increase. I hope as things progress and I share different behind-the-scenes peeks you’ll start to feel the same enthusiasm that’s driving me!
Beginning a Community
Yes, I know I’m leaving things a bit in the dark at the moment but I promise more will come. I’ll share screenshots, ask for feedback, and just in general do everything I can to get you involved. I’m only one of the people involved in this very exciting effort. If you own, run, or work in a small business I hope you will become more and more involved as we go through this process. It’s never too early to become a part of this new open source community.
I believe in small businesses, equality, and community. I believe in open source.
June 25, 2014
The Beauty of Standardization
I could of course have just as easily written standardisation (to please the other half). The concept in question is not necessarily related to a particular language but rather to the idea of keeping everything looking the same. There is a certain beauty in organization and standardizing items. How does this standardization help make open source better?
A Personal Confession
First I’ll admit that I tend to exhibit some slight tendencies towards obsessive compulsive behavior. There is something inherently rewarding and satisfying in having things done neatly, cleanly and in order. I love standardization. I find myself to be much more ‘at ease’ and at peace with things when they have been organized to all “look the same” or at the very least to follow the same general pattern. But how does this relate to business? How do I apply this behavior of standardization to open source and what benefit does it offer? I believe there are several reasons why standardization and general organization can make your open source community more successful.
Standardization Saves Time
When everything is organized to be in its proper place and labeled the way it should be it becomes infinitely easier to locate what you’re looking for. If you’ve ever had to find an old client’s folder on your hard drive or network server you know exactly what I’m referring to. Do you store things by client name, by project name, by company name? If you don’t have any set standard for how every client and every project is stored it quickly becomes a mess.
What I Do
Our client folders at WebSpark all follow a very specific structure and directory tree. And yet its very simple. We have two main folders. We have an archive folder and an active folder. Active folder only contains current year projects. These projects live inside a folder named by the company for which the work is done. When the end of the year is reached these folders are moved into the archive (and merged into any existing company folders).
Having a strategy for how your folders are named makes it that much easier to look for Project X done for Company Y in Year Z. We know exactly where to look and the process becomes much faster…not to mention it looks much nicer also.
And before anyone says it – yes, I realize you can perform a hard drive search and find folders as well as files. However, I’m pretty confident having a neat and orderly directory tree will be faster over time as you get used to the structure. I’ve given you just one example of how we use a standardized structure, but if you’d like to see more just message me – I have tons of examples.Standardization saves you valuable time in your open source organization.
Standardization Simplifies Training
If you’ve ever had to show someone else how to get something done you know what I’m talking about. There’s nothing worse than trying to show how things work to an eager new co-worker and having to bounce all over in an attempt to explain why it looks like a complete chaotic mess. (See, we store only PDF’s that end in a Y in this folder because the server performs a reverse alphabetical look-up when displaying search results.)
Instead, if an open source environment has organization and structure and follows a standardized method then training becomes much more simple. Rather than attempting to explain some complex and convoluted exact use cases you can simply explain the methodology and standards followed. (It’s a bit of that teach a man to fish thing.)
Standardization Shows Thought
If you’ve ever walked into a room which has been neatly organized and everything is labeled, marked, and categorized you know what I mean. One of the first thoughts to cross my mind in those situations is “wow, this took some time.” When standardization is implemented and followed it demonstrates careful thoughtfulness. It shows an attention to detail and it shows the organizer has a plan.
Let’s turn that thinking towards an open source project. If you look to join a project as a volunteer and you want to be involved you start to look for how the “room” is arranged. Is it easy to find things, does there seem to be a method to how things are done? If there are clearly defined standards and procedures you are instantly more confident. Clearly an open source project with easy-to-follow standardization has put significant time and effort into being a successful project. Standardization in open source projects leads to success. Not by the standards alone, but by what those standards represent: care, thoughtfulness, and attention to the details.
Standardization Saves Lives
That sounds overly dramatic but allow me to give you a real life example. I am sure many of you are aware of or have at least seen the following sign. It exists around the world and at one point was the subject of an international meeting.
In 2008 an international committee met to discuss the need for an internationally recognized symbol and a universal AED sign to be used everywhere. This committee was looking to implement standardization. The result of that meeting is what we have here. An instantly recognizable symbol that will make saving lives easier. In the frantic moments of cardiac arrest being able to quickly locate and use an AED greatly increases the chances of successful resuscitation.
Open Source Applications
So I briefly touched on the open source aspect in one of the thoughts above, but in reality, every single one affects open source.
When dealing with an open source project, particularly one where the volunteers are not paid, time is of the utmost value. Every minute counts and if standards help to save valuable time then they increase the amount of contributions and the value of those contributions.
Open source communities with standardizations in place allows for existing volunteers to easily and quickly bring new contributors in because the training is simple. Standardization means you can take ten minutes and explain exactly how to contribute to an open source project and the new volunteer can then immediately do something.
Whenever I’m looking at open source projects and debating how much I want to be involved I look at the standardizations. For me this demonstrates how “thoughtful” the project and the community is. If things are standardized and processes are in place I feel more confident that my time and my efforts will be well spent because the project and community demonstrate a well-thought out plan. (Although I admit sometimes the chaotic projects allow me the opportunity to help create the standardization and the processes.)
Now you’ve heard the reasons why standardization is beautiful. Get out there, seek out the open source projects you’re involved with and see how organized the processes are. Implement standardization and improve the health of your community.
June 19, 2014
The Role of Trust in Open Source
I still remember the first time my parents deemed me old enough to stay at home by myself. I felt an incredible feeling of power and responsibility. I also felt strangely free. I could do just about anything I wanted and I had the entire house to myself. Of course my parents had only run to the store and would be back in only a few minutes but for those few minutes I was master of my domain. My parents left me alone because they trusted me. They trusted me to not get in trouble and to not burn the house down! So what does trust look like in open source and how does that trust effect volunteers and contributors?
I still remember the first time my parents deemed me old enough to stay at home by myself. I felt an incredible feeling of power and responsibility. I also felt strangely free. I could do just about anything I wanted and I had the entire house to myself. Of course my parents had only run to the store and would be back in only a few minutes but for those few minutes I was master of my domain. My parents left me alone because they trusted me. They trusted me to not get in trouble and to not burn the house down! So what does trust look like in open source and how does that trust effect volunteers and contributors?
Trust Can Be Scary
Just as with everything there are two sides to every story. As a young boy staying home alone I may have been scared (a bit) by the prospect of being left alone and the weight of the responsibilities which came along. But fear was probably not that big of an actual issue for me. Fear can be a powerful motivator and most likely encouraged me to act even more responsibly. The experience wasn’t necessarily a scary one for me.
For my parents however, this was an incredibly scary moment. They were leaving everything they owned to a child. A complete and total novice who lacked experience and the years of wisdom they already held. They had to place their trust in someone else who they clearly knew to be not as mature as themselves. Trust for them was a very scary and intimidating thing.
Open source communities live and die on trust. For the most part open source communities consist of two types of people. Those who have been “around the block” and have worked in the community enough to have experience and those who are the “newbies” or the newcomers who have yet to demonstrate their expertise in the community. These two personalities mimic very much the dynamics of the relationship I had with my parents when they let me alone for the first time. The seasoned community contributor at some point must place trust in the younger, less-experienced volunteer. This can be an intimidating and scary step. Many things could go wrong (and they might). But the very act of placing trust in another person demonstrates their value to the community. And it must be done for the open source community to continue to grow and expand.
Trust Takes Time
My parents didn’t wake up one morning and just walk out the door tossing me the keys as they left. Their trust was based on watching me grow and mature over years of lessons learned and time spent interacting with them and others. They watched me handle situations and problems and used that knowledge as part of their foundation of trust.
Obviously in open source we’re not waiting years before trusting people. But the principle is still a valid one. We must take time to get to know others. Open source volunteers need to interact with one another. When we take the time to learn more about someone we build a strong foundation for trusting them with more responsibilities. Trust in open source requires a community of people interested in learning from each other.
Trust doesn’t happen overnight (usually). And it doesn’t happen without work. New volunteers must work on building their reputation by doing little tasks “around the house” and taking on responsibilities which will allow the older contributors the opportunity to watch how they handle situations and problems. These little things are the foundation which trust can be built on.
Trust Empowers Open Source
I mentioned it earlier but when my parents left me alone I felt an incredible sense of freedom and responsibility. I was “king”. Did I do anything crazy? Absolutely not. I knew if I blew it I would be waiting a significantly longer time before being given another opportunity. And yet I felt incredibly empowered. I could make the decisions and run the show.
Both of the previous points can be applied mostly to the parent, or the older volunteer, this point however is very firmly affixed to the new contributor. Here is the opportunity to allow them to show what they can do. New contributors are empowered to contribute to open source because of trust. Once they have this responsibility given to them the power is shared. The community is strengthened. And the cycle continues.
Open source communities are completely empowered by the trust that exists inherently in their volunteers. Without trust the entire intricate network of relationships and people dissolves. I mentioned in a previous post, people are the true value of open source, and if the bond of trust between those people falters the entire network of relationships and ultimately the community fails.
Trust Breeds Success
But rather than looking at the negative side of lack of trust I prefer to look at the positives when trust is placed correctly. When a community of volunteers effectively follows this pattern of placing trust in newcomers, giving them responsibility and decision-making opportunities they encourage growth – personal growth and community growth.
The new volunteers who demonstrate their maturity and responsibility when trust is placed in them will then in turn grow into the seasoned volunteer and will look for other people they can nurture and place their trust. As I said before it’s a cycle. This cycle when followed correctly encourages growth by its very nature. The community grows and even more importantly – the relationships that underpin the community grow. And that’s what open source is all about, people and relationships.
Trust is the bond of a good relationship. Open source is valuable because of the people and trust is what holds those people together. Therefore trust is the bond of open source.
June 8, 2014
Joomla: Your Next Investment
For those who were unable to attend J And Beyond this year in Königstein, Germany I have written a post in regards to the talk I delivered as the closing keynote. If you were unable to attend I hope you’ll take a moment to read the below talk and stop to think about where your time is being spent.
My topic focuses on looking forward. The focus for this year’s J And Beyond has been Investing in Our Future. A great slogan and I think one which has been well represented in these past three days. The concept of investing typically carries with it the idea of continuing to do so. Most investments are not something done once and only once. This means the very act of investing in our future should be continued. We simply can’t end this event, return to our various homes and businesses, and forget what we’ve learned and accomplished here. So, I’d like to help you keep thinking about investing and keeping this passion alive and the easiest way to do that will be with baby steps. I’d like to think with you about your next investment.
Learning from Paine.
I know, I know you’re immediately thinking I’ve typo’ed on my title. What a brilliant way to begin a topic. But it’s not a typo. It is, however, a play on words. Learning is hard, sometimes even painful. But in this instance I refer more to the idea of learning from history. Specifically an important figure in American history (and other countries as well). His name is Thomas Paine. Here’s a quick quote of his to get us started.
“Tis not in numbers but in unity that our great strength lies.”
– Common Sense 1776
There are so many great things I could say on that quote but I won’t get into it. Don’t tempt me – it’s a separate topic all together!
The Early Years
I’d like to take you on a brief trip back through the life of this incredible individual and explore a bit about some of the things he accomplished. Thomas was born in England in the early 1700s. And he really didn’t grow up in a wealthy family. His father worked as a corset maker and Thomas apprenticed with him for a good while. He was able to attend Thetford Grammar School and received some formal education then.
He began working at an early age and he has an incredibly diverse work experience and background. Need an example? After being a master corset maker he became a legalized pirate. Yep, that’s pretty much extreme opposites! Granted he wasn’t a pirate for long and soon returned to England to setup his own small business (as a corset maker). Along the way he also worked as a goods inspector, and then in time became a school teacher. He held a number of very different positions and had incredible business experiences along the way. He was very much a small business type of guy and you can easily see how he began dabbling in politics and government processes early on.
During this time he also married, and sadly, lost both wife and his first child during the birth. If any of you have families I’m sure you can understand the immense amount of heartache this would cause. Not only did he experience personal loss but during his various jobs along the way he experienced setbacks, hardships, and failures. He lost several jobs, went bankrupt in his business, and was even fired from several of his government jobs.
If we jump ahead to a bit later in his life we’ll see even more hardships and trials, even at his funeral only six people were present. He was controversial to say the least! Let’s look at some of the influences and the work he created.
Influences and Work
Thomas was extremely interested in politics and religion (I guess that explains why he may have been so controversial). He was influenced by a number of other powerful individuals including Voltaire, Benjamin Franklin, and John Locke. Each of these played an important role which can be seen in his writing and ideology.
Voltaire was a versatile writer, producing works in almost every literary form, including plays, poems, novels, essays, and historical and scientific works. He wrote more than 20,000 letters and more than 2,000 books and pamphlets. He was an outspoken advocate, despite the risk this placed him in under the strict censorship laws of the time.
Franklin was a leading author, printer, political theorist, politician, postmaster, scientist, inventor, civic activist, statesman, and diplomat. He outlined and practiced many practical values of thrift, hard work, education, community spirit, self-governing institutions, and opposition to authoritarianism both political and religious.
Locke was an English philosopher and physician regarded as one of the most influential ofEnlightenment thinkers and known as the “Father of Classical Liberalism”. Lock was quite important to social contract theory.
We can easily see how each of these men provided some influence on his thinking and writing. Next let’s look for a bit at some of the works created by Thomas.
First, He wrote a pamphlet entitled Common Sense which he published and immediately it took off with over 100,000 copies being sold within the first 3 months. This pamphlet covered very few new ideas but involved a very new means of political writing to make complex ideas easy to understand. This was his first well-known public work and was the best selling American title of the period.
The American Crisis
His second very well-known work was published shortly after the first. The American Crisis was a pamphlet series designed to inspire Americans in battle. This pamphlet however has done much more and provides a number of very moving statements and quotes which have been used by many throughout the years. Contrary to the title, much of what Thomas shared is applicable to all types of environments and times. I would like to draw one particular quote out as the theme for my talk and as the central theme for what we do here.
Our Central Theme
“What we obtain too cheap, we esteem too lightly:
it is dearness only that gives every thing its value.”
Let’s Talk Joomla
So, let’s talk Joomla. I mean that’s what we all love here anyway right? Right? Yes, we all love Joomla. We’re working together, we’re coming together as a whole. We’ve formed a community, a family around a common set of goals and ideals and a common vision. Let’s take a minute and review a brief timeline of what we’ve been able to accomplish.
We’ve seen the launch of a new idea, an innovative and ground-breaking CMS, roughly 2005. We’ve had successful launches with Joomla 1.5 released in 2008 and 2.5 released in 2011. We continued a trend of launching new ideas with our Joomla 3 series and in 2013 we successfully pushed Joomla 3.2 – and now here we are in 2014 with some really great ideas on the horizon.
Now as much as I’d like to stop and look ahead at what the future holds and what we are set to take on next. It’s exciting and I would love to share even more. Joomla is set to change the world. I must leave it at that. I really can’t go any further. So let’s return and look at some numbers (yah, numbers!)
47,320, that’s a whole lot of days (or maybe it was mostly nights). Let’s look for some smaller numbers, smaller is always easier to understand. Here’s one 6,760. That’s a bit smaller but that’s still a lot of weeks and a big number to understand. So let’s go smaller, 1,560. Ok now were’ getting some where, 1,560 is a small enough number most can easily relate it to something else, but if I say months it again becomes a hard number to quantify. So we’ll go one more. 130. Read that again, 130. That’s years. 130 years, that time period is older than most people reading this. (Yes, I admit I’m assuming on a few of you.)
130 years is a long time. But that’s how much time the popular site Ohloh suggests would be required to recreate the Joomla CMS. Based on lines of code, and a variety of other factors they have come to the conclusion it would require 130 man-years to create what has been done. You know what that says to me? It says a lot of time has been spent on Joomla.
A significant amount of time has been spent by voluntary, passionate contributors to this community and to the mission and vision we hold so dear. But I wonder – is this really time spent? or is it something else. I would suggest this is not time spent but rather time invested. Yes, we have invested our time and our energy into this community and into this project. We hold Joomla very close to our hearts and very dear to us.
Obtained Too Cheap?
What does this mean? If we return to the quote we’re focusing on I’d like to ask a question. Has Joomla been obtained too cheap? Based on the numbers, the figures, we’ve just reviewed, understanding the heart and soul of this community which we have all dedicated such tremendous time to and so many of us hold incredibly close to our hearts. There can be no other answer. Absolutely not.
We hold Joomla in the highest esteem. We believe in our community, in each other, in the purpose and goals and vision of this family. We do not esteem Joomla lightly because we have not obtained it cheaply. And more than just esteem, we hold Joomla dear to us. We love Joomla and we believe in Joomla. And as a result of that immense belief Joomla is given value. Incredible value. Dare I say value beyond measure? The value is tremendous.
What Does This Mean For You?
So what does this mean for you. Well, let me go quickly through the points we’ve discussed. You would agree Joomla is valuable, it’s held dear by a global community, an incredibly large family and clearly it has been given value. Secondly you agree Joomla is esteemed. Joomla has not been obtained cheaply. 130 years of effort given freely to this vision, that time is not cheap and as a result Joomla is esteemed highly. Thirdly, I think you could agree easily that Joomla has shown its stability through the many successful years it has existed and improved. Now I’m not saying it’s perfect, there’s always room for improvement. But we’ve seen many things come and go in the time that Joomla has continued to endure and grow.
Three Proven Facts
Those are three easy points we can all agree on. So here’s why this matters to you. Joomla is a good investment. Everyone is always looking for a good investment. We all want to invest our time, our talents, our resources in a “sure thing”. I believe we’ve seen Joomla to be a pretty sure thing. A great investment and a wonderful opportunity to do what so many others have already done. Invest in something bigger than themselves. Invest in something worthwhile and worth your time.
So – how is your time spent currently? Here’s a few possibilities. Television, internet, sports, family, parties, work, sleeping, eating, and vacations. Now some of these are very valid uses of your time. They are investments not expenses. But perhaps others are expenses. Which of these could you do less of? What can you do to invest in something bigger than yourself?
I’ve spoken and shared dozens of times (maybe even more) about ways to be involved in Joomla. I won’t attempt to tell you what your next investment should be specifically other than one important point.
You absolutely, positively, 100% should make your next investment Joomla.
June 5, 2014
The Validity of Open Source
Open source is the combined contributions of millions of independent volunteers. This single concept brings with it a few inherent realities. In this article let’s look at a few potentially concerning points about the nature of open source contributions.
One of the major, oft-touted benefits of open source software is the diverse, large and ever ready army of developers contributing to the project. This can be an incredibly powerful argument when demonstrating the value of open source to a corporation. However, the larger the community and the bigger the pool of contributors the more opportunity there exists for problems or potential security risks.
Let’s look at a few potential areas for problems and how good open source communities are protecting themselves from problems.
More Contributors Means More Risk
This is a very real concern. When a community grows there are more developers contributing code to the project. As more developers contribute code and their solutions to problems there is a very real need to establish some guidelines for all contributors to follow.
Establishing a standard for code submissions, requiring acceptance of a common license, and implementing peer review are three ways in which good open source projects help to mitigate the risk of problematic code.
Establishing Coding Standards
Code standards are a set of guidelines or rules which the open source project expects all code submissions to adhere to. Most open source projects of any size establish these standards, Joomla, OpenStack, Ubuntu are three such examples. Usually code standards are simple procedures to ensure that every code submission looks similar and once merged will make the system feel as a single unified piece of software.
Accepting A Common License
Open source projects should always have a software license of some kind. This defines the distribution policies and the methods in which others can use the software. An important step to consider when allowing developers to contribute code is the license which should be applied to the proposed code. It is important because developers must be aware and in agreement with the license type chosen by the project. Some open source projects request a signature to acknowledge the license type of any code submitted.
Implementing Peer Review
When an open source project becomes large it becomes increasingly difficult for a limited number of core contributors to review each and every code request submitted. Very quickly this becomes a bottleneck for the entire project and slows the progress and growth of the software. Implementing peer review is the most common practice for fixing this bottleneck. This process requires other developers to understand the mission of the project and the quality to be achieved from all submissions.
More Contributors Means Less Security
Some argue that when open source projects grow in size they open themselves up for security risks and hazards brought about from a diverse group of contributors and secret agendas which might otherwise be disallowed in closed source software.
While there is a certain reality in a singular controlled environment found in closed source corporations the advantages of open source far outweigh the perceived risks. In addition, these risks can be easily controlled with a thoughtful approach to community organization.
If a community is grown organically and carefully around the shared vision and goals of the organization then the community becomes much stronger than even a closed source corporation. They become more than individuals contributing code to a project.
When volunteers share a common vision they become so much more than a community of individuals.
Individual objectives fade and blend into the whole. Everyone begins to merge into a single focused community.
When a community is built on common goals and a vision which is shared by the contributors then personal beliefs are enforced and individual personal ethics are held strongly voluntarily. Open source provides a certain freedom. The idea that each volunteer is responsible for their own actions brings with it a sense of personal empowerment but also a sense of self-governing.
Trust is not something to be bought. Trust is something shared. Trust empowers people. Open source communities are built on trust.
More Contributors Means Less Progress
Some would attempt to raise the argument that when the number of contributors grows too great then the progress of the project is slowed and ultimately the project suffers. The notion is a common one and relates well to an old phrase, “too many cooks spoil the soup”. While there is truth in the saying this is not an absolute truth and taking the proper steps will make this potential negative an incredible positive for open source communities.
Assigning clear tasks and delegating responsibilities is one way in which good open source projects are able to protect themselves against the potential problems of too many contributors. When a project defines goals and objectives and then breaks them down to assignable tasks they encourage contributors to work together towards accomplishing those goals. Instead of everyone dabbling in everything they clearly assign specific tasks and thus make tremendous progress.
Listen and Focus
Similar to what was discussed earlier the establishing of a single shared vision and focus for the project will help developers and other contributors to keep momentum moving forwards towards accomplishing those goals. This means less time wasted in meetings and endless debates and discussions on the trivial matters and empowers contributors to spend their time focused on accomplishing the vision of the project.
Yes, listening is important and ensuring the shared vision is an appropriate representation of the shared goals of the community requires discussion and debate; but this should be done occasionally rather then consistently. Once it’s been determined and agreed, it’s time to move on. The result is the larger the community the better for the project because more progress will be made.
Nothing is Perfect
There will always be pain points in open source and no community is perfect. However, the argument that open source communities are somehow less ideal than a closed source corporation is simply untrue. The list above is just a small sample of how each potentially perceived risk of open source can be mitigated and resolved.
Open source may not be perfect, but there are millions of
volunteers reasons why open source is a better option than the alternative.
May 21, 2014
Enterprise Open Source
Open source is wonderfully unique. I encourage you to stop and consider the relationships which exist in an open source environment. I encourage you to quit focusing on enterprise and big business and all the hot buzz words. This 0pen source is different.
Catch Phrases Dropped
The idea that open source is different is nothing new. Even major corporations see the value of open source. Enterprise open source dominates the media channels. They may not correctly implement open source, in fact they may even fail, here’s 5 reasons they might. But that’s not the point. The point here is different. Rather than focusing on failure points I’d like to take a moment and discard the hot topics and the current media frenzy over certain marketing terms. Let’s talk for a second about community.
We all have seen the value in open source and there’s no need to mindlessly rehash the same information. So let’s dig in immediately into the community of open source. What makes it special? It’s the people (you should still read the above mentioned article). But this open source community. These volunteers, the relationships that exist between them are different than you’ll find elsewhere.
Depending on the type of community, the industry, the location and numerous other factors these relationships are unique. I’ve often said it at events, true open source communities are much more than an average relationship. Relationships are tricky. And each community has different ones.
These relationship dynamics should be carefully considered. Open source communities span continents and crosses all borders. As a result a community has many, many cultures represented and each culture has different items which may seem innocuous to some and highly offensive to others. Don’t understand what I mean? Here’s just a few examples:
- Never shake hands across a threshold (Russia)
- Don’t use the ‘peace’ sign (UK)
- Don’t use the ‘ok’ sign (Brazil)
- Not shaking everyone’s hand (Austria)
- Never give a short handshake (Fiji)
That’s just a very quick list of five. There are many more. These cultures play an incredibly important role in the relationships within a community. You’re incredibly lucky if you have the opportunity to be in one of these global, barrier-free communities. But you should be considerate of the cultures you will meet.
In open source communities this means you must be considerate. And now we’re getting into the true meaning of community. These relationships require a level of consideration and thoughtfulness. Realize we’re not dealing with corporations and enterprise. The key is not ‘big business’ or how we can accomplish multi-national business conglomerates. What matters are the people. Even those large businesses which seem faceless and nameless are still made up of people. Individuals with ideas, emotions, and feelings of their own. Individuals with personalities and with cultural sensitivities.
Do you see how it all comes together?
Open source is built on the simple thing, the one thing, that every media outlet and every big business is so frantically seeking to label. Success in an enterprise environment. But this success comes naturally to open source. Because open source communities live and breathe on the relationships between people.
Continue to Excel
So open source communities clearly have the upper hand and regardless of what the marketers want to focus on the real point is the person to person relationships. How does a good open source community continue to excel in establishing and nurturing these relationships? Here are a few ways you can be sure to be considerate in your relationships with others.
- Listen more than you talk
It’s easy for everyone to want to talk. Talking is fun (for most people). And in fact most people would prefer to tell everyone what they are doing. It takes effort to listen instead. Don’t just listen but truly hear what’s said. Empathize where you can. Comfort when necessary, and share in their excitement. Of course you should always be genuine but you’ll demonstrate their importance by truly being a listener.
- Be conscientious of culture
We discussed this just a bit earlier the differences in culture are important to be aware of. Take time to learn about the nuances and differences in culture. Not only does it help you when listening and relating, but it also demonstrates to the other person that you value them and respect them.
- Be slow to react
As you listen and as you learn about others and their cultures you must do more than just understand and know something in your head. You have to apply it to your life. This might be the most difficult. Human nature is to react personally when feeling affronted or ‘wronged’, but if you properly think through what you know you may react differently. If you’re slow to react and take a moment to think first, you may come to a different conclusion and handle a situation differently.
I conclude with a reiteration. Open source is a very personal thing. It’s not enterprise, it’s person-to-person. These personal relationships require thoughtfulness, consideration, and effort. If an open source community is going to thrive than the person-to-person relationships must be nurtured and cared for. If you are not already actively engaging in the simple three steps above then now is the perfect time to start!
May 16, 2014
Unless: A Powerful Word in Open Source
I’m quite sure everyone is familiar with the popular Dr. Seuss book, The Lorax. May more may only know the recent popular movie version. My kids love the book. I read it (again) last night to them and was reminded how the word unless was a central focus.
Wait a minute, related to open source?
As I stated in the title unless is a powerful word. I think it implies so many different things. Specifically I love the implications the word unless has for open source communities. I know, I know, you’re thinking I’m crazy. Am I trying to draw out a relationship which doesn’t exist? I don’t think I am. Hang on, stick with me and see if you agree with me.
Here’s several reasons why I think the word “unless” relates to open source.
In The Beginning
Let’s take a short trip back in time. We’ll start in 1983 with a gentleman by the name, Richard Stallman. Richard saw an environment where an operating system (Unix) was being very quickly used by a variety of businesses and educations. He created a license familiar to many people in open source, GNU General Public License (GPL). The purpose was to establish a license for the free distribution, replication, modification, and sharing of Unix code. He continued to work on this license and by 1990 had almost enough contributed code to create a full operating system based on his license…and then it stalled. Things slowed down and the concept of an open source operating system might have died there – unless…
A student by the name of Linus Torvalds stepped up with an announcement of a new operating system kernel. He shared his newly created code (Linux) under a shareable license, and thus established a new level of free and open source software.
So we can easily see how concept of unless played a role in the original creation of free and open source. Let’s look next at a current example.
Modern Day Open Source
If we jump back to current times we can see another example where the power of the word unless has disrupted things again. This time let’s look at a technology called OpenStack. This relatively new free and open source software has exploded onto the scene as a leader in open source cloud computing. How do the ideas found in the meaning of unless apply in this market? Again, it’s an easy path to see.
Cloud computing, or more simply, the distribution of computer processing across multiple machines (servers) has become the buzzword for hosting and server providers in recent years. Everyone wants to move “to the cloud” even if this is unclear to them what it implies. The technology was complicated, and the market very closed. It was difficult for most businesses to take advantage of cloud computing as a result of these barriers.
In 2010 this all changed. Rackspace (and NASA) thought differently. In fact, somewhere along the way I guarantee you there came a point where someone, somewhere, sitting in an office thought (perhaps said aloud)…unless. These two organizations jointly created and released a new free and open source cloud computing platform. In true open source form they established a non-profit corporate entity to manage and run the project and today there are more than 200 companies who have joined in to promote the project.
Challenge The Status Quo
In both of these stories and in countless other stories the underlying thought is the same. We see people thinking differently. We see people challenging the status quo and questioning the “norm”. We see people caught up with the idea of unless.
Where would open source be without this idea of doing things differently? More importantly, where would our world be without these people willing to stop, to think, to stand up, and say “unless”.
What about you
Take a minute and look back on your own history. Can you point to specific times when you’ve stopped and said wait a minute, I don’t think we have to do this? Have you found times when you stood for something?
Rather than giving up in a dejected, defeated attitude of accepting what has been put before you, have you been bold, been creative, been original and said, “unless…”
This is why I believe the word, unless, is powerful within this one word lies the ability to affect a market, to impact a community, to change the world. Open source holds keys to changing our world, we’re seeing new applications daily and in far more areas than software alone (see this article about farming to name one).
Great things happen when we, as individuals, as volunteers, are committed to fighting apathy, focused on improving our world, and willing to think ‘outside-the-box’.
The next time you feel like something might have an opportunity to excel, to truly be something great but is somehow limited, restricted, or closed – don’t be afraid. Think it quietly to yourself, whisper it softly to a friend, or boldly stand and shout it. Unless.
You never know what greatness will follow.
May 14, 2014
Increase Your Company Size with Open Source
In honor of small business week, I felt this post would be an appropriate one. Small businesses often have apprehensions when entering a meeting with a potential client. One question in particular presents considerable problems. How many people are in your company?
There’s a number of myths lending to this unnecessary fear. And yes, I believe it’s unnecessary. Let’s look at these myths and then examine the truth.
Myth: Small Beginnings are Bad
It can be easy to forget that every business had to start somewhere. Of course we’ve heard all the grand stories of the humble beginnings behind mammoth corporations. We’ve enjoyed the nostalgic references to beginning in a garage. In fact, here’s 5 quick ones: Amazon, Apple, Disney, Google, Hewlett-Packard.
And thus it’s established. Even some of the largest businesses in the world had small beginnings. Why then should you be bothered because your company is small? This comes down to perception. You quickly accept and even enjoy hearing the stories of how giant companies began. In fact, you can relate to them quite easily. But there’s a disconnect between the past and the present. You view the past through the eyes of the present. Because they are now an incredibly large and successful company they are somehow validated.
Myth: Small Businesses Lack Expertise
I’ve heard and seen firsthand small businesses who mistakenly equate company size with expertise and experience. Small businesses are founded by individuals. Individuals with a goal and a dream. They start by seeing a problem and forming a solution. Perhaps it is for themselves, perhaps it is for others. Either way they devote their energy to creating a business built around their solution. By the very nature of creating a solution they become an expert.
Unfortunately many small businesses as a result of their background and way of forming discredit their own expertise. Sadly, they believe larger companies with more employees and more managers somehow magically have more expertise. Obviously there’s a greater opportunity for experts within a larger company, but it’s not guaranteed.
Myth: Small Businesses Are Missing Credibility
Thankfully this reason has become a bit less in recent years, however I still hear this referenced on occasion. Small business lacks credibility because its less substantial than some large brick-and-mortar corporation. This couldn’t be farther from the truth. The size of a business is not what establishes credibility. There are hundreds of examples of large corporations which hold massive buildings and substantial employee lists with little to no credibility.
The size of your business is not what grants credibility. Rather the quality of your work and the testimony of your customers are what establish your credibility and your trustworthiness. Whether your company is a company of one or one hundred the true basis for your business credibility lies in your customers.
Credibility comes from the quality of your work and the testimonials of your customers, not the size of your company.
Small businesses are the backbone of economies around the globe. Every business began as a small business. There is no shame in a small business and a small business can most definitely hold immense credibility and demonstrate expertise in their field.
The next couple of questions are perhaps the most interesting. How does this relate to open source and how does open source increase the size of your company?
Fact: Open Source is Global
This is where small business is no longer a small business. Open source is more than code. Open source is a community. As a result, when a small business uses open source they are no longer working alone. Instead this joining of a business to an open source community increases the pool of knowledge, of experts, of potential partnerships incredibly. No longer is this small business working alone. They are now a part of a community, something bigger than just themselves.
Small businesses using open source can boldly share the size of the community as yet one more reason to trust in them. Again, the myths above are simply myths. The truth is open source provides a global community filled with more individuals than any single company. Your clients can rest assured there is a pool of available resources existing far beyond the size of your company.
Fact: Open Source is Available
The small business which contributes and uses open source in their solutions leverage the availability of an open source community. Time and geographic constraints which most businesses face are less important when a company is built on an open source system where contributions and volunteers exist around the world and span every timezone. The availability of open source enhances the availability of your own business as well.
Fact: Open Source is Dependable
The communities surrounding an open source project are an intimate gathering of volunteers passionate about the project they contribute to. As mentioned earlier, by being global and available, established open source communities are dependable. They can be relied on and they lend credibility to those small businesses which build on them. Small businesses do well to build on open source, contribute back to open source, and become a part of an open source community. By doing so, they enhance both the credibility of the project and their own credibility.
Simply put, those small businesses which place value on open source and integrate open source throughout their business will quickly find the value of open source. Small businesses grow in size, in location, in availability, and in dependability by leveraging the power of open source. Open source increases far more than your company size. Don’t neglect this valuable resource when growing your small business. And never be ashamed of where you began.
May 12, 2014
Choosing the Right CMS Tool
It’s happened to me many times before. I’ve been stuck needing to unscrew the back off a toy to replace the batteries. I have no screwdriver handy so I begin to look for alternatives nearby. The result is mostly an extreme sense of frustration.
I smile while writing this because it happened to me not that long ago. I tried jamming my key into the narrow opening and blindly twisting in hopes I’ll loosen the screw just enough that I can then unscrew it easily and replace the battery. First, my key barely fits down far enough (side note: why do they make those screws embedded so deep anyway?), second, now the key is far enough down but I can’t tell if I’m able to jam it into the Phillips screw and get enough traction to turn.
In the amount of time I waste trying to turn my house key into a screwdriver I could have just as easily gotten up, walked to my work bench and picked up the right screwdriver. So why didn’t I?
Many times when working on a web project I’m asked what tool (CMS) I’m using. This is a valid question and one I attempt to answer thoughtfully. Although it can be incredibly tempting to pick the system I currently favor, of the one on must comfortable using. Is it ok to have a favorite? Of course, is almost impossibly to not have a particular way of working and specific tools you prefer to use. It is vitally important you’re choosing the right CMS.
What tools are we talking about using? Well usually the important one which everyone wants to know is the content management system. Which popular system is being implemented to manage the content of the website?
A better question
Sometimes I find this a funny question when asked which CMS I’m using. The better question I think is – are you using an open source CMS? Let me explain what I mean. I consider this to be a bit of a poor comparison but maybe it can be helpful.
If I’m preparing for a race and am given the choice between a sports car and a military tank you’d think I was insane if I didn’t choose the car. However, if I was then asked to pick between three or four different styles of sports cars that is a much different decision. More than likely each car would have different benefits and you would all have different opinions on which is the most appropriate. More questions might be asked, what does the course look like? How long is the race? Etc..
This is how I see the question about which CMS I use. Isn’t the choice of an open source system (sports car), a much better choice than a close source, proprietary, tank? The differences between the type of car should be dependent on the factors of the particular race.
You are the expert
Each content management system has a unique set of benefits and challenges. Each web project has a unique set of requirements. You are hired because you are the expert. As the expert you are trusted to listen and understand the needs of a job and then select the appropriate tool. The tool should not simply be your favorite. It should be the best for the job. If that means you must get up and “walk” to the workbench to retrieve the best tool – do it. You, as the expert, should have a strong knowledge of what systems are available, how they should be used, and when one is superior to another. This is your job. This is what makes you the expert. Don’t neglect your responsibility.
It’s not a competition
Too often I fear the open source content management system is viewed as a competition. A fight for dominance in a “micro” space. This leads too quickly to selecting the wrong tool for a job, and the client will suffer. As the expert you are expected to choose the best solution for them; not just the tool you like. You do a great disservice to the client when you do this. But you also hurt yourself.
More work than necessary
Yes, I said it hurts you too. Here’s why. When you choose the wrong CMS and select something close by (remember me with the kid’s toy) you will work much harder and much longer than necessary. Sure if you’ve given me enough time I could get the back off that toy with my key. Similarly if you are given enough time you could complete the job with the wrong CMS. But at what cost? You’ll have spent much more time then you might otherwise have needed to spend. You will do more work than necessary.
Save time by thinking
Take time before beginning a new project. Listen to the needs of your client and then stop and think. Think about which tool is most effective for this particular job and what will fit the needs most appropriately. If it becomes apparent that your favorite CMS (you know, your personal favorite) is not the best solution – don’t hesitate to stand up, walk over, and select the right one from your workbench.
May 9, 2014
Corporate Culture in Open Source
The buzzword of culture within a company is a frequently debated and often examined topic. A corporate culture establishes and shapes a company future. Does the same exist for open source communities? Does a culture exist and does it shape their future?
A corporate culture is defined as a set of shared values and beliefs which are representative of a company and defines its employees’ actions and the corporate hiring processes. Often this culture is founded on the goals and structure of the company and centers around the target market and the company approach to customers. Does this relate to open source? Yes. Absolutely. An open source community also has a very distinct culture and one which must be carefully considered, thoughtfully prepared and an intricate part of the organization’s core.
Defining a community culture
How does one define community culture? Here are some reasons why an open source community should establish a culture and some ways in which they should be implemented. Let’s begin with the reason why open source organizations should establish a culture.
The reason for establishing a culture
First, a community culture is of utmost importance in providing the volunteers a sense of a common bond. Much like a mission or vision statement serves to provide the general public with a set of goals and objectives the project wants to accomplish, a community culture provides the vision, attitude and beliefs for the volunteers within the project. Think of the culture as the internal representation of the mission and vision in a way.
Every community has a culture
The reason a culture must exist is simple. The public image of the community is in reality the public’s view of a community’s culture. Therefore every community has a culture. If a culture always exists, then the next step is to make sure the culture properly captures the common beliefs and goals of the community in order to provide direction to its volunteers. By understanding a culture always exists the issue is not the establishing of a culture, but rather establishing the right culture. What does the right culture do for a community?
A community culture defines direction
When a strong and appropriate culture exists within a community the volunteers and contributors are able to focus on how that culture helps it accomplish its goals. The right culture should resonate within the heart of the community and give a sense of pride, a feeling of unity, and a strong singular focus.
A community culture gives satisfaction
Culture within an open source community have an opportunity to provide incredible satisfaction to its contributors. When volunteers are part of an organization where they agree with the goals and the culture they find a personal satisfaction in being a part of the organization.
A community culture attracts like-minded people
In a corporate environment the culture will dictate somewhat the hiring processes and how new employees are brought on board. In a community environment the “hiring” is most often replaced with “recruiting” where the process of new contributors and volunteers are found and brought into the community.
The ingredients of a strong community culture
A strong community culture includes a focus on the vision of the organization and how that vision is interpreted in the everyday activities of the community. But perhaps the single most important ingredient in a strong, healthy community culture is the people. The people provide the cohesive glue which hold the entire organization and culture together. The people together form the story of the community.
So there you have it, a very clear and concise thread which runs throughout a community. A thread made up of the people. A thread which traces a path through the history of the community and connects the founding vision to the current activities. This unique thread is the culture of the community and every community has one.
May 6, 2014
Where’s the Value in Open Source?
Open Source is valuable. Very few people would argue that point. There is most definitely a sense of intrinsic worth. But where does this value exist? Is it in the code produced or in something else?
By the very nature of open source, (read more about the standard four freedoms here) the ability to view and access the source code is a powerful, driving factor. Because the code is so freely accessible and a prominent focus of open source it can easily be considered to be the value of open source.
Lines of Code
This assumption in the value of open source being the code corresponds to the influx of available services to measure and quantify this code. Take for example the social code-sharing website, GitHub. This overwhelmingly popular service provides all types of stats on code and changes made. In fact, GitHub recently released a new feature called “pulse” and it provided all manner of new assessments of the code. How many people and how many commits over a specific time period and the total number of lines of code touched. Do you see the focus? The code. All the value is implied to be held within the code.
Often times in a community we continue with this idea of placing the value of open source and the community in the code, or the product. This belief perpetuates a problem. Is the value of open source truly in a product which can be freely replicated, forked, and changed at will?
The real value of open source is not in the product. Open source is more than the code. It’s a community surrounding a shared set of goals. And when this community works together to develop code it costs time. Lots of time is spent creating this product. In fact, another website, Ohloh.net begins to touch on this when it mentions how many hours are estimated to create a particular project. But it doesn’t really capture the heart of it. It’s a great start, but still there’s something missing.
Sure open source is about code, and yes, it’s about community, and its about the time spent, but there’s something even more. Open source is about the people involved. Code can be replaced, re-written, even removed completely and the project will continue to move forward. The open source community is made up of people who are dedicated their time and their life to see its success.
Herein is where the true value lies. The people who give their time to create this amazing open source community. These people give their life to see their project grow. And this is valuable. Open source communities must be careful to place their focus correctly. When the people are neglected, the value of the project is lost, the community will suffer, and the code will fail.
The Hidden Treasure
If we realize that the people which make up a community are the truly valuable part of an open source project then its important to look at how this wealth should be handled to be nurtured properly and grown. Obviously we want to grow the most valuable part of our community. We want to strengthen the bonds which bring the community together to create something bigger than themselves. That’s the secret of a strong and growing community. The relationships. When the relationships between the people making up a community are strong then the project will thrive. The culture of a community matters.
The next time you see a thriving open source project, take a minute to examine the community. Checkout how the volunteers are viewed and appreciated. Remember, a community is only as strong as the people which make it up. And remember relationships matter. The people and the relationships are the true treasure of an open source community.
May 1, 2014
The Fight to be Flexible
I’m sitting at the airport. This quite a common place to find me. As an open source advocate I travel a lot. Most of the time my flights are on time and my connections are easy. This is not one of those times.
I found out my initial flight leg from RDU to IAD (Washington Dulles) was delayed and then 20 minutes later delayed again; and again. Eventually it was delayed 3 more times. And as expected with that many delays, I missed the connection from IAD to GRU (Sao Paulo, Brazil). Majorly frustrating. As I make the arrangements to rebook the flight for the following day it strikes me how applicable this situation is to life, and also to open source.
We all have plans for our lives. We have an agenda, things we want to see accomplished and goals we want to achieve. In an open source community we set our sights on accomplishing lofty things. Many of them having some form of “change the world” buried in them. We put down a mission and a vision statement we want to accomplish and then we start to organize ourselves to accomplish those goals.
Open Source Opportunities
Open source projects have several obstacles to overcome in this scenario though. Chiefly, we rely on the time, interests and energies of volunteers to accomplish these lofty goals and ultimately accomplish our mission and fulfill our vision. If our volunteers fail to have the time or interest then the project also fails. This is where the power of flexibility becomes so critically important.
It is foolish to believe a mission statement or a vision cannot change. It’s also foolish to believe every deadline will be met perfectly. When an open source community relies on volunteers and contributors one of the greatest battles is the battle to remain flexible, to be willing to make changes to deadlines, to goals, and even to a project’s mission.
Why must a community be flexible?
As I’ve already mentioned when a community relies on the goodwill and generous donations of time and talent from contributors there must be an inherent amount of understanding and ability to change as a result. Secondly, and possibly even more importantly, The world changes. Software changes, companies and organizations change. An open source community grows over time and as it grows it evolves. It establishes a culture and becomes more refined (dare I say focused) as it grows. At least this should be the case because the community listens to its members. Not only does it listen to its members to help it establish culture but it also listens to the world. A strong community pays attention to the changes happening around it and is flexible in adopting change (when it’s for the good of the community).
Are communities quick to be flexible?
No, and that’s why I say it’s a fight to be flexible. Sometimes individuals in the community are change-averse. They prefer the status quo over the ‘unknowns’ involved in changing. A well-rounded community is made up of a variety of individuals. These differences should be celebrated and embraced. These differences should also be kept in mind. Just as there are those ‘strong and steady’ types there are also the ‘non-comformist’ type, this is the person who loves change, any change, and even wants change just because it’s change. There’s dangers in both these types as well as the many other types (trust me, there are many many personalities which make up a good open source community). The point is to be flexible. Be talking and communicating with each other within your community. When communication happens (and listening happens) then the true power of open source communities can be found. Because I believe this is where open source stands head and shoulders over others.
Open Source Wins
Open source projects should stop looking at flexibility as something that must be fought but rather one of it’s greatest strengths. The ability to change direction based on the community is a powerful one. Most large corporations are unable to implement the types of flexibility and take advantage of a changing culture in the same way an open source community can. The passion found in volunteers cannot be bought, cannot be forced in a closed source corporation. It’s inherent in the genetic makeup of open source. Take advantage of the benefit of being open source. Take advantage of the flexibility and use it to be an incredible community.
Remember, we’re all in this together.
April 30, 2014
The Quiet Community
That awkward silence which fills a room when there is a lull in the conversation, or that moment when you realize you’re the only one talking, or the time when you respond to a chat message and there’s no reply. These are all common occurrences in life. But when is a quiet community a bad thing?
Too Much Talk
There is of course a time when talking is not enough. I’ve see firsthand those moments when everyone is talking and no one is listening. Sometimes a community is so busy debating with themselves over minor details that they forget to actually do something. Too much talk can be a bad thing.
Too much talk means a community is not focusing their time on doing things and making progress. This will kill a project, any project. In open source communities and especially open source communities, where the community is in charge of decision making, the discussions and debates over every minor decision can quickly lead to stagnation.
I think we can all agree too much talk can at times be a bad thing. So what about a quiet community? Is a quiet community equally bad for a project? Yes. A quiet community can be potentially a bad thing. Here’s 3 potential problems in a quiet community.
Silence is deadly
If a community is too quiet it will die. Outsiders judge a project’s viability and life by its communication channels, the chatter which takes place. Raise your hand if you’ve ever gone to a Github repository and viewed the last commit timestamp, followed closely by a glance at the open issues. You’re trying to judge the health of the project by its communications. Or if you check twitter to see the last messages posted with a specific hashtag or @ tweet.
Silence in a community is not golden when it comes to a community which makes group decisions and relies on the involvement of volunteers (open source) to accomplish things.
No man is an island
Secondly, if a community is quiet then volunteers will begin to feel as though they are “alone” in the project. This is incredibly discouraging. Everyone knows the feeling of writing something and waiting for the response. In real life you look for the facial expressions, the reactions of those you’re talking to. You use these verbal and non-verbal cues as encouragement for continuing or as a warning sign that you should sit down and shut up. Now take that same feeling and apply it to an online community. You post a message on a forum, on a social media channel, in an online chat, or on a mailing list. In this environment there is no opportunity to read non-verbal (or even verbal) cues. You rely on the responses.
If a community is silent then you have nothing to motivate you to continue and you will sit down and shut up. You’ll leave the community and find a new community where the participation is higher. As humans we need this interaction.
Apathy is quiet
This last point is a hard one to pin down. I’m not claiming that apathy is always silent, nor am I claiming the reverse, that a quiet community is apathetic. But often when there is apathy the result is a lack of input. If you find yourself not really caring or believing in something you can walk away, you can leave. But that involves effort. Sometimes you don’t feel like making that effort. You’re ok with doing nothing because you’re not interested, you don’t care. You’re apathetic.
If a community doesn’t care then it will not make decisions. It will not do anything. Which means something else will happen. It will stagnate. It will die.
Three potential concerns in an overly quiet community. As with everything in life, a balance is necessary. Open source communities should keep an eye on communications. If they see any of these three concerns becoming too prevalent then it’s time to do some soul-searching. Seek out the reason for the quietness. Has the community lost its drive? Its focus? Its vision? It’s possible a change is in order. Its possible action needs to be taken to help stimulate conversation. Perhaps its merely a lull, a welcome moment of calm in an otherwise noisy and thriving ecosystem. Excellent, make the most of it. Enjoy the stillness. But stay alert and be ready to make changes if needed.
April 27, 2014
The Future of Content Management
Here’s a presentation put together discussing how the ever-changing internet has affected the CMS market space. 10 key factors every CMS should address.
April 22, 2014
EPA and Open Source
In honor of Earth Day I figured I would write a quick post about how the U.S. Environmental Protection Agency uses open source software and technology.
I admit it’s not perhaps the greatest example of open source at work. But they’re making an effort and that’s worth mentioning. The EPA is taking advantage of open source networking through the use of a Github organization and series of repositories. They’ve boldly made the decision to place their website files in a repository to allow other developers to provide improvements and help. The sad news comes out when reviewing the number of pull requests made. In the nine months the code has lived out in the open there have been exactly 0 (zero) pull-requests.
Ok, so perhaps not the greatest example. There are other repositories in the EPA organization account. Unfortunately, the other repositories post many of the same statistics. Various repositories for projects, applications, and websites exist but none have any better stats.
What does this mean? Should open source be neglected and not used by these government agencies? Not necessarily. The problem is not in the intent but in the execution. I’m sure many of you know how the recent healthcare.gov site also attempted to use Github to share all of their codebase. https://www.healthcare.gov/developers
Healthcare.gov Github Failure
This was a fiasco for them during this process and after only a few weeks they removed the code. Why do these different government agencies fail? As I said before
The problem is not in the intent but in the way they carried out their plan.
Open source is not an easy, “instant” solution, and as I’ve written about before, many will fail at open source. These government agencies falsely assume the community is waiting for opportunity to contribute code and contribute fixes. While the world is full of altruistic, well-intentioned developers it cannot be assumed they are idly sitting waiting to offer perfect little code-presents bundled up with a bug-fix bow.
I’m glad to see the government eager to take advantage of open source. But it must be carefully thought-out and planned and be sure it’s not seen as just a chance to get free help from developers. Care should be taken to grow and nurture a community surrounding the organization. It takes time, it takes thought, and it takes planning. Yes, it can be done. And it can be done successfully. It’s a multiple step process.
The first step is to recognize the benefits of open source. This one is the easy step. Most companies and people recognize the power of open source. The EPA has recognized the power of open source. They’ve taken the first step and I commend them for it.
The second step is to organize a plan for how, where, and why to implement open source. What technologies, what software, and what platform should be used to share this code with the world? This step is a bit harder than the first step but again most can accomplish this step as well with very little effort.
The third step is the first step which takes much greater effort and attention. This is also the step when most companies begin to fail. Simply dumping the code onto an online repository such as Github or BitBucket is not enough. This is not implementation. Implementing involves more than the code release. Implementation means marketing, advertising, and clearly defining the benefits for the community to helping. This means showing the value of the open source code to the greater good. Giving the community a reason for participating and sharing how the project benefits more than just the organization.
The final step is the nurturing process. This is not the end of the process but this is the last of the steps in seeing it successfully begin to grow. Nurturing the community surrounding the code means spending time showing the value of the whole. Offering praise and feedback to those community members volunteering their time. Companies who fail to plan and implement clearly never spend the time to nurture these communities. Contributors must feel valued and see positive outcome from their involvement.
Again, I’m excited to see open source growing in government agencies and other organizations but it needs to be done well. Companies should pay attention to more then recognizing the value. Encourage others to plan, implement and nurture their open source communities and then we’ll truly see the power of open source.
April 21, 2014
Open Source Isn’t Free
Whoa, slow down. Read the title again. Open source isn’t free. But that doesn’t even sound right! Isn’t the inherent nature of the term open source meant to imply a freely distributable source?
According to Wikipedia, open source is defined as follows:
In production and development, open source as a development model promotes a universal access via free license to a product’s design or blueprint, and b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.
That certainly seems to imply that open source is free. So why would I suggest that it isn’t? I’d like to offer two counter points to the idea that open source is a completely free model.
Open Source Costs Time
I have no doubt everyone has heard the age old advice:
“Time is money.”
If we keep that principle in mind then obviously spending time on something equates to a cost. Open source will absolutely take time. If you’re the originator you will find yourself spending hundreds of hours (thousands even) improving, maintaining, managing the open source software you are distributing. That’s expensive. If you are merely a consumer of an open source product you will undoubtedly find ways you’ll need to customize the software to meet your needs. (That’s one of the reasons you probably chose open source in the beginning).
The ability to customize and modify the source code is an attractive perk of using open source, but beware this alluring benefit also comes with a significant opportunity to become a major time sink.
Takeaway: Be sure to consider the time you will spend if you select an open source model.
Open Source Costs Energy
The second point might not seem so expensive to you. Open source will cost you energy. Energy in the form of learning new software, learning new code, learning a new community. The energy expense is closely tied to the time expense. You’ll spend time AND energy working with open source. Obviously you’ll spend both of these with other models as well, but when the opportunity exists to “tinker” in the source code, the design, or the blueprint of the product the results will be a much greater expenditure of time and energy.
Remember, just because you can doesn’t mean you should. This applies to more than just Speedo swimsuits. Be thoughtful as you embark on an open source model. Plan how and where you will spend your time and energy and monitor yourself. Don’t go overboard with customizations and modifications. Or if you find you have to, be sure to budget appropriately.
Takeaway: You will spend more energy learning open source than just how to use a program.
Don’t go into open source blindly believing the “everything is free” philosophy. Open source isn’t free and it can be very expensive. That should not discourage you from using open source. There are a multitude of reasons why open source provides you with a better solution than a closed source model. Use open source but be prepared for the costs involved.
April 17, 2014
WordPress, One Billion Dollars, and You
The tech news blogs were hot today with stories of Automattic seeking an additional round of investor funding which would place the company valuation at a cool one billion dollars ($1,000,000,000). Let’s look back quickly at a couple reasons why WordPress has proven to be so successful and then how you can apply it to your business.
Automattic is best known as the company behind the popular open source content management system WordPress. Matt Mullenwig, the founder of WordPress and now CTO at Automattic has displayed a very clear vision for how the organization should be run. Don’t get me wrong, it’s not perfect. In fact, I have had several strong disagreements with WordPress decisions through the years, but I can’t argue with their success.
I have enjoyed the opportunity of chatting about WordPress with Matt and picking his brain for his reasons behind some of the decisions they’ve made and I can’t deny it certainly makes sense. I absolutely respect their focused determination to provide an unchanging, stable platform for their users. Matt made the comment once how WordPress “sought to sustain the technical debt so the user would not have to.” I think that’s a valuable insight into some of the core principles WordPress maintains.
Let’s look quickly at some other parts of that philosophy:
Design for the Majority: WordPress has clearly identified their target market. They focus heavily on the “non-technically minded” This is the user base they build software for. Clearly defined, easy to identify, and focused. And it’s important to note they recognize this majority is not represented by the 1% vocal minority. They seek out their target audience by listening to them at events around the globe. One-on-one, in-person, listening; to more than just those loud individuals online.
If you run a business, be sure you know your specific target market. And no, everyone in the world over the age of 12 is not a target market. And listen. Listen to what your majority says, and be cautious to not fall into the trap of listening to only the vocal minority.
Striving for Simplicity: WordPress has several points of their philosophy which deal directly with this notion of simplicity. They don’t add option on top of option, they don’t add everything requested into the core, and they seek to improve each release by becoming easier to user. Does this sound like any other familiar and wildly successful company? If you thought of Apple, you’re right. In their very first marketing brochure ever the headline was:
“Simplicity is the ultimate sophistication.”
Sounds similar right? Steve Jobs was obsessed with the idea of simplicity in design and he built Apple around that same core value. It was successful for them. WordPress has wisely positioned themselves to take advantage of the same important rule.
Remember this when organizing and deciding on your business goals. Don’t add in everything you’re asked for by your customers. Be thoughtful and pay attention to your overall product. Make sure you stay focused on your goals and be ridiculously driven by accomplishing them.
Bill of Rights: The last aspect of the WordPress philosophy focuses on the license and distribution of their software. They believe in Open Source. They’ve determined the values of offering a free product which can be easily shared, changed, distributed, and copied. They believe in the value of community and the importance of sharing with all.
Other open source projects have led the way in this area and proven how successful this can be. Linux, the world’s most widely used server operating system, was built on this same principle. The four freedoms, as they are frequently called, have shown time and again the value of open source and how the world has been improved as a result.
Consider open source when building your business. You may not open source your core technology because you feel you have an advantage but there are plenty of secondary tools you will use or build which you could open source and “give back” to the community. Don’t overlook this opportunity.
I encourage you to read the full philosophy of WordPress. Looking at the list I think there are several elements which have helped them as they have grown as an organization over the years. Then, once you’ve read it – you should seek to apply some of the similar ideas for your own business.
Is WordPress worth one billion dollars? I couldn’t say, but I can tell you this much – the core values they have determinedly followed and maintained through the past decade are a great model to follow and I wish them nothing but success as they seek to fulfill their philosophy. Can you say the same for your business?
February 22, 2014
The World Needs Open Source
This is a presentation I gave at CMS Africa Summit in Nairobi, Kenya. The crowd was incredible from countries all across Africa. The vibe was excited and everyone eager to be involved. Obviously, the world needs open source!