Gexla.com

A designers dream becomes a developers dream

Posted 2008-03-09 05:05 AM

This weekend at SXSW, Ellislab has been giving a limited presentation on ExpressionEngine 2.0.  There are no official dumps of information available and details can change but what has been coming out so far is quite huge.  Here are the points that I feel are most important for me to make in my view of these updates (note: with few details available, some of these points may be based on false assumptions.)

1.  There will be much more crossover between the ExpressionEngine and CodeIgniter communities.  Currently there are remarkably few developers who have made much of a crossover splash.  In other words, there are likely more people than we know crossing the lines, but there has been little open evidence of this.

2.  My second point is a much stronger implication to go with the first point.  There will be many more ExpressionEngine coders available.  A search of the EE forums has shown frustration with the lack of developers available for ExpressionEngine.  Developers in the pro network are often unavailable and many of them are designers rather than coders.  An integration of CodeIgniter will open the barrier between the developer heavy CodeIgniter community and the designer heavy ExpressioEngine community.  Designer, meet coder!

3.  CodeIgniter essentially gets a huge boost in the number of available libraries.  If ExpressionEngine components can run on CodeIgniter without the entire ExpressionEngine CMS then CodeIgniter will be in the somewhat unique position of being a framework with highly refined finished products available from paid developers (such as a forum, wiki and even a CMS.)

4.  CodeIgniter becomes the engine!  The ExpressionEngine community knows that Ellislab has gone through some big restructuring with recent versions of ExpressionEngine.  The company’s name changed from ExpressionEngine to Ellislab and the flagship product took a small step back from the spotlight.  Now the company is about Ellislab and an umbrella of products, not just the CMS.  Now the company may go through another big restructuring process, though not as big as the last one.  Considering that ExpressionEngine modules will be decoupled and become almost stand-alone products (running on the new “engine“) ExpressionEngine will now take another step back from the spotlight while the importance of CodeIgniter moves forward.  I am very interested to see how the packaging and branding will look when the final result is revealed.

5.  For all those people asking how to build a CMS in CodeIniter, your question will be answered in a big way!

The rest of the updates seem to be more on par with previous big updates but not so groundbreaking.  Overall this will also be a nice refresh to the code base.  At this point the system is four years old and still on a 1.x branch.  ExpressionEngine was getting to be a little dated and this newest update will put the problem of dating to rest.  From here, due to the more modular approach (even core libraries can be replaced in CodeIgniter) I can see the system continuously being refactored by both Ellislab and the community into a bright new future.  Next stop, PHP 5.

Problems? 

This will not be an immediate upgrade for many people and I can see the release being a huge headache.  I wonder if Ellislab will continue to support the 1.x branch.  Anyone using 3rd party add-ons will be left in the dark until features provided by those add-ons are dealt with (perhaps this will be an opening for EE developers to make some cash doing upgrade work.) Some add-ons won’t be needed but there will still be work to implement the features in the new version of EE.  Developers with a large client base using EE will likely be keeping old clients on the 1.x branch for quite some time.  The more reliance on hacks and crazy structures to get around old limitations, the more pain there will be in upgrading.  Developers with many supported add-ons will need to ramp up for more support and coding work.  Some of these developers may not have solutions ready right away.  Mitchell, I am looking at you!

Licensing issues will also be interesting.  I will be interested to see if I can develop applications using a hybrid of Ellislab paid products and CodeIgniter which would currently violate the license (social networks using a custom blog system but the Ellislab forum module.)

This all sounds very exciting.  I am happy to see CodeIgniter become more important rather than falling off the side.  I’m sure there will be restrictions and limitations which will dampen my enthusiasm though but right now all we can do is wait and see.  Actually, who is waiting?  I have work to do!  Back to ExpressionEngine 1.6.2!


Deron Sizemore

I’m excited about it for sure. I probably won’t upgrade for a while though… at least until the kinks are completely worked out.

I love that EE will crossover with CI. I know absolutely nothing about PHP an CI but that doesn’t mean I don’t want to learn. I’d love to be able to roll my own features in CI instead of waiting and hoping someone comes out with a module that I need.

John Fuller

Thanks for stopping by Deron.

That’s OK that you don’t know PHP, it is easy to pick up.  I built this blog in CodeIgniter but Ellislab can’t help me with my design skills!  ;)

Nathan

Great points, John.  I hadn’t considered the licensing issue; that may prove to be thorny.  But I think it’s safe to say they’ll have to continue supporting the ‘1.x’ branch for some time—there’s no way they could expect all paying customers to switch and it is their core business. More likely it will just fade away as new customers opt for 2.x.

Cheers,
Nathan H.
OnWired LLC
(maadmac)

John Fuller

Nathan, I agree.  I think the 1.x branch will live on to some degree.  Maybe it will turn out to be like pMachine.  I hear talk about an “upgrade rather than a transition” but that goes against what has been said by the developers before.  In any case, anything said right now has not been made official.  I just don’t see all these changes not breaking things.

Deron Sizemore

Yeah I see that you’ve built this blog in CodeIgniter. How long did it take you to develop this blog using CI?

I always hear from everyone that PHP isn’t hard to learn, but the couple times that I’ve tried learning, I’ve crashed and burned. Maybe I just didn’t give it a chance? I’ve talk to Derek Allard and some others about this, but do you have any books or resources on PHP that you would recommend for someone like me trying to get my feet wet?

John Fuller

I think the greatest power in PHP is to do small things.  A full CMS is relatively advanced but using PHP to output things like the date or an IP address is really simple.  Similarly, on ExpressionEngine a simple plugin is very easy to create. 

This blog took me about a couple of weeks of full days over the course of a month or so to build.  There are a lot of things that you don’t see as well as other sites I run on it which have different features.  So really I built more than a blog.

PHP is not hard to learn but there is a hump to get over before you arrive to a point where you feel like you “get it.” That hump takes a bit of effort to get over but if you spend a few full days of working in PHP then you should get there.  From there you still have more humps for various things but the humps get smaller.

The book I started on with PHP is Beginning PHP and Mysql which you can get at Apress.  I picked up the E-book because it is cheaper.  I don’t know that is the best book but it got me going.  PHP.net is also a really great resource, you will use it often for looking up functions and other things.

I am a firm believer that people who prefer the design side of things should not worry about screwing too much with PHP.  The reason I think this is that in web design there are so many things to learn and so many things that can complement web design that the programming side might just be a distraction.  The same goes for programming.  As a back-end developer I don’t have time to learn design for the web and if I did have the time there are better things to learn.  Also, there are always more interesting things for both sides like becoming expert in SEO and web marketing, things that actually bring in money!

Deron Sizemore

Yeah, I hear ya. I’m definitely more of a front end design type of person. I’m good with Photoshop/Illustrator/HTML/CSS and that’s about the extent of it.

My biggest thing in wanting to possibly start learning some PHP is because I generally just develop my own ideas/sites. I don’t do much (if any) client work. I just enjoy dreaming up an idea and trying to develop it and see where it goes. With that said, as a designer using EE, I can only go as far as EE will allow me to go with my idea. There are times in which I need some custom stuff but I just don’t have to knowledge to develop it nor do I have a few grand laying around to pay someone to do it.

Elliot Haughin

I think you’re right… building EE using CI seems like a win-win situation.
I know it will get me much more involved in ExpressionEngine and its development.

Elliot Haughin

John Fuller

@Deron: Though I believe as developers we should learn things that closely complement the skills we already have, we also should simply follow our passions.

Also, I would like to add another point to my earlier comment about learning PHP.  Learning to program can be hard, learning PHP is easy.  In other words, what you are having a problem with is not PHP but programming in general.  Keep this in mind when you are struggling to get started.  If you knew another scripting language then you would have no problem picking up PHP.  You just have to keep cracking at it.

@Elliot:  Thanks for stopping by!  Who let you in here?  I think I need to start using that new Akismet CodeIgniter library that was just released to keep out the hoodlums.  ;)



Gexla.com