Episode Number 47

Top Add-Ons That Should be Integrated to EE

Jul 07, 2011 @ 11AM MT

Lea & Emily, with special guest Ryan Masuga, discuss which third-party add-ons should be integrated to the EE core, why we don’t use some popular add-ons (and Ryan explains which are the top sellers), and caveats of having any add-ons integrated to EE.

Tags:
add-ons
ryan masuga
ee core
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.

Lea Alcantara:  This is the ExpressionEngine Podcast Episode #47.  I’m your host, Lea Alcantara, and as always I’m joined by my lovely co-host, Emily Lewis.  This episode is sponsored by EECI 2011.  EECI is up for its 5th season and this time it’s returning to the United States of America the most significant conference for ExpressionEngine developers, designers and users.  It will run from October 19th to the 21st at the Invisible Dog in Brooklyn, New York.  A few tickets are still available, so check out EECIConf.com for details.

The ExpressionEngine Podcast would also like to thank Pixel & Tonic for being our major sponsor of the year.  All right, so for Episode #47 we’ve got a special guest for today.  We have Ryan Masuga.  Hi Ryan.

Ryan Masuga:  Hi there.  Thanks for having me on.

Lea Alcantara:  And Emily, of course, is here with us as well. 

Emily Lewis:  Yes, hi everyone.  Thanks for joining us, Ryan.

Ryan Masuga:  You bet.  Thanks for having me.

Lea Alcantara:  Okay, so when we were thinking about the different types of episode topics that we could talk about, one of the things that we always talk about in person or possibly on the forums, but we’ve never really talked about in terms of the podcast are the add-ons we would like to see integrated with ExpressionEngine.  I think part of the reason why is because it is a bit of a controversial topic.  Everyone has got their two cents and it kind of devolves a little into feature requests and back and forth, and it kind of gets a little messy.

I’m hoping that with this episode we are going to kind of be a little bit more thoughtful and I guess in some ways it’s almost a bit of a feature request episode.  But I think we’ve got a unique perspective here since Ryan runs the Devot:ee and he has a unique perspective in knowing what kind of stats and what kind of interests people have in what particular add-ons people might be downloading, using, et cetera, and I know I have a particular set of add-ons that I always think.  Well, I wish this was part of the install.  How about you, Emily?

Emily Lewis:  Yeah, I have a few that I wish were just built into the core system, but I tend to have a perspective that I like to try and figure out if I can use the system natively first before I start.  Then with plugins, even though there are some that I use every time, I still tend to not do.  I know some people will do like an install.  They have all of their add-ons at the ready and I tend to kind of leave that for the last after I have evaluated if there is something I could just do natively first, and then I sort of go back in and add a few plugins.

Lea Alcantara:  And Ryan, how about you, like what’s your take on whether or not you have a default install of add-ons or DView that they are like absolutely last?

Ryan Masuga:  You know, I found I tried to have like a default standard EE installs, so anytime I do a new site all these things are already in there, and I found that it just never work for me.  A lot of people use certain add-ons all the time, and I find that a lot of times I don’t use those at all, even from site to site. 

Lea Alcantara:  Yeah.

Ryan Masuga:  So just having a default set of add-ons, these are my top ten always installs.  It was something that I’ve got around too making a solid list of, so it’s different all the time.

Lea Alcantara:  Yeah, I found the same thing with me.  I think I remember considering doing that.  But I just found that with different sites, they just literally have different needs and it’s just adds a little bit of time overhead when you are uploading a whole bunch of add-ons and that just takes time and space to upload if you are not even going to be using it.  So I think what’s the point, unless you really need it.

Ryan Masuga:  Right, when we are working on a site, we always do a channel map and a URL map, and then when we get into the channel mapping, we kind of determine what the fields are and then we look and say, “Is this going to be a native field type or is it something that we are going to need some help with?”  And that helps determine whether we need to install a third-party add-on to get a new field type or whatever.

Lea Alcantara:  Yeah, so whenever I start an ExpressionEngine project and things like that, I do try to anticipate at the beginning if I will need add-ons as much as I can, and some of the add-ons or at least some of the things I think about immediately when I first start planning an ExpressionEngine site is like you mentioned what is that URL structure that I’m going to be following and that kind of leads into, let’s say, in no particular order, but two of the add-ons I always think about or integrate when I implement a site.

I don’t like the native way that ExpressionEngine handles or forces category trigger word.  I just simple like to have my clean URL styles without the word “category” or some random X or having to just even think about a category word if it’s not going to be category.  So whenever I create a site, I generally use Low Seg2Cat add-on because it just creates a nicer URL structure.  You are able to use conditions and the native segments to conditionally show a piece of content.  So for example, if I have a recipe site and it had the word “soups” somewhere on in the URL, and that’s a category, then I could just use Low Seg2Cat to say, “Okay, if Segment 3 says “soups,” then show this in the template. 

Currently, one of the best things about ExpressionEngine is how you can conditionally show content based on segments, but it’s sort of falls apart when you are trying to use categories for that, and so Low Seg2Cat add-on for me makes it really easy to not have to use a category trigger word and have category content show up for me.  How about you guys?

Ryan Masuga:  Yeah, for that sort of thing, I think Mark Croxton’s Switchee is probably it.  If I had to pick one thing that I actually do install on every site, it’s the Switchee plugins, which allows you to do a case structure with some order with PHP’s case.  Basically, you can set up almost any condition looking at segmenting and that sort of thing to conditionally show content. 

The nice thing about it is that it’s all parsed before the rest of your template.  If you have the advanced conditionals in EE, no matter how deep it forces other conditionals to be advanced conditionals which lead to a lot of processing overhead and Switchee helps eliminate that while also giving you a nice control over your URLs at the same time.  If you are going to be using a single template to do a listing index as well as a single entry as well as a paginated list, you can do all that on one template very easily with Switchee without a lot of extra processing overhead on EE’s part.

Lea Alcantara:  That’s cool.  Are you using that on Devot:ee? 

Ryan Masuga:  Oh, absolutely.  I use that on every site.  It’s free.  Mark is a great developer.  He updates it frequently.  In fact, he just updated it late last week to be infinitely nestable within itself, which leads to all kinds of awesomeness.  So I would highly recommend people check that out if they want to keep their URLs clean and they want to keep their ExpressionEngine templates optimized. 

Lea Alcantara:  Very cool.

Emily Lewis:  Awesome.  I haven’t heard much about that.  I’m going to have to look into that because I had also thought of Low Seg2Cat as well as Lea is one of my top five ones, but Switchee sounds pretty cool.  I’m going to have to look into that today.

Ryan Masuga:  Yeah, I mean, I’ve used Seg2Cat a lot in the past as well.  Oftentimes, you would have a category URL title in the URL and you need to get the category ID.  It’s a piece of cake to do with Low’s add-on, but before you had to write a number of little, small queries to get those sort of things, but that’s another add-on that I use quite a bit as well, it’s the Seg2Cat.

Lea Alcantara:  Yeah, cool.  I like that all three of us were like Seg2Cat.

Ryan Masuga:  Well, Low is pretty awesome.  Almost anything he puts out is very useful. 

Emily Lewis:  Yeah, I’ve got to agree with that.

Lea Alcantara:  Okay, well, another thing, at least, for me, the second thing on my list that is similar to me trying to make sure that specific conditional content shows up is Ryan’s own add-on which is the MD Detect Page Type for me, because I use a combination of Low Seg2Cat and the Detect Page Type add-on to figure out how to show particular content in on template specifically for a category or pagination.  Because for me, at least with me, at least with the way I implement ExpressionEngine sites, I like to combine pieces of content in one template and just conditionally show content based on the segments.  So when you have an add-on like the Detect Page Type where it just asks, “Is this a paginated page, or is this a category page?”  It just makes it simple, and I’m a little bit confused as to why something like this isn’t native to ExpressionEngine.

Ryan Masuga:  Well, I made that before Switchee existed and actually if you go to the Detect Page Type page on Devot:ee, I actually updated the description to say that Switchee is actually more flexible and better to do this, so actually, I don’t use Detect Page Type anymore, I use Switchee.  In part, because Switchee, again, is parsed first so when it hits its condition, that’s true, it’s not going to do any other parsing in the template, so it saves a lot of overhead or potential overhead depending on how many cases you have on your template. 

You can do Regex.  You can test almost any condition that you can imagine.  It’s awesome and I trust Mark as a developer.  He’s the type that responds to development request, more so than I have time to do.

Lea Alcantara:  So does Switchee also detect if it’s a category page then?

Ryan Masuga:  It can detect almost anything. 

Lea Alcantara:  Yeah.

Ryan Masuga:  You can have it look for pagination.  If you know your category comparison is going to be in Segment 3, you can have it look for that.  We use it all over Devot:ee and some clients I, too, are working on right now. 

Lea Alcantara:  Oh, cool.

Ryan Masuga:  Oh, yeah.

Lea Alcantara:  I think part of the reason why I might have overlooked Switchee is that I’m not a developer.  I have no idea what Regex even is, like I mean, I could reverse engineer the meaning based on the tutorials and documentation and stuff like that.  But in some ways when I looked at your add-on, it just simply says, “Is pagination page.”

Ryan Masuga:  Yeah.

Lea Alcantara:  It makes more sense to me than case value equals pound sign, number P?!.

Ryan Masuga:  Sure.

Lea Alcantara:  It’s like that makes less sense to me as an ExpressionEngine designer than it does an actual word that explains to me what that means.  So maybe in some ways, it’s just the documentation issue or just an example issue for Mark. 

Ryan Masuga:  Right.

Lea Alcantara:  So Mark, if you are listening, for people like me…

Emily Lewis:  And me.

Lea Alcantara:  It would be great to just have like a simple example saying, “Okay, if you are looking to find out if this is a paginated page or a category page, here is how you would deal with it.”  Because to me, I am looking at the example on the site right now, value1 makes no sense to me, like I just need a little bit more information in order to make it work. 

Emily Lewis:  Oh, that’s something…

Ryan Masuga:  Or maybe that’s…

Emily Lewis:  Go ahead, Ryan.

Ryan Masuga:  I was going to say maybe that’s a great example for someone to do a quick screencast of how to do the different values, because in Switchee, for example, you are looking to compare it to something.

Lea Alcantara:  Yeah.

Ryan Masuga:  So your variable might be Segment 3.

Lea Alcantara:  Yeah.

Ryan Masuga:  And if your first case value is cats, then you can show a particular content there.  If your next case is dogs, you might show something there.  But then it could be a pagination segment, in which case, you are going to continue to show whatever was on the page when you first hit expect that it’s paginated. 

Switchee is something that I just wished that that behavior was built into EE so we didn’t have to install that.  But really a plugin is a simple install more so than a module or something large with themes folder and everything.

Lea Alcantara:  Yeah, I agree.  So Emily, any other add-ons that is in your top five?

Emily Lewis:  Yeah.  With this one, it was hard for me to sort of think of it that it should just come with the core because it’s really relevant if you are running a site that accept comments.  It’s Low NoSpam.  Yeah, it allows you to use either the Akismet or…

Ryan Masuga:  TypePad.

Emily Lewis:  TypePad, and I just think it’s fantastic.  It’s really straightforward and simple to use and maintain.  Spam rarely gets through on my blog, and it’s just one of those things that I think so many people utilizing ExpressionEngine for all different kinds of sites, but blogs are a huge part of it that I don’t understand how come there is not some built-in spam functionalities.  So I just found that Low’s is just fantastic.  I love it.  I couldn’t have a blog or a comment-accepting site without it.

Lea Alcantara:  Yeah, I would agree, too.  I do think that ExpressionEngine does have some native spam.

Emily Lewis:  Well, it’s got the Captcha stuff.

Lea Alcantara:  Yeah, but it…

Emily Lewis:  But I always find those get better with plugins, too.

Lea Alcantara:  Yeah, yeah, and it’s funny because I think, at least with these new release, when EE 2 came out – well, they might not officially say this quite yet, but they might be slowly replacing their default or native Captcha even with ReCAPTCHA because that is like one of their first party official add-on.  It’s just not default.  You kind of have to add it in after the fact if you decide you want to use a ReCAPTCHA instead of the random image generator that they have on there.  So it’s kind of interesting.  I think they are thinking about the different ways, but it’s nice that with something like NoSpam, it’s using a repository like Akismet for anti-spam or TypePad AntiSpam to figure out is this really spam, et cetera and so forth, in a big database as opposed to just building its own, I guess, internal database with your own blacklist.

Emily Lewis:  With your own blacklist.

Lea Alcantara:  Yeah, exactly.  I mean, with those things, they still think you should be doing anyway, especially if you’ve got a comment-enabled site, but I actually don’t know anyone who doesn’t use Low NoSpam if they’ve got a comment site, like I don’t know anyone.  So Ryan, how about you?  What is next on your top five list?

Ryan Masuga:  Well, I know because every builder is very different from me, I don’t really have a concrete top five. 

Lea Alcantara:  Sure.

Ryan Masuga:  Like I said, Switchee came up, but I had to think about that for a second.  It wasn’t something I just know off the top of my head.  I really got to think about this. 

Lea Alcantara:  Okay.

Ryan Masuga:  If you want to look at like popular opinion, I’ve got a list of things sell really well on Devot:ee, for example.

Lea Alcantara:  Sure.

Ryan Masuga:  That if we are going by sales numbers, the popular opinion is probably things like Wygwam, Matrix, NavEE, Flexible Admin, Channel Images, Structure, and things like these that you hear often.

Lea Alcantara:  Yeah.

Ryan Masuga:  Some of those you may not hear as often as others, but those types of things I think people are looking for more often than not.

Lea Alcantara:  Yeah.

Ryan Masuga:  You know I have to say that I don’t install any or all of those on numerous sites.

Lea Alcantara:  Yeah.

Ryan Masuga:  Maybe Matrix, but I’ve never used NavEE myself.  I’ve never used Flexible Admin myself.  I know Brad Parscale will take offense, but I’ve never used Channel Images before, and I’ve tried Structure, but for the most part I find that the Pages Module has done what I need to do.

Lea Alcantara:  Yeah.

Ryan Masuga:  So for a popular opinion, those are probably your top five to seven add-ons.  For myself, I don’t know that any of those, but probably other than Matrix, are something that I would have to install in every site.  I know people are really clamoring to have sort of WYSIWYG editor included in EE, and, “Why should I had to pay for Wygwam or Wyvern or any of the other ones that include CKEditor.  I don’t know, but I don’t install those half the time, so it’s not something I’m interested.  It’s not a discussion I really care about.

Lea Alcantara:  Yeah.

Ryan Masuga:  My perspective is that I sell these things.

Lea Alcantara:  Yeah.

Ryan Masuga:  So I have an interest in continuing to sell them obviously. 

Lea Alcantara:  Yeah.

Ryan Masuga:  One example is SafeCracker, which Barrett Newton developed and was brought into core by EllisLab.

Lea Alcantara:  Yeah.

Ryan Masuga:  That was probably a good move for the long haul.  In the short term, it was like, “Darn, you know, I don’t get to sell that anymore and that kind of stinks, but EE is stronger because of it.”

Lea Alcantara:  Yeah.

Ryan Masuga:  But the thing that you have to remember, I think, is that when anything gets brought into the core, will it be updated and tweaked that it pays equal to or greater than what it was when a third-party developer was in charge?

Lea Alcantara:  Yes.

Ryan Masuga:  And I think in the case of Rob Sanchez and the Barrett Newton guys, I think the answer there is a resounding no.  So there is a balance here.  It’s like do you want it in core?  Okay, well, if you have a feature request or a bug, how much longer are you going to wait?  You could have paid $30 for an add-on and you got the developer to fix it the next day or you can wait for the next hot fix from EllisLab and who knows when they will get around to doing that because they have so many plates spinning at any given time.  So if something from Brandon Kelly, let’s say, gets brought in, let’s say, his new Assets thing.  Let’s say they scrapped their whole file management and just decided to use his Assets add-on for that.  Brandon answer stuff and fixes things in a day or two typically because they are his babies.  That’s all he has to worry about is his add-ons and serving his customers of his add-ons.

If those get brought into the core, now we are dealing with EllisLab having to update these things and deal with the feature requests, and we know, in the past, how that has gone.  It can be a lot slower than a third-party developer taking care of his or her babies.  I think that they could tend to be lost if they get brought into the core.

Lea Alcantara:  Yeah.

Ryan Masuga:  So there is a certain value to having things with third-party, I think, whether or not they are sold through Devot:ee or not, but it’s a whole another question.

Emily Lewis:  That’s almost the same argument that I find myself, or not argument but the same discussion I find myself having with people who are like, “Well, I don’t want to pay for an ExpressionEngine license.  I’ll just do this in Drupal or something.”  And I was like, “Well, when you do pay, you got support.”  You have to sort of balance that out.  There are benefits to paying or using an external third-party solution.

Ryan Masuga:  Yeah, some of these developers are just phenomenal in the speed and they want to help you.

Lea Alcantara:  Yeah.

Ryan Masuga:  All the top people who sell into Devot:ee are there because they have great customer service.  They code well and they found something that’s lacking in core that they can kind of jump in and they can fill that gap.  Brandon Kelly is with DevDemons with Travis and Jack with Structure, Low, and a number of these guys.

Lea Alcantara:  Well, and what’s cool, too, is that you’ve got a direct line to the developer, right?  So one of the things about when it might be taken into the core, you are dealing with support people that may or may not have to like go through all the different main technical people first as opposed to if you’ve got a problem with something that’s happened with Low or you’ve got a feature request, you are talking directly to Low who is going to either help you out or figure out what’s going on, et cetera and so forth.  And I also just want to say that the EE Podcast website uses none, like none of the top add-ons that you just mentioned, the top sellers.  We didn’t find the need.  The one add-on I think we did purchase was Adman. 

Emily Lewis:  After listening to Ryan talk about Switchee, I find I feel like that was something useful.

Lea Alcantara:  Yeah, yeah.  You know, I know what you mean.  It has opened my eyes as well.  But yeah, I just wanted to say that when we were building EE Podcast and trying to figure out, “Well, do we need this?  Do we need that?  Well, you know what, we could just do it ourselves natively.”  And I think the site works just fine.

Ryan Masuga:  Right.  And I mean you two are developers to a degree.  You are familiar with the EE backend.  You are not as green as maybe some of your clients might be.

Lea Alcantara:  Sure.

Ryan Masuga:  So if you can get by with a plain text there or you had to put, let’s say, an address, then you need to install a new custom address field type with all these stuff on it to make it easier for a client to deal.  You can bypass the overhead of these extra add-ons just to keep it simple.

Lea Alcantara:  Yeah, absolutely.  I believe that leads me into like a couple of other add-ons that I was thinking in terms of client management because, for example, me and Emily, we are just fine with a plain text field and plugging in HTML.  It’s not a big deal for us, but that’s not really user friendly for the end client and some of the things that I was considering in terms of what I think should be native, I really like MX Title Control.  Have you heard of that one?

Ryan Masuga:  Yeah, I have.  I think that’s Max Lazar.

Lea Alcantara:  Yes, exactly.  So it’s a simple add-on that just does one thing.  You can change the label of the title custom field or the title field essentially.  We already have the ability to create a whole bunch of custom fields with whatever label that we want.  The one label that we just can’t touch is the title label, and sometimes the word title is simply not semantically correct for whatever content that they are going to be adding. 

Ryan Masuga:  Right.

Lea Alcantara:  So just having that extra little bit, because sometimes as designers and developers we take for granted the knowledge that we have and there are still clients that come up to me like they need a little bit more clear labeling and new information in order to plug things in because sometimes they take things literally.  So if it says title, they are looking for like a book title or something or an article title, even if that’s not relevant for their piece of content.  So having something like MX Title Control built into the core to be able to just easily change the label would be great in ExpressionEngine. 

Ryan Masuga:  Yeah, I think a lot of add-ons, those types, are great candidates to be brought into the core because they are simple.  They are free anyway. 

Lea Alcantara:  Yeah.

Ryan Masuga:  But you wouldn’t have to go through the overhead of installing that and updating it or anything like that because it would be part of core and it seems like it would be something easy enough to incorporate.  But really that’s EllisLab’s decision, but I totally agree with you.

Lea Alcantara:  Sure.

Ryan Masuga:  There is a lot of like smaller $3-10 commercial add-ons or free add-ons that just do little things, a lot of them in the control panel, that make it more useful that probably could be incorporated into the core.  Now, I’m hoping that the new creative guy there at EllisLab, James, can take care of some things so that we don’t necessarily need override CSS or any of those other stuff.

Lea Alcantara:  I agree.  Emily?

Emily Lewis:  Yeah, I also sort of feel the same way about those smaller ones that give just a little bit of enhanced functionality or better user experience, either as the developer, as the client who is going to be working with it.  But then I also have to claim some ignorance.  I don’t know if it really is simple to bring what I think of as simple plugins into the core.  I mean, I imagine there is some sort of reasoning for why these things aren’t in there and why.  It isn’t just something about us as the users of ExpressionEngine saying that it’s something we want and then how EllisLab then decides whether to bring something in as a feature or not.  I imagine it’s a whole lot more complicated than I perceive it to be.

Lea Alcantara:  Sure, sure.  I think also they have like their queue of bug fixes, I think, which is more of their priority as opposed to like adding little features here and there.  But at the end of the day, we are working with clients who almost demand some of these little niggly things like, “Can we change the word “title” to something else now?”  And it’s just hard to explain to them how we can change the label for every single custom field, so if they give you a request saying, “Oh, could you change this to this or whatever?”  And you are like, “Yeah.”  And then suddenly they will ask for this one and you would go, “No.”  They just get confused over like, “Well, why not?”  It would be nicer if you avoid that conversation altogether. 

So Emily, I see that in your list you have a couple more things that would help a developer.

Emily Lewis:  Yeah, there are two that sort of go hand in hand.  Well, before ExpressionEngine 2 came out, I like the Word Limit Plus, which basically let you like truncate text.

Lea Alcantara:  Yeah.

Emily Lewis:  It was HTML Aware, so that if it was truncating and it sort of stopped before a close tag, it won’t break.  It will fix that, but that’s no longer available for 2, so I’ve been trying out this one called Trunc HTML.  I think that’s how you pronounce it.

Lea Alcantara:  Yeah.

Emily Lewis:  And it does all of those same things, and so far so good with my experience with it.  I find it useful, like if you are showing search results if you want to show a snippet from something and you don’t want the full text from the field or even just on a blog where you can just show the summary information from the main content.  It’s just really simple.  I know you can do it with PHP, but I don’t write PHP so that’s why I like it a lot. 

Lea Alcantara:  Yeah.

Emily Lewis:  And having it, the HTML Aware is really useful because I often, at least, for my own sites, I almost always am entering the HTML into the fields, and I don’t always want it to run that out on the page on different areas.

Lea Alcantara:  Yeah.

Emily Lewis:  The other one, but it’s kind of small.  They sometimes go hand and hand in the sense that when before Word Limit Plus was available, there was an option that was HTML Aware and so I would also use the HTML Strip plugin, which was before version 2.  Now, I’m trying SuperGeekery Tag Stripper and what it does is it strips out HTML from your text if you would like, and you can specify what to strip out.  You can even specify what to keep.  One thing that this could be useful for is that when you are pulling content from an entry, and like I said, I often put the HTML directly into the entry, but maybe I want to use it somewhere where the HTML would be parse, so maybe in meta tags or something in the head of my document, so I can strip that out and make it easy.  And again, I know that’s something you can do with PHP, but I find it really nice to be able to just drop the plugin and use that.  It’s very straightforward and simple.

Lea Alcantara:  Well, at the same time, too, in terms of ExpressionEngine best practices, I remember Greg Acker said that if you can make something into a plugin, do it instead of using PHP in your template because it’s much faster to use a plugin than it is to just embed PHP in your templates.

Emily Lewis:  Cool.  Then I’m doing the right thing.

Lea Alcantara:  Cool, so I think I have really one more thing that I would wish would be implemented on the developer side, and that’s an automatic image resizer to make thumbnails, et cetera and so forth.  So I think that’s almost in the works because they are working on a gallery import thing and they are trying to integrate that with the file manager, and currently, you can resize and do a whole bunch of things in the file manager.  So the technology is built in there.  It’s just that they currently, ExpressionEngine currently doesn’t have a tag that allows you to just wrap around a larger image tag and spit out a thumbnail.  I mean it already exist in the control panel because ExpressionEngine auto-creates a thumbnail every time you upload an image and then you see a little preview in the actual published one, but you can’t use whatever technology they are using to auto-do that in your own templates. 

Currently, the two most popular add-ons, I think, that you could use for this is Image Sizer and CE Image.  So Image Sizer, I believe, is free and I think it was pretty much the most popular image resizing add-on for the longest time until CE Image, which is a commercial add-on came out with a little bit more like features, et cetera and so forth.  And I think that unlike Image Sizer, CE Image is being actively developed while Image Sizer, it’s been translated to EE2, but I’m not sure if the developer is still actively doing bug fixes or adding features to it.  But it still works, at least, in my experience with my sites that are using Image Sizer, it still works, but I just wish that something like this would be integrated into the core as a tag, so you can output thumbnails easily in my EE sites.

So do you have any more add-ons that you think should be part of the core, Emily?

Emily Lewis:  I really like Freeform, Solspace’s Freeform, and I like it because I found that EE’s built-in form wasn’t always what I needed.  I also like that it collects the information in your database, so you can export that information.  You can search on it, filter it or whatever, so it’s not just sending you an email at all and stating that data to see if you can use it later.  I guess in my mind that seems to make a lot of sense to me, particularly the saving it in a database.  I would love to see that be part of EE.

Lea Alcantara:  I think they are like in some ways isn’t like SafeCracker, but kind of like moving towards that, except I guess Freeform has a little bit more features in terms of notification.  But in terms of custom fields and putting into a database, SafeCracker does pretty similar things except it saves into a channel.  Am I correct?  I don’t know.

Ryan Masuga:  I think that’s right.

Lea Alcantara:  Yeah.

Ryan Masuga:  I think Freeform has its own table.

Emily Lewis:  Yeah, it does.

Lea Alcantara:  Yeah.  So in many ways the stuff that you can do with Freeform you can do I think these days with EE2 with SafeCracker.  The only difference, main difference, and this leads to my last add-on, is the notification and email controls related to it because Freeform has excellent like email templates that you can send out to send to yourself, to send to someone if they filled out the form.

Emily Lewis:  Yeah.

Lea Alcantara:  Yeah.  And by default, ExpressionEngine’s notification is very, very limited, and the add-on that I like to use, and I just started using it for one of my clients, is MX Notify Control and it essentially gives you more notification options than what’s currently available.  It allows you to create like an ExpressionEngine template and you are able to use ExpressionEngine tag, so you can pull the ExpressionEngine custom fields, the title, et cetera and so forth, to automatically fill in a template and then it will send that template and email it out to whoever you want it to, to yourself, to whoever filled out the form, to a mailing list, or to a member group, which I think a little bit fills that gap between Freeform and SafeCracker, in my opinion.

Emily Lewis:  I’m going to have to check that out because I hadn’t even heard of that one.

Lea Alcantara:  Yeah, it’s very cool.  Yeah, I think it is kind of new.  I mean, it was out of necessity that I kind of found it on Devot:ee and I thought, “Oh, this will be great for this particular client.”  So I think that’s nearing the end here.  Ryan, do you have any other thoughts about add-ons that should be integrated to EE?

Ryan Masuga:  Not here, but I think that most of the things are either control panel related or they seemed to be control panel related or plugins that at least from our perspective would be the easier things to incorporate.  There has been arguments out there before, I think, of why isn’t there something like a Solspace user incorporated, so that it’s easier to do with user templates and that sort of thing.  You know you got me.  I don’t know why.  Like you mentioned earlier, Lea, EllisLab probably has their reasons for not including certain things or that’s far more difficult to do than what it appears on the surface for us.  So I think all we can do is keep up with the feature requests and voicing our opinions, and they will bring in what makes sense for them to bring in.

Lea Alcantara:  And speaking of which, we will be having EllisLab in the next episode and they will be listening to this episode right before that, so I’ll be really interested to hear their thoughts regarding this episode in the next episode.  So if you, anyone listening in right now to the podcast, have any questions in their mind to ask EllisLab for the episode that will be released on July 21st, that’s Episode 48, we will have EllisLab, Leslie Doherty and James Mathias, I hope I’m pronouncing your last name properly, James, over on Episode 18.  So just please send us an email at feedback@ee-podcast.com or just visit our website and click on the Contact link and fill out the form if you’ve got any questions for EllisLab.  Please send it to us. 

So, I think that’s the end of our episode and before we go I would like to thank our sponsors for this podcast, which include EECI 2011 and Pixel & Tonic.  I would also like to thank our partners, EllisLab, EngineHosting and thanks Ryan from Devot:ee for plugging the EE Podcast.  So if you want to know more about podcast and of upcoming episodes, please follow up on Twitter at @eepodcast or visit our website at ee-podcast.com.  So this is Lea Alcantara and…

Emily Lewis:  Emily Lewis.

Lea Alcantara:  Signing off on the ExpressionEngine Podcast.  Until next time, bye-bye.

Emily Lewis:  Bye.