Advantages and disadvantages of custom CMSes versus off-the-shelf CMSes

About 95% of my income as a front-end web developer comes from large ad and web agencies that hire me to be a part of project teams. These teams build websites that cost anywhere from 10,000 to 1,000,000 euro.*

The other 5% is from small jobs, and the smallest of those are when other freelancers hire me to update their websites. About ten years ago I wrote a couple of custom content management systems (CMSes) for some of these small customers, because A) that is the sort of thing fledgling web developers do, and B) at the time there weren’t really any good off-the-shelf products I could use.

Lately I have been trying to tempt these customers to switch to off-the-shelf** products like Drupal or WordPress because every time I have to update their custom websites I basically have to learn to understand my own code all over again. This grates.

I have found my customers to be remarkably resistant to temptation, however. The best part? I cannot really blame them.

The main reason my customers resist the switch is simply one of cost. If their sites were simple affairs that consisted of a bunch of static pages and a contact form, the switch would take somewhere between half a day and a day, and even that would be fairly costly for them, considering that any gains for them would be difficult to envision. Sure, site updates and extensions take me longer to implement, but we are talking in the region of hours here. If I have to build them a new feature every year, that might cost six hours instead of four. That means they have to envision major changes to their sites over the next five years, which is tough to do for anyone.

But we’re talking about sites that have evolved, that have acquired all kinds of neat features over the years that do not have third party alternatives in off-the-shelf products.

And who is to say that my customers will even be using that off-the-shelve CMS five years from now? Switching to an off-the-shelf product simply is not a wise investment from their perspective.

Having said that, all my customers who started with an off-the-shelf CMS are still happy users. (Their only problem being that they do not update often enough so that they need to hire me now and again to remove damage caused by hackers.)

I made the following list a couple of weeks ago to discuss this very issue with one of my small customers:

Advantages of using my custom CMS:

  • I know it well.
  • Does not require much maintenance.
  • Every conceivable extension possible.
  • Log-in system uses safety through obscurity.

Disadvantages of using my custom CMS:

  • Extensions can be pricey because sometimes I need to reinvent the wheel.
  • Log-in system becomes unsafe once discovered.***
  • Becomes difficult to extend or maintain as soon as I am no longer available.
  • If new legislation applies, implementation is expensive.****

Advantages of off-the-shelf CMSes:

  • Are regularly extended with current web technologies.
  • Security is an ongoing matter of concern.

Disadvantages of off-the-shelf CMSes:

  • Are popular targets by hackers and law enforcers alike.
  • Require continuous updating.

In short, you trade a relatively high price for new features for recurring payments for updates. If you are on a budget and you already have a website, it makes little sense to switch.

The only reason why small customers would have to switch, as far as I can tell, is when they stop being small customers.

*) I don’t think I’ve ever actually worked on a million euro website. I have been involved in million euro projects though. Usually what happens in those cases is that a company is involved in a million dollar effort to transition to the web, and in all those cases this involved multiple websites. Note that I don’t make millions, those pies tend to be divided among a great many people.

**) See also: The blog systems that made it as CMSes.

***) Not, I hasten to note, because I write unsafe systems. Rather because I am the only coder who ever looked at my system, making small flaws more likely to persist. As the saying goes, many eyeballs make excellent eyeball soup. (Hm, I may have remembered that incorrectly.)

****) The EU has just adopted a directive that outlaws most browser cookies. The advantage of a custom CMS is that it only uses the cookies it needs though.

The state of the digital camera

I replaced my Canon Ixus 300 HS pocket camera by a Canon Powershot S100.

The Ixus tended to get terribly soft for subjects that were more than a metre away, and although I had discovered a work-around for this, the work-around involved switching continuously between Program mode and Apperture priority, which was driving me nuts.

It got to the point that I never brought a camera with me, because both the DSLR and the pocket camera were too much of a hassle, and that is A Bad Thing.

Anyway, the state of the camera 2012:

The first one is a photo of a bumblebee in a yellow flower (scaled down to fit on this page), the second is a 100% crop of that same photo. Nice, eh?

A quick review of the Swiffer cleaning system

Swiffer

The problem? I am lazy.

The circumstances? A downstairs with a laminated wooden floor.

Usually I use either a broom combined with a dustpan to clean the floor, or a vacuum cleaner.

At a time when I spent a lot of time working for the man, leaving me little time to clean, I was curious if buying a Swiffer would save me work.

Let me tell you the punchline first: Swiffer is additional cleaning technology. Use it if you want to increase your workload (for an even cleaner floor), or for a quick sweep of an already fairly clean floor.

So Swiffer is a system that looks like a broom, except that you stick stick a paper towel instead of a brush at the end. Wikipedia says that Swiffer uses the “razor-and-blades business model”, i.e. you pay little for the hardware and lots and lots and lots for the paper towels (pads).

The good news is, Swiffer works. It actually gets a lot of dust off the floor, much more than my broom or vacuum cleaner will. (I am sure the vacuum cleaner works very well, but vacuum cleaners spit out fine dust at about the same rate that they take it in.)

I have tried using generic paper towels instead of the official, expensive product, and those work too, just not as well. If you look at the Swiffer ‘pads’ as they are called, you will notice that they are thicker and more heavily textured than regular paper towels, which explains the difference in effectiveness. The official pads have more surface for dust to cling too.

I am sure there are third party developers who have worked around this.

The other good news is that Swiffering goes fairly fast.

The thing is, Swiffer does little for bigger objects such as tiny stones, nail clippings, hair and so on. In fact, sharp objects get dragged along the floor making a worrisome noise that seems to suggest you’ll end up with scratches.

You can also use wet pads for your kitchen or bathroom floor. They are not nearly as effective as using an old fashioned scrubber, but the pads are heavily perfumed, making your house at least smell clean.

In the end Swiffer replaced neither my broom nor my vacuum cleaner. I still use the system now and again though, typically when Visigoths visitors are at the door and I need a quick sweep.

Since the Swiffer system does seem to work well at the level of fine dust, I could probably recommend it to regular homemakers who wish to take their cleaning to a next level. For that reason alone it gets three stars.

My rating: 3.0 stars
***

The harvest 2012

I just loooooove Queen’s Day. Don’t ask me to self-analyse why, there are probably some deep-hidden anxieties that show themselves through me rooting through other people’s garbage, and I just don’t want to know. (In my defense: Parson’s Pleasure.)

Larger version behind this link

Shown in this photo is the stuff I bought. Bought is the wrong word. Acquired.

To the left are 8 books I hope to be able to use for Project Gutenberg. To the right are 9 books for myself. I note in passing—I only saw this just now myself—that it’s all mind candy this time. Another one for the shrinks.

Then there are 4 comic books. No, I’ve never read Viz, but it featured large in the computer mags I read as a young geek. Colour me curious.

Finally 4 egg cups (I keep breaking the earthenware ones, the ones shown here are nice and metal), and a shiny metal saucer that I bought mostly to use as a sort of reflector thingie for macro and close-up photography.

I had hoped to find some photo gear this year, but struck out. I had not planned on taking home many books, as a lot of the books I bought last year remain unread till this day. But such are the weird contortions of fate that I actually got more books this year than last.

When I said that ‘bought’ was the wrong word, I meant that almost half of this stuff was found dumpster diving. In fact, we only dumpster-dove a small part of the route we walked earlier this April 30, as we were fairly tired. I am pretty sure that if I limit next year to dumpster diving, I’ll still be a very happy camper.

Hank, my uncle the criminal

Oom Henk

A quick review.

Synopsis: Koen is a law student who, for a reason I missed, pretends Henk de Koning (Hank King), a notorious criminal, is his uncle. Henk forces Koen to start working in an old people’s home to try and get the secret of 12 million euro ransom money out of former, but now demented kidnapper Sjon de Nooyer.

– This is a black comedy, but also a farce.
– The violence is generally of the cartoon type – you never actually see people die, and corpes are often hidden in empty barrels.
– The plot is what it should be. The scripting could have been a lot tighter though – a tear was shed when realising what Tarantino or even Richie could have done with the premise.
– Two thirds in the plot starts to slow to the point that you’ll contemplate switching channels, but the end makes up for it.
– The acting was fine – I was especially impressed with Tobias Nierop who hit some fine notes; the bad notes being forgiven easily for his tenderish age.

You should watch this:
– If you are stuck in a hotel room and there is nothing else on.

You should not watch this:
– If you still have an unseen Game of Thrones episode on your hard disk.

Even shorter review: nice movie, only marred by the fact that the writers did not sit on the script for a year or so.

My rating: 3.0 stars
***

Dutch trailer with English subs: http://www.imdb.com/video/wab/vi52863769/

Ambiguously X

The following entry is not finished, but it was looking at spending an eternity on my hard disk, so I am releasing it into the wild in the hope that you will forgive my rampant lack of clarity of thought.

I also would like to apologize in advance for mentioning TV Tropes & Idioms. If you had any willpower whatsoever you would not go there. I blame you, really.

I am shoving this here because I don’t know how to bring this up at TV Tropes.

There are a number of tropes that start with “Obfuscating”: Obfuscating Insanity (f.ex. Murdock from the A-Team), Obfuscating Stupidity (f.ex. Vila Restal in Blakes 7).

If you were to generalise from there you’d get a meta or super trope called Obfuscating X, where a character will consistently adapt a trait or persona as a coping strategy.

In Are You Being Served the character called Mr. Humphries is Ambiguously Gay (also a trope). You could say that he pretends to be straight as a coping strategy in a part homophobic world.

Humphries, Murdock and Vila (the ‘weak’ characters in Blakes 7 were addressed using their given name) share a feature that TV Tropes does not mention and that yet creates a completely different trope: it is never made 100% clear whether these characters are acting, or whether they really are who they seem to be.

In other words, they are not just Obfuscating X, but also Ambiguously X.

Note that the characters I mention all seem to be something unheroic, deviant from the norm, or societally undesirable. They are also there to generate laughs (although I am not sure that this is necessary for the trope). Fans of the characters could be forgiven for hoping that the characters could one day be revealed to have been ‘normal’ all this time.

Also note that this is a different thing for Mr. Humphries than for the other characters. Vila Restal copes with being a coward and a kleptomaniac by pretending to be stupid. Murdock prevents becoming a wanted man by pretending to be insane. The ambiguity is not along the same axis as the thing that needs to be hidden, whereas it is with Mr. Humphries.

Having Ambiguously X characters is a powerful tool in the story teller’s box. I already mentioned the possibility to use them for comic relief.

Such characters also offer a writer the chance to create different perspectives:

* Vila Restal is often used for Through the Eyes of Babes moments (surely that is in itself a trope?). At one point in the episode Stardrive he even does so deliberately (one of those moments therefore where his alleged normalcy shines through). A dangerous repair must be performed, but he is the only who knows how to do it. The others though are not aware that he knows. So he waits a little, then feigns to be drunk and reveals the procedure in his drunken revelry: “Because my lovely Dayna, and Soolin, no one ever tells someone who is drunk to volunteer.”

As an aside, and with regard to Through the Eyes of Babes, Douglas Adams uses this technique quite explicitly in Dirk Gently’s Holistic Detective Agency in that the titular character realises that sometimes the simplest solution is the best one. When Dirk tries to solve a case, he goes out in the street and finds a small boy, and puts the problem of how the culprit dunnit before him. The boy responds something like “It’s bleeding obvious, innit? He must have ****** ******”, and then continues to kick Dirk Gently in the shin and walks off.

* The A-team uses an interesting twist. Murdock’s crazy talk is often followed by a segue by Hanibal who uses it to start the action. Hanibal does this in such a way that he at least casts doubt on whether Murdock’s talk was really that crazy to begin with.

* Mr. Humphries gets the laughs because being gay is ‘gay’. But he often turns things around, confronting the other characters and the audience with their bigotry. For instance, he will say something along the lines of having spent the night with a ‘friend’. One of the other characters, typically Mr. Lucas, will reply in a lewd manner suggesting that the friend must have been a male lover. At which point Mr. Lucas will reveal that the friend was a woman. Note that this too lets the alleged normalcy of Mr. Humphries shine through.

There is of course something deeply troublesome about using Ambiguously X characters, namely that there is a strong suggestion that there is something wrong with not being normal. One of the reasons this trope works is because it places sympathetic characters in a position where a prejudiced audience wants them to be taken out of, while at the same time giving that same audience the chance to revel in their prejudice.

The dangerous thing for the writer to do is to make the characters normal. This will give the audience a feel-good moment only once, but makes the characters unusable for the rest of the show, especially if their deviant trait was exactly what set them apart.

Playing with macro

Last week I talked a bit about my new and my old DSLR (the latter has found a new owner by now), and showed some demo photos. With the new lens you can zoom in really close on any subject, in fact you have to watch out not to hit the subject with your lens, that’s how close you can get.

Unfortunately the photo that I used as an illustration was a bit out of focus, so here’s a new one (of a ten cent coin this time).

Clicking the photo will again lead to a 100% crop saved at the 85% JPEG quality level.

As you can see, this time it’s nice and sharp. I filled the background with pure black in The GIMP by the way.

So that is what you pay the big bucks for, for image quality.

*Cough*

The next photo was taken with my point-and-shoot, which is not necesarily cheap, but which has pretty much the same macro as a 100 euro camera has.

As you can see what buying a lens five times as expensive as the kit lens has got me is the same macro capacities as those of a cheap point-and-shoot.

Any differences you see here have mostly got to do with differences in lighting. In fact, if I had to pick a winner, I’d have to pick the shot from the P ‘n’ S, as that one is sharper in the corners and zooms in 5% further than the DSLR.

Obviously, to the people who know about such things, the Sigma 17-70 is not a true macro lens. It’s maximum magnification is 1:2.3, which means that every centimetre on the light sensitive camera sensor represents 2.3 centimetres in real life. Still, it’s the first time I can get cheap-pocket-camera close with a DSLR.

A quick review of the Canon EOS 600D camera and the Sigma 17-70mm lens

(As compared to the Canon EOS 1000D and its 17-55mm kit lens.)

I have been getting into roller derby photography lately, and that means I could use all the light I can get. It took me a while to figure out what I wanted exactly, outlined in painstaking detail before.

In the end I decided to buy a Canon 600D and maybe a new lens too.

I was hoping the new camera would gain me about 3 stops, two through better noise handling and one through a a higher resolution. (The higher resolution does not, of course, gain me a stop. But it does allow me to scale down an image, which translates to sharpness, which means that the moving targets I am shooting require less ‘freezing’. At least, that is how I hope it will work. Preliminary tests are positive.)

A couple of tests down the road indicate that I am looking at two stops, which is already great in my book. 6400 ISO seems pretty much unusable, but everything below is just fine. At 6400 ISO pictures on the 600D look like somebody has been emptying buckets of red and green over the sensor.

The Sigma 17-70mm (full name: Sigma 17-70 mm f/2.8-4.0 DC Macro OS HSM) is everything like the reviews and tests promised. It does almost everything better than the Canon kit lens with two exceptions: it is slightly less sharp (I did not test this myself), and it is much heavier and bigger.

The first point is not very important. Just use the zoom to make up for the slight loss in detail.

The second point is important, because a camera that you take out of the bag to shoot with is better than a camera that you let sit in the bag because it is too unwieldy. Of course, every DSLR is too large when compared to your phone came, but even between the Canon EOS 1000D + kit lens and the Canon EOS 600D + Sigma 17-70mm I foresee myself using the latter much less.

Not that this is much of a problem, as I will have my other lens, the 50mm / 1.8, mounted on the camera for most of the time, and that is one of the lightest and smallest lenses around. If you want better pictures than the kit lens can provide you with, I recommend you get the 50mm / 1.8 as an additional lens rather than replacing your kit lens with the Sigma 17-70mm.

Other than that, I like the fact that the Sigma does macro (not proper macro, but way, way better than the other two lenses) and that colour fringing (purple, orange and green lines along tree branches in the winter) is at times non-existent. I do have one photo though where the branches consist entirely of colour fringes. What causes this I have yet to figure out.

Finally also note that this lens doesn’t strike me as very useful for video: the AF hunts a lot, zooming is extremely noisy, and the zoom rate does not seem to be exactly linear at the long end.

The thing I like the best about my two new purposes is the articulated screen of the camera (that means it folds out). My first digital camera (a pocket model) had one of these, and it works almost just as well on a DSLR to help me focus. This is probably because of the way I shoot. I am just not very good at getting sharp focus with either the AF or by hand using the viewfinder.

The proof of the pudding will be in the eating. If I can get significantly better pictures during the next roller derby scrimmage or bout, I will be happy.

Note that you can get 100 % crops of the images shown here by clicking on them, saved as 85% JPEGs from the original JPEGs. In fact, I uploaded the crops and WordPress / GDLib created the scaled down versions. The macro shot is slightly out of focus (motion blur perhaps?), the bird photo is as good as I could get. Exif data is available in the large images.

Choices:

1. The Canon EOS 550D, 600D, 60D, and 7D all use the same sensor, resolution, image processor, basically anything that determines the basic image quality. The 60D has all cross-type AF points, but I did not read about many sports photographers that actually seem to use these. The 550D lacks an articulated screen, and I knew how much I liked those.

2. The Sigma lens is one stop faster than the Canon kit lens, so works slightly better indoors.

Making a box for HEMA LED lights

This is going to be the lamest howto ever. Don’t say you weren’t warned.

The HEMA department store sells these pairs of red and white LED lights in the Netherlands. When it gets dark you see them everywhere, on dogs, joggers, police horses (whole bunches of them), and of course on bicycles. At 2.50 euro they are a steal (two leds, four batteries, buttons and straps).

I own a pair of these lights too, and they have one problem. They may be advertised to run 70 hours on the same pair of batteries, but in practice they run out much quicker than that, because it is extremely easy to turn them on accidentally. So you leave work, come home, stuff your lights in your coat pockets—and often even that is enough—put your gloves on top, accidentally turn on your LED lights and they will burn all night. Mine tend to run out after three week or so even though they should last me about three months.

HEMA doesn’t seem to sell containers to keep your HEMA lights in, and in lieu of retrofitting something else I took to simply adapting the largish packaging they arrive in. Although the end-result doesn’t stop the lights from switching on if you press hard on them, accidentally turning on the lights by just putting them in a coat pocket is now history. (I have had it happen that they switched on in their containers when I stuffed a hat in the same pocket, so my solution is not perfect.)

Look after the break for a short photo essay on how to do this.
Read the rest of this entry »