One of the topics that frequently gets discussed in engineering circles (or maybe I should say product circles) is the concept of when to release. I say product circles because engineers I am convinced would be happy to keep a project in continuous improvement forever. It’s in our blood. We have this innate desire to continue to make something better and every time we look at a project we’ve found a half dozen ways we can continue to improve it before we call it a product and release. Continue reading Release with Purpose
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. Continue reading The Power of Product Hunt
There’s a very popular topic making its rounds lately in open source communities. The concept of burnout. This idea can be roughly summed up as an individual spending too much of their time contributing voluntarily to a community and quickly becoming tired and leaving the community. Unfortunately this does happen and is a very real problem in volunteer-driven communities. If you’re interested in reading more on this then I suggest this post which covers the topic very well. But I want to write briefly on a different aspect. I want to talk about an aspect which might not be as quickly considered and times when there may be a mislabelling of a situation. Let’s talk about what is not burnout.
Joomla development continues in this Joomla development tutorial with a focus on the helper file included with a Joomla module. This helper file is an optional file used to provide a bit of organization and clarity to a Joomla module.
Many of you who know me personally know I’m incredibly busy with a number of ventures right now. For those who don’t I’ll give a quick personal update on some of the stuff going on.
I’m leading another talk on developing code using an open source framework. Only it’s going quite slow this time. In fact, I’m pausing after every sentence. And yet the room is far from silent and the excitement is quite high. What causes this excitement instead of frustration?
I guess I should clarify. This particular teaching opportunity is taking place in the great city of Sao Paulo, Brazil. And the reason I’m pausing after every sentence is to allow my translator the chance to repeat everything in their native Portuguese. It’s an intense experience. If you’ve never had the opportunity of sharing a highly technical topic with someone who understands only one out of every dozen words you speak then you are missing out on an experience. Now imagine there are a dozen other people sitting in the room also listening to you and trying to follow along. As I said, it’s an intense experience. But it is an unmatched feeling. Incredible might be a better word. And it makes me think about another power which open source possesses. Here’s a few lessons I draw from the unique opportunity of learning open source.
Learning is community centered
Sure, there are books and tutorials and videos, and a multitude of other resources available. In fact, there are schools and courses and an infinite number of ways to learn. However in open source you’ll often find the best learning is done within the community. People learning from people in a group setting.
The concept of group learning is unique in some sense to open source. We’re here because we want to be here. We’re not being paid to spend our weekend sitting in some classroom learning. We do this because we want to learn. And almost as much as we want to learn, we want to help others. That’s the other side of the coin. No matter how much I learn I always always find someone knows more. And someone else knows less. This means just as important as learning more is the idea of sharing knowledge with others based on what I know. Helping others. We’re a community of like-minded people focused on a particular set of values and shared interests. Our learning is centered on this.
Learning is personal
Even though we’ve discussed how learning is community centered learning is also very personal. People grow internally based on their experiences and they learn based on the instruction they are given. This learning causes them to change, and hopefully to improve.
When we are in an open source community we are often stretched outside our comfort zone. We don’t start that way, but over time we grow and the desire to learn more, or to be better forces us to timidly reach beyond our comfort zone and reach out to others. We’re driven by the deep down longing to learn more. As a result of this longing and learning we change who we are (to an extent). We improve ourselves. The very act of learning in an open source sharing community makes us a more well-rounded, and better person.
Learning is empowering
There’s something intrinsically powerful about knowledge. It’s a pretty commonly understood idea. “Knowledge is power.” But extrapolating on that notion leads back to the root that the very act of learning is empowering. By learning we are gaining knowledge and we are gaining power.
Open source is teeming with knowledge. When every line of code which makes up an application is made publicly available to be analyzed and poured over by anyone interested the result is empowering. Open source encourages learning and as such encourages the increase of knowledge and power. When you look at code and see what can be done and learn how to do things better you are empowered to do more. Now you can share that knowledge with others. Now you can become the teacher. Open source alone gives you the perfect environment – the opportunity to learn woven inseparably with the opportunity to teach.
Learning is exciting
I left one of my favorite lessons for last. Learning is most definitely exciting. I’m not referring to the type of learning you were doing in university with first year studies of ancient history (unless you enjoy that kind of thing). Instead I refer to the type of learning you find in an open source community. There’s a rush of excitement you can feel when you walk into a room on a weekend to meet with others in a community for the sake of learning. It’s very exciting.
As I wrap up my session in Brazil, the excitement is clearly evident. People talking over people, hands being raised, fingers flying on keyboards. Yes, this is what open source learning is all about. Watching someone understand the concept you’re teaching. The smile that spreads across their face when they successfully complete a task. The eyes glint with the newfound knowledge and the empowering, exciting, personal growth they’ve experienced. If you’ve never had the opportunity to experience this before. You should. Find a community and become a part. Get involved and see what learning in an open source environment is all about. I guarantee you – you’ll be changed forever.
I’m sitting at my desk after pulling another all-nighter working on a last-minute deadline for a project. And before you ask let me tell you, I don’t like it.
It’s easy to build a business to meet your needs. You know an industry, a market, or a technology and you want to use that knowledge to build a business. Don’t fall into the trap of designing your marketing plan around yourself.
Not the Man in the Mirror
You are not selling to yourself. Or rather, you shouldn’t be. Instead of talking about your business as if you were talking to someone who understands everything you do – focus on finding your target audience and then understanding what they do or don’t know. Never forget you are the expert. If a user understands everything you do then they most likely don’t need your services.
Growing your understanding of your audience is easy to do, but it takes time and more importantly it takes thought. Many small businesses fail to understand the importance which should be placed on understanding the user better. You need to stop looking at yourself but focus instead on the ones who need you. Here’s a few ways to help you get started.
It’s very easy to find out what other people think or know about you or your business by asking someone from a different age demographic. This is in no way disparaging the elderly. Rather we’re highlighting the differences in life lessons and experiences between generations. Tell an older person what you do and see what questions they have. Be sure to write them down and then figure out how to improve your pitch to answer those questions before they ask them. Ask and then listen. That’s important, you shouldn’t ask them then continue directly on with your own thoughts. You need to ask and then patiently, quietly, listen to what they say. They have different views and different life experiences and if you truly listen you’ll find incredible opportunities for improving yourself.
Most kids play make-believe when growing up. I know my kids do it all the time. I laugh sometimes as I overhear them. They have completely different lives, new names, new ages, new likes and dislikes. And all just for fun in their game. What an absolutely perfect example of what small businesses should do. Pretend to be your own ideal customer. Give yourself a new name, a new age, a new life. Figure out what this “new you” is looking for and then figure out how your business meets a need. It’s a simple concept, for kids it’s simply called make-believe, for adults it goes by another name – personas. I’ll discuss this in depth in a future article. Suffice to say for now, build personas. Play make-believe.
Change it Up
Don’t be afraid to make changes. You can always revert them back if you find they are not working. As you seek to understand your user you need to see what works and what doesn’t. What resonates with them and helps them to understand you and your business. A popular way of doing this involves employing A/B testing (again too much to cover in this post alone). Give your users different experiences. See what works for them and what doesn’t. Learn your users likes and dislikes. As you change it up it’s important that you monitor, report, and improve. Don’t simply make changes for the sake of change. Instead make changes because you believe it will enhance the user experience. You have to monitor the outcomes. You have to be willing to roll things back if they don’t work. But you shouldn’t be afraid to make changes.
Understanding your users should be one of your primary goals as a business owner. Figure out what they want. You’ll find if you take the time to learn your user better you’ll be able to attract the right user. Don’t waste your time selling yourself and your business to someone who is not your ideal customer. Save time, save money, and build the right user-base. All it takes is a little effort, and a few new ideas to start the process of understanding your user.
When using open source software it’s important to recognize the limitations and struggles you’ll encounter. Open source is not equivalent to perfect software. Let’s discuss the ugly truth about open source software.
We all agree the importance open source software has come to play in our world. In fact, as mentioned previously it’s quite the buzz word. But that does not imply perfection. In fact there are many reasons why open source is not perfect and I’ve written previously about 5 ways you’ll fail at open source. I assume you’ve all read that article, have protected yourself against those failures and have pushed boldly on into implementing open source in your company or organization. Congratulations.
If you’re anything like me when I started with open source you’re probably a bit like a kid in a candy store. All the different software products you can now use, and so many of them free and open source ready to be used. It can be overwhelming, and exciting all at the same time. No doubt you’ll start downloading, forking, installing and playing with more than just one. And here’s where the dark side starts to creep in. Here’s the one key takeaway from this entire post:
Just because you can, doesn’t mean you should.
Failure to Integrate is the often neglected side effect of all these open source products. You’ve downloaded and installed 3 or 4 different tools you like. All of them have great features, but now what do you do? Does each user need to login 3 or 4 different times? Does each application have a completely different ‘look and feel’? Your website can quickly become a disjointed mashup of different applications. You’ll find areas that overlap between them as well. Now you have a website where there are multiple ways to perform the same action, but each looks different. Your users will be confused, frustrated, and possibly irritated when trying to complete an action.
Now all of you who are programmers or coders know there are ways to solve this. We can easily write a new application using Composer and Packagist to build a single application with the various bits and pieces we want. And yes, that is a great way to build a cohesive full-service solution which takes advantage of all the open source projects without the integration failures. But I’m looking at the site maintainer, the builder, the end-user who is looking at completed projects ready for installation and use.
When organizing your site and exploring the great wide open space of open source technology and products, please exercise self-control, caution, and a bit of discretion. Your goal should be to use open source for your organization’s success and do so effectively. Be sure the end result is a cohesive site which is easy to use, conveys your brand objective and doesn’t leave the user feeling unsure of your mission.
I believe in open source
I completely encourage every business to use open source. The rewards are tremendous. The software available is incredible and the value you can add to your company is huge. Absolutely explore the various offerings. What I find myself most often recommending is setting up a testing server just for the installation of the many different tools you want to try (or just use online demos).
Remember, your staging or production server is not the place where you test software. Once you’ve played around with it, and you decide it’s a tool you want to use on your site – talk to your developer about integration. Find out what it will take to integrate it seamlessly into your existing website. Discuss the areas of overlap and how to handle them. Make a plan. Focus on your end user experience and how to make it a simple, intuitive website. Use open source the right way.
The term open source is a very hot buzzword these days and it seems everyone wants a piece of the action. Here are five reasons why you will fail at open source.