home
Blog

What I’d like to see from Lithium #li3

li3This week my framework of choice CakePHP forked. Now there’s CakePHP (the mothership) and Lithium (the project formerly known as Cake3). Let me tell you, oh people of the interwebs, it’s a weird feeling to wake up on a Friday morning to find out the leaders of your “online community” have parted ways and no one is really talking about it. Kind of like in high school when 2 friends break up and you’re not sure who you’re supposed to hang out with. The public breakup actually seemed very mutual and polite and the world appreciates the “less drama” approach. Let’s look at the facts, CakePHP is still the excellent framework that it was on Thursday and development is still going on.

And to keep myself upbeat about the whole situation I like to pretend there was a board room meeting where Larry Masters raised his arms and said “Go forth @gwoo and @nateabele! and continue with us -not as enemies, but as friends- to bring the good news of PHP to the world! We are all lions! There can be many prides!”… and then Mark Story did some kind of run-up-the-wall backflip because he is amazing…

Nate’s Question

Backstory complete, Nate posed the question on Twitter about what people would like to see from Lithium. I knew my answer wouldn’t fit into 140 characters so I thought I’d post it here.

File Uploader Class

My first dream utility would be some kind of built in File Upload mechanism (component, behavior, I don’t really care). I have had a long sordid story with uploading:

  • First it was a custom jobby that got exploited pretty quick.
  • Even when I did patch it, I was always stressed out about it.
  • Then I used one of the upload components from CakeForge.
  • Then about a year ago I switched to MeioUpload which rules, but after a year of use I’m starting to see the imperfections in it.

The general attitude in the CakePHP community seemed to be sort of “we don’t have that” and “figure it out for yourself”. But let’s be honest, we live in the #lazyweb and most real world applications involve some kind of uploading. Usually it’s creating a method for some computer illiterate person to upload a CSV or a PDF. But in the era of audio/video and media rich apps, the need for any framework to possess a standardized uploading class+handler is inherent. A canonized Uploading Class makes perfect sense. I have high hopes for something like this to come to Lithium because it appears that the creator of CakePHP’s Media Plugin, David Persson, has also defected. But so far his Twitter stream has given few clues to anything like this, just cryptic messages about pyramids, sunsets, and bicycles.

Image Editing Class

Another idea would be some kind of Image Manipulation/Editing class. This idea I got from this tweet. Just like uploading the chances that your modern day app is going to run into images and/or image editing is HUGE. I suppose this runs into a “Which javascript framework do we use!?!?” dilemma, but we all know that jQuery is the right answer here.

Other Ideas

Any other ideas would be toward making useful applications, because I’m a more User Experience oriented person. If I were to put myself on an MVC spectrum, I’d be here:

[DATA] Model ------------------------- Controllers ---------|------------- Views [UX]

Just a tip for the Lithium Team, the secret to becoming an awesome framework is to make yourself completely accessible to n00bs. Have little bits that give your framework some “killer feature” eye candy. Extract mundane tasks like comment systems, rating/digg counters, geolocation, event calendars, et cetera into pre-packaged add-ons. I realize the developers of Lithium probably want to keep things lightweight and generic -and they should because it makes the framework more nimble- but some kind of cabinet of “Almost-Core” add-ons would be killer. Sort of like CakeForge Snippets and the Bakery intended to be before they got all super confusing.

Meeting Biggs Darklighter* at Subway

As for my decision whether or not to “Join the Rebellion” who knows. I really like CakePHP and having used it everyday for over the last 3 years I feel like I’m just hitting my stride. I feel like I can do anything with it. And probably more importantly, as long as I have production servers that are PHP4.3.9 (gasp!) and PHP5.2.6 with over 40 live sites I won’t be leaving CakePHP anytime soon.

On the other hand, some of my most memorable help on the IRC has been from Lithium’s Gwoo and Nate (as well as Mark Story who is already an established bad ass). So based on loose *never actually met* e-relationships Lithium seems like a more natural choice.

It will ultimately come down to the new programming cliche “Choose the framework that’s most suitable for the project” (CTFTMSFTP, for short). It’s like Subway**. There’s no rule that you can only order one sandwich for the rest of your life. It’s simple: choose the one you want to devour at the moment, pay the lady, and move on. Sometimes it’s CakePHP, sometimes it’s Lithium, and sometimes (gasp!) it’s Ruby on Rails.

Hopefully that metaphor changed your life like it did mine. Otherwise, I’m excited for Monday when my Ponies Class for Lithium is unveiled to the whole world. And although my hands are tied to lower PHP versions for awhile, I’m excited to see what comes of the whole Lithium project.

* This is a reference to a scene cut from Star Wars IV: A New Hope http://www.starwarsholidayspecial.com/swcs/episode4/Biggs.html

** Full disclosure: I want Subway to sponsor my life. If you can make this happen, email me.

October 24th, 2009 | davatron5000 | Add a Comment comments

7 commentarios por “What I’d like to see from Lithium #li3”

James says:

While that framework cliche is often spoke, I think it is a little unrealistic. It is not likely that you will switch frameworks because one project requires a little less code.

Maybe its just me, but I’m not going to go and learn “CI” just because I need a less strict framework.

I guess I see it more like having McDonald’s, Burger King, Wendy’s and Subway available all the time, and always going to McDonald’s, because its what you love…

Okay, maybe I am being a jerk. I too am looking forward to checking out Lithium. But then again, I might just create the MOTHER of all php frameworks by combining them all together… But I don’t have the time.

davatron5000 says:

I can concede with you that the cliche is unrealistic.
I kind of actually hate it myself :)
I do, however, think that if we strive to be “agile”, that should mean we all have a few more tools on our tool belt. But overcoming my laziness to learn new syntaxes is an uphill climb. I think if I watched less Law & Order, I’d have the time to do that. But what can you do…

Nate Abele says:

Hi James,

Typically, one’s choice among several options is based on an evaluation of those options, weighted against one’s priorities. If a new tool comes along that makes your work better/faster/smarter/whatever-your-priorities-are to a degree that’s significant enough to make a switch, then whatever temporary setbacks come from the up-front learning curve are more than made up for. It’d be like…. nevermind, I’m not even gonna bother with the analogy; you get the point.

And that said, I may be a little biased, but I think Lithium is going to improve your development *significantly*, over anything else available on the market.

Nate (not that Nate) says:

Sounds like what you really want is Drupal.

davatron5000 says:

ZING!

Nate (not that Nate) says:

Heh, I’m really not trying to be mean or joking. Drupal is more oriented towards giving you pieces to put together rather than a framework for creating new things. If you find yourself needing those types of components more often, maybe something like Drupal is the right tool for the job. It’s worth asking.

davatron5000 says:

i hear what you’re saying. but i think you may be reading into the “Other Ideas” part too much. I was just throwing out these add-on ideas because:

a) the kids love them! and it would build popularity rather quickly and
b) good add-ons promote quick development and frees up developers to tie things together and create rich apps, rather than re-invent the wheel every time.

i still think a sanctioned File Upload and Image class would be a good idea. instead of being app agnostic, it’s anticipatory of what 9 out of 10 apps are created for.

Add a Comment comments

About

Hello, I'm dave rupert

beforeafter

I've done the unthinkable. The unbelievable. I started a blog in the year 2009. I might as well have started a dinosaur. If it's any consolation, I've been making websites since I was 14 (15 years now! wow!) and I had blog at the now defunct wimpkiller.com that I posted on for over 5 years!

I'm 29. I live in Austin, TX with my beautiful and hilarious wife. I have cat that she named "Moogs", he looks like a cow. I'm training him to be a dog. I'm the Lead Web Developer for Paravel, who sole purpose is to make radical waves on the internet.

I play guitar and a wide array of other instruments.  I speak japanese.  I can't run very far.  I contribute to the Earth scorching music blog Austin Town Hall from time to time and I drive a Scion XB - I know it says a lot about me, but I'll bear every criticism because it's a good square car. I spend most of my days on the computer soaking in the beta radiation, and then my evenings on the couch watching Law & Order with my wife on my Roku.

Yup. That about sums me up.

elsewhere on the internet

about this theme

This blog is built on Wordpress and this is a custom theme I wrote to replicate the functionality of the popular desktop Twitter app by AteBits, Tweetie for Mac. The icons are mostly from Glyphish.

Blog
Blog

Search