Friday, July 29, 2005
My crazy idea to create a Java IDE on XUL
Ain't crazy ideas fun? No? Well, you're not me so back off.
So, last night, when I was trying to sleep (I have this slight insomnia situation going on) I had one of my somewhat frequent crazy ideas. I usually end up letting them go since I don't have the will or time to follow them, but now I think it might be good to just write them down and at least give them to the world so someone actually does acts out on them, if they're any good that is. And some are.
I anticipated Google Groups, since a couple of friends and I use this "forum" started out from a Gmail message and persisted by a constant use of "Reply To All". It was the obvious next step: allow users to create discussion groups so they only have to click on Reply and easily manage users included in them. This also allows the creation of public groups and a whole bunch of other useful functionalities. Too bad for the 1Mb attachment restriction.
The idea. Right. I haven't forgotten about it. Yet.
I had this idea of creating a Java IDE on XUL, the application architecture in which Firefox, Thunderbird and several other Mozilla applications are based. Actually, XUL is just the XML language with which one creates the interface of the application. The combination of XUL, JavaScript, CSS, XPCOM and a couple of other technologies is what makes the creation of these applications possible.
Anyway, since there's so many Java IDEs out there, it won't hurt to have another one. The most popular currently would be the Eclipse IDE. What makes it so great is the fact that I can be very easily extended with various plugins that allow radical changes in its interface and behavior. That sound very familiar to me. The same is being done with Firefox extensions, so there's an interesting parallelism here. The biggest con of Eclipse is the fact that is sucks all your memory and processor due to the fact that it's written in Java itself.
So, what about other IDEs that aren't created in Java? They are not nearly as complete or extensible as Eclipse. The XUL architecture would allow to create an efficient application, written with C++, JavaScript and XML, featuring enormous extensibility as well. There's a great deal of gain here, I think.
What else is great? Eclipse is free and open. This application could be some of port of Eclipse to the XUL architecture, following the appropriate channels and respecting copyright and licenses, of course. I can't even begin to describe how great Eclipse has been to everybody.
Cons? There are some obvious ones. Since Eclipse is a Java IDE, and it's written in Java, the Eclipse platform can be used to create Eclipse plugins. This wouldn't be the case in this application I thought of. Plugins could be easily written in XUL and JavaScript, but if there's important backend functionality in the plugin, it's probably going to be written in C++. One could think on a more mixed approach, allowing Java and C++ plugins, but things would get really confusing really fast.
Another important con is that for the moment the application would completely depend on another XUL application, such as Firefox. Isn't Mozilla working on and independent XUL environment? Yes, XULRunner is under development, but it might take some time before it's out. Creating this application would take plenty of time anyway.
So this is my crazy idea: a Java IDE created in XUL and based on the Eclipse architecture. I might give it a try if I have the time. Probably not, though. This is why I give my idea to the world. You can take it if you want it. I would appreciate some credit, though.
So, last night, when I was trying to sleep (I have this slight insomnia situation going on) I had one of my somewhat frequent crazy ideas. I usually end up letting them go since I don't have the will or time to follow them, but now I think it might be good to just write them down and at least give them to the world so someone actually does acts out on them, if they're any good that is. And some are.
I anticipated Google Groups, since a couple of friends and I use this "forum" started out from a Gmail message and persisted by a constant use of "Reply To All". It was the obvious next step: allow users to create discussion groups so they only have to click on Reply and easily manage users included in them. This also allows the creation of public groups and a whole bunch of other useful functionalities. Too bad for the 1Mb attachment restriction.
The idea. Right. I haven't forgotten about it. Yet.
I had this idea of creating a Java IDE on XUL, the application architecture in which Firefox, Thunderbird and several other Mozilla applications are based. Actually, XUL is just the XML language with which one creates the interface of the application. The combination of XUL, JavaScript, CSS, XPCOM and a couple of other technologies is what makes the creation of these applications possible.
Anyway, since there's so many Java IDEs out there, it won't hurt to have another one. The most popular currently would be the Eclipse IDE. What makes it so great is the fact that I can be very easily extended with various plugins that allow radical changes in its interface and behavior. That sound very familiar to me. The same is being done with Firefox extensions, so there's an interesting parallelism here. The biggest con of Eclipse is the fact that is sucks all your memory and processor due to the fact that it's written in Java itself.
So, what about other IDEs that aren't created in Java? They are not nearly as complete or extensible as Eclipse. The XUL architecture would allow to create an efficient application, written with C++, JavaScript and XML, featuring enormous extensibility as well. There's a great deal of gain here, I think.
What else is great? Eclipse is free and open. This application could be some of port of Eclipse to the XUL architecture, following the appropriate channels and respecting copyright and licenses, of course. I can't even begin to describe how great Eclipse has been to everybody.
Cons? There are some obvious ones. Since Eclipse is a Java IDE, and it's written in Java, the Eclipse platform can be used to create Eclipse plugins. This wouldn't be the case in this application I thought of. Plugins could be easily written in XUL and JavaScript, but if there's important backend functionality in the plugin, it's probably going to be written in C++. One could think on a more mixed approach, allowing Java and C++ plugins, but things would get really confusing really fast.
Another important con is that for the moment the application would completely depend on another XUL application, such as Firefox. Isn't Mozilla working on and independent XUL environment? Yes, XULRunner is under development, but it might take some time before it's out. Creating this application would take plenty of time anyway.
So this is my crazy idea: a Java IDE created in XUL and based on the Eclipse architecture. I might give it a try if I have the time. Probably not, though. This is why I give my idea to the world. You can take it if you want it. I would appreciate some credit, though.
Thursday, July 28, 2005
Why I prefer Firefox over all other browsers
You may have noticed so far that I am quite a big supporter of the Firefox browser. I don't see myself as a zealot or a fanatic, but I guess some people will think otherwise. I think it's important to explain my motivation behind this so that all the icons, links and shameless publicity that you see on this blog are justified or at least understood.
As a little side note: I'm mostly a Windows user, so Safari, Camino, Konqueror and other browsers aren't considered at all in this blog. To be quite frank, I don't think they are all that relevant, since Windows users are still an enormous majority of the Internet community.
I'm no expert on browsers, but I have a brain, so here it goes: Firefox is the best browser out there.
I came across this browser about a year ago, when it was still on version 0.9, I think. I recall reading about it on some article and decided to give it a try. I was a regular IE6 user until then, which now makes me feel dirty, and not in the good way. I had tried Opera and Netscape before, but they just didn't do it for me. Netscape was too slow and Opera was too weird.
With Firefox, it was love at first sight. Its clean and yet attractive interface impressed me very much right from the start. Opera and the new Netscape versions fall very short here, since their default interfaces are extremely loaded with stuff most people won't even bother to find out how to use. I want simple, I need simple, and most people will agree with me. It's also a very easy transition from IE. Everything is right where it should be.
Another aspect that I loved right from the start was the fact that pages loaded lightning fast and where rendered beautifully. I didn't make me miss IE one bit, which is not something I can say about most other browsers. They usually rendered pages very oddly, and that will never take. In defense of Opera, I guess I didn't give it that much a chance, but as I said, the interface discouraged me at once.
Tabbed browsing, RSS integration, security, quick search, web standards compliance, popup blocking... all of these are no longer options, they are basic requirements. That's why I won't get into these. IE is really losing ground here, and IE7 (now on beta stage) is still a very poor excuse for improvement. Lets hope that the final release of IE7 actually satisfies these requirements or very rough times are coming for its creators.
For the intermediate and advanced user there's plenty more. Toolbars are very customizable, and extensions provide a wide array of additional features. I have browsed the entire collection of extensions at http://update.mozilla.org/?application=firefox and I have about a dozen installed. Web developers are going to be very pleased with some of this extensions. They really allow Firefox to become a powerful development tool.
Extensions are what I love most about Firefox. It's extensibility is extraordinary. Extensions allow you to further customize Firefox and become a whole lot more than a browser. You can use it to check the weather, get sports results, get Gmail notifications or even play games on it. The controversial Greasemonkey extension is the most extreme example of what an extension can do for you. This extension allows you to change the appearance and behavior of a website by executing scripts on them. A large and growing collection of useful scripts is available on the extension's site. I like it and use it for a couple of purposes, but it's not for every user. At least I don't think it is.
Creating extensions is so easy that everybody's doing it. You can create new Firefox extensions using only Notepad if you wanted to. Learning how to create them is not that hard if you're familiar with website design or XML and scripting languages. Check XulPlanet if you're interested in this.
My take on freeware and open-source software has changed since I started using Firefox. I couldn't believe that something so good could come out from a community of volunteers and the will and vision of a relatively small group at the Mozilla Foundation. I now contribute by reporting bugs, reviewing bugs and submitting patches. That's how much an impact it has made on me. I feel totally compromised to this cause; there's nothing that makes me feel more motivated now.
Firefox still has a long way ahead. Version 1.5 is under development at the moment. I'm using Deer Park Alpha 2 (the current development version of Firefox) to write this post. Firefox is close to attaining 10% of web traffic, and several bugs and glitches must be corrected before making the final jump into the mainstream. I have hope. I think it'll make it.
For me, Firefox is more than just a browser, it's a philosophy. It has changed the way I live. Is that wrong? I don't care.
As a little side note: I'm mostly a Windows user, so Safari, Camino, Konqueror and other browsers aren't considered at all in this blog. To be quite frank, I don't think they are all that relevant, since Windows users are still an enormous majority of the Internet community.
I'm no expert on browsers, but I have a brain, so here it goes: Firefox is the best browser out there.
I came across this browser about a year ago, when it was still on version 0.9, I think. I recall reading about it on some article and decided to give it a try. I was a regular IE6 user until then, which now makes me feel dirty, and not in the good way. I had tried Opera and Netscape before, but they just didn't do it for me. Netscape was too slow and Opera was too weird.
With Firefox, it was love at first sight. Its clean and yet attractive interface impressed me very much right from the start. Opera and the new Netscape versions fall very short here, since their default interfaces are extremely loaded with stuff most people won't even bother to find out how to use. I want simple, I need simple, and most people will agree with me. It's also a very easy transition from IE. Everything is right where it should be.
Another aspect that I loved right from the start was the fact that pages loaded lightning fast and where rendered beautifully. I didn't make me miss IE one bit, which is not something I can say about most other browsers. They usually rendered pages very oddly, and that will never take. In defense of Opera, I guess I didn't give it that much a chance, but as I said, the interface discouraged me at once.
Tabbed browsing, RSS integration, security, quick search, web standards compliance, popup blocking... all of these are no longer options, they are basic requirements. That's why I won't get into these. IE is really losing ground here, and IE7 (now on beta stage) is still a very poor excuse for improvement. Lets hope that the final release of IE7 actually satisfies these requirements or very rough times are coming for its creators.
For the intermediate and advanced user there's plenty more. Toolbars are very customizable, and extensions provide a wide array of additional features. I have browsed the entire collection of extensions at http://update.mozilla.org/?application=firefox and I have about a dozen installed. Web developers are going to be very pleased with some of this extensions. They really allow Firefox to become a powerful development tool.
Extensions are what I love most about Firefox. It's extensibility is extraordinary. Extensions allow you to further customize Firefox and become a whole lot more than a browser. You can use it to check the weather, get sports results, get Gmail notifications or even play games on it. The controversial Greasemonkey extension is the most extreme example of what an extension can do for you. This extension allows you to change the appearance and behavior of a website by executing scripts on them. A large and growing collection of useful scripts is available on the extension's site. I like it and use it for a couple of purposes, but it's not for every user. At least I don't think it is.
Creating extensions is so easy that everybody's doing it. You can create new Firefox extensions using only Notepad if you wanted to. Learning how to create them is not that hard if you're familiar with website design or XML and scripting languages. Check XulPlanet if you're interested in this.
My take on freeware and open-source software has changed since I started using Firefox. I couldn't believe that something so good could come out from a community of volunteers and the will and vision of a relatively small group at the Mozilla Foundation. I now contribute by reporting bugs, reviewing bugs and submitting patches. That's how much an impact it has made on me. I feel totally compromised to this cause; there's nothing that makes me feel more motivated now.
Firefox still has a long way ahead. Version 1.5 is under development at the moment. I'm using Deer Park Alpha 2 (the current development version of Firefox) to write this post. Firefox is close to attaining 10% of web traffic, and several bugs and glitches must be corrected before making the final jump into the mainstream. I have hope. I think it'll make it.
For me, Firefox is more than just a browser, it's a philosophy. It has changed the way I live. Is that wrong? I don't care.
Wednesday, July 27, 2005
My late initiation on blogging
Hello, world. Might sound corny, but programmers will appreciate the joke :).
I guess I'm a little late at creating a blog here, and it's pretty evident considering the amount of tries it took to get a decent user name. I've tried blogging before, on Xanga, but I guess that didn't took off. Maybe it's because of the more informal feel to it. I'll keep that blog for more personal stuff perhaps. This one's more for my public Internet persona. I'm not a celebrity or anything, but I like to think that my work means something to somebody, so it's nice to have some sort of home site.
I'm an active member of the Spread Firefox community, under the member name jorge.villalobos. I'm also working on a side project called SFX+, that plan on giving new shape to SFX. Part of the motivation of creating this blog is the fact that googling "jorge villalobos" puts my SFX blog on the top results, often among the top 20 :). I hope that through this blog I can unify my Internet personalities through linking, and this page is shown as the main resource relating to myself. An official domain with maybe a Drupal system is something I plan for a little more ahead.
As usual, I'm have some problems giving my ideas some order. My name is Jorge Villalobos, I have a Bs on Computer Science and I'm registered at Syracuse University for an MsSc. I'm a programmer at heart; there's nothing I like more. I absolutely love developing web applications, but any programming task or game or competition will simply consume me. I try to contribute to the Firefox project as much as a can, so I'm currently getting the grasp of working in the Mozilla Bugzilla site. I've posted a couple of simple patches and hope to work my way into bigger programming contributions. If you don't know what Firefox is, you should, it's the best Internet browser out there. You can get it here.
That's it. I hope this is the first of many entries. See you around.
I guess I'm a little late at creating a blog here, and it's pretty evident considering the amount of tries it took to get a decent user name. I've tried blogging before, on Xanga, but I guess that didn't took off. Maybe it's because of the more informal feel to it. I'll keep that blog for more personal stuff perhaps. This one's more for my public Internet persona. I'm not a celebrity or anything, but I like to think that my work means something to somebody, so it's nice to have some sort of home site.
I'm an active member of the Spread Firefox community, under the member name jorge.villalobos. I'm also working on a side project called SFX+, that plan on giving new shape to SFX. Part of the motivation of creating this blog is the fact that googling "jorge villalobos" puts my SFX blog on the top results, often among the top 20 :). I hope that through this blog I can unify my Internet personalities through linking, and this page is shown as the main resource relating to myself. An official domain with maybe a Drupal system is something I plan for a little more ahead.
As usual, I'm have some problems giving my ideas some order. My name is Jorge Villalobos, I have a Bs on Computer Science and I'm registered at Syracuse University for an MsSc. I'm a programmer at heart; there's nothing I like more. I absolutely love developing web applications, but any programming task or game or competition will simply consume me. I try to contribute to the Firefox project as much as a can, so I'm currently getting the grasp of working in the Mozilla Bugzilla site. I've posted a couple of simple patches and hope to work my way into bigger programming contributions. If you don't know what Firefox is, you should, it's the best Internet browser out there. You can get it here.
That's it. I hope this is the first of many entries. See you around.