On the one hand it is like Bespin is the best thing since sliced bread, ("hey look now I have a cool editor in my web browser") on the other a quite mixed reaction is coming ("why the heck would I want to ever do this", "where is my code completion, type hierarchy", etc.)
Honestly I'm not really surprised by this reaction from the eclipse community especially when you have been around long enough to remember the early days of CDT and the complaints it was receiving because it was not up to the task in comparison to JDT... or more recently on other fronts when you see bugs titled like "XYZ sucks", and the difference in participation on a new effort. Feels like our community is spoiled.
So where do I stand on Bespin? Well somewhere in the middle. I'm not impressed by the overall Bespin concept because it only solves one little part of the problem of creating an IDE: the snappy text editor and the collaboration. I like it, I like the fact that it is done with HTML5 canvas, the way the extensibility is working to invoke commands, etc. However when it comes down to running a full fledged IDE, I'm skeptical. Not about the abilities of the browser or canvas to scale (remember that a few years back Java was declared dead for rich client apps?), but simply because I know what it takes to have all the features that make you so productive in Eclipse. Most of them can't just work of one or two source files at least to give you assistance to the degree you are used to. We can probably get the information back from the server, but would it get back fast enough; we could have less precise operations, but are we ready to go with this?
All that said, I believe that there is a place where a Bespin based IDE (or the like) can be useful as a lightweight tool to do a quick task... (peer programming like scenarios, just need to fix a typo in the file, provide translation, etc.). But I don't think we are quite there yet, and there is a lot of cool problems to solve. For example the model as to where the resources being edited are coming from is unclear. One possibility is to assume that everything I need is already available on a remote server "on the cloud" (or my buddy's machine) then I can just edit this. Now, if my principal model is to work in a regular IDE and try to use my web IDE to just perform some mundane tasks, then the overhead of locating and opening the file would rather be low (Unless of course I can directly edit the code straight out of the code repository and put it back there on save (see lower)).
So what would I want to see / do / explore?
- Explore with running a more complete headless Eclipse in the cloud.
- Following this, is offering an "upgrade" path from the browser to the local experience.
- Making the workspace cloud friendly.
- Explore DVCS as the underlying storage of a workspace.
- Could Bespin provide the web browser implementation of the eclipse app model (aka 20 things).
- Explore single sourcing (generative technique, model based, ...) of commands to make it easy to target both the we-based and client-based IDEs
- Finally and unrelated to all that is to see if we can have an SWT for HTML5 canvas.
Caveat, this is just the fruit of my imagination as I have not been involved in the Mozilla/Eclipse meeting.
4 comments:
Sounds like the bar will be lively in Santa Clara on this issue ;).
Great Post Pascal!!! This is exactly the type of thinking that makes e4 so exciting. The worry that people have -- OMG I am only going to be able to run Eclipse in a browser next year -- is extremely premature. I see e4 as a great *set* of enabling technology, that will enable all sorts of things. Hey, isn't that what makes e3 so successful:-)
Experience has taught me that all great ideas will be met with immediate and strong opposition. Of course bad ideas produce opposition as well, though rarely as strongly as do great ideas. Mediocre ideas produce no reaction at all.
The key is to look at the reasons for the reaction. Any comments to the effect of "I don't need this" likely reflect having missed some or all of the point, with the most important one being "so don't use it if you don't need it." Comments about "this won't work" are typically wrong up front given it's a reaction to something that is already working. Where there's a will there's almost always a way.
The good thing is that there is more to be learned by paying attention careful to the opposition than there is basking in universal support.
My primary concern with this Bespin thing is not "I don't need it" (although I don't and I've taken the time to give it careful consideration and still haven't seen anything explain when this would be really useful or what the future "vision" of it might be). No, my big concern is that "playing around" with this mgiht suck valuable time away from people whose efforts are needed in Eclipse 3.x and e4. There is SO MUCH work that needs to be done on those things, I'm concerned something "cool" like this will suck away resources.
Post a Comment