All entries filed under “Interviews”
Editors Note: EE add-on developers Eric Lamb and Ben Croker have a message and some audio for you to listen to. They sat down on Skype, hit the Record button, and shared their thoughts on ExpressionEngine and web development.
Hello EE folks,
Ben and I sat down recently to discuss some more of the comings and goings within the web development and ExpressionEngine communities. As has become the norm, we’re putting it out there so others can get an idea of our thought processes and how 2 professional ExpressionEngine add-on developers think.
This time Ben and I discuss EE Core, more StackExchange goodies, what happens when add-ons mature, the nonsense that is the Aaron Swartz case, feedback on returned add-ons, share some thoughts on MSM, SEO nonsense, and Web Producers and their importance for building quality products among lots of other topics.
Also, if you haven’t watched it yet, the Aaron Swartz keynote - “How we stopped SOPA” at F2C:Freedom to Connect 2012 is a definate must read for anyone in web development or who’s curious about just who this cat was.
As always, let us know what you think in the comments or on Twitter (@mithra62 and @ben_pylo).
Eric Lamb & Ben Croker
Have a listen to their recording and be sure to give them feedback.
Check out the episode.
Erik Reagan of Focus Lab has interviewed Mark Croxton, creator of the popular add-on Stash.
Learn more about the mastermind of what seems to be an essential add-on nowadays.
This is proof Mark Croxton is indeed human, and not some wicked smart robot.
Personally, I enjoy getting to know more about the developers in the ExpressionEngine community, beyond just the add-ons they create.
Thanks Erik for taking the time to write this!
In addition to having the coolest name in the ExpressionEngine community (find a cooler one, I challenge you), Bjørn is also one half of AddOnBakery and part of new a development shop. He was recently interviewed at ThemeSquirrel about his work converting and selling themes for ExpressionEngine.
My themes are just a side business, sort of a “trial” to see if there was a market for EE themes. Turns out there was, but it’s not a huge one like for WordPress. My other business is my addon business (which mentioned will soon be moved to wedoaddons.com) – my most popular addons are SEO Lite (free), AB Pagination (commercial) which makes it easier to implement custom pagination design in EE and Simple Registration (commercial) which makes it easier to create beautiful signup forms in EE.
Read the interview with Bjørn.
I’ve been enjoying the ongoing series of interviews from MetaQ, a webzine by Q Digital Studio.
The latest interview is with Chad Crowell but also check out interviews with Stephen Lewis, Lea Alcantara and John Henry Donovan.
If you were following along on Twitter, you might have heard about the 4-day long process that Ryan Masuga went through moving his EE add-on repository and storefront, Devot:ee, from EE 1.6.9 to the latest version of ExpressionEngine 2.
Because Devot-ee is such an important resource to the community, Masuga wanted to be as open and transparent as possible about the upgrade. He provided regular updates via their Twitter account and even detailed some of the problems he was running into. This long and tedious process was, unfortunately, taken by some to mean that upgrading a site from EE1 to EE2 is a messy process that takes 4 days.
I think Paulo Elias put it nicely:
I am puzzled at all of the negative “upgrade process’ tweets re the recent @devot_ee upgrade. Complex shit takes time to get right
Indeed it does.
According to Ryan, Devot:ee consisted of a lot of third party and custom add-ons. Every single one had to be updated and tested. Some of those were mission critical add-ons for e-commerce and other functionality that supported their business of giving add-on developers a place to easily sell their software. Ryan plans to eventually publish his log of what he had to do to make the upgrade happen.
I asked Ryan if he would spend a few minutes talking to EE Insider about the experience of upgrading a complex site like Devot:ee, what he learned and, most importantly: was it worth it? He obliged and below is a transcript of some of his answers during that conversation.
EE Insider: When did you start the upgrade process? There was probably a lot of planning that happened.
Ryan Masuga: We started in March and I wrote down every step because I knew that we had to do it all again in a final sweep to get any data we might have missed. Other client work got in a way, so it wasn’t like this was the only thing we were working on. We set it aside for weeks.
Was there one thing that you spent the most time working on?
RM: I spent a lot of time…on the sales reports for the developers because they need to be accurate.
The plan was to update Devot-ee over the weekend. Did you have a master plan?
RM: I ran through the 20-point checklist and it just didn’t work out that way. I thought the smart thing to do would be to make a static site first so people could still search. I set that up as a subdomain and checked out a branch that just had everything disabled, basically. You could still search the site, you could still download your stuff. You could do everything except buy stuff, really. I think that lessened the pain of our site being officially down for three or four days because people were able to, essentially, use the catalog. However, I was planning to be down maybe eight hours or something like that because I was taking my time with checklist.
When you were running the EE update wizard, were there any problems?
RM: I had zero errors going from 1.6.9 to 2, which was pretty wild. And then it was all about upgrading add-ons. Matrix, Cartthrob, Better Meta., converting Better Meta to NSM Meta, Favorites, Low Variables, Channel Ratings and then converting Solspace Ratings to Channel Ratings.
We spent a lot of time adjusting PHP in our templates and in our custom add-ons. [The extended downtime] had to do with that peripheral stuff.
Why didn’t you leave the site up and use a staging server, get everything upgraded and just flip the switch?
RM: We had to put a content freeze on the site…
Because of sales…
RM: Yeah, because of sales, rating, favorites, reviews…
And sales being the most critical.
RM: Yeah. We don’t want to recreate any of that stuff or merge data if we don’t have to. We ended up being down 4 days and we would’ve had to recapture 4 days worth of data from an EE1 database.
Was the upgrade and downtime worth it? What does it mean for Devot:ee going forward?
RM: The good work and the time [the community developers] are spending is on EE2 stuff. There are so many cool things out that we couldn’t use. I love Zenbu. I like Switchboard. None of this stuff was available for EE1, so it’s making my life easier in the Control Panel. The Control Panel seems nice and quick.
I know that EllisLab is putting a lot of dev time into EE2 and it’s just going to get better. We need to be there [on EE2] so we can take advantage of all of the stuff that EE2 provides.
And at some point if you wait too long the two versions of EE and any add-ons would be further apart and the upgrade would be even more difficult.
RM: Absolutely. We would be like a boat lost in the night with no paddles. Where do we go from here? We would be so far down a hole that we are basically going to have to rebuild the site rather than upgrade. Now we’re at a point that we’re at the latest of everything.
Now, it’s causing a couple of problems because we had some template syntax that needed to change but on the whole, it’s going to be better for everyone because we can make full use of SafeCracker. That’s a big part of the site because people can submit and edit their add-ons.
So now you can develop new features for the site without worrying that one day you’ll have to go back and redo everything for a big upgrade.
RM: Yep, we would try to keep new stuff to a minimum because we would have to do it in two places. We got a huge feature request list and stuff that we want to do. We want to vastly improve the image galleries on an add-on page. There are way too many clicks and it’s just lame. It takes the height of the highest image, adds a bunch of whitespace…it’s just kinda weird. We get a lot of emails about it. “Hey, we just want a previous and next button so I don’t have to close each one.” We can spend time on that stuff now without having to do it twice.
Thanks to Ryan for chatting with us. He’s inspired me to work on upgrading EE Insider to EE2.
At EECI earlier this month, I ran into Ryan Battles of Jovia Web Studio. Ryan, along with Andy Johnson of Shaping the Page, designed and developed the latest website for the burgeoning EE community: Director-ee.
When I first saw Director-ee I was struck by the gorgeous design but left wondering where it fits in and the idea behind it. So, during my conversation with Ryan at EECI, I told him that and invited him and Andy to do an interview here at EE Insider.
Interview with Ryan Battles and Andy Johnson
Q. Let’s start with the basics. What is Director-ee?
Andy: It’s an easy way for ExpressionEngine developers and designers to find and get to know each other better. We’d look for other EE users on Twitter and in the forums, and thought that it would be nice if there was a central location for the community to gather.
Ryan: With sites like Devot:ee, Show-ee, Train-ee, and EE Insider already providing various third-party services to the community, we noticed that nobody was focusing on individual profiles. We wanted to create something that would have that focus and mesh well with these other sites.
The site is gorgeous. Who’s responsible for the design and development?
Ryan: Andy is the mastermind behind the design, and I was spearheading the development. We had been brainstorming this project for a while and one Monday he fired up Photoshop and showed me what he had been working on over the weekend. When I saw the elegance of his design, a fire was immediately lit. We gave ourselves deadlines and launched the site less than a month later, just in time for EECI2010 in San Francisco.
Andy: I just reworked a Geocities template that I use for all my clients.
From what I can tell, almost 300 EE professionals added themselves to Director-ee. Has the reception surprised you?
Andy: Yes, we have been surprised. We didn’t really know what to expect, but we just knew that it would be fun to do, regardless of the response. But we’re happy so many people have been enjoying the site!
Ryan: I was excited when we had three members, and had no clue that it would grow this big so fast. We have found that the number of members raise some scalability issues. For example, our new Google maps feature has to place pins on the map for everyone registered on the site. As soon as we hit 22 members we had to completely rewrite that programming because Google was limiting us to a certain number of API calls at once. It certainly has been a learning experience as we go along.
Why should someone sign up with Director-ee?
Andy: If you want to make it easier for other EE professionals to find you, it’s a good way to go. It also gives you a place to promote your shameless plugs to the rest of the community.
Ryan: We were just looking for a service that would benefit the community, and posting a member profile provides links back to your own site, an opportunity to tell the world about yourself, and just a tool to find out who else lives near you, has the same interests, etc.
Are you aiming to make Director-ee a third party version of the official ExpressionEngine Pro Network?
Andy: Our intent isn’t to replace the Pro Network. Director-ee is more about connecting people WITHIN the community, rather than connecting companies with clients. We might have some of those features in the future, but our first priority is helping individuals within the EE community connect with one another.
Ryan: While we were inspired by some of the features that we wanted to see in the Pro Network, like Andy said, we realized that our target audience was going to be individuals within the community, not companies, and not clients. This makes us fundamentally different from the Pro Network.
Do you have any plans to commercialize the site with premium services?
Andy: We’re not sure. At this point we’d like to keep as many services as possible free for our members.
Ryan: From the beginning our goal has always been to simply make something awesome, that people will love. If we can successfully do that, then we can worry about finding a way to monetize it. We truly have no official plans to charge for anything on the site, and if we ever do, it will be in the spirit of providing a quality service to the ExpressionEngine community.
—
Thank you to Ryan and Andy for taking the time to answer the questions and share their vision, inspiration and thoughts on Director-ee. If you haven’t signed up yet, it’s free. So, what are you waiting for?
Famed ExpressionEngine events site, Devot:ee, has written another article spotlighting developer Andrew Gunstone.
Andrew Gunstone is an ExpressionEngine web and add-on developer and the Technical Director of Thirst Studios, based near Melbourne, Australia. He recently released his first add-on, SC Publish Redirect, and has many more promising add-ons on the way. His example of developing add-ons to fit development needs is an inspiration to web developers who have a need not filled by current offerings, and we look forward to what he has coming up!
Andrew has done some very nice work with EE and uses a ton of add-ons. It’s a great interview, well worth your time. We still haven’t gotten the call for our exclusive interview, Mr. Masuga.
Continuing their ongoing series, Devot:ee has spotlighted developer Anna Brown. The article goes into, as previous articles, what tools Anna uses to get the job done and what she has built. Who is Anna?
Anna Brown is a wildly successful web developer and the owner of MediaGirl, Inc. Among many other projects, she developed Zocalo, a Spanish language daily newspaper that is the fourth largest ExpressionEngine site on the internet according to Hop Studios’ yearly round-up. Her sites push the boundaries of ExpressionEngine in scale and capability, and she shows the rest of us what’s possible with ability, hard work, and over 1 million unique visitors a month.
It’s an excellent read for any developer.
EECI 2010 speaker and prominent early member of the EE community, Mark Huot, was one of the first real extension contributors to the EE community. With the release of ExpressionEngine 2, we’ve invited Mark to answer some questions about the earlier days and what he’s looking forward to most.
1. How long ago did you start developing add-ons and what prompted you to? What drew you to ExpressionEngine vs. another option?
I started developing add-ons in 2006 out of necessity. We were facing a particularly aggressive timeline and our original CMS vendor pulled out part way through the definition. By this point our requirements were pretty much set (and signed for) so we needed a system that would be flexible enough to bend to our needs (custom fields were pretty much the primary selling point). We were fortunate enough to talk to Leslie on the phone and bounce some ideas off him before diving in. He put us in touch with Mitchell (of Solspace) and through that partnership I built my first extension (the Multi-select Drop-down) under Mitchell’s care.
2. What challenges, when you initially approached development were slowly erased over time? Are any of those re-created with the new beta?
I’m a “code” learner, not a “documentation” learner, so the biggest challenge for me was getting accustomed to the EE coding style and architecture. It’s not particularly complicated or unique, but it still took some time. Luckily with EE2 built on CodeIgniter, I can leverage (yea, I said leverage) my existing background with the framework to dive right in.
Beyond that, and contrary to my learning style, I’ve always wished for some better documentation around the “public” functions. EL has done some of them (here’s one), but never got to the Localization class.
3. How do you approach building an add-on? What are you first-steps? How do you plan the development cycle?
My first step is diving right in. I’ll write out as much of the code as I can without ever testing or loading it in a browser. I get a basic abstract class definition created, some sample methods and even some theoretical XHTML down in code. Then I go back and just make it work. It’s sloppy and bug ridden, but in a few minutes I can see, at face value, whether the idea has legs. If it does, I start over. I take what I like and drop what I don’t. This is when I get anal over line lengths, code wrapping and whitespace. But the key is that I’m not exploring any more. I have the idea down, I know the approach to take, all I’m doing is performance tuning and finessing.
4. What aspiration do you have for EE2? What does CodeIgniter as a base do for you as a developer or aid you?
Phew, a lot. When I was first getting started with EE I fell in love with the drop dead simple templating language. It was easy to learn and even easier to implement. Now, though, as my coding skills improve, and more importantly, my database skills, I find myself wishing I had more control over the templating language. So as a developer, I’m excited, and hopeful, to see CI views on the front-end (not just in the control panel).
[far too technical moment: I’m also hoping that EE2 optimizes some of it’s template meta work to the filesystem and out of the DB as it has been in the past]
5. What is the biggest piece added to EE2 that helps you? What is the biggest piece missing from 2.0?
The biggest addition I’m looking forward to is the structured development platform. Separating Modules out into models, views and controllers will streamline my development process and allow me to reuse a lot more of my code than I have in the past. I see a library of views cropping up that can be re-used as needed. For example a “list” view, an “options” view, a “summary” view, etc… Oh, that and a reusable “exp_weblog_titles” model .
The biggest piece missing may have been alluded to in my last answer, but from my very early peaks I haven’t seen font-end views implemented as I would have hoped. It seems that views are kept in the CP so it may take a little bit of work to get them truly working on the front-end as first class citizens.
6. Do you have any intention to use accessories with your add-on? If so, what for?
I do, and I hope others do as well. Accessories are great ways to provide your users with an omni present UI. Say you were building a file manager. Integrate an accessory with your file manager and suddenly your users can browse their files from anywhere. Give Accessories some time to mature and I think we’ll start to see all sorts of cross-talking accessories accessible from anywhere in the CP.
7. Overall, as an EE user what has pleased you and disappointed you most with the ExpressionEngine 2 beta?
Personally, I was very pleased with the beta. The support staff was reachable throughout and as far as I could tell, quite attentive to any testers needs.
8. Do you have any plans to build extensions now? A lot of your extensions are getting on the old side, and were developed for client work?
I do have plans to get back into add-on development. Probably slower than I did originally, since the support quickly outweighed the development though. I’ve got some interesting clients on the horizon with some interesting problems to solve. As you can see from my previous answers, I’m really looking forward to diving into EE2’s `views` and see what sort of awesomeness lurks in the dark corners.
Our thanks to Mark Huot for his interview. You can find his EE client work at his company’s site Happy Cog and his EE extension work at docs.markhuot.com.
Mitchell Kimbrough, better known by his company’s name Solspace, was one of the first EE developers on the scene. We asked him questions regarding his current add-ons and the release of ExpressionEngine 2.0 to determine what has come before, and what we can expect in the future.
1. How long ago did you start developing add-ons and what prompted you to? What drew you to ExpressionEngine vs. another option? If you could, recap Solspace’s release history, with some highlights of challenges with the EE builds at that time?
I began writing add-ons for EE back in early 2004, but I can’t prove it. The earliest evidence of an EE add-on is from the Rating module from early 2005. I remember that a client wanted rating capability on his website. It occurred to me that I could take the Comment module and use it as a base for a rating module.
I was drawn to EE because I was already committed to its predecessor pMachine Pro. I had used pMachine Pro as a CMS successfully on a few sites. I initially chose it because the code looked clean and crafted, though I didn’t know a thing about PHP or MySQL at the time. Choosing pM Pro and later EE was the critical business move I made that got word of mouth to spread. Few people in my area of the country were using a blogging tool as a CMS yet. I resisted EE initially because of how it used templates, but I quickly changed my mind when I saw how it could allow me to accept incoming clients with ever expanding needs.
The history of the early Solspace is really all about responding to client need. I saw a market for add-on software for EE every time a client asked if EE could do a certain thing that it could not in fact do. I just started saying yes to everything and figuring out how to build it later. Those were painful years; many floggings from Paul.
The most notable EE challenge in the early days in my view was the fact that you could not initially publish to a blog from a front-end page. That’s why I wrote Freeform. I needed to accept user submissions to a contact form. I wanted to have them submit to a blog, but there was no capability for that. So I saw the need and opportunity for a flexible form submission tool. I was sure that Freeform would be obsolete once the SAEF came about. I was so wrong. That’s one of my favorite lessons. I employ it to this day. I call it, “I don’t know!” I don’t really know what the market wants. Only the market knows. So I have to find a way to write software, release it and see if it floats. I’m almost always surprised by the market.
2. What challenges, when you initially approached development were slowly erased over time? Are any of those re-created with the new beta?
Legitimacy was one of the big challenges that was slowly erased over time in EE. When I first started I was one of a handful of developers using the tool seriously. It had to be a unique client who had the stomach to risk their project on a really cheap, practically free, CMS tool. EE was not legitimate in the old days; mainly because it was not reassuringly expensive.
As more people came online to use the tool, there at the same time seemed to be more clients coming online who were comfortable taking more of an open source type approach to web development. I don’t think EE really did anything in particular to remedy the legitimacy problem. We developers did. EE definitely supported us and improved its stability and security over time. Rick, Paul and Les were stable influences who created bedrock that a community could build and reach stability upon.
3. How do you approach building an add-on? What are you first-steps? How do you plan the development cycle?
When I build an add-on I first ask if I can get it out the door and into people’s hands on a timeline or for a price that is manageable. I try and follow the maxim that, “I don’t know.” I don’t know what’s going to get traction in the market. I try to choose projects that can get their wheels on the ground quickly in order to get market feedback.
My development cycle is almost wholly dependent on a representative of the market, usually a client, telling me what they need from a given add-on. The Friends module was developed in this way. A client needed to create a local version of Facebook on their site. Facebook Connect hadn’t been released yet, but they wanted that functionality; friends, groups, messaging, etc. I coded the module for them and pushed it to meet their needs.
When I was done with the first version of Friends I looked at all of the work and I looked at the end result and I was disappointed. It took so much time to get the thing running on a site I thought that people would eventually reject it. There was sufficient demand for it from the market that Kelsey and I decided to power through and finish it. We solved the problem of installation complexity by developing Code Packs. Code Packs are like a just-add-water starter kit for an add-on or mash-up of add-ons. You click a button and immediately have a fully functioning Friends site up and running.
We’ve all heard that necessity is the mother of invention. Well problems are opportunities in my view. The Friends / Code Packs combo is an example of that. It’s a good example of our development process. Find yourself faced with a challenge in EE. Turn that into an opportunity through some clever software solution. Develop it in a way that you can share it / sell it to others.
4. What aspiration do you have for EE2? What does CodeIgniter as a base do for you as a developer or aid you?
My aspiration for EE2 is that it be recognized as a development platform for web applications. For years Solspace has used EE less as a CMS and more as a web development platform. We can use it to create almost anything for a client. In my view, EE2 is a response to and validation of that fact. When I look at EE2 being built on CI, I think that EllisLab has acknowledged that its future is not in blogging, not in CMS’ing, but in serving as a platform for collaborative web developers. I embrace this and think it wise and prudent.
5. What is the biggest piece added to EE2 that helps you? What is the biggest piece missing from 2.0?
At this very moment I am not thinking a lot about what pieces have been added to EE2 versus what’s missing. If I was running EL I would have done exactly what they did. Once the decision was made to run EE on top of CI, I would have set the first goal as to simply port all of EE 1.x to EE 2.x. Get that new rascal stable and secure. THEN and only THEN, go full blast on building out the possibilities of the new platform.
6. Do you have any intention to use accessories with your add-on? If so, what for?
I will definitely make accessories available in Solspace add-ons. I think people will turn a lot of them off, but they should be made available. They’re easy to write and they are nice at-a-glance tools. I like that feature of EE2.
7. Any new things to look forward to in 2010? Can we expect more entries in the performance series?
We are almost done with the performance suite, which includes Template Morsels, Static Page Caching, Super Search and Preparse. It’s funny, the performance suite is essential to us and our clients, but when I see feedback on the add-ons that make it up, people are always asking for cool new features rather than faster performance. We’re either ahead of the curve with the performance issue or EE performs perfectly well for most people out there.
The performance suite makes the case for where I want Solspace to go. I want Solspace to be one of the pillars of the EE community. I want our products to be essential equipment for serious EE developers. If we can quietly become an essential part of your toolkit, if we can serve you as you serve your clients, I will be very pleased.
As for 2010 releases, we have some killer gear coming out. But to be frank, most of our time in the first part of the year will be spent converting our library to support EE2. We will continue to support EE1 for years to come by the way. We think it still has a nice long life left in it.
8. Overall, as an EE user what has pleased you and disappointed you most with the ExpressionEngine 2 beta?
The EE2 beta disappointed me with the lack of extension hooks. But I will be honest and blunt. It’s a relief. We were very busy. If the beta had come out and been completely ready to support all of our add-ons, we would have been hard pressed to convert quickly. There really is a lot of work to do. And by the way, I would have done what EL did with its beta release. I would have kept it as simple as possible and gradually built into releasing the full monty.
9. We are now looking at the EE2 public beta, what challenges are you facing in EE2’s current iteration with your released Solspace add-ons?
As above, some add-ons can’t even be touched yet. The necessary extension hooks do not exist in EE2. I think there are some architecture ideas still floating around EE2 that are being resolved and finalized. As you code and develop you encounter opportunities along the way. Sometimes a block of code, written differently, explodes the opportunities exponentially. I think that some of that is happening with EE2. We’re patient and have plenty to occupy us in the mean time.
Taking a page from ExpressionEngine.com’s Showcase Feature, Devot:ee is now Spotlighting Developer Chad Crowell.
Who is “The Knife”?
Chad Crowell is a web developer who runs web marketing agency Encaffeinated by day and develops ExpressionEngine add-ons by night. His add-on credits include Direct to Structure and Friendlee Date, both popular and useful add-ons. He’s also so edgy that we had to blur sections of his spotlight images and it’s rumored that he stunt doubles for Kiefer Sutherland.
You can read the great spotlight interview here.