Hi. I’m Jeremy. I’m a web nerd.
And you’ll love me.
I write. I code. And make a mean martini.

Say hello.

More Thinking on ROWE

Early in the summer, while I was on vacation, I dug into the book Why Work Sucks and How to Fix It. As my review post stated, I quickly was excited by the concept, and fully agreed that Results-Only Work Environment was the way work was meant to be.

Then I returned to work.

I brought back the excitement of my reading with me, and shared the core tenets of the ROWE with a number of my coworkers, encouraging them to read Why Work Sucks as well. Unfortunately neither I nor the supervisors in my team are in a position where we can begin the ROWE transition for the whole organization, but we did talk about how we could begin to move in that direction, at least within our own team, and that was encouraging.

Shortly after I returned from my vacation, my coworker Krista began working remotely full-time. I remember discussing the idea with her and our supervisor. Looking back, I see how the traditional work environment was so ingrained in me.

You see, even though I am a young 28, and I’ve only been out of college for 4 years, as I read through Why Work Sucks, my views on work were still challenged. One might think that me, coming from a younger generation of workers, might be more naturally inclined to the ROWE, but at least for me, that wasn’t entirely the case. I found myself wondering about the possibilities for making sure my soon-to-be remote coworker got enough “face time” and that we had multiple ways to contact her.

Apparently my laziness in finishing this post has paid off. Now I can give a bit of a before and after picture all together.

Months later, my coworker been working remotely just fine. I’ve also started working remotely three days a week, and several others have started working remotely more often as well. Our team has adapted well to it, and to a more ROWE-ish environment. Obviously, remote working arrangements aren’t the same as a fully ROWE organization, but we’ve certainly moved more in the direction of ROWE than a traditional telecommuting setup. Granted, we still have corporate red-tape holding us back, but our supervisors are great about staying within the traditional corporate rules, without following them to the letter, allowing us the freedom to work the way we work best. We still have a 9 to 5 schedule, but if we need to take time to take care of something else, it’s not a big deal at all. We don’t count the minutes away and make up for them. We just do what we need to do, and make sure our work gets done.

Unfortunately, just this small change has also shown how much sludge exists. We’re not even fully ROWE, and those outside of our department are quick to blame our different working environment for issues when they come up. It’s frustrating to hear and recognize the comments, but for me it’s been a challenge to find out how we can provide the level of service we need to to offer while maintaining the flexibility to work the way we want to work.

Over the past 8 months, I’ve gone from being totally inspired by Jessica Lawrence‘s talk at SXSW, to slightly skeptical about how the ROWE could apply in my own workplace, and full circle back. I’m a believer now, and I’m seeing a glimmer of hope as my coworkers grasp on to the   freedom we all want and deserve in our work life and work to respect each other’s control over their own time. I think my idea of management has changed as well, and I’ve purposefully tried to apply the same principles as I run Conflux Group as well. I look forward to seeing my work environments evolve even further in the months to come.

Easing Some .htaccess Pain

Just wanted to post a quick tip that resulted from a Tweet from Jonathan Longnecker of FortySeven Media. He asked:

Anyone got Dreamhost to do 301 redirects in tandem with removing #eecms index.php? Weird query string stuff happening.

Well, having a bit of experience working with Dreamhost, I responded. This problem isn’t specific to ExpressionEngine, it actually will apply to any website or application where you are using .htaccess to rewrite index.php out of the URLs. Dreamhost and many shared hosts like it is are set up in such a way that .htaccess is always a bit more painful than usual, using the query string URI protocol. (Not that .htaccess isn’t painful to begin with.)

A typical .htaccess file on one of these hosts would look like this:

RewriteEngine On
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [QSA]

That works out fine until you want to add some 301 redirects into the mix. If you add a standard redirect like:

Redirect 301 /oldpath /newpath

You’ll find that instead of redirecting to www.domain.com/newpath, it ends up going to www.domain.com/newpath/?/oldpath, which isn’t good at all.

The key to fixing this is making sure that your index.php removal rule excludes your 301 redirects.

Just add this line after the RewriteEngine On line:

# put all your redirects inside the parentheses, separated by |s
RewriteCond $1 !^(old|old1|old2) [NC]

Hopefully that’s helpful to someone out there. Thanks to Jonathan for asking a question that I could actually answer.

Reading up on ROWE

This year at South by Southwest, I attended a session called Rebel in a Polyester Sash: Rehabbing Corporate Culture (you can listen on the SXSW site and I encourage you to do so), given by Jessica Lawrence, former CEO of the Girl Scouts of San Gorgonio Council in California.

As I sat in the session, I was impressed and taken aback by the ideas she presented about a Results-Only Work Environment. As I spend my days working in an old, mid-sized nonprofit organization, I have experienced first-hand many of the spirit-crushing realities of these types of organizations and identified immediately with Jessica as she spoke about how the Girl Scouts were when she came on board and later became CEO.

The core changes that Jessica implemented were from the book, Why Work Sucks and How to Fix It by Cali Ressler and Jody Thompson. After returning home, I purchased several copies of the book and distributed them to some of my coworkers, but I had yet to actually begin reading it for myself. I was excited to get started, but wasn’t able to find the time to get into it.

Enter vacation.

Last week, as I started my two-week vacation at the beach, I brought Why Work Sucks with me and began to read it. I’m about half way through now, and I’m encouraged by the ideas Cali and Jody present. While at first the ROWE sounds like a dream state that can only be realized by Silicon Valley startups and freelancers, they present lots of evidence and experience from their work at Best Buy, where they devised the Results-Only Word Environment and brought it to fruition in the Best Buy corporate headquarters.

I’m excited to keep reading through the book and hopefully work to implement the ROWE at least in my own business and possibly in the nonprofit where I spend my days.

For now, I’d definitely encourage you to check out Jessica’s session, get a copy of Why Work Sucks and also visit GoROWE.com for more information.

As I’ve said on Twitter before, thanks so much for the inspiration Jessica and also for all the hard work Cali and Jody put into shaping and articulating the ROWE.

Book Review: Building Websites with ExpressionEngine 2

I recently read through Building Websites with ExpressionEngine 2, by Leonard Murphy.

As one of the first books out to cover the relatively recently released ExpressionEngine 2, I was eager to get my hands on it. I’ve found before that reading through books, such as Michael Boyink’s, Building an ExpressionEngine 2 Site for Small Business, has been instrumental in developing a set of standards to use as I develop sites in ExpressionEngine 2.

In case you aren’t familiar with the product, ExpressionEngine 2, released in July of this year, is the latest release of EllisLab’s flagship content management system. The tool is extremely powerful, and is a top choice of web designers and developers for site-building projects that might otherwise resort the such CMSs as WordPress, Drupal, Joomla and the like. While ExpressionEngine isn’t free, and many of it’s top addons are commercial as well, they come with professional support, which more than makes up for the initial cost outset when you run into a bind along the way. ExpressionEngine allows you to work with your content in an entirely different way than other content management systems, completely separating it from the design, and this has led to a very active and dedicated fan-base.

With the power and flexibility of a complex and mature tool, such as ExpressionEngine, comes the challenge of working efficiently. In a wide-open playing field, one must set his or her own rules and standards, so that it’s easy to go back to a site you worked on several months ago and still know how it works. This has been the topic of sessions at the EECI conferences, such this one by Leevi Graham.

It’s in this area also, that I’ve found books such as Building Websites with ExpressionEngine 2 immensely helpful. Murphy’s new book is a good choice for the beginning ExpressionEngine user. It covers all the basics for a user who needs a little hand-holding. I appreciate that it also goes beyond the basics, with a chapter about implementing ExpressionEngine’s powerful membership features, both for control panel administration, and front-end site membership.

As any developer familiar with ExpressionEngine will tell you, one of the greatest features of the tool is its ability to be extended through add-ons. There’s a huge library of them available at Devot:ee, the ExpressionEngine community site, and it becomes a vital part of the development workflow to find appropriate add-ons for a given project. The end of the book includes an overview of several popular ExpressionEngine add-ons, which is fantastic. It’s extremely important to get a firm grasp of the available add-ons before really digging into ExpressionEngine.

While this book certainly isn’t the one for you if you’re already a seasoned ExpressionEngine user, I think any new user will find its contents valuable as they begin using the tool.

A Response to all the CodeIgniter Hullabaloo

Introduction

I started writing a comment on Phil Sturgeon’s blog post from yesterday, but as my comment grew longer and longer, I felt that it would be better presented as a post on my own blog. I would encourage you to read the post and the comments that follow before diving into my post here, as the context will be valuable in understanding my response.

Also before I move into my commentary, I want to make it abundantly clear that I am encouraged by some of the conversation that has taken place since the initial outcry. Things are certainly not resolved yet, but I do see a glimmer of hope.

My Response

I must say I was taken aback by some of the responses early on to Phil’s post. The negativity from both sides was disheartening, and I know this was not Phil’s intent.

I for one am a huge fan of CodeIgniter, and I know that many of the developers in the CI are as well. I do share in the frustration and disappointment that many others express, though, but it’s only in hopes of seeing change. If I had already lost all hope in the product, I would have abandoned ship much earlier on, and I wouldn’t be writing this response. I think that’s the sentiment that Phil shared as well, though it may not have been taken that way.

Our desire is not to jump ship, but instead to see continued awesomeness from the framework we’ve all loved for so long.

The one thing I wish could be clarified from all the commentary, especially that from those who work at EllisLab is this:

We’ve consistently heard that EllisLab invested lots of money in a framework that doesn’t make them a dime. We know you’ve invested heavily in the framework. And we’re VERY grateful for that. But why ISN’T it making you money?

But, it’s the second part of that I guess I don’t fully understand. I don’t see why EllisLab does not draw value from their open source offering. Why is CodeIgniter CHARITY and not indirect PRODUCT DEVELOPMENT?

As a business owner myself, doing something for the good of the cause is great, but not if it’s going to be a hindrance to my bottom line. That why I wouldn’t create a free product just to be a good will offering, something that I wouldn’t use myself. I would create a product that I use myself to better my business AS WELL as the community. The thing is, companies have made millions of dollars from their products that are based on open source projects that they sponsor.

Of course I don’t understand the inner workings of the company, but from my perspective, investing in CodeIgniter does not take away resources from your commercial offering. On the contrary, I would hope that every feature added to the framework by the community would be code that you can use as you develop ExpressionEngine, perhaps even eventually REDUCING development costs for ExpressionEngine. It’s an indirect connection, but for me it’s simple to see.

Conclusion

My conclusion is simple. I love CodeIgniter and I love ExpressionEngine. I’m an active user of both, on almost every project I do. I want to see the best for both.

It’s not and easy road or a short one, but in the end, I think the only way that you can successfully foster both communities is to put your FAITH in CodeIgniter, not just as charity, but as a core for ExpressionEngine. Set a roadmap that supports your ExpressionEngine roadmap. Let the community contribution help you be even more successful than you already are with fewer resources.

You have two great products, but one is always going to suffer if you don’t allow them support eachother in a much greater way than they already do.

Thank you for reading. And I do hope that you can see the positive mindset I have on this issue. This post is not here to spawn further attacks, but rather to catalyze EllisLab to re-envision their products in a way that benefits THEM and the COMMUNITY.