Brett's Blog
Edit     New

Tuesday, March 27, 2007

Long time no blog

Ok, so it's been over a year since I've posted anything...

Trying to do a brain dump... pardon the lack of an exact or clear organization in the following...

To my mind, two great open source communities out there are Mozilla and PHP, and very little exists (from what I can tell) to bridge them. The best resource I can find on joining the two in some manner are the various files at this site, such as:

But first, here's where my thinking has led me...

I have wanted to add the feature to Mozilla Thunderbird to have a Mail filter rule which will open a file when the rule is met. This is handy on the Mac such as to be able to open an Applescript which raises up the system volume and announces to you if someone you are waiting on has emailed you, but I'm sure many other uses are out there (even home automation).

A big deterrent to me for this is that you have to navigate both Mozilla source's large base of Javascript and C++ code (the latter especially being something I'm not too familiar with at the moment). Which got me thinking...

Why not an open-source PHP/Javascript mail program? Since Yahoo and other mail clients require SSL, I sniffed around on the net and found which I think should be a great foundation for such a project. One could also do the interface using Mozilla widgets, but that would reduce the contributor and user base a bit (but could of course be more powerful than regular HTML--e.g., using it as a Firefox extension with preferences, etc. yet still not require C programming).

There are so many snobs out there against PHP, but if you really want "open source" to be "open", in my mind, it has to be easy for new developers to join in too, and PHP is that. If people spent half the time that they do complaining about weaknesses they perceive in PHP (besides the inherent differences of PHP like its typing) in improving the language or adding the functionality they seek, I think this would be a much better world.

Anyhow, while PHP/Ajax-Javascript could work for an email client (Yahoo/Gmail's own interfaces could have uses this combination presumably), it would be a little strange as its own browser (but still doable). Basically, you'd have a browser in a browser (and minimize all the main browser toolbars to have enough screen space to use the browser-in-a-browser. In other words, you could have a text input box to type in your URL (as a location box), and other assorted buttons, etc. to access your preferences, etc.

Another desirability is just having one language to do everything. Server-side Javascript (even more interesting now with Firefox POW extension) would seem to be a nice advantage.

Or, at least allow PHP to be one of the languages that work with Mozilla. Why in the world aren't there any bindings yet for PHP to work with XPCOM? How about developing some ideas for having Javascript open PHP files and get their results, or have PHP create Javascript files for Mozilla/Firefox extensions.

Questions: If PHP can generate XUL, can it be used as an extension (e.g., with preferences, etc.) (with Xajax, there would seem to be more possibilities to the mix).

And then there is the XUL to PHP-GTK (see the link above). I haven't explored this yet, but this seems very cool in using a nice standard (XUL--though there is no absolute user-interface standard unfortunately--what would it take for the W3C to make one?) for the user interface (albeit only on Mozilla) and be able to use PHP on the client-side. Maybe even a strictly DHTML to PHP-GTK could be done, whereby Javascript widgets would handle things instead of XUL. That would be even more standard and accessible.

But how to package such software so that it can be distributed easily? Why isn't PHP and MySQL packaged with every computer? I'd love to see it and Berkeley DB XML packaged with every computer and easily turned on so that you could easily distribute apps which leveraged these. As far as Berkeley DB XML, one very cool idea would be for an XPIDL/XPCOM interface to be made for it (e.g., using the C++ API) so that Javascript could be used to query BDBXML.

Another interesting idea is having a very trusted portal where you could load a URL containing PHP text and then run that code as privileged PHP on your own system. That way, you could always have the most current software, not need to restart the system (e.g., with Firefox extensions) and configuration could be quickly automated.

Also, I want to see a DHTML IDE with syntax coloring and customizable tag addition (e.g., Smarty) and hierarchical adding of elements (e.g., HTML->Form->input) with attributes.


Post a Comment

<< Home

Brett's Blog Web