I was chatting on IM tonight with Stuart (pavlov == stuart) and I walked in on an idea. We had been talking about the Mozilla calendar client and where it was going and the whole App vs. Extension thing. When I read the roadmap, and granted it is old, it read that mofo wants to move towards simplified stand alone apps with strong extension capabilities. A direction I think is great. The mozilla suite and the old Netscape suite where chok full of cruft and were slow and big because of it.
So now they have a browser and a mail app as strong stand alones. Except the mail app is also an extension that can be added to the browser (or at least there is work to go in that direction as I understand it - check the roadmap diagrams). And there is a calendar standalone but what good is a calendar without any mail support these days so that will be an extension for Thunderbird in addition to a stand alone. Well, do you see the pattern?
Enter my brilliant idea (I think I had this one a long time ago too and never acted it on it then - see the post from the other day). The idea stemmed from a little proof of concept done by Dave back in the Netscape days. He was elbow deep creating XUL Tabs and wondered if the mail app could be loaded into a tab in the browser. Sure enough it could, although it didn't function completely. Tonight I started thinking about that test and about all the extensions available for Mozilla/Firefox/TBird and about my Masters project. There is a huge headache dealing with integration of these applications. They were all developed seperatley without thoughts towards re-integrating them back together (at least not real deep thoughts). But what if these apps were all designed as extensions to an extensions container.
Instead of a web browser we would have a container for web related applications. In fact they might not even have to be web related, but they would be written using the Mozilla Platform (it's coming, it HAS to be) so they could make use of all the things you get for free. There would be lots of things to work out. In particular profiles would be a huge sticking point. I did some work on the profile sharing code for mozilla (darin did most of the hard stuff) and man are there a lot of issues. But looking at the direction the web is heading and what apps have worked and the state of things, this seems like the right move, especially for MoFo.
You could start with Firefox, and then strip it down to XUL frame code, profile code, maybe network code too, of course you'd need the nspr stuff probably too and security, but you're talking about a pretty small subset of stuff. It wouldn't even _have_ to know about HTML. Then expand the extension mechanism to allow changes to the toolbar and PTB and maybe even some basic menu changes. Maybe add menus as extensions are added, I don't know. Then create an api so extensions can advertise services to the rest of the extensions and the application itself. That would ease the integration issue, if mail hooked in and said hey, if you want to send an email to someone call this method and here ya go! Addressbook could be an extension and a filter for syncing with your palm could be an extension that knew how to talk to a/book and the palm.
So this is my big idea (TM), and I'd call it Hydra, like the multiheaded Greek monster. I thought I'd put that in my blog in case I actually get around to doing it and have to fight someone for the copyrights on the name. :-). Maybe MoFo's already on this and under way. I hope so. I also really hope they are making a prioirity of creating an actual Mozilla Platform, because I think that is how they survive. That's all for now, time for more wine and chocolate.
Well, I decided to go ahead and start rolling out the new design. For those of you who saw one of my old designs this looks pretty familiar. If you are an IE user the nav bar on the right probably doesn't render correctly, but it works in mozilla and firefox and I believe in safari too, so too bad. Not all of the site is redone in this pattern and I'm sure there are even more serious problems, like broken links, but I'll be getting to all that in the days to come. The biggest headache is going to be re-doing all the archive posts. Ugh.
I've been doing a bunch of reading of Mozilla related pages on the web the last few days. Initially on mofo direction (roadmap) but then on the calendar work (sunbird) and then on some extension projects (mozdev). Interestingly I saw a couple projects there that I had wanted to do years ago when I was working at Netscape/AOL/TW and never got organized or motivated enough to do them. Namely an IDE to build mozilla based applications (jrex) and under that project the XUL parser project for java based XUL support. One of the other projects I've seen recently, and I haven't looked into it so I'm not sure if I have it right, is TypePad, over at the MoveableType website. I had a concept of web-based editing as an enterprise tool several years ago but never developed it. Not sure if TypePad is that kind of thing, but it sounds like it.
Anyway, the point of all this being the ideas I've come up with in the past all seem to be legitimate ideas and given enough energy I think they all would have worked. I allowed myself to be slowed by not seeing an immediate need or result for the work and possibly overwhelming resistance to the project.
Once again I have to say I am very impressed with the success Mozilla has had. I had all but written them off when they were split off from AOL almost 2 years ago. I wanted to see them succeed, but I had my doubts. I view their success as a direct result of the passion of the people working on the project combined with the guidance and foresight of those leading to pull in external help. In this instance it means evangelizing the proejct to IBM, Rehat, Google, whoever. By getting other companies to invest either financially or simply adding mozilla related technology to their roadmap or direction Mozilla was able to link their success with the success of other companies.
Where do I go with all this? Simply put I have another idea and I'm going to invest some energy into it. While it would be easy to latch on to some of these other projects from mozdev and put some work into them and complete my MS I want to have something of my own. So I'm going forward with my project management tool and who knows where it will lead me.
Okay, one more thing tonight before packing up and heading to bed. I saw Episode III Saturday night and then watched EpIV Sunday night. While I came of out Sith thinking it was pretty good despite having a bunch of nit-picky things that only true SW geeks care about or notice. After watching Star Wars the next night I realized how truly bad the 3 new movies really are. The sad part is that the stories behind the movies are still really really good. But they were contorted with a lust for computer animation and bad direction and mediocre camera work. Star Wars ( and Empire and less-so Jedi) was eye-candy. And it was witty and funny without being silly. You cared about the characters instead of thinking "When is the next sword fight?" Oh, and the sword fights had so much more style. I admit it was cool seeing Yoda whip it out and give some lessons, but there was too much hopping around and flips and the motions were too fast and it just turned into a blur. Episode I had a good one with the battle against Darth Maul. There was pauses and beats within the fight and it wasn't just let me wave my lightsaber around as fast as I can.
Anyway, there is my rant. Expect to see more about this subject in the coming weeks.
First of all I need to get a ToDo/Task List started. Maybe a "Coming Attractions" sort of area. First on that list needs to be the completion of the redesign and updating of all the hosting software and stuff. I'd love to have comments again and apparently there are some simple ways to incorporate them without getting spammed to hell.
I guess I'll start on that and figure out what else I need when that's all cleaned up. I'm sure there is something about js I need and maybe some cool code that tells everyone what is playing in my winamp player right now. :-)
Caught the end of my finger on the angle grinder at work today. Damn that hurt. Didn't do much damage but grinding the tip of your finger leaves it pretty messy. Bled like a stuck pig too. I don't recommend trying it.
In other news I got back on IRC again today and it is good. Nice to log in after such a long absence and have people excited to see you (at least they _seemed_ excited). It was very helpful as I got to bounce ideas off people as I tried to fix some firefox build problems I was having. Getting back into the swing of things is tough!
My Ben Folds Five CD showed up in the mail today! I've listened to it like 5 times tonight. I used to be on Napster and that was one cd I would listen to again and again and again. I went to see him with some friends from netscape a couple years ago (kerz, juan, donner?, spitzer?) and was blown away. I highly recommend his live cd and if you can get out and see him by all means do so. He has some many more good songs besides "Brick".
Also got The Incredibles, which I haven't watched tonight at all. :-) Every now and then I get in a mood to just buy some stuff. And Amazon.com is always there to help. :-)
I think I'm going to use this site to organize my master's work. That way I can kill two birds with one stone, namely to update (and keep updated) my website and generate documents for my master's project. Because this site definitely needs some love.
I have these ideas for adding project management functionality to mozilla, or rather creating a mozilla-based PM tool (for my Masters Project). So I've been setting up my home machines to build again and boy has it been interesting. I'm surprised at how much I've forgotten. Thanks to caillon and bryner for helping me out yesterday. I finally got stuff building on my WinXP box.
I always used the dosshell command windows to do my builds and just pathed out the cygwin tools and such. But now that the cvs pulls have to be done via ssh I was forced to use the bash shell. Took some time to convert all my scripts over and one of the final problems was related to differences in path styles bewteen unix and windows. Even though I was in a unix environment I had to use windows style paths for LIB and INCLUDE because it was the MSVC++ tools link, cl and rc that use those environment settings. So I had to use c: paths properly escaped (LIB=c:\\builds\\foo\;c:\\builds\bar ). What a pain, but it works now.
Next step is to get mozconfig files set up for all the different builds so I don't have to think about making sure my settings are right and editing files. Then clean up my .bashFOO files and transfer all my aliases (aliasi?) and shortcuts over. Then set it all up on my laptop.