Wednesday, December 23, 2009

Da Button Factory updated

I have been quite busy professionnaly since the last update, but I've found some time these days to upgrade Da Button Factory.

The site seems to not have changed a lot, it's because my time was mostly used to completely changed the back-end infrastructure of the site to prepare for some more heavy visible changes (as listed, for example, in the previous post).

Anyway, this upgrade features:
  • a new design: a bit more polished and uncluttered. This new design uses CSS 3 features and is best seen with a recent decent browser, like Firefox, Safari or Google Chrome. There are still rendering problems with Internet Explorer, I am working on fixing them. The new color picker is far more powerful and good-looking.
  • a faster site: the overall size of the pages has been reduced, the editor is more reactive, buttons that has already been generated are cached and served from RAM directly by the webserver, gzip compression has been activated, the site uses less images, etc.
  • less interface bugs: the color picker, for instance, was known to not work correctly on Internet Explorer 8. That, and a lot of other little issues, is now fixed.
  • a new image output format: ico. This is the format used for the favicons, and some people seem to use Da Button Factory to create some. So now you can directly generate one with Da Button Factory, without having to manually convert it from png to ico. A favicon example can be edited here (it's the one used for
  • the image size (in bytes) is now displayed.
  • the API is now more documented.
Let me know what you think about the new design or anything, or if you found any bug. Oh, and Merry Christmas :-)!

Saturday, April 4, 2009

Announcement: new version in preparation

Hello everyone out there following Da Button Factory! Some news.

1. the "Da Button Factory" Flickr account has apparently been deleted (see the previous post talking about the Flickr experiment).
Well, I can understand that they (the Flickr admins) saw it as a form of spam (every uploaded button had an hyper-link to edit it in DaBuFa in its description field...). But this is a pity, for spamming was of course not the intention.
Anyway, I keep the user-generated gallery idea in my head, and it will come back. But this is delayed for now because...

2. Da Button Factory is going to be heavily changed and improved. I have started to work on a new version which should feature:

  • an easy generation of an hover and/or active states for the button

  • more output formats, mainly a "CSS sprites" one.

  • button themes. Think of them as the current "examples" page but in more powerful: you'll be able to dynamically change the theme of your button. You will be able to save your own themes. You will be able to generate a random theme, etc.

  • more generally, there will certainly be the introduction of registered accounts so that people can upload their own fonts, save their themes, etc.

These are big new things to integrate, so it will certainly take some time before I can present something, a beta version of this new version. But please be patient and don't worry if you don't see new blog posts for a while: it's because I will work so hard I will have no time to write :-)!

And please, please, please, if you have any suggestion for this new version, or for anything else: leave a comment, or email me!
I am always glad to get feedback from anyone using Da Button Factory, or even from people which don't use it (if so, tell me why! :-)) And I always listen and think of suggestions very carefully, and try hard to integrate them in a way or another. And of course, I always answer emails :-)

Tuesday, March 31, 2009

Today update: CJK support, Flickr experiment

Da Button Factory now includes a font, Zenhei, which supports the CJK (Chinese - Japanese - Korean) characters.

I hope our asian friends will have a better experience!

Try this new font!

Also, this update introduce a kind of experiment. At some interval, the button currently generated by the factory is chosen to be uploaded to Flickr, a well-known photo-sharing service.

Take a look at the user-generated button gallery!

The idea is to create a big collection of user-generated buttons that you can freely browse.
And when you find a button that pleases you, you can directly edit it in Da Button Factory by clicking the hyper-link present in its description field.

As I said, it is an experimentation. I don't really know what will result from it. But as I see it, it would become a huge gallery of very different (and very pretty :-)) examples. I hope the wisdom of crowds will apply here, and that using the imagination of plenty of people will be a right thing. Time will tell!

Finally, there is also a minor UI improvement: a "copy" button now sits next to the button/workspace URL, to copy its value in the clipboard.
It might not work in every browser, but at least it always selects the text (then just do CTRL-C or Command-C on a Mac).

The workspace URL also have an "open" link to open the current workspace configuration in a new window. Mainly useful if the "bookmark" button doesn't work with your browser.

Saturday, March 28, 2009

Workspace & button URLs now in the same format

This is not very important, but the workspace URL and the button URL now use the exact same parameters names and format (the one of the button URL).

They used to be a bit different. For instance, the font parameter in the button URL indicates if the font is in its bold and/or italic variant (e.g: f=Calibri-Bold, f=sans-serif-Bold-Italic), while in the workspace URL, it took 3 parameters: font for the font name only, font-bold for the boldness and font-italic (e.g: f=Calibri&fb=on, f=sans-serif&fb=on&fi=on).

These little differences were explained by the fact that the workspace URL was simply composed of the name/value of each of the HTML form elements. For the font, you have to choose the font name, and then activate (or not) the Bold? and Italic? checkboxes: it gives us 3 HTML elements, so (previously) 3 URL parameters.

But this was lame, for it leads to 2 different and incompatible formats. Useless complexity.

So I change this stuff so that from now, given a button URL, you just have to change by and you're ready to edit this button!

Wednesday, March 25, 2009

Making Da Button Factory the best button generator out there: yet another step

These are the changes made in the yesterday release:

- A fix in the horizontal alignment. Two pictures are worth a thousand words, here are the results of asking for a button with a 3 pixels horizontal padding:

BEFORE (the padding on the right is abnormally bigger than the left one, and is certainly not 3 pixels)AFTER (no extra space on the right, the left and right paddings are the same and actually are 3 pixels)

- You can now close the color picker panel by pressing the escape key

- Opera and Internet Explorer don't automatically call the javascript change() listener
of a checkbox when it is clicked: this behaviour is now emulated (the change() listener
is crucial in this app, since it triggers the retrieval of the new button image)

- You've got a visual indication of the current displayed page: the background image
of the corresponding navigation link (the buttons in the top-right) differs.

- The text in the information panel is now vertically-centered in all browsers and
its behaviour is a bit smarter (if the entry point to the site is not the editor page, it doesn't
say 'Start right now by editing the default button above' for there is no 'button above'!)

- Internally, the caching system and the HTTP headers sent in the responses are now cleaner.

That's all folks!

Thursday, March 19, 2009

New server

So it turned out that the original server of Da Button Factory, which was one of the cheapest solution with root access and unlimited traffic that I could find (less than 15 USD/month), was really inadequate for a real-world activity.

The main bottleneck was in the I/O. The server didn't have a local hard drive, but instead used a remote storage device via iSCSI.
Consider that for now, the factory has to create ~ 15 new buttons/second at rush hour. And the buttons are all cached on the disk, to be served (much) faster if they are queried again. So, that's a reasonable amount of I/O work, and here it is be done on a remote server (and moreover a cheap one!)... Plus, it seemed the remote iSCSI host was really particularly bad.

Anyway, Da Button Factory is now run on a new server, with a local storage facility (a classic SATA hard drive) this time. It also has 1 gb of RAM (vs 512 mb) and a much bigger storage space (250 vs 10 gb).
It's up since nearly 2 days now, and the average load is far less than on the old old!

Also, the app has got a little update today, introducing a small "information panel" on the bottom of the page. For now, you can just navigate between some tips in it, but I plan to add more different sources of contents.

P.S: curious people can have a look at the total number of generated buttons, counting since the deployment on the new server.

Tuesday, March 17, 2009

A little update - cleaner interface

Just ended to push a small update.
A lot of little things have been done, but the main point is that the interface should be less clumsy now.

Maxim of the day: less is more :-)

Ah, and there is also a new font, the funny Komica.

Monday, March 16, 2009

Incident closed...

Da Button Factory has been down for ~1 hour. Sorry.

Once again, it's because of a traffic peak, and the server didn't handle it properly.

Actually, I took a little time to investigate before to restart DaBuFa. The main problem is that the server OS let the application use ALL the memory and the CPU power. I put some limits in /etc/security/limits.conf (yes, DaBuFa is powered by Linux :-)) that should prevent these kind of extreme case from happening again.

Sorry for the inconvenience!

Saturday, March 14, 2009

Availability of the API

Openness is good!

The API of Da Button Factory is now publicly available! See it at

Let me know how you use it!

Btw: Opera users, your experience should be better now. And the CSS code of the "CSS mode" should be compatible with your browser, too.

Creation of the blog ☺

So here it comes, Da Button Factory now has its own blog!

Blogs are a great communication tool. I expect this one to be updated on any major change to Da Button Factory, so that:
  • the interested users can keep track of the improvements, and
  • the interested and very nice ;-) users can comment about them, give their opinion and suggest ideas, so that the application can be made even better for everyone!