Episode Number 72

Framing Logic with Leslie Doherty

Jun 28, 2012 @ 11AM MT

As developers, we’re often striving to make developing a site easier for us to implement and update—but what about your administrators and clients? Leslie Doherty discusses framing logic, or the act of improving the user experience for the developer and administrator in ExpressionEngine from planning to execution.

Tags:
interviews
leslie doherty
user experience
ux
logic
clients
expressionengine

Episode Transcript

Download Transcript

CTRL+CLICK CAST is proud to provide transcripts for our audience members who prefer text-based content. However, our episodes are designed for an audio experience, which includes emotion and emphasis that don't always translate to our transcripts. Additionally, our transcripts are generated by human transcribers and may contain errors. If you require clarification, please listen to the audio.

[Music]  

Lea Alcantara:  You are listening to the ExpressionEngine Podcast Episode #72 with special guest, Leslie Doherty, here to talk about framing logic.  I’m your host, Lea Alcantara, and I’m joined by my fab co-host, Emily Lewis.   This episode is sponsored by EE Coder, the EE experts who play with others.  Do you sometimes wish you have a trusted partner for your projects?  EE Coder brings over 25,000 hours of EE experience to companies with needs like yours.  Let’s chat, contact EECoder.com.

Emily Lewis:  The ExpressionEngine Podcast would also like to thank Pixel & Tonic for being our major sponsor of the year.  Hi Lea, how are you?  [Music ends]

Lea Alcantara:  I’m in a pretty excited mood because I can’t wait to get a copy of our podcast shirts. 

Emily Lewis:  [Laughs]

Lea Alcantara:  It looks like one of our winners already received his.

Emily Lewis:  I know that’s really fast for it.  I sent it just with regular US postal service, so that’s pretty impressive.  [Laughs]

Lea Alcantara:  Yeah.

Emily Lewis:  So yeah, I shipped everything on Saturday, so all of our survey and EngineSummit winners should be receiving them this week or next depending on where in the world they live.  Oh, also speaking of the survey, we are in the middle of analyzing our survey data.

Lea Alcantara:  And by we, I don’t really mean, you or me.

Emily Lewis:  Oh, no, thank goodness.  [Laughs]  We are handing it over to an expert.  We hired Empirical Path, a digital measurement firm that does audience research and web analytics.  A local Albuquerque friend of mine, Peter Howley, he works for them, and he’s done this type of survey analysis for me and it’s totally worth it.

Lea Alcantara:  We are really excited to talk about the findings and responses, so thanks everyone again to all of our listeners for enthusiastically participating in our survey.

Emily Lewis:  Yes, thank you everybody.  So let’s go ahead and introduce our guest, Leslie Doherty.  She’s probably better known in our community as Mrs. Flinger.  Les has been involved in a little bit of everything during her ten-year web career, blogging, design, development, standards, teaching, speaking.  She went freelance straight up to earning her Masters in Information Technology, but has also worked for agencies and it was even the community architect for EllisLab.  Welcome, Leslie.  I’m so excited to have on your podcast.

Leslie Doherty:  Thank you.  I’m really excited to be here.  It’s good to be here with you guys.

Emily Lewis:  I think I’ve been trying to get you on for a long time, like the year.

Leslie Doherty:  [Laughs]

Lea Alcantara:  Yeah.  [Laughs]

Emily Lewis:  [Laughs]

Leslie Doherty:  It’s been a really busy year, so yeah.

Emily Lewis:  Well, that actually is a good segue-way to the first question I have for you.  What have you been up to lately especially since you moved on from EllisLab?

Leslie Doherty:  Well, it’s kind of taken a turn.  I’ve been doing more front end work with automotive software industry agencies.

Lea Alcantara:  Interesting.  [Laughs]

Leslie Doherty:  Yeah, it’s really neat.  So a lot of the software that goes into cars, the HMI experience, which is in the dash and the headboard, they are the user interface.  It’s really similar to websites in that it’s all based on user experience, and it’s very interactive so a lot of those concepts need to be presented to big OEMs like Ford and VW, Audi, Toyota.  So they hired me to create demos on the iPad and mobile devices that they take into the meetings and then show the OEMs what their concepts are for the dash.  So if they want to do a new HMI or they have a new skin that they want to present to Ford for inside the Ford cars, then we do a demo in HTML 5, CSS 3, and record it to the iPads.  Sometimes it’s native, sometimes it’s HTML 5 with the wrapper, and they take it in the iPad and they let them to actually click through and see what their concept is visually.  So it’s been really fun.  It’s been a super crazy year.  I’ve been to about seven countries.

Emily Lewis:  Oh, my God.

Lea Alcantara:  Wow!

Leslie Doherty:  It’s been fabulous, but very, very busy, but I absolutely love it.  So in the middle of all that, I still do some work with ExpressionEngine.  I put Elektrobits, which is more of the automotive companies that I work for right now.  We are putting them in the EE right now with their website, so I’m kind of in a little bit of everywhere still, but it suits my ADD well when I have a lot of different tasks.

Emily Lewis:  [Laughs]

Lea Alcantara:  Nice.

Emily Lewis:  Now, are you freelancing and they are hiring you out, or are you working for an automotive company itself?

Leslie Doherty:  No, I’m still freelancing.  I call it I’m dating different companies right now.

Lea Alcantara:  [Laughs]

Emily Lewis:  [Laughs]

Leslie Doherty:  Because I can’t really settle down.  It’s been so neat to get so many different experiences that I work for two different companies that are actually partners, so I do a couple of days a week in one, a couple of days a week in the other, and then I still take jobs on the side, so I’m kind of just have a chance to just kind of taste different companies and see what they are like and how they work, and I’m really enjoying it.  One of the companies wanted to marry me and hire me on full time.

Lea Alcantara:  Oh wow!

Emily Lewis:  [Laughs]

Leslie Doherty:  But it wasn’t quite the perfect fit, it’s close, but so we are working on that.  But yeah, I’m not sure if I’m ready to settle down yet.  It’s been a really good ride doing the freelance this year. 

Emily Lewis:  That’s great, and I really love what you described that you’re doing.  We often forget that the things we know for designing for an interface aren’t necessarily restricted to a web application or even a mobile device application.  That’s fascinating that they are using that sort design influence in car design.

Leslie Doherty:  Yeah, yeah, and I was at Detroit Telematics a couple of weeks ago, and HTML 5 is becoming very big in the HMI and in-dash interactive.  They are actually doing a lot of HTML 5 development with that, so it’s really a neat time to kind of be in this front end industry where you can really go to a lot of different things and know a lot of different applications.

Emily Lewis:  [Agrees]

Lea Alcantara:  So Leslie, can I interrupt for a second?  What does HMI actually stand for?

Emily Lewis:  [Laughs]

Leslie Doherty:  It’s human machine interface.

Lea Alcantara:  Oh, okay, perfect.

Leslie Doherty:  So yeah, I forget because we have a different interface with our websites or with our applications, they may call it the HMI.  They just like to make it sound more froofy.

Lea Alcantara:  [Laughs]

Emily Lewis:  [Laughs]

Leslie Doherty:  But it’s just basically the exact same thing.

Emily Lewis:  So Les, all the work you’re doing you say it’s definitely more front end development.  It sounds like it’s a lot of usability and user experience design, and from my little bit of research I did about framing logic, which is why we’ve got you on today, it kind of sounds like that’s what that is, it’s user experience design.  Is that correct?

Leslie Doherty:  Yeah, it is.  It’s something that the term “framing logic” is something I kind of made up for a talk that I did a couple of years ago in Bellingham.  It’s a way of describing how to organize the back end of ExpressionEngine so that it’s very user friendly, it’s very easy to administer, and it makes a lot of sense for the person on the front end as well.  So it’s basically just the way of concept of organizing your content and how you’re going to do your data entry on the back end so that it’s most friendly for both sides.

Lea Alcantara:  [Agrees]

Emily Lewis:  So this concept of framing logic, does that come from back end development or some sort of programming theory?

Leslie Doherty:  Yeah, I have a background in PHP and back end programming, so it probably comes from that.  It’s just a way.  In my head, I had it thinking of just a way to organize your content and your structure for your administrators who are going to be doing the updating on the website.

Lea Alcantara:  What I think that’s interesting about this is that I think sometimes as developers when we are implementing stuff for ExpressionEngine, we are thinking about how it helps us to implement this a lot easier, but oftentimes we sometimes forget that we are not the ones administering the content at the end of the day. 

Leslie Doherty:  Exactly.

Lea Alcantara:  It’s going to be the client.

Leslie Doherty:  Exactly.

Emily Lewis:  So was this something that you have sort of always gone into your projects with, or is it something that evolved?

Leslie Doherty:  It’s definitely something that evolved.  I think exactly what Lea said were originally when I first started using EE, I was thinking as a programmer, how I wanted to have everything set up and organized, and as I was treating my clients, I started to see consistencies in what their brains expected as opposed to what mine did, and I realized I could make it a much more user friendly experience for the administrators of the site and by doing that, then they are more successful.  They are more likely to update their site.  They are more happy with the content itself, and I think that it’s really kind of developed over time just from working with different clients to see what it is that they expected and what they were looking for.

Lea Alcantara:  What are the major expectations that clients are looking for that sometimes we as developers miss when we are implementing?

Leslie Doherty:  A lot of the things, they really want simplicity.  I think as a developer, it’s very easy for us to map out.  We can look at code and see the matrix.  I mean, we can look at lines and rings of code and kind of understand what’s going on, and what they want is just absolute simplicity.  They don’t want to see categories that they are not going to be adding any content to.

Lea Alcantara:  [Agrees]

Leslie Doherty:  A lot of the times as developers, we put categories that make sense to us because it organizes the templates in a certain way, but they don’t care about that.  What they want is to go in, click as few times as possible to get their content entered, have it be extremely organized, have it be very obvious on what they are doing, and then they want to get out. 

Lea Alcantara:  [Agrees]

Leslie Doherty:  So where I don’t mind looking in the code to see and remember that this field goes to map to this area on the site, they just want to go in and start updating it.

Emily Lewis:  So you mentioned categories, I guess this starts then before you even begin development and sort of in how your planning where your development is going to go?

Leslie Doherty:  Yes, yes, it definitely start.  One of the things that I’d like to do is work directly with and as close as I can to a UI person, depending on what project it is.  So you work closely with the UI person or the designer and say, “This is how it’s going to be organized on the front end,” and then from that I immediately start mapping it on the back end so that we can work together to make sure that everything that’s going to happen on the front end that they want their front end user to experience makes a lot of sense on the back end for my back end user.

Emily Lewis:  [Agrees]

Leslie Doherty:  So I definitely like to start this way early on the project.  Because to get it set up correctly, I like to start it basically almost simultaneously as the design is happening.

Lea Alcantara:  [Agrees]

Emily Lewis:  Yeah, and I think this just brings up a point that I’m constantly stressing with my clients that even though I may be doing the ExpressionEngine development for them, they need their content really close to final.

Leslie Doherty:  Yes.

Emily Lewis:  Their content strategy needs to be clear and their content itself needs to be pretty close to how they want the user to experience it, because you can’t plan, design or development unless you really do know what the end goal is.

Leslie Doherty:  Yes, yeah, and I think of a lot of people go backwards from that.  I’ve noticed that a lot.  One of my recent clients actually did that exact same thing, and unfortunately coming in later in the project, we are actually having to undo a lot of what they already did. 

Lea Alcantara:  [Agrees]

Leslie Doherty:  So it saves a lot of time and a lot of money if you can think long term first and then work backwards.

Emily Lewis:  So how do you do that sort of like a practical example.  Let’s say you’re dealing with an ExpressionEngine CMS, what are some of the key areas that you sort of think about during this early planning phase in how you’re going to sort of map everything out and organize it so that you still get that good developer experience for you but really good user experience for the content administrators?

Leslie Doherty:  One of the first things I do is look at your site map and your main areas.  A lot of the times it’s really obvious what should be a channel and what should be a category.  So if there is an events area and a news area, and for one of my clients, there is different products.  There is HMI.  There are services.  There are applications.  That becomes really obvious.  Those are clearly buckets of information, and so I would assign these to channels, but some of the smaller nuances, the types of news, the types, if it’s a product announcement, if it’s a PR news piece, that would be a category.  So those are really things that you can kind of think about as you’re looking at it on how to map it, but sometimes it’s not super obvious and so that’s when it gets to be a little challenging where when you’re looking at the content to make sure that you’re mapping it so that it makes sense on the back end.  Sometimes you have to get a little creative and say what is it that’s going to make the most sense for them, and it might not be that the channels are going to be as obvious as they would be on another site.  Does that make sense?

Emily Lewis:  [Agrees]  Well, one question that came to me as you’re describing that, do you ever end up in a situation where you create something on the CMS that as a developer maybe it’s not the most efficient but it ends up being a better scenario for your clients?

Leslie Doherty:  Yes.  Often actually, and that’s one of the things that gets a little frustrating with.  If you look at the way things are set up sometimes, I will sometimes do it where as a developer I would cringe like, “Why in the world would I repeat these fields?”

Emily Lewis:  [Laughs]

Leslie Doherty:  But for my client, it made the most sense for them to make their updating as easy as they could.

Lea Alcantara:  [Laughs]

Leslie Doherty:  So sometimes I will do that, and it’s all about making your client happy, and at the end of the day, I want them to be able to update their site easily so if I’m not going to be a developer snob about it, I’m going to make it easy for them.

Lea Alcantara:  I think that’s a pretty good example because that’s something that I sometimes struggle with the repetition of custom fields.

Emily Lewis:  [Agrees]

Lea Alcantara:  Because whether or not I want to have one giant field group with all of the fields and then custom show/hide, or even if it’s going to have three of the same fields, do I just make three different custom field groups?  And at the end of the day in terms of client simplicity, oftentimes separating it into different custom field groups even if it pains me to have that type of repetition is clearer for the client.

Leslie Doherty:  [Agrees]  Exactly, and one of the things that’s really helpful in that exact example is to have a very clear notes on your custom fields.

Lea Alcantara:  Yeah.

Leslie Doherty:  So that’s where I think that’s exactly that situation where you want to have a description for a field, so if you’re going to reuse that same field, it’s hard to put in the description for each channel that you would want so it’s just easier to separate those out and then put a description, “This is for this channel and it does this.”

Lea Alcantara:  [Agrees]

Leslie Doherty:  And it makes it a lot more user friendly then.

Lea Alcantara:  Do you ever use something like a third-party add-on like Title Master so you can even override the word “title” because I think certain clients get confused at that label when we use the title field for so many different things that doesn’t actually mean a title of a page?

Leslie Doherty:  Yeah, yeah, exactly.  Those are some of the types of secret stuff, I think.  There are some other plugins too that I definitely rely on for ease of updating on the back end for sure, but yeah, that’s like an example too because we know where we are placing the title field, but they don’t necessarily remember or know, or it doesn’t make sense in their brains.  So yeah, that’s a great example.

Emily Lewis:  Yeah, I love MX Title Control.  That’s my favorite plugin or add-on for that particular little feature of making a published form a little bit more user friendly.

Leslie Doherty:  Yeah.

Emily Lewis:  Maybe I should have asked this earlier because it seems at least in terms of the process that this would make sense to happen earlier on.  Do you do your own user testing, or do you work with other organizations who have already done this that you’ve referenced in terms of understanding how the client wants to maintain content?

Leslie Doherty:  I actually work with the client themselves, so I just sit down and we have these discussions really early on who is going to be doing the administration, what’s their level of experience.  If it’s going to be someone, an office manager who knows Word and Excel and isn’t very familiar with anything else, then I’m going to make sure that I sit down with that person and say, “This is the content that we have.  This is how we are going to need to update it and then just work with them.”  Sometimes it’s a team of people, and I’ll go in and just work with the team and say, “You know, this is the tool we are going to use.  This is what it looks like.”  I get them familiar with it and then I work with them to see where they are comfortable and then go from there. 

Lea Alcantara:  [Agrees]

Leslie Doherty:  So a lot of it is just individual kind of training almost and it’s all very custom because it just depends on the client.  Some clients are extremely tech savvy and they want to have more control and I’m happy to give them that control and allow them more flexibility, and some clients just want a very simple form.  Some clients want to just be able to email in their post and have it come up.  With ExpressionEngine you can do that, so sometimes I’ll just set it up and say, “Here is your email form.  You’re going to email this in and it will automatically show up.”  So it just depends on the clients, so definitely, I just do this by working directly with them.

Emily Lewis:  In terms of workflows, have you found any other add-ons that you use that sort of make the user experience in the control panel better for your clients?

Leslie Doherty:  Yeah, I have a couple that I use pretty religiously.  The Matrix field I think is an obvious one.

Lea Alcantara:  Yeah.

Emily Lewis:  [Agrees]

Leslie Doherty:  Because it’s so flexible and it’s very user friendly.  I also use Low Variables for setting up things.

Emily Lewis:  [Agrees]

Lea Alcantara:  Yahoo!

Leslie Doherty:  Yeah, I love Low, and there is actually a really neat… I use Freeform all the time.

Lea Alcantara:  Really?

Leslie Doherty:  I do, as opposed to SafeCracker, I know. 

Lea Alcantara:  Interesting.

Leslie Doherty:  I use Freeform.

Lea Alcantara:  Yeah.

Leslie Doherty:  I think because I’m old school that I’ve always used Freeform so I’ve not gotten into the habit yet of SafeCracker.

Lea Alcantara:  [Agrees]

Leslie Doherty:  But one of the really neat add-ons, there is an article by Trevor Davis at TrevorDavis.net, and I’m sure we can add these, but there is a Freeform Plus Field Frame article that talks about how you can make your forms that your clients can create, very user friendly, on the site of the back end itself.  So you know how a lot of times with forms, we create them and then the client just kind of updates.  The forms are always so tricky.  I think with the clients, it’s probably the hardest thing.

Lea Alcantara:  [Agrees]

Leslie Doherty:  So this actually gives them a lot more flexibility.  It allows them to put in all the content of the form itself.  I thought it was really neat, and maybe that’s something I’m missing in SafeCracker which I’m shamefully saying that I’m not very familiar with.

Lea Alcantara:  Well, I mean, SafeCracker is one of the maybe caveats.  I don’t know if you would consider this a caveat is that it saves it into channels, and maybe that’s not where you want to save the data.

Leslie Doherty:  Right.

Lea Alcantara:  It’s like you might want to have that separated especially for the user experience of your client.  For me, like I always try to keep all channel stuff related pages, or news, or like repeating information and those kinds of things.

Leslie Doherty:  Yeah.

Lea Alcantara:  But whenever I think of something like forms or one off items and having that stored in the channels might be a little bit of a performance overkill.

Leslie Doherty:  Yeah, exactly, exactly.  So I’ve kind of just always done it that way, and it seems to work the best.  I haven’t really needed a change so it’s just kind of how I’ve done it, but definitely, I think the Freeform plus Field Frame has definitely been a great user experience for my clients.

Lea Alcantara:  Interesting.  Have you started playing around with any of the new form add-ons like ProForm and there is a couple of them.  I think DevDemon has another form creator out there.  Have you played around with those?

Leslie Doherty:  No, I haven’t.  I think that’s where I get a little developery old school where I kind of just go at it sometimes with the same chisel that I’ve always done at it.

Lea Alcantara:  Yeah.

Leslie Doherty:  Right, I need to kind of come back out and reevaluate what the new tools are and everything.

Emily Lewis:  Yeah, I think that’s something we all struggle with.  I mean, there is only so much time that you can try something new when you have something that does already work.

Leslie Doherty:  Right, right.  I mean, I love learning all the new stuff that’s out there, but there is just so much new stuff that’s out there that I tend to jump.

Lea Alcantara:  [Agrees]

Leslie Doherty:  It’s like jump into Objective C or something as opposed to looking or making this particular thing better because it feels like you’ve got a handle on it and it’s okay.  I’m efficient in this area, so then I’ll go and actually jump out of that area when I could still make this area more efficient. 

Emily Lewis:  [Agrees]

Lea Alcantara:  Yeah, and you know what, there is nothing wrong with that at all.  In some ways, I think that’s even better because I think a lot of new ExpressionEngine developers just throw a whole bunch of add-ons onto their site.

Leslie Doherty:  Right.

Lea Alcantara:  And like overrun it with just because it’s got full functionality and let’s put in there, but people need to think about what functionalities are actually in that add-on and it might be way overkill.

Emily Lewis:  [Agrees]

Leslie Doherty:  Yeah.

Lea Alcantara:  It’s way intimidating to the client because when you look at Field Frame and Freeform, it’s so basic that it’s really hard to get intimidated, and then sometimes when you look at some of the other add-ons which they are feature rich for a reason because people need those features for different clients.  But if you’ve only got simple needs, there is no need to like throw every single third-party add-on that has every single feature that you will disable anyway or try to hide.

Leslie Doherty:  Exactly.

Lea Alcantara:  And that’s going to waste a lot of time and frustration in kind of setting that up when all you need is something pared down.

Leslie Doherty:  Exactly, and you think coming from a CS background early on when I adopted ExpressionEngine, I was just coming out of my Masters.  I was really into the computer science part of it, and WordPress was popular.  Movable Type was popular.

Lea Alcantara:  [Agrees]

Leslie Doherty:  And I remember just looking at some of the code of the plugins that was added that people were just tossing to their sites, I’m just cringing.

Lea Alcantara:  [Agrees]

Leslie Doherty:  And I think from that experience, I’ve always tried to keep add-ons to a very minimum because it’s a code that I don’t know. 

Lea Alcantara:  [Agrees]

Leslie Doherty:  There is obviously some well established add-on developers and I know that their code is solid, but then there is a lot of those add-ons that people can just throw in there that it’s not necessary.  You don’t know that code.  You don’t know what’s going on.  If there is a problem with that later, you’re not going to have an easy time troubleshooting it.  It just becomes very sticky to me to have.  It’s basically having too many chefs in the kitchen where there are just all these different types of codes that’s thrown in there, where I tend to keep most add-ons out and try to do it myself or using the tools that are there, or with very few reputable add-ons, I’ll use those.

Lea Alcantara:  Yeah, and I think people also forget that there is performance issues when you’re trying to use too many add-ons as well.

Leslie Doherty:  Absolutely.

Lea Alcantara:  Yeah, because they are hitting the database in certain ways.  They are storing data in a whole bunch of different ways anyway that’s unpredictable that you don’t necessarily know or can control because that’s how they’ve decided to store that data, and then when you try to load all those, let’s say, you are using so many third-party add-ons that store their data in so many different ways and then all of them need to load one page, that means there is a lot of hits to the database just to load perhaps possibly simple information.

Leslie Doherty:  Right, right.

Emily Lewis:  And then, of course, there is also the additional layer of complexity that add-ons introduce come upgrade time or update time.

Leslie Doherty:  Yeah, yeah, exactly.  Because then you have to watch those for compatibility, depending on what version you’re going to.

Emily Lewis:  So you mentioned a couple of simple add-ons you use, what do you use out of EE just native to sort of make a pleasant experience for your clients on the control panel?

Leslie Doherty:  Well, a lot of what I do is, and this is going to seem really obvious I think, but a lot of it is based on hiding the areas of the control panel itself.

Lea Alcantara:  [Agrees]

Leslie Doherty:  So I always create, depending on it, I’ll create layers of administrators on the back end, and like I mentioned, the office manager, they are not going to want to see any of the modules, templates, any of that stuff, so I will hide all those things and put a member group for that administrator.  If she’s going to log in and need to update, I’ll even lock down the channel, so if she’s going to need to update the news and that’s it, I will give her access to the news channel and nothing else.  It makes it a lot easier for them to come in and step through, and it’s easier for training, it’s easier for them to maintain, and then those other clients that are very savvy and want more control, I’ll open up those other areas and let them have that as well.  So that’s of the ways…

Emily Lewis:  Do you use Publish Layouts?

Leslie Doherty:  I don’t.

Emily Lewis:  Really?

Leslie Doherty:  I don’t. 

Emily Lewis:  I think you should look into it.  [Laughs]

Leslie Doherty:  I think I should.  [Laughs]

Emily Lewis:  Save it for your very last step though because there are some little buggy issues, but it’s that same idea of hiding things that certain member groups just don’t need to see.

Leslie Doherty:  Great.

Lea Alcantara:  So how do you document all of these?  So you’re planning all of these things.  You’ve decided this need to be in category or channel and here are the add-ons that you’re going to use.  You’ve put all these buckets like how do you document this, or do you document this, or what’s your process for that?

Leslie Doherty:  I do.  I do document it, because I’m going to end up coming back and doing some updates, or I’m going to end up. 

Lea Alcantara:  [Agrees]

Leslie Doherty:  A lot of my business is all repeat clients so I know I’m going to go back in a few months or in a year and help them with some updating or whatever.  I want to make sure that I remember because a lot of this is just because I really don’t have the best memory so I know how to make sure that I stay on top of things.  I have to write everything down, and it’s part of the training experience too.  So a lot of times I am very, very visual and I just kind of take that into my clients so I’m going to assume that they need not only just a written documentation of where everything goes and what it means, but also visually what’s happening so I’ll take screenshots of the front of each page and I’ll put on there, “This field maps to this area.  This field goes here.”  So then it’s very easy to look at it and say, “Okay, the ‘title’ or whatever it is, it actually is the Heading 1 of this area or whatever.” 

Lea Alcantara:  [Agrees]

Leslie Doherty:  So I’d make sure that it’s visually mapping the front end to the back end and keeping that in a document and giving that to them so that they can reference that, because a lot of times someone else may come up and need to start updating their site and instead of having them need to go through and explain everything in their own way, it’s helpful to have just something that they can say, “Here is what we got from the developer.  This is what we do.  This is our process.”  Because the whole updating a website process is something in a large company that can be very tedious and hard to establish because there is a lot.

Lea Alcantara:  [Agrees]

Leslie Doherty:  Like one of my clients right now, there are 1,500 people and nobody, not a single person, to update the website.  They’ve got probably ten people doing their own thing on different sites, so we are bringing everything into one and it’s going to be a group of people that there has to be a lot of continuity there so it’s just really good for those kinds of situations where you have it all documented and you can hand it out.  There is no confusion.  Everybody knows kind of where it is that their area is to update and it gives them, for the front end person, you want that singular voice.  You want the site to have a consistent message, a consistent voice.

Lea Alcantara:  [Agrees]

Leslie Doherty:  And for me, that’s one of the ways that I’ve been able to train my clients to do that is to just make sure it’s written down, it’s all laid out and everybody is on the same page.  These are the expectations.

Emily Lewis:  Do you go to this level of detail with all of your clients?  Or do you have smaller clients who maybe don’t have the budget for that level of training and documentation?

Leslie Doherty:  Well, yeah, some of my clients won’t have as much, but at very minimum, I tend to do a screencast of updating for training purposes for a lot of my clients. 

Lea Alcantara:  [Agrees]

Emily Lewis:  [Agrees]

Leslie Doherty:  I mean, right now I’ve been really fortunate to work in the office of several, but some of them are remote, and so in those situations, we will do a training session online.  I’ll share my screen and I’ll do a screencast and then I’ll let them have the movie, and I’ll just do a quick write-up.  So it won’t be nearly as intensive or intense, but it will definitely still be referenced.

Emily Lewis:  [Agrees]

Leslie Doherty:  They can still always go back and look at that.

Lea Alcantara:  [Agrees]

Leslie Doherty:  And I know as a teacher and I know you guys both teach as well that the first time they heard the information it’s not going to make as much sense as they hear it the second or third, or once they’ve experienced it, they are want to go back.  So I try to make sure that that’s available.

Emily Lewis:  So when you are to a degree customizing your framing logic or the design for the CMS for each client, is there sort of like a foundation process that you follow, and that foundation is what you modify to suit each client?

Leslie Doherty:  Yeah, exactly.  I think that it exactly because there is always kind of a standard process I think as you’d go, and I’m sure you guys both have your own kind of starting point that you do for your projects now. 

Emily Lewis:  [Agrees]

Leslie Doherty:  Once you’ve been doing this for a while, you kind of know, “This is kind of my boilerplate.  These are my add-ons.  This is most sites fit into these sorts of categories or buckets.”  And you kind of go from there, and so it becomes a lot more efficient.  Most sites kind of have an About Us.  There is some kind of basic buckets that are usually there, and those things are really obvious and simple, and then you kind of build from there.  So what does this other client have that maybe doesn’t fit into my normal structure, and then you would add that in. 

Emily Lewis:  So do you start with a boilerplate yourself?  Like do you actually have like a base install?

Leslie Doherty:  Yes and no.  I do, but I don’t like it anymore. 

Emily Lewis:  [Laughs]

Lea Alcantara:  Yeah.

Leslie Doherty:  I’m in the process of creating a new one.  Because one of the problems with that is you know how – and I think I heard this somewhere, but I can’t remember where.  But anytime that you launch something and you don’t hate your code, you’re not learning fast enough.

Lea Alcantara:  [Laughs]

Leslie Doherty:  So every time I launch a site, I always do the best that I can from the ground up, but then as soon as I look back at it, I think, “Oh, I could do this better.”  I mean, I’m always learning so my boilerplate, I ended up taking half of it out anyway because I learned from last time I don’t like this, or this jQuery is updated, or this performance was too slow on the last one.  I want to make sure that I don’t use this jQuery plugin or whatever it is.  So I don’t.  I mean, I have some basic templates that I go from, but I end up tossing everything in by hand anyway.

Lea Alcantara:  Yeah, I totally, totally relate to that because every time people talk to me about it, “Oh, well, we do have this base installer or whatever.”  For example, I don’t know if you’ve heard of Stash.

Leslie Doherty:  Yeah.

Lea Alcantara:  It’s this new add-on that’s the new hotness apparently, and now it makes me feel like scrapping everything I’ve done.  [Laughs]

Leslie Doherty:  [Laughs]  Yeah.

Lea Alcantara:  And starting from Stash.

Emily Lewis:  [Laughs]

Lea Alcantara:  And then dealing with things that way, and I totally agree with you that if you end a project and don’t feel at least mildly dissatisfied that you could have done it a little bit better, then you might need to do a little bit more learning, and I mean, that’s kind of my approach whenever I do a new project.  There is always a better to make it faster, better user experience, better this or better that, and when you have a boilerplate, then we all kind of have a starting point.  Everyone is going to have a template and usually like a static page and then like an entries page or whatever.  Like those things are generally the same, but in terms of implementation in ExpressionEngine, things like Low Variables didn’t exist a couple of years ago, right?

Leslie Doherty:  Right.

Lea Alcantara:  And so we have to make do with whatever else, and even in this current show, we were talking about it like the new form add-ons that definitely didn’t exist a year ago and you’re always having to constantly think about what’s a better process for you and your client, and when you have a boilerplate, that kind of pigeonholes you to only one process.

Leslie Doherty:  Right, and I think that’s what I love about this work.

Emily Lewis:  [Agrees]

Leslie Doherty:  It’s that it’s never boring.  There is always something to learn.  There is always some new shiny thing that you can get into and use, and I love that about this.  So yeah, I definitely think always.  It’s kind of one of those Catch 22s where you have a process that you’re comfortable with, but then you want to make sure that you’re always bettering that process.

Lea Alcantara:  Yeah.

Leslie Doherty:  And then it’s just time and learning. 

Emily Lewis:  Yeah, I’m only ever truly comfortable with the process if I’m not looking closely at it.

Leslie Doherty:  [Laughs]  Yeah.

Lea Alcantara:  [Laughs]  Yeah.

Emily Lewis:  You know?

Lea Alcantara:  Yeah.

Emily Lewis:  Like I haven’t really paid attention.

Lea Alcantara:  Yeah.

Emily Lewis:  So Les, you mentioned something about one of the things you like about what we do is just sort of the constant learning process.  I’m curious because I talked to you, and I think it was just about a year ago when I was up in Seattle and you were talking about wanting to sort of mix up what you were doing each day, and then it was more of a back end focus you wanted for yourself, but it sounds like you’re doing more front end.  Do you anticipate getting into anymore back end development in the future?

Leslie Doherty:  I don’t know.  I think I’ve kind of taken a love to JavaScript and Objective C with native app building and things like that.  So there are languages out there that I’ve learned that I really enjoyed that I’m learning them, and I think things like PHP feels a little bit clunky to me at this point.

Emily Lewis:  [Agrees]

Leslie Doherty:  I think because I’m a little rusty for one.  My PHP is rusty.  I have to look things up now that I used to remember, [laughs] that it just makes me feel old.  I used to know PHP before it was object-oriented people, but that was a long time ago.  [Laughs]

Lea Alcantara:  [Laughs]

Leslie Doherty:  So I’ve kind of moved more into it, and just from working with demos and all that stuff, I’ve realized that I’m actually more efficient at front end programming than I am with back end, and I don’t know if it’s just from experience now.  I remember feeling much more comfortable in the back end and seeing my front end was crap.  [Laughs]  I was like, “Do not hire me to do your front end.  I’m much more efficient.”  But then through the process of learning and experience and getting shoved into the uncomfortable things which I think is great for you in your career, you will learn and you would develop and you realize, “Wow, I am actually more efficient at this.”  So I’ve been doing JavaScript and I’m more implementing with jQuery, and I tried to do some Python and Objective-C,  I’m just kind of jumping into.  I went to WWDC last week or two weeks ago, whenever it was, and I absolutely just drooled over native app building.  So I mean, yeah, I don’t know that I’ll ever go back to back end stuff.  I think that, for now, I’m really happy and comfortable in learning this stuff, and there are so many applications for it now with HTML 5.  I mean, we are talking about cars having HTML 5 in them.

Emily Lewis:  I know, that’s great.

Lea Alcantara:  Yeah.

Leslie Doherty:  So I don’t see a need to do PHP anymore or Java.  I hated Java.  I don’t personally have a dying need to do C+ or use Java or anything like that now.

Emily Lewis:  Well, that’s good.  It’s nice to hear how that sort of evolves.  I think sometimes you can stay in a position, whether it’s with an employer or your own company or whatever, and it’s easy to dream about what you think you want to do and then try it and maybe it’s really not as challenging and fun as you thought it would be.  But what really stands out for me, and I was thinking about this the other day when we were communicating back and forth that I think one of the things that having sort of the front end experience that you have and the sort of user experience and design expertise you have, it’s nice to have that as a developer.  The two come together really well because I think a developer can create functional things, but if you can create that functional thing in a well designed interface, it’s even better.

Leslie Doherty:  Yeah, and I think that that’s one of the things.  This is an age-old thing with do developers need to know design, and do designers need to know code, and you do in a certain way, or you need to work very, very closely with someone who does, and that’s where all the pieces fit together and where it flows the best.  I think that’s where the user experience is the best is when those two pieces, either people or whatever it is, if they work together then it becomes a much better user experience.

Emily Lewis:  Before we finish up today, are there any resources, whether they are books or tutorials or presentation that you saw that really helped you either fine tune your framing logic or make you focus a little differently on your user experience that you can recommend?

Leslie Doherty:  Oh gosh, I don’t.  [Laughs]  I mean, it’s kind of just a learned process from just all the experience.  I think, and this where my memory failed.  It always happens.

Emily Lewis:  [Laughs]

Leslie Doherty:  But from going to EECI and from working at EllisLab in the marketing department there, I was their director of marketing for a while, and one of the good and bad things about marketing is that it’s very abstract, and so there is a lot of experience there that comes from just getting a lot of feedback, but then all that feedback can become tangible in how you implement it.  So it’s a very abstract concept to how to improve something, but once you get enough of that feedback, it becomes very easy then to kind of implement those changes. 

Emily Lewis:  [Agrees]

Leslie Doherty:  I don’t know if that makes sense, but there are so many speakers.  There are so much of our community.  There are so many.  I’m always reading.  So there is not any one thing I could point to, it’s kind of just a collection of everything that kind of comes together and formed the process.

Emily Lewis:  Yeah, it sounds like the standard answer for our field.  You just have to pay attention to what’s out there.  [Laughs]

Lea Alcantara:  [Laughs]

Leslie Doherty:  Yeah, and it’s constant and there is so much of it that I mean I have resources that I don’t even know.  [Laughs]  It’s like I don’t even remember that I have this, “Oh, this wonderful slide that I could look up for this.”  And I’ll maybe struggle a little bit too long and then remember I have this resource.  So yeah, it’s so dynamic that it’s hard to point to any one thing. 

Lea Alcantara:  So I think that’s all the time we have for today.  Thank you, Leslie, for being with us.

Leslie Doherty:  Yes, thank you.  Thanks for having me.

Emily Lewis:  It was so great to talk with you.  In case our listeners want to follow up with you, where can they find you online?

Leslie Doherty:  Right now, I’m having the cobbler shoes problem, the children with the cobbler’s or people or feet or whatever it is.

Lea Alcantara:  [Laughs]

Emily Lewis:  [Laughs]

Leslie Doherty:  I don’t have my own website.  I’m seriously actually in the process of building my own website again.  It’s going to be Catapult-Dev.com once I launch it, hopefully later this week, so probably by the time this is out.  Otherwise, I’m Mrs. Flinger on Twitter and I’m Leslie Doherty on LinkedIn.  Those are the best places right now to find me, but the new site to be coming soon.

Lea Alcantara:  Perfect.

Emily Lewis:  Great.

Lea Alcantara:  Thanks.  [Music]  Now, we would like to thank our sponsors for this podcast, EE Coder and Pixel & Tonic.

Emily Lewis:  We would also like to thank our partners, EllisLab, EngineHosting and Devot:ee.

Lea Alcantara:  Also, thanks to our listeners for tuning in.  If you want to know more about the podcast, make sure you follow us on Twitter @eepodcast or visit our website, ee-podcast.com.

Emily Lewis:  And don’t forget to tune in to our next episode when we’ve got the Listener Mail Bag.  If you have any questions you’d like us to answer, please email them to feedback@ee-podcast.com.  We will be answering those questions and discussing the results of our listener survey.

Lea Alcantara:  This is Lea Alcantara.

Emily Lewis:  And Emily Lewis.

Lea Alcantara:  Signing off for the ExpressionEngine Podcast.  See you next time.

Emily Lewis:  Cheers.

[Music stops]