Community Spotlight

Claire Brione: plugin developer extraordinaire

Destry Wion 31 May 2012

Claire Brione is making a name for herself in the Textpattern community, thanks to her plugins that make it possible to create admin-side access from the front-side of a website. I don’t use any of her plugins, yet, and until rather recently I only knew of her by her support forum nickname, CéBé, but when the editorial team was discussing who to profile this issue, someone said “women who develop are the real deal”, and that pretty much decided it. With enthusiasm from me and the rest of the team, I took a virtual trip to Vendeuvre, France to learn more about Claire and why Textpattern is part of her life.

The road to Vendeuvre.

Claire grew up and spent her early adult years near Paris, studying information technology at IUT Paris V Descartes. At 27, the year the first of her two daughters was born, the suburbs of Paris were starting to grate. For her peace of mind and her daughter’s well-being, she made her way to Vendeuvre; a small, green, and quiet town in the Lower Normandy region of France, where people are—as Claire says—“generally kind and helpful”, even with administrative affairs.

Aware of how suburbs around Paris (and other French cities) can be, I could appreciate Claire’s decision to get away, and Vendeuvre sounds like a lovely place. The principle landmark is the Chateau de Vendeuvre.

Chateau Vendeuvre
Chateau Vendeuvre: Survivor of the French Revolution

The call of the web

Claire discovered computer science in 1981 while on summer holidays—she was 12 years old. That’s when she first saw a Minitel, months before it was introduced to the public. As she told me, the Minitels “were the beginnings of telematics and the Télétel network was somehow, in France, the ancestor of the web as we know it today.”

After graduating from IUT in 1990, she worked as an analyst-programmer developing telematic bank applications. She described the infrastructure as “a UNIX central server handling connections requested by Minitels.”

Before another decade passed, the internet started supplanting the Télétel network and Claire logically went with the flow, more or less learning web development on her own. In 1995, she started developing a few things for herself and close acquaintances. Her first public web application was a recreation of the Trombinoscope and Motoroscope pages of frmoto, from static to dynamically-driven. It’s no longer maintained. As she described it, “old-school iframes, PHP 3, no framework, no template engine, but already a MySQL database.”

For a couple of years beginning 2006, she took courses at CNAM (Conservatoire National des Arts et Métiers) in Caen to supplement and formalise the kinds of things she had been teaching herself over the years.

Professional independence

Claire Brione
Claire Brione. (The photographer is photographed.)

A woman freelancing in France.

Being a freelancer in France myself, I know at least one business structure that allows one to freelance and be employed too, though not many freelancers actually do both, and especially those with children (including me). When asked if she might be moonlighting while holding down a day job, her response gave me the impression of someone with a strong determination to be her own boss:

It’s all about character. I like to follow the evolution of a project myself, from start to finish. I want to take care of it personally, without any go-betweens. I worked for someone else in the beginning of my career, when I had to polish up my arms with independence in sight. Working independently was an early on decision.

In case you’re confused about her use of “arms”, it’s a reference to weapons, as in she was prepping for independent development battle.

Of course, being an independent doesn’t mean you don’t work collaboratively with other agencies and independents. I asked Claire if she sometimes operates that way, doing the development while other aspects are handled by someone else. So far she hasn’t had a need to, but she’s open to doing it if the situation is right. (I then put her in my contacts for potential collaboration.)

You may or may not know that there’s a significant disparity between men and women in the French workforce; a well-known topic, in fact, often discussed in French media. So I asked Claire if she recognised this disparity or is doing well as a female web developer in France:

Let me tell you one anecdote from the late 90s. A potential client called, and after a short discussion we spoke about my methods. When I explained that my office is at home, I pointed out that it’s a good compromise for a woman because it allows her to take care of children too. He was surprised when I told him that developing and raising children are two full-time jobs that can not be done at the same time. It tells a lot about how women’s work is considered, and paid, and how children are seen. I didn’t work for him.

On Textpattern CMS

Like a lot of people, Claire’s first contact with Textpattern CMS was the result of hunting for something new and “simple”, she says, and following up with a referral from an enthusiastic Textpattern fan:

By simple, I mean from my developer point of view. I’m neither a designer nor really sharp in front-end development. I wanted a system that is simple to implement and customize, not just simple for the final user. Of course, as for many, I’ve been puzzled by the model. But once I got it, how wonderful it was to play with!

Imagination is not restrained because you are not stuck trying to make content fit in a predetermined layout. Once the layout entities (header, body, footer…) are
identified, it’s easy to organize and combine them. It somehow reminds me of this: https://twitter.com/#!/jasonfried/status/188290578235146240

If you’re a developer, it’s just a matter of hours to understand how to extend core functionalities by writing a plugin. If you’re not a developer, just check the plugin resources or ask in the forum. I really love the great community, where you can always find a helping hand or two… or more.

Textpattern’s extensibility and the ease of understanding it is the main reason Claire still uses the CMS today. She’s looked at systems like WordPress and Joomla, and says while they seemed simple from an end-user’s point of view, they didn’t offer the clarity she needed as a developer.

The only other system Claire has really worked with is PrestaShop, a system specialised for e-commerce. This isn’t too surprising since nothing is provided for e-commerce in the core, and e-commerce solutions are frequently sought by web designers using Textpattern. A list of e-commerce systems tried with Textpattern might be a useful thing to start somewhere. A detailed tutorial on integrating Textpattern with one of the systems would make a great article in a future magazine issue. Maybe Claire would be willing to draft one for PrestaShop.

Taking the yin with the yang is the best way to find where problems exist and which are most troubling for the majority of people. So I asked Claire what she thought could be better about Textpattern. She doesn’t find any “unacceptable defects” that can’t be dealt with by an existing plugin, which is a pretty typical response coming from a plugin developer, but two things did seem to trouble her most.

Claire’s first issue was the fact Textpattern needed better integration of images between the Write and Images panels to avoid having to jump back and forth when drafting articles. Her “perfect” solution, as she told me, was to use bot_image_upload. I’ve never used that plugin to know how it works or what problem it solves, exactly, but I do use the wonderful images integration solution created by Stef Dawson for this magazine, and it’s awesome. Stef talks about this solution, and other custom work, in Custom developments behind TXP Magazine. (Be sure you read it when you finish here.)

The other shortcoming that Claire points out is a lack of a parent–child structure in the Sections panel, akin to what exists for categories. She thinks being able to create section trees would be a significant improvement, instead of just having the mono-level like it is now. In other words, instead of this single level of hypothetical sections, which is the only way you can create sections in the Sections panel:

  • about
  • fruit
  • flowers
  • contact

… you could build section branches like this:

  • about
  • fruit
    • apples
    • oranges
  • flowers
    • roses
    • orchids
  • Contact

Presumably these would give you working URLs without any need for plugin intervention, like this:

  • example.com/about
  • example.com/fruit
  • example.com/fruit/apples/
  • example.com/fruit/oranges/
  • Et cetera

Claire adds this point concerning page assignments under such a model:

To be totally in line with the concept of section, which relates to presentation and not organisation, the template used by a sub-section should be the same as the parent section, and cannot be changed. My 2 cents.

In effect, you wouldn’t see any fields to assign pages in the child sections of a given branch, there would be no point since they automatically adopt the parent’s page assignment.

Until such a hierarchy is ever built into the Sections panel, Claire advocates adi_menu to accomplish the same thing.

Selling Textpattern to clients

It can be helpful to know how freelancers talk about Textpattern to clients; how they sell the idea of an open source platform, and what client reactions are. For example, we have inside knowledge that smaller businesses in the U.S. give warmer reception to using Textpattern, but bigger companies are much less willing. Of course there’s no specific reason for that, but it’s important to understand because it suggests there’s a communication (or trust) problem somewhere… perhaps a marketing problem with Textpattern itself.

I asked Claire how she talks about Textpattern with her French clients. Are they trusting? Do they see a free open source solution as a competitive advantage, or more as a financial or technological risk?

I never have to fight, nor to justify my choices. The client has a problem, hires me to solve it, and gives me carte blanche (it can be somehow embarrassing for me, especially if everything has to be done from scratch including graphics). My clients just want something that
works, no matter how, or what is behind it. They do not know about computers, and this part is mine, letting them concentrate on their own activity.

I will agree with Claire that a lot of companies in France don’t care about technological details, and will simply trust that the web solutions provider fixes things. But the client’s lack of understanding about web standards and smart design/development conventions is also a problem. The “carte blanche” trust that clients give to many web “experts“—often IT companies that jump into the web design business and give flashy song and dances about their do-it-all tools—frequently results in the client being sold a proprietary gizmo that employees can’t use. The whole process repeats in a few short years when the client finds another IT miracle worker to fix the previous disaster. Underneath it all, the client never advances on the business issues it needed to fix to begin with. This kind of thing happens all the time, and not just in France. There’s a pitch to be made here about web service providers taking the time to educate their clients on standards, best practices, user needs, and so forth, but I’ll leave that to your imagination.

One of the sites in Claire’s portfolio, Mon Echarpe, is described as having a custom plugin for a mini boutique. E-commerce solutions have always been kind of rare in the Textpattern arena so it’s interesting when one comes along. I asked her how it works:

There are actually two plugins. The first one is a customised yab_shop. Even if the original yab_shop is not perfect, at least it exists and is an excellent base to work from. For example, I replaced the quantity input field with a dropdown box to prevent customers ordering more products than actually available, I also set up an order management; i.e., a database storage to keep track if something goes wrong during or after the payment, and to prepare invoices.

The second was my own, a custom admin-side plugin that generates invoices from placed orders. It was developed in an emergency, and in spite of common sense. It works, but can not be distributed (not even for free, no way).

Custom invoices? Can’t share it? Drat!

On community

Claire’s not involved with any other local or international communities. But she is somewhat involved in txp:fr and keeps an eye on it, saying “I have not yet found time to fully take part, but I intend to be a little more present in the future.”

I also asked Claire about her comfort zone in front of a crowd, because you never know when a Textpattern event might take place, and it’s good to know who could get up and do the lightning talk boogie:

Do you think you could lead a Textpattern workshop to a room full of people, or give a presentation—even a five-minute lightning talk—about Textpattern development to a live audience?

I think yes, rather for a short presentation of the basics, or the schema I usually use to build sites. As a programmer, I have a modular approach and consider pages as main functions, and forms as functions or procedures. A topic could be how to distinguish between the different parts of a page, translate them into reusable forms, reassemble these forms while keeping as much expandability as possible.

Duly noted.

The setup

In the spirit of The Setup, I thought it would be interesting to put similar questions to Claire… and for that matter, to everyone else we spotlight in the future. After all, seeing what other people use and do is how we often learn to do things differently ourselves. A lot can be revealed by three simple setup questions, not only about process and tech, but about the person, too.

What hardware are you using, Claire?

My main machine is a desktop computer, 500GB RAID1 for storage, quad-core processor, and 4GB RAM because I sometimes have to do video processing. I also use a minimalist but efficient laptop when I visit clients or work outdoors, which I like to do when weather permits.

Desk items, coffee, and a keyboard.
The programmer's "friends".

What software are you using?

The desktop is running Ubuntu 11.04 as an operating system with Gnome UI.
It acts like a server, client, and workstation all rolled into one. I have Apache, MySQL, and PHP installed for development, and Samba and SSH for local resources sharing. I use Firefox and Opera browsers, and Thunderbird for email, news, and feeds. For documents I use LibreOffice, GIMP for graphics manipulation, and Kino and Avidemux for video processing.

The laptop runs Ubuntu 10.04 and Gnome UI too, but it’s mainly used as a terminal with few applications installed; namely, LibreOffice, Firefox, and PuTTY. Data and documents stay on the desktop server.

You probably noticed there’s no IDE or sophisticated development tool. A basic text editor and a few brain-powered fingers are sufficient and available everywhere.

What would be your dream setup?

I already have everything I need, except perhaps a more stable ADSL connection. But we must set priorities and accept that technological miracles fail against the forces of nature, especially when you decided to live in a secluded countryside.

Priorities and countryside, indeed.

The brain-picking fun

I wrapped up my interview with a few light-hearted questions.

If you could only work on one website for one year, powered by Textpattern or not, what would it be?

Definitely abc-tricot.fr. I’ve actually been working on it since it went online in 2009. It is my experimental area… my learning field. There is always something to do there.

When asked what she likes doing when not solving the problems of the web, Claire gave me a list:

  • I try to learn how others solve their problems
  • I sometimes get distracted… I surf and find myself far from where I left
  • it is then the opportunity to observe how people interact
  • I am interested in parenthood
  • in general about how the world works… virtual and real
  • and knitting, because this time I’m on the right side of the algorithm

Is there anything else you would like to add or say about yourself, Textpattern, or France?

My experience developing websites may seem slight. There is a reason for it. Let us say that among the life choices that were given to me these last 10 years, I focused on the extraordinary children who gave birth to me (yes) while continuing to self-train on the web and its technologies. I consider having had a great chance to learn a lot about humankind, which is at least as useful as the technique.

comments powered by Disqus