« Good Friday. Liars. | Main | I was here! »

Monday, April 04, 2005

Where was I?

PHP is boring. After all the fun and laughter of javascript (a.k.a pulling hair), I'm back coding in PHP on much less interesting and fun parts of IPB 2.1.

I've had to seriously evaluate the devlopment situation and I've had to make some hard choices about what IPB 2.1 is going to be. I had outlined it as a mere point release which fixes a few bugs and introduces a few tweaks and a few new features but I also wanted to rewrite some seriously outdated code and make some pretty large changes. This pretty much had to happen anyway so that IPB can use the new IPS kernel methods and classes.

The ACP also need(s|ed) a damned good sorting out as this has some of the oldest code of the entire system. The HTML is either hard-coded or built from cookie-cutter functions to build tables and the language is all hard-coded. Also, it has some hang-overs from IPB 1 still in there.

I also want to have a good go at consolidating some of the board's templates and introducing much more DHTML/Ajax to make it more fun(ctional).

There are also some very ugly design decisions left over from day 1 which needs to be sorted out and some odd DB schematics and phrasing which kills me everytime I see it.

However, the amount of time it's going to take to do everything I really want to do is much longer than the few months I'm allowing myself and the project would be too much for a point release. Not mentioning the fact that changing all the templates / template names and CSS will cause a revolt in the community.

So, I've been ruthless and stripped back my plans some-what for IPB 2.1. It's now more of a stepping stone for IPB 3.0 which is already being planned. IPB 2.1 will use the new IPS kernel (as developed in IP.Dynamic), will include several new features (WYSIWYG, etc) and have some Ajax tweaking (but not as much as I'd eventually like to see) but will fall a little short of the total rennovation it was turning out to be. The ACP is part 2.1 and part 3.0 in that the ACP HTML is being moved into cached PHP files as-and-when I add/change an ACP section. I won't move all the HTML over at this stage as I can't justify spending a few months on something that won't look much (if any) different at the end of the development stage.

This gives us the best of both worlds: a nice intermediate release which adds stability, enhances efficiency and includes several new features and also builds the foundations for our next major release.

April 4, 2005 | Permalink

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83423035953ef00d83446573253ef

Listed below are links to weblogs that reference Where was I?:

Comments

Maybe relabel it 2.5?

I'm definitely like this new AJAX stuff, though. The more "in-line-ification" of the mod tools, the better, I say.

Posted by: Tim Dorr | Apr 4, 2005 8:01:54 PM

v.2.5 ;) +1
Wow... the ACP has stuff that old?
It seemed that there was a rewrite when 2.0 came out as so many things changed, and that (the 2.0 release) seems like only yesterday.
And I'm lovin the green(er) roadmap :)

Has anyone said you deserve a pat on the back?
And maybe a good hand massage?

Posted by: Cybertimber2004 and Cooldude7273 | Apr 4, 2005 9:18:41 PM

Good decision Matt. I also agree with Tim, the AJAX stuff looks quite exciting :).

It's unfortunate that you must strip some things off of IPB 2.1 but if it's mainly the CSS/HTML stuff I'm not too worried.

The ideal IPB 2.1 release to me would include major bug fixes (there are quite a few buggers in 2.0.3), some new features, and the ACP re-work. Which all of you covered in the blog entry stating it would be done, so I think I will be quite content with the release :).

Posted by: Logan | Apr 4, 2005 9:32:06 PM

Sounds good. While I don't own a copy yet, I'm running an unlicensed 1.3 from the days when you let us do that, and have been trying to buy a copy of 2.0 (which is hard to do without a credit card, but anyway...)

But with 2.1 around the road, I've also been debating whether to wait until that comes out, to save the trouble of installing 2.0 then 2.1 a couple weeks later.
Of course, I can't exactly wait any longer to get my hands on a delicious modern IPB, and the suspense is killing me.

So, with this reduced schedule, approx. how much longer will 2.1 take, so I can decide if it's worth it installing 2.0 then 2.1, or waiting.

Posted by: TheBrain0110 | Apr 4, 2005 10:03:52 PM

Would be nice to know but it's not a good idea to have Matt set deadlines on IPB or rush production. Instead just release when it's done.

Posted by: Logan | Apr 4, 2005 11:28:29 PM

I did say an approximate, such as how much time would the new outline save? I know actual release dates are more trouble than they're worth...

Posted by: TheBrain0110 | Apr 5, 2005 12:15:20 AM

I think the current estimate is summer...

Posted by: Cybertimber2004 and Cooldude7273 | Apr 5, 2005 1:16:52 AM

Am I the only one to notice this:

"need(s|ed)"

programmer's habit to use | when you mean or?

from that we can all tell you've been hard at work.

Posted by: camzmac | Apr 5, 2005 1:52:01 AM

So, when can we expect a release date for IPB 3.0? :-"

Only kidding Matt. Keep up the good work!

Posted by: Dawgy | Apr 5, 2005 3:07:16 AM

TheBrain0110, upgrading from IPB 2.0 to 2.1 will be very easy anyway, its just a matter of uploading changed files and running an upgrade script, modding the files wouldn't be the smart thing to do though.

Posted by: Michael | Apr 5, 2005 9:47:17 AM

I sometimes slip into regex when typing posts and especially notes.

I find it easier to write "need(s|ed)" than "needs or needed". I was tempted to include a question mark after "fun(ctional)" to make (ctional) optional: fun(ctional)? but then I figured I've have to prevent parenthesis /memory capturing: fun(?:ctional)?. I then realised that would make it (A) unreadable and (B) incredibly sad.

Still, I think psuedo code has its places. After all, time spent typing and time spent thinking is easier for .*

Posted by: Matt | Apr 5, 2005 2:51:37 PM

I'm sure the result will be great!
would be nice if you put a date on the roadmap page so we can see when it was last updated.

Posted by: Mesmer | Apr 5, 2005 3:33:36 PM

Just upgraded from v1.2 to v2.0.3 and worked hard on a new custom skin for the upgrade, so i'm a bit glad to hear that there will not be any big template changes i would have to overcome in the next upgrade i would have to do when v2.1 is out ;)

Keep up the good work Matt!

Posted by: Falkers | Apr 5, 2005 3:48:40 PM

#(ha){2,}#i

Posted by: Rikki | Apr 5, 2005 4:55:00 PM

Rikki... I dunno what that is, but more people understand 1337 better :P

Posted by: Cybertimber2004 and Cooldude7273 | Apr 5, 2005 8:55:42 PM

Well, I know it's regex, but I'm not exactly familiar with it (my programming knowledge extends to HTML, rudimentary Java and some PHP, for writing minor scripts / editing existing ones). So what exactly do those random letters within parenthesis with # symbols mean?

Posted by: TheBrain0110 | Apr 5, 2005 10:01:03 PM

## is the container character, (ha) is the text the regex looks for, and {2,} is the previous character group that it looks for repeated twice, and the i after the ## makes it case-insensitive.

Regex is fun. ^_^

Posted by: Don Wilson | Apr 5, 2005 11:45:54 PM

so.... He's saying ha ha?

Posted by: TheBrain0110 | Apr 6, 2005 9:52:28 PM

The {2,} actually means two or more.

I was saying hahahahaha :D

Posted by: Rikki | Apr 7, 2005 1:32:07 AM

Sounds great, Matt.
Take all the time you might need and don't forget to take a break every now and then (good for some inpiration)

Lol @ the regex :)

Talking about possible release dates, some anoying creature in my head keeps saying since november last year that IPB 2.1 will be released on August 21st 2005 at 3pm GMT.. don't ask me why. Maybe I should start using drugs..

Posted by: Franklin | Apr 8, 2005 1:35:41 AM

Drugs are bad m'kay.

Posted by: Matt | Apr 8, 2005 9:57:38 AM

m'kay

Posted by: Franklin | Apr 8, 2005 11:07:30 PM

Or even 'hahahahahahahahahahahaha'...

Posted by: Veracon | Apr 9, 2005 1:01:31 PM

I just figured that out a few minutes after I posted that. ^_^ {2,2} would limit it to 'haha'.

Posted by: Don Wilson | Apr 10, 2005 2:16:44 AM

The new system sounds pretty cool, (haven't really tried it), but from experience DHTML usually gives good results.

The thing that confuses me is what the hell all this PHP means in IPB, it seams very complex, you don't know how long I've pulled out my hair just trying to do pretty simple things. Even when I've read 2.5 PHP & MySQL books .

I'm impressed at the least at the work you've done on the forum.

Posted by: Dave Sims | Apr 14, 2005 12:53:41 AM

Post a comment