Interviews From the archives: Questions for pMachine

Jamie Pittock / 22nd December, 2006
We thought it only fitting that the first Jambor-ee interview was directed at pMachine EllisLab. Rick, Paul, Leslie and Derek kindly agreed to take questions from those of you signed up to our pre-launch mailing list.

Volkher Hofmann (deus62) asks Rick: As a user who got with the programme very early on (pMachine in its infancy), I’m wondering how profitable the business is today and if you think that despite the insane workload, you a) made the right choice to go ahead with it and b) consider this to be what you’re going to be doing until you drop dead. Does his wife agree?

Rick: Although we’re a very small company we’ve grown consistently every year we’ve been in business, and we’ve done it without outside funding or debt. We’ve always managed to operate in the black, adding staff as necessary for smooth growth.

Most internet companies try to grow very fast – too fast, in my opinion. They usually seek funding in order to ramp up their efforts quickly and create a big enterprise. The odds of failure are exponentially greater with this approach. Instead, our growth has been a very natural and organic process, making it more likely that we’ll be around in the future.

As far as the work load goes, it’s much more manageable then it used to be. In the early days of pM I was literally doing everything, from writing the code, to providing tech support, to answering sales email. These days my life is much more under control – thankfully! There is no way I could have continued the insane pace of work indefinitely without my health declining.

I have no regrets about starting this company. It’s been the most challenging and rewarding professional endeavor of my life. Whether I’ll do this until the day I die, I don’t know, but my hope is that we can build an enduring internet brand that will be around long after I’m gone.

Andreas Liljefelt asks Rick: Do you ever miss sitting in front of a massive API/NEVE/UREI/SLL desk getting ready to mix?

Rick: Yes, I do miss it sometimes. There is something very exciting (and at times very frightening) about being at the epicenter of the musical process. It takes incredible attention to detail, total focus, and the ability to manage a lot of things simultaneously. It’s a great blend of art and technology; very rewarding creatively and challenging technically.

There is a lot about that life that I don’t miss, though, like sitting in L.A. traffic for two hours to get to work, or putting in insane hours to meet a project deadline, or seeing big swings in my income due to project cycles. Overall, my lifestyle is much better now, and I find that creating software fulfills me creatively and technically in a similar way that my audio career did.

Josh Heyer asks Rick: How did your current team come about? How did each become part of your team?

Rick: Every person on our staff emerged from our community. Each one, in their own way, made themselves a visible part of our community, and built a relationship with us, making it very easy to bring them in officially as our needs changed. Internet communities are an amazing phenomenon.

Luke Stevens asks Rick: Has Code Igniter lived up to expectations? Are PHP frameworks a passing fad, or are they here to stay?

Rick: Someone much smarter then me once said that the key to happiness is to not have expectations. I’ve always tried to apply that philosophy to my life, so I didn’t have any expectations regarding CI when I released it. For me, CI was simply a way to step back from EE for a few months and think about web publishing from a completely different perspective. That process has brought a lot of interesting ideas and approaches to the surface which we’re excited to apply to EE.

Having said that, CI is doing very well. It’s finding its own audience and the community is growing quickly. Frameworks are not a new thing; they’ve been around nearly as long as people have been programming, so I doubt they are going to disappear.

Kevin Kurtz asks Derek: These days everyone says that their product requires basic html knowledge, that’s all. What development knowledge does EE really require? What are the key knowledge elements necessary for getting a blog from paper to the web?

Derek: I think that perception is a key element here. What knowledge does it take to create a site with ExpressionEngine? Almost none. What knowledge does it take to create a great, unique site with ExpressionEngine? About the same as it would take to make a great, unique site using static HTML—it will just be a better ride.

Building a site with ExpressionEngine is like driving in a finely tuned exotic sports car. It’s powerful, quick, and has all the amenities you’d expect from an exotic. But if you don’t know how to drive or use a map, all that power, luxury, and accessories are arguably going to be more confusing (and dangerous) to you than trying to get from point A to point B in an old station wagon, unless you start slow and take driving lessons.

To bring this analogy home, driving and reading a map are your staples: (X)HTML, CSS, using FTP, etc. If you have those fundamentals, you can safely drive the exotic sports car, and you can bet that you’re going to really enjoy it—it’s a flippin’ sports car! But a race-jockey who is an expert driver has a strong background in design, probably knows some PHP, and knows his or her way around MySQL. But, if you put that expert driver in the station wagon, he’s still going to surprise you, and make onlookers’ jaws drop. The sports car, however, is going to let him fully show off his capabilities with less effort and give him the most enjoyable experience available.

By the way, this analogy is for site developers. End users really don’t need any prerequisite knowledge except typing and a basic familiarity with using a computer.

Andreas Liljefelt asks Derek: What method do you always want to rewrite, but never get around to?

Derek: If I answered that question, that method might not speak to me anymore.

Andreas Liljefelt asks Derek: What happened that made you print out “I hate people” t-shirts?

Derek: That shirt actually was not born in my mind, but in that of Chris Curtis (http://www.chriscurtis.org/). Some of you may remember Chris from his days doing technical support for pMachine. He would instant message me regularly, starting out with something like: “::sigh:: I hate people…” from in his own words “com[ing] close to just losing faith in people in general”.

Then in August of 2005, I was going to be in Indianapolis the same week he was going there to attend GenCon, so I printed a shirt with his beloved quotation on it. He received some emails from readers of his blog asking if they could get one, so we printed up a small allotment to sell on his site. They don’t exist anymore and there’s no plans for a second printing, so if you have one – collector’s item!

Mark Huot asks: Has anyone ever considered a light version of the application? I’d love to see a version that only includes the ability to publish/edit entries and manage authors, nothing else. It would basically be a speed optimized editor, sometimes I feel as if the trackbacks, the pings xhtml formatting gets in the way.

Leslie: Actually there is a “lite” version of ExpressionEngine. It’s called ExpressionEngine Core and has been available since last December (I think that’s when we released it). Its free for personal and non-profit use. Its also an excellent way to evaluate the full version if you’re considering a Commercial license.

Though it sounds like you’re thinking of an even “liter” version than Core, an interesting idea. You can turn off Trackbacks, Pings, and change the default formatting for the Publish/Edit screens which would certainly simplify things. For some clients I actually did just this and used a single field which delivered an amazingly simple writing interface.

Andreas Liljefelt asks Leslie: Please describe the week before and after a new EE release.

Leslie: Usually the week before we have already released an internal beta to the techs and a few long-time community members who have proven themselves to be good at bug finding. Then its a series of quick revisions that hopefully correct all the major bugs (usually does). If there are major new features then pMachine.com has to be updated, new doc content is proofed, a short news release is written, etc… It’s really not that sexy.

The week after is usually hell week on the support staff. There are tons of questions, usually about new features, and everybody is busy learning said features while trying to explain and troubleshoot at the same time. Fortunately, Robin, Lisa, and John excel at just that. We also have a good core group in the community, Ingmar, Sue, and PXLated for example, who are excellent at learning and explaining new features quickly and that really helps us out.

Andreas Liljefelt asks: When will the pM plans for World Domination become public?

Leslie: I assume you’re referring to this post [Ed. Sorry, dead link] by Rick? Well, I can’t really say anything specific yet but starting early next year we plan to be quite a bit more open about the company, what’s next for ExpressionEngine, and other surprises. As Rick mentioned in a recent post [Ed. Sorry, dead link] “nothing is sacred” and “there is a far reaching strategy” in place. Early next year we’ll start tipping our hand as to how that starts.

Phil Hertzler asks: Where is the EE 2.0 launch party being hosted? I’m assuming it will be on the West Coast, so I’ll want to go ahead and get my flight.

Rick: We haven’t even talked about doing an event associated with its launch, but I assume as we get closer we’ll start kicking ideas around. It would be cool to have a fairly high profile event, not only for the sheer fun of it, but as a publicity initiative as well.

Leslie: We’re thinking of having something low-key at SXSW next year. It probably won’t be an EE 2.0 launch party but perhaps we’ll do a community meet up. Anybody interested? We’ve never gone to any of the hip web events and figured its about time we show up, meet people, and see what all the fuss is about.

Derek: We’re going to SXSW? Woot!

Josh Heyer asks: What applications and processes are a part of your work flow in developing and maintaining ExpressionEngine?

Rick: We all use a text editor to write code with (BBEdit for some, TextMate for others), along with our own development installations of PHP and MySQL. We use Subversion to maintain source control, and we exchange a lot of sarcastic email. Our process is fairly simple.

Derek: I spend most of my day in TextMate and Safari, but also always have CocoaMySQL, Firefox, and Huevos open, and use them frequently as well. I run Apache as included with OS X using PHP and MySQL packages from Marc Liyanage (http://www.entropy.ch/). I use Parallels on my Macbook to run Windows for the occasional need to test in Internet Explorer.

Paul: BBEdit, Camino 1.2, DropStuff, Firefox, Huevos, iChat, Mail.app, NetNewsWire Pro, Safari, Terminal, Transmit are the Mac OS X GUI apps that I use on a daily basis for working on pMachine stuff. I also enjoy the use of non-GUI programs like Apache (1.x and 2), MySQL, PHP, Subversion 1.2 (both server and client), along with the backup software SilverKeeper. Online apps are phpMyAdmin, ActiveCollab (crappy though it is), ExpressionEngine, and a few homegrown things.

The workflow usually involves keeping the local files up to date using the Subversion repository. Thanks to Subversion I can use either the iMac or the Powerbook to do work and still keep everything synched up along with Rick and Derek. When a build or version is ready for the users, there is a shell script written that creates the downloadable files for all versions of ExpressionEngine and the Discussion Forum module including updating the build number and cleaning out development files not ready for the public.

Leslie: This is more to maintain the company but I heavily rely on Mail.app and Spotlight. I have about 1.5 years of email in there that I mine for information everyday. Did you email me a year ago and ask a question and need the answer again? Chances are I can find it in less than 60 seconds which is amazingly helpful. Aside from that I also run TextMate and Subversion to help maintain the docs and EE to maintain a bunch of internal stuff.

Andreas Liljefelt asks: What is your favorite EE feature?

Derek: It would honestly be impossible for me to pin it down to a single feature. I often take various parts of ExpressionEngine for granted, until I see a post on someone’s blog for a plugin or way to solve a problem with some other publishing application, and I’m shocked that it’s something that needs a complicated external solution. I know you’re not going to accept that answer, so I will say custom statuses. Yes, that tiny, oft-overlooked ability to add metadata to an entry. I use them constantly on my own sites.

Leslie: This is a hard question. I’ve developed about 100 sites in EE and it seems like there is a different feature that saves the day each time. I’d have to say that probably Custom Fields and the “Template Engine” as a whole are my favorites. Custom Fields give so much flexibility in how you capture and display information its just indispensable. On my personal site I use Custom Fields all over the place for podcasts, link lists, blogging, to-do lists, etc…

I love the template engine because it pretty much mimics traditional web site design. It doesn’t take much to move from doing straight HTML to creating a dynamic site with EE tags. This made EE really easy to learn (I wasn’t an employee when EE came out) when I needed it for client projects. Then when you learn the template engine you discover that its so much more than traditional design and you can create 1000 page sites with just a handful of well designed templates… it just kicks butt.

In fact, I still remember that magic moment when Rick, for whatever reason (I wasn’t an employee at the time), decided to share his plans for Xengine (the original name for EE) with me. He went over the template system, how control of HTML would work, etc… and I was floored. It was immediately clear how much better this would be than anything else I’d ever used.

Rick: Wow… I’ve never thought about that before! I have no idea how to pick one. I don’t build websites for a living so my perspective as a developer is a little different then someone using EE every day. I’m not sure I have a favorite feature.

Paul: Extensibility. Anything I can do in PHP, I can do in ExpressionEngine with modules, plugins, or extensions. That tickles my fancy.

Simon Rudkin asks: ExpressionEngine offers great features for building a community around your site (comments, forum, membership, profiles, private messaging etc) but as soon as you want to go beyond that, it gets difficult. For example, if I want to allow my members to create a shopping list of wine (like www.corkd.com) or track weight loss (like www.traineo.com) I’m out of the scope of EE. We’ve got pretty much complete freedom when it comes to structuring site content; can we expect freedom in adding community features in the future?

Paul: Technically, these things are already possible using ExpressionEngine and creating a dedicated module. The Commerce module will be a separate module that allows people to buy items and creating shopping lists and is not part of the built in member area of ExpressionEngine, but simply uses the member data already available. There have been quite a few people who have used ExpressionEngine to make large communities and even web services with modules, so anything seems possible in this area.

As for features that can tie directly into the member area, there was talk about this during the WDS when discussing EE 2.0. The ability to manage the member area to be more community-creating friendly with possible pluigin in features and abilities. I do hope that we will be able to work on that and get it in there as it will make your shopping list and weight tracking features easily integrated into the already existing member area.

Phil Hertzler asks Paul: When do we get to get our hands on the (Full) eCommerce Module so that all of us EE developers can officially take over the world?

Paul: See, it is this ‘take over the world’ bent on the Commerce module that has had me worried. I finished the module months ago and have been merely holding it hostage in the Subversion repository as I know the power that it wields. There also happens to be a working transporter and Stargate in my garage too.

Seriously though, there is a plan for its development and a release date has been eyed on the horizon (I am dehydrated so it might be a mirage). Various pMachine employees got a quick look at it during the World Domination Summit at the end of August, and I think I might have gotten at least one “that’s pretty slick” from the crowd. As usual it will be finished when we think it is finished. If you want to speed it along, you might consider having all the various governments in the world outlaw taxation on goods and services. Oy, what a pain that is to code up for an entire planet.

Mark Huot asks: I’d love to know if there’s a way or chance for outside developers (not associated with pMachine) to get custom extension hooks added to the application?

Paul: You are welcome to make feature requests for extension hooks in the forums. If they strike us as a good idea, then they will be added in a future version. I tend to make the final decisions on extension hooks and my tastes in them tend to be a bit conservative. The core files have a scant few and it will be rare that a new module will have them during its first release as its code structure might change too dramatically in a follow up release.

Andreas Liljefelt asks Paul: In what Monty Python episode can we see the Herring Dance, and who is Ken the Boxer?

Paul: I think you mean The Fish Slapping Dance? Bloody peasants…

Big thanks to pMachine EllisLab for taking the time out for the interview and all of you who sent in your questions.

  • Jamie Pittock

  • Jamie is a designer of the internet and spends his days building websites and walking his dog.  He’s running a workshop at this years FOWD London titled “Building beautiful websites with ExpressionEngine” which you should definitely try and get to.  If not you can find him talking shit micro-blogging on Twitter

Comments

  • When do we get to get our hands on the (Full) eCommerce Module so that all of us EE developers can officially take over the world?

  • Thank you.You informed me!)

  • Wow, what an indepth article – I especially liked the tee-shirt idea and am thinking of getting some printed for the people in my office too!

  • I especially liked the tee-shirt idea and am thinking of getting some printed for the people in my office too

  • Great Post!!! thanks for sharing such a valuable information.

  • The article have good sound.It is useful for beginners.

  • Great article. I really like it. Thanks for information a lot.

  • thanxs for great article. its a great help

Comment Form

  • Should you care, Gravatars are enabled.

  • We will link to the URL but we utilise the 'nofollow' attribute value.

  • pmCode is disabled. Textile formatting is available. Code blocks should be wrapped with <pre> and <code> tags. Always play nicely.

Advertisment (Want to advertise here?)