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 http://dabuttonfactory.com/b? by http://dabuttonfactory.com/edit? 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 http://dabuttonfactory.com/api.

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!