Brett's Blog
Edit     New

Saturday, March 31, 2007

Programmability, Dell, Mozilla Add-ons

Every menu bar item, context menu item, toolbar (including the tear-off kind), sidebar button, status bar button, hotkey, etc. should be programmable by the user and each one (except where not possible such as with some contextual menu items) should be allowed to be changed into any other type or assignment (e.g., into a different hotkey, from a hotkey to a menu bar item, a context menu item to a hotkey, etc.).

I'd love to try to have such a tool developed for Firefox, as Firefox can really house almost any kind of application potentially... I'd especially love to see it take off for desktop browsing and file editing...

There are so many extensions out there that, while they add a useful feature, should ideally already have been doable if the interface allowed itself to be programmed. While it is true a person can write their own extensions with a little programming knowledge, the more power that is brought to the GUI and away from programmers, the better. Of course, people could share their specifics--if I have a contextual menu item that allows you to jump directly to the edit page of a wiki page (the wiki page not having been visited yet but its link being ctrl-clicked on), this would be nice to share and publicize through the interface (as I love that Firefox now allows you to get more Bookmark extensions via the bookmarks menu bar), but it would be ideal if a contextual menu extension let you append any specifiable amount of text to such actions.

Great news about Dell responding to put Linux on their computers. About time for some real hardware company to do it. Please, powers-that-be, fix the hardware compatibility issues. Hopefully, by such advances, the demand and thus will be hardware manufacturers will be there to make it possible and easy to use any device at least with Linux.

One small thing bothering me about Mozilla's add-ons site is that, besides the inherent trouble of not having enough categorization options, too many companies' products have made it into their listings. I really dislike having to sift through all of these. It's fine if companies want to offer their add-ons, but I really hope Mozilla will add a category to any extensions which make you depend on registering with some site or using the extension with a particular site, etc. (and then be able to exclude items with this category from view). And rather than just one hodge-podge of categories, it'd be nice not to be limited to such broad conceptual categories like "navigation", and have things show up by identifiable part of the browser--context menu, menu bar, window, sidebar, etc. Granted, many fall across these lines, but it'd be nice to narrow down your choices when you want to find, say, a particular context menu item.

That's all for now,

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.

Brett's Blog Web