Exciting times...
September 11th, 2011I feel like life’s been keeping me far too far away from b2evolution for the last 6 or 12 or maybe 18 months!
Actually, I can’t even recall the last time I was as precisely focused on the development of b2evolution as I have been for the last month. (Though, I can recall quite a few depressing “life’s a bitch” situations in the last 18 months… but that’s not the point!)
Looking back, I’m still pretty happy with b2evolution v4 so far. It has once again proven rock solid and dependable, just as I like it. (My ex Boss actually keeps telling me how amazed he is about his b2evolution powered sites still running smoothly after years with no supervision at all.)
As a matter of fact, b2evolution 4 gave me just the industrial strengh reliability I needed during those times where I had other things to deal with than breaking down servers…
Now, I am even more happy with version 4.1 which actually makes using b2evolution quite fun in previously boring situations, like killing spam for example. It’s so easy now ;) Sometimes, I log in and I almost wish there was more spam so I could play shooting it a little more. (Okay, *almost* !)
The next act – b2evolution 4.2 – is going to be even more exciting though. This one will really bring to life the community oriented features we’ve been aiming at!
Well, this may not be for everyone, but if you are running a blog website for a community like maybe a class, a whole school, a church, a user group, a club or maybe even a small town (and we have some of these using b2evolution already) you actually have a community of users comming to your site.
Now picture this: with b2evolution, these users will be able to create accounts for themselves and upload profile pictures very conveniently, without leaving your blog, without needing to understand the backoffice or the file manager for that matter. They’ll very easily update their profile and all their comments will be personalized, thus bringing your blog and your online community to life!
Furthermore, they’ll be able to send private messages to each other, still in a friendly end user interface, integrated with your site design, and still no need to go to the backoffice. Your users will even be able to have group discussions involving multiple members at a time.
And this is only the beginning… Can you think of what’s next?
Though we don’t have a roadmap set in stone, we’ve now arrived at a sweet spot where our patiently built infrastructure allows us to add really exciting user-oriented features on a regular basis…
This, to me, gives a whole new life to the project! ;)
About b2evo, coupling and reusability
November 8th, 2010Back in 2006, I wrote this little piece about the internal design of classes in b2evolution & evoCore... This is still pretty much relevant. So here it is again... ;)
There is a whole (almost) product called b2evolution. It's like a car. Let's say a car for driving in the city.
Inside of b2evo, there is a framework called evoCore. It's like an engine. One specific engine design can be used inside of different cars. But not in ANY car. Using a compact car engine in an SUV won't work well. Using a tank engine in an SUV won't for well either. For different reasons. Designing a different engine by extending the design of a previous one MAY work though.
Inside of evoCore there are Classes. It's like screws in an engine. A particular screw can be used for many different things, including different motors and including things that have nothing to do with a motor. Still, there are thousands of different screw designs. They all do the exact same thing. Think about it! They all have the exact same purpose! Yet they do it with a thousand different details that have their importance. And no single screw can do it all!! In the 21st century, no single country, no single company, no single engineer has managed to standardize on ONE SINGLE SCREW DESIGN. (Though IKEA has done an incredible optimization here, I must admit. They did not succeed anyway. And the more they standardize, the more they produce crappy designs. My opinion here ;)
The point is: the highest priority is the coherence of the b2evolution product.
When possible we also try to maintain evoCore as a reusable framework that *may* be apprioriate for resuse in *some* other web applications. But this is *not* the highest priority.
Finally, like the screws, the Classes cannot just be taken out and just reused anywhere else as they are. Trying to do achieve that goal is impossible.
Classes are just blueprints. It is very rare you can reuse them as they are in a different place. They just provide a basis to start with. When you think about it, about any class you ever imported into anything, I bet after sometime you always modified it in some way. We like to call that "improvement". But what it really is is "customization"! We customize the classes for our projects.
And in b2evo, the classes should be customized for b2evo, not for something else.
Testing b2evolution v4...
July 18th, 2010The upcoming b2evolution v4 release is intimidating on several counts:
- It includes more new features than any other single release before...
- It includes code from more different contributors than ever before...
- and last but not least... I haven't made a release in 6 months, so I'm pretty scared about screwing something up...
This leads me to runs extra tests even for the alpha version, just to make sure it's working all nice and clean, especially the upgrade process, which is pretty intense this time. I mean that on a code level. It's all automatic, so for the user it should be transparent.
At this point I have tested b2evolution v4.0.0-alpha on the following hosts: InMotion, HostMonster, BlueHost, FastDomain, FatCow, HostGator, HostPapa, LunarPages, ANhosting, HostIcan, JustHost, GreenGeeks and IX. I found a few small issues along the way, got them fixed, and so far it's looking good.
I also upgraded my personal blog, and now this blog right here... it seems to be working fine but I'm tempted to keep it under observation for a couple more days... unless you guys want me to rush it out as fast as I can now?
Update July 18th: The b2evolution.net site now also runs on b2evo v4. We are finding small bugs, nothing major, but we'll try to fix the most itching ones in the next couple of days... and then release.
Arbitrary decisions & why b2evolution is not a democracy
December 12th, 2009Some like it strong. Some like it light. Some like it with milk. Some like it hot. Some like it chilled… There is no single right way to serve coffee.
It’s pretty much the same when it comes to software, blog software for that matter.
Some want more this. Some want more that. Some want less this. Some what a different kind of that. There is no single right way to design blog software.
Every feature can be debated as long as you want, but at the end of the day there’s always gonna be 4 groups:
- People who are for it;
- People who are against it;
- People who want it, but in a different way;
- People who don’t care…
So, in the end, you either do nothing or you make a decision that’s going to please one group, not please another, irritate a third one and mostly go unnoticed by a fourth one.
Breadcrumbs path
December 11th, 2009Breadcrumbs is a feature I've been wanting to implement for quite a long time. In b2evo 4, I started adding them to the admin interface...
I realized one of the reasons we failed to implement them properly before is because we tried to tie them to the navigation. In theory it makes complete sense that the breadcrumb path follows the navigation. In practice however, it doesn't! One of the reasons for this is that b2evo's admin has 2 main dimensions of navigation:
- Navigate through features, sub-features, etc.
- Navigate from one blog to the next
I believe that the breadcrumb path doesn't make sense until it integrates the second dimension into the first at some point... which has to be an arbitrary point, but nonetheless... The result is what you can see on the first image above. What do you think?
I think it works pretty well, but I can take no credit: I just followed the instructions from Steve Krug's Don't Make Me Think by the letter ;) (page 78)
I must admit though, there's one area that isn't crystal clear in the book and I can't quite make my mind up:

