The Short Story
Elastic is being broken down and rewritten. This is probably a bit confusing, especially for those of you who aren’t WordPress developers. You might be asking “why?”—I’ll tell you.
While the concepts behind Elastic are great, the current plugin limits WordPress developers heavily. It doesn’t integrate smoothly into how we write WordPress themes, and as a result, very few themes use Elastic.
I’m taking the concepts from Elastic and rewriting them to be tightly integrated with the WordPress core.
I’m taking the concepts from Elastic and rewriting them to be tightly integrated with the WordPress core. Some may even make it into the WordPress core itself. Hopefully, as a result, almost any theme will be able to use the new theme editor with ease.
Unfortunately, this means that any bugs in Elastic 0.0.3 will likely go unfixed. Elastic has always been an in-development project, and still lacks many key features. As such, I feel the best use of my time is to move forward. If you’re interested in the reasons behind the change, a more detailed explanation follows.
I’ll continue to update this blog with progress and previews, and hopefully we’ll all emerge on the flip side unscathed. I really want to see the project happen—the positive feedback has been overwhelming. Thanks for all your support.
—Daryl
The Long Story
When I began writing Elastic last summer, I had no idea of the sheer scope of a theme editor. As the summer progressed, I quickly realized that infinite layouts required changing the way WordPress handled themes, and thus the Elastic Engine was born.
Two months ago, I began to redesign this website using the APIs I’d created, and I realized one thing: The default WordPress Theme API is really, really good. Unfortunately, in its current incarnation, Elastic sidelines a large section of the default API. In short, this isn’t a good thing. The missing APIs likely confused anyone who attempted to develop with the engine, and made development much more difficult.
In my last post, I wrote:
“We’re going to be moving back towards the WordPress engine; taking the good parts (because there are quite a few of those), but maintaining our concept of modular theming.”
That still stands. However, while poring over the WordPress source code, I discovered a way to add modular themes to the WordPress core. Not only does this allow developers to take advantage of the WordPress theme API they know and love, but it implements modular themes in a better fashion than the current Elastic engine.
The concept of modular themes was reason for the existence of the Elastic theme engine. This change turns around 1000 lines of code into a mere 30.
Unfortunately, the change implements modular themes in a different way than the Elastic engine. As a result, any interaction between the editor and the new modular themes would have to be rewritten. When I realized this, I found it an opportune time to restructure the project. You see, the editor has two parts—editing a theme’s styles, and editing a theme’s layout. These are two very different tasks, with very different requirements.
As it stands, the editor focuses on layout instead of styles. Unfortunately, layout is both the harder and more demanding of the two tasks. A style editor requires no interaction with a theme’s content (i.e. PHP and HTML); instead, it only has to edit CSS. A layout editor, however, heavily interacts with PHP, HTML, and CSS, and requires the developer to use APIs when writing their theme. In addition, a layout editor heavily benefits from the addition of modular themes.
Rather than tie style and layout together in the same editor, I’m planning on building a style editor with an optional layout-editing add-on. This will hopefully manifest in the form of a Visual CSS Editor plugin (the subject of my proposal for the 2010 Google Summer of Code), and a parent theme that will add layout-editing to that plugin, as well as the necessary APIs.
Separating the two components will impose fewer requirements on themes, and as a result, allow more themes to use the editors. Finally, while I may be able to reuse some of the algorithms from Elastic, much of the editor will be rewritten with a new, extensible core.
Questions? Suggestions? Please let me know.
by applejux
10 Apr 2010 at 16:32
hi daryl, i’m a total code ignorant but have managed to use WP for some years now. I discovered Elastic a few days ago and think it’s an awesome idea. will be following your progress. good luck.
by Jackson
15 Apr 2010 at 17:46
Hi Daryl,
This is a brilliant idea, I will be following your progress alongside with applejux. Good luck and hope to hear great things!
Jackson
by Tom
16 Apr 2010 at 23:22
This is awesome.
Please keep up the good work.
A visual CSS editor would be killer
by Noya Studio
17 Apr 2010 at 06:07
HI there, Elastic seems to be the future of WP theme development. I prefer to build my own themes, but i think i’ll give Elastic a try after it’s more stable
good luck!
by Tdude
21 Apr 2010 at 07:10
Just stumbled upon Elastic and your website. Created an embryo for a theme in about 2 minutes. Having used many CSS frameworks in the past made me realize I need a standardized way of doing things. You’re doing it soo right, in my opinion. Keep it up!
by el desalmado
22 Apr 2010 at 16:02
Great Project, for me is more worthy the Layout editor than the Style editor, absolute +1
by iFaris
26 Apr 2010 at 12:31
Great contribution to the WP World..
Elastic might be threat to all paid premium themes
by Jason Clark
27 Apr 2010 at 07:39
I can only add to the applause. This is an immense idea. As a non-coder I am getting on well with WordPress so far. However, Elastic makes me think that WordPress will become my the web development platform of choice—full stop. A visual layout interface is a ‘killer’ extension to WordPress! Who needs Dreamweaver? Great stuff! Keep it up.
by Cam Macduff
27 Apr 2010 at 16:39
Wow. What a great idea. I’ve only recently moved to WP but can see how useful this concept would be having had to grapple with writing my own templates.
Don’t stop working on this. It’s well worthy of pursuing.
by kyle
30 Apr 2010 at 23:09
daryl-
i hope you know that what you are doing is groundbreaking and an outstanding enhancement to a platform loved by many.
i /appreciate/ your hard work and determination.
best of luck to you,
~kyle~
by Bob Couttie
04 May 2010 at 02:36
I use Elastic and like it enormously. Haven’t work out where to put custom templates yet but that’s minor. It really is a rmarkable piece of work.
by Beau Lebens
12 May 2010 at 13:03
Looking forward to helping you get one of the building blocks of the new system cranked out this summer
by xvader
24 Jun 2010 at 02:58
i’m now wandering around on ‘elastic’. it seems really nice. keep up the great works, man
by Mark Essel
06 Jul 2010 at 17:09
You’re choice to rewrite to split the project into a visual style editor and visual layout editor must have been a difficult one Darly, but ultimately sounds like the best way forward. I look forward to how you work with a modular layout editor in Elastic’s next incarnation.
Unfortunately my php is juvenile (I’m approaching passable in Ruby within several web frameworks) so any help I could offer would be pretty weak. Regardless if there are annoying components feel free to contact me I’d like to see how you approach this project from the inside.
Your visual editor will unleash a vast and untapped resource, the creativity of non-coders. I think we’ll be surprised at how much more engaging the Wordpress platform will be with a potent visual layout and style editor.
by Gabriel Galvão
08 Jul 2010 at 12:01
Daryl,
Seu projeto é muito bom e tenho plena certeza de que os editores de Wordpress do Brasil vão apoiar. Good job and keep on working!
by Jose Garza
15 Jul 2010 at 10:34
This is a great project period!!!!! keep up with the good work.
jg
by thatadam
19 Aug 2010 at 19:39
Great project. I hope it’s moving forward.
by Orion Telescope
21 Jun 2011 at 07:41
Hi! This is indeed a great blog post. a friend is using elastic and he said its great, i was thinking of trying it too.
by antisyphus
21 Jun 2011 at 17:16
this sounds great, is there a status update on the progress?
by Mo
25 Jul 2011 at 11:49
Hi,
Is this project still going foward or has the development stopped?
Thanks.