Jump to content

Justifying DIY coding vs installing modules


onjegolders
 Share

Recommended Posts

Just a quick one, it's a discussion that comes up the whole time between me and my brother (who's been designing sites for years and uses primarily Joomla).

He sometimes tries to offer me work if he has too much going on but he'll normally say something along the lines of

"The client wants a real estate system or he wants to be able to include a job board so it's best if we use Joomla (or WP)"

I'll say yeah but I can do all that in Processwire and it'll be all my own work and we'll have much better control over the output etc.

At which point he'll say:

"Ok but how long will it take you to code? Will it have the same number of features and years of testing that these modules have? I can install one of these modules and have them up and running in an hour or two"

Then I'm stumped. I was just wondering how some of you guys justify building things yourself when there are ready made modules out there. Even for the PHP and PW experts among us, it would presumably take quite a while longer to code from scratch. I know why we all use PW, it's because it's so flexible and gives us ultimate control but how to explain that to someone else?

I'm at the point where I'm just going to forge ahead and try and do everything in PW anyway because I just can't stand the way Joomla and others do things but it's a tough argument I'm up against!

Your views?

Link to comment
Share on other sites

1.) He's using Joomla. He can't understand this.

2.) It's not about the number of features. Actually, the less, the better- are you really using all of them? 75% of them? 50% of them?

3.) Years of testing… Right. (come on. If anything has 100% of code years-tested, it's probably outdated)

4.) Want to do it different way than your precious module? Yea, fuck you. [This is 95% applicable for WP/drupal as well)

---

With building on huge CMS + modules, you end up doing a lot of compromises, which I'm not willing to do. And those are also the bad compromises, the ones users see (unlike e.g. Rails, which makes do stuff his way, but output and experience are in your own hands)

---

Ultimately, I'm not selling my clients my ability to stick modules together. I sell the best possible website (in terms of Bussiness Goals and UX) I can create.

  • Like 6
Link to comment
Share on other sites

Couldn't agree more with Adam. If what the client wants is exactly what Joomla, WordPress or some other system already has to offer (very unlikely, but possible) that's fine by me -- honestly, I've absolutely no problem with that. Actually most of time it'd be waste of time and money (my time, their money) to reverse-engineer an existing solution. Not to mention that it's just no fun at all.

One thing ProcessWire is very good at (and many other systems seriously lack) is flexibility. As a ProcessWire user you can freely discuss with a client what she really needs, throw in wild ideas and if you both agree that those ideas would benefit the client more than some existing plugin/module with tons of unnecessary features, bells and whistles you can just build it -- without any unnecessary hassle and with remarkable ease. This way you're actually selling solutions, not features.

Of course with ProcessWire you can also be sure that whatever you build with it is most likely more secure, way more flexible and much easier to maintain than anything you could build with pretty much any other platform. And just for the record, this comes from someone with years of experience maintaining WordPress installations. ("Years of testing", yeah right -- more like "years of hastily fixing bugs by replacing them with new ones.")

All that said there are probably situations where you should either consider going with another system or just ditch the case. Sometimes it's just not worth it. :)

  • Like 3
Link to comment
Share on other sites

Thanks guys for your views, I guess I know why I use PW but do the clients or collaborators really care about our reasons?

So with clients you're saying that PW enables it to be more trouble-free in the long run? Less updating?

Just interested how you convince the clients that they don't want that nice shiny plug and play system they saw in an advert/their auntie has/ their web designer in 1998 used.

Link to comment
Share on other sites

Clients usually love PW, exactly because of the reasons we stated. The worst type of clients, the almost tech-savvy ones, usually like the videos/idea of CMS, where you push 8 buttons and have everything set… then you show them the admin screens and they flee in panic.

And when it comes to clients who are willing to compromise on the quality, just so they can use some technology… Well, I try to catch this early on, and just end the relationship, then and there.

  • Like 3
Link to comment
Share on other sites

Greetings,

onjegolders: I totally understand where you're coming from! I've spent the past three years using Joomla, and I am now moving away from it entirely in favor of ProcessWire. I still get clients that specifically ask for Joomla, and I have a couple of development partners that still want to use it. I'm convinced that it is my job to move away from Joomla. Maybe I can offer some general ways to approach this...

I've got several opinions on this matter. But let me focus on one particular area that you mentioned...

THE "CLICK TO INSTALL" ILLUSION

When I first started using Joomla, I thought it was great to have all those extensions ready to install with a few clicks. But as time went on, I found that my clients wanted more specific styling and actions. Since every module and extension for Joomla is nearly a separate application, each one re-doing models and coding that often were already done by something else in the Joomla ecosystem (more on the Joomla ecosystem in another post), each one comes with its own (sometimes very extensive) styling and coding assumptions. These very often (let me emphasize very often) conflict with styling definitions you're using elsewhere in the site.

If you just want to insert stuff into a pre-fab template and use it exactly as is, you can get along pretty well. But I have found it is inevitable that clients need something more customized down the line. At that point, all the time you "saved" with point-and-click is lost when you have to figure out what that extension developer did in there, or when you have to stop using an extension altogether and find another one that does something better and have to figure out how to transfer the arcane material from one extension's database structure into another one (for example).

By contrast, in a community like ProcessWire, you can get the snippets of code necessary to do the same thing as the point-and-click operations. The difference is, the styling is up to you. Even more importantly, you are very clear about how the thing was coded and can re-code pretty quickly.

The key here is having a strong community, because if there are people to help you out with the code it hardly takes any longer to do it that way than to install a "point and click" extension. Also, it's a real problem that in Joomla so many developers abandon their projects. Then you are left with a strange extension, and you are on your own anyway to decipher the code!

I do agree that it's a difficult thing to convince people of this. But I'm becoming more confident in just stating that I can build the system they want, with more flexibility beyond the first stage. I've found that most clients do want to be able to add more features in the future. Another thing I have found: most people who say they want Joomla are only saying that because it's the first or second system that turned up in a Google search. But if you sit down with them and explain that you can go further with a system like ProcessWire, most clients will trust you. After all, the reason they are hiring you is because they want a professional to advise and direct them! If that were not the case, they would just build it themselves.

I use a metaphor when sitting down with people who bring up the Joomla vs ____ comments....

It's like a horse race. At the starting gate, the Joomla horse jumps out to a fast lead. ProcessWire and CodeIgniter (for example) start off slower. By mid-race, it seems all but certain that Joomla will win. But more open systems build speed throughout the race. Coming around that last turn, you can see Joomla slowing down. By the end of the race, the Joomla horse is tired and confused, and often doesn't cross the finish line at all.

Thanks,

Matthew

  • Like 5
Link to comment
Share on other sites

Thanks Matthew you make a lot of really useful points. Wondering whether the Joomla horse at the end needs "putting down" ;)

I'm convinced that I only want to deal with Processwire for all normal sites and that to compete with the 5 minute £500 websites that small businesses want, I need to set up my own profiles within PW so I can give them what they want and still be profitable.

I can mimic the other quickstart solutions but build it in PW - better for me and for them in the long run!

Link to comment
Share on other sites

Hi onjegolders,

Oh, I don't think the poor horse needs to be put down. Underneath, he's still a horse. I should have mentioned that he goes by the name "PHP."

However, he might do better if his trainers stopped making him wear layers and layers of wool blankets whenever he raced, and if they stopped putting weights on his feet, and it would also help if his jockey was not a Sumo Wrestler.

Thanks,

Matthew

  • Like 1
Link to comment
Share on other sites

Hi onjegolders,

Oh, I don't think the poor horse needs to be put down. Underneath, he's still a horse. I should have mentioned that he goes by the name "PHP."

However, he might do better if his trainers stopped making him wear layers and layers of wool blankets whenever he raced, and if they stopped putting weights on his feet, and it would also help if his jockey was not a Sumo Wrestler.

Thanks,

Matthew

And he wasn't so darned ugly!

Link to comment
Share on other sites

I like this topic :)

I had a similar grumble recently where I swore never to use Wordpress again and it was for slightly different reasons, but the end result was that it took me 2 minutes to install a certain module but then literally 2 days to work out what was conflicting and then make horrendously different stylesheets work together.

I've done a lot f websites in that price range mentioned earlier. If it's a simple brochure-style site with homepage, services, gallery, testimonials and contact page then it's easy enough to build in PW to that budget and in that timescale. Once you've built a gallery and testimonials system (both just a bunch of sub-pages, so the work is displaying them in the template file so they look pretty) you've then got code to use elsewhere with minimal tweaks.

The problem does come with larger requirements. I would be hard-pressed to get all the fields and search functionality of an estate agent (real estate) website set up so quickly so that could well come down to building it te first time and creating a profile afterwards for future sites but I would certainly need to take more time over it and charge the client more. It would definitely be worth it though!

As mentioned in another thread the only problem I have then if it's something relatively complicated like that is that I'd be inclined to keep the code for myself or at least charge a small fee for the profile as otherwise you run into a slight problem of anyone with basic knowledge can easily install a full-blown estate agent website and you can end up with those relatively tech-savvy clients just playing companies off against each other for the cheapest implementation - a game I don't want to play.

I'm probably just thinking the worst because I have a slight headache and that makes me grumpy - there certainly aren't thousands of people in the UK yet that know about ProcessWire so we'd hardly be stepping on each others toes, plus when I start thinking about this I think about that free Shop module and it makes me feel bad :D

Putting my business hat back on, if I built an amazing site profile for estate agents and sold it for £20 (random figure), would people buy it?

I think as ProcessWire has evolved there are the beginnings of a profitable ecosystem for module/profile authors where something is complex enough to warrant a fee that is reasonable and web developers don mind paying for to save many hours of work, but as with all these things it falls down the minute someone develops a similar module/profile and gives it away for free :D

Sorry, I went off on a wild tangent there...

  • Like 2
Link to comment
Share on other sites

Hiya Pete,

Think we're definitely on the same wavelength, I'm trying to sort out my own "standard" site profile so I can turnaround cheap sites, which at this moment in my new career is all I'm really likely to get.

I think most of the fun in using PW is coding things yourself but definitely something more complicated like an estate agency website. If it's well made, I'd definitely pay for it if it gave me a head start in creating a project. The price you mentioned sounds very reasonable. The good thing about this is that it would be built in PW and therefore if I had to tinker with it, I ought to understand a little about what's going on!

Think a lot of the community will say that what they don't want is it becoming saturated with hundreds of inferior profiles.

The ones that I'd be very interested in are for things like events, bookings, shop, estate agency/ car website.

  • Like 2
Link to comment
Share on other sites

I'm finding this as well with clients who have started out by making their own sites with wordpress, or joomla. They are talking to you now because they can't get those systems to do what they want. They think that you can easily just modify current bloated sites but, we all know how UGLY that is because its not just the styling they want, its that they want their plugin to work differently. I'm sorry, but I can't make that third party code do that.

I try to emphasis that the features these 'click-to-install' modules/plugins have aren't useful to everyone and that with each feature they added, they made it harder for existing features to be adjusted. Usually, the more out of the box features, the less flexible. It will do what it advertises, but just that and its a mistake to try and make it do anything else if you aren't familiar enough with it. "it's Open Source" they say... well maybe, but probably with poor documentation and coding style, otherwise I (or any of the other "wordpress" developers you already talked to) would be able to modify it no problem.

I've noticed some horrible workflows for people who use multiple modules and plugins... import this, export that... yada yada. I tell them straight up that all they should have to do is add a page, give it a name (which is the url) and fill in the blanks. Anything more and they are taking time away from their own business processes.

So, if you are able to specify the client needs well, then after DIY you will be able to give your client something much more efficient and effective.

I'm still wondering about PW site profiles and am curious as to how it will effect things.

Link to comment
Share on other sites

Well I've made a start on one for real estate (a slow start) and already come to the realisation that needs for this profile in the UK and USA will be different as well as in other countries.

The good thing is though that we're not talking about a module or a plugin from some other system - it's just fields and templates for now - so as long as I comment the relevant areas properly it's easier than any other system to alter the fields and customise it all.

  • Like 1
Link to comment
Share on other sites

And at 7am too... God that's early for a web guy!

On another note, I was battling away with a jQuery problem all afternoon yesterday and I went to bed really annoyed that I hadn't been able to sort it, I'd just turned out the lights and the problem starts going round my head again, then I had a Eureka moment, jumped out of bed and went and sorted it - went to bed well chuffed!

That's the thing I find hardest about this job, leaving things unfinished at the end of the day...

  • Like 1
Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...