Slashdot Mirror


Web-based IDEs Edge Closer To the Mainstream

snitch writes "Last week Mozilla released Bespin, their web-based framework for code editing, and only a few days later Boris Bokowski and Simon Kaegi implemented an Eclipse-based Bespin server using headless Eclipse plug-ins. With the presentation of the web-based Eclipse workbench at EclipseCon and the release of products like Heroku, a web-based IDE and hosting environment for RoR apps, it seems that web-based IDEs might soon become mainstream."

41 of 244 comments (clear)

  1. Soil cleaner by BadAnalogyGuy · · Score: 5, Funny

    I had this great idea for a product. It would clean the soil in your yard. The soil itself would be clean soil after using the product. In other words, even if you rolled around in it and got the soil all over you, you would still be clean.

    Strangely, it was a solution to a problem that no one had. It figures that I shouldn't get my product ideas from Bill & Ted

    1. Re:Soil cleaner by jetsci · · Score: 3, Funny

      Its scary when you consider the implications of this - as you pointed out.
      I can imagine the EULA now:

      "ALL YOUR CODE-BASES BELONG TO US!111!"

      --
      Bored at work? Play Game!
  2. Why not? by Seth+Kriticos · · Score: 2, Insightful

    Sure, they will not replace local editing tools for the main development of applications, but for remote access and small stuff it sounds nice.

    1. Re:Why not? by von_rick · · Score: 2, Interesting

      I'm wondering how they would word their EULA. If they claim ownership of the code that's compiled and developed on their servers, that would be a deal breaker for most developers.

      Otherwise its a wonderfully implemented idea.

      --

      Face your daemons!

    2. Re:Why not? by digitalunity · · Score: 2, Interesting

      For precisely this reason, I would never ever switch to a remote IDE hosted by another company.

      A possibly debatable secondary reason is just that I don't want anyone else having access to my code that is potentially going to be released as closed source. Everyone knows IT guys are generally snoopy when they're bored, and sometimes my comments contain profanities directed towards my users.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    3. Re:Why not? by Vectronic · · Score: 4, Interesting

      This is rather off-topic, but Sumo-Paint still impresses me, it's not quite as good as Photoshop, etc, but it comes very close...

      If Bespin, etc can get anywhere near that functionality/power... it will certainly be useful. Especially in classroom situations, where it can be sandboxed in the browser.

      However, I am curious about how one would go about compiling, or is it strictly code-editing, online-only apps?

    4. Re:Why not? by Garridan · · Score: 3, Interesting

      I'm a Sage developer, and our only GUI is a web interface. Run Sage on your local machine, and you serve to localhost. As Sage developers use the GUI, we're getting more attached to it, and we keep adding more IDE-like features. Recently, there have been discussions to make it easier to edit Sage directly from the GUI. With a little care and extra work, it seems as though we'll be able to make the system such that multiple developers can collaboratively edit the source, making messy merges a thing of the past.

      I won't claim that Sage will become a great IDE -- that's not our plan: we want to make great math software. But, the way that people write software is changing. Local editing tools are the best right now because they've had the most time to develop, and today's developers have grown with them. In 10 years? I'm not sure that the younger generation of developers is going to stick with a local copy of emacs. More and more tools are migrating to the web; I don't care to predict that the world isn't going to change.

    5. Re:Why not? by Marxist+Hacker+42 · · Score: 4, Insightful

      The one does not have anything to do with the other. One provides a managed place for you to put your code, the other lets you write code in a comfortable unified environment. Why would you want to integrate those two?
       
      When working in a team environment, integrating the two makes for another channel of communication, especially between geographically separated team members (which seems to be an increasing trend in my personal contracts; I've gone from originally working in a company where source code control was done by shouting over the cubicle walls, to a situation where I'm getting up 3 hours earlier than normal to collaborate with coders in European time zones). It also seems to me to greatly simplify the autosave process if the two were integrated, especially in a web environment- thus capturing all branches of the code automatically server-side, for the project manager to integrate the final code for build.
       
      Of course, this all would require at least two major advancements to the current codesets in TFA:
       
      1. enough speed for professional software development (something that even current client-side IDEs sometimes lack for me, though the problem might be more of a PEBCAK, or more precisely, a PEBBAF (Problem exists between brain and fingers, instead of between Chair and Keyboard).
      2. sufficient integration between the data entered in the client-side web interface and the code repository to show changes when two team members are working on the same source code file.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    6. Re:Why not? by umghhh · · Score: 2, Interesting

      Measures to cut costs as you suggested, this being outsourcing of non-essential business or using third party solutions usually do not work unless they are done with brains and as that pretty much never happens they do not provide real savings. Spreadshit boys have their field day: once when they get bonuses for saving plan and another time when they have to fix what they messed up while doing it. As long as products still work all is well of course.
      Do not misunderstand me - I am not against such measures but I find it funny how it usually is done. besides I am cleaning the mess at the end so I do not complain that it is created in the first place of course. OC a day may come when they work out a new saving plan in which they ship the shit directly after it compiles and then bring me with other unfortunates to the big hall where the spreadshit boys give us a sack. Well I would not work for such company anyways so it is not a big deal.

      When I think of saving plans, new great ideas and silver bullets, whatever the current hot word is, I always think about 3. paragraph of java's license agreement and why it applies to most of the software that has ever been written.

    7. Re:Why not? by JoeMerchant · · Score: 2, Insightful

      Focus on the business at hand (e.g. coding) and quit wasting time on infrastructure (version control, defect tracking, build systems, backup & recovery, server sizing, etc...).

      In the past 2 years, I have spent 3490 hours on the "business at hand" (e.g. coding, documentation, meetings, etc.), 10 hours on infrastructure (setup and maintenance of trac, svn, backups, VPN) and 500 hours on lunch. It's a small company, I'm a programmer and the nominal back-end sys-admin.

      We easily spend more time configuring people's POP & SMTP settings on their e-mail than we do on our trac and svn servers, which are used daily by 75% of the company.

      The real infrastructure inefficiency happens when you give somebody the title "infrastructure guy" with no other responsibilities. Based on our experience, you should need one full time guy for roughly every 300 programmers. Problem is that he also configures people's e-mail, printer connectivity, etc. so when that 1/1000 programmer's support call comes, he's clueless.

    8. Re:Why not? by digitalunity · · Score: 2, Interesting

      This has been my experience as well. At my former company, we had our own somewhat expensive IT and support crew but everything worked really well. Someone decided to save money by switching to Unisys for help desk support.

      Direct support costs went down, but whatever they saved on IT staff we lost 100 times over on lost productivity from help desk tickets being 'resolved' before actual issues and it was a aweful. I have since left the company, but up to the day I left management was still happy using Unisys, which is bizarrely illogical given the higher costs and reduced productivity.

      C'est la vie I suppose. Still irks me though how much upper managers get paid for such poor ideas.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    9. Re:Why not? by amoeba1911 · · Score: 2, Insightful

      "it's not quite as good as Photoshop"

      Photoshop: $500
      Sumo-Paint: $0

      Value = Quality / Price
      Sumo-Paint = infinite value.

      Nice flash program.

    10. Re:Why not? by Vectronic · · Score: 2

      You'd be simply astounded at how many people do not have laptops! /sarcasm

      The 'point' isn't to be used as a full time dedicated anything, it's simply (in the meantime) for those "damnit, wish I had something installed that could do this" moments, however, "in the future" there will be an even greater desire for web-based applications, with the 15 devices people have, all being able to access their one home server, being able to run your favorite app *as you like it* from anywhere, on any machine with internet... Just becuase you don't like it that way, doesn't mean everyone else wont too.

      On top of that, it also means (especially for nettops, OLPC, handhelds, etc) that you can still get something done, without installing anything other than the browser.

      Thirdly, if you don't have those little eureka moments, or "I gotta code/create/plan this shit out right now" moments, then chances are you aren't very passionate/enthusiastic about what you are doing.

      Quaternarily... you can have a group of people, from different points in the world, all working on the same project, with no hassles... don't have to install some special VPN, could bump into someone on the street, and they could instantly flip-open their laptop, and join in... etc, etc.

  3. Potential for Netbooks by eldavojohn · · Score: 5, Interesting

    As someone drooling over the insanely low prices of light weight netbooks with weak Atom processors, I was kind of lamenting that there wasn't something I could host on my beefy Linux desktop back home that acts as a code repository and compilation machine while all my development is done through a netbook.

    I'm not too keen on someone else's server being the host for my web based IDE and holding my code but if they could make it so you could attach to any server (including one from your home) I would be all over this.

    I know it sounds like I'm just coming full circle and mimicking mainframes from the 80s with the ability to cool and keep a quad core beast at home with a terabyte of storage mirrored across two drives while keeping a nice cool easy to move netbook ... but wouldn't that be awesome and liberating?

    --
    My work here is dung.
    1. Re:Potential for Netbooks by Anonymous Coward · · Score: 5, Informative

      Setup ssh on your beefy box. Install eclipse. run xhost +

      Now on your netbook ssh -x
      login
      eclipse&

      It should popup on you netbook but be running on your beefy computer.

    2. Re:Potential for Netbooks by TerranFury · · Score: 4, Insightful

      Apart from "xhost +" (which is a bad security move), I wholeheartedly agree. This is what X was designed for.

    3. Re:Potential for Netbooks by godrik · · Score: 4, Informative

      there is no need to xhost + your machine. It is the point of using ssh Xforwarding.

      An other version would be to run your IDE from your netbook but alias make to "ssh make" or using a well configured distcc. The last point would be transfering datas. Two options are available here. Either you rsync them to the server, or you mount the code directory on your local machine using ssh, fuse and sshfs

    4. Re:Potential for Netbooks by doug · · Score: 3, Informative

      Avoid the "xhost +" stuff. From the netbook try something like

      ssh -YtC user@beefy.box.com /path/to/eclipse

      and you just might get what you're looking for.

      - doug

    5. Re:Potential for Netbooks by i.of.the.storm · · Score: 2, Informative

      Eh, running eclipse over ssh sounds like pain, but I was going to suggest ssh too. But I would probably suggest using vim or emacs instead of eclipse over ssh, because the bandwidth used from running eclipse might be horrid.

      Yeah, just tried it on one of the campus servers. Took 5 minutes to start up, and another minute before the screen was actually painted. UI is unresponsive, menus wouldn't draw for another minute, and basically everything has about a 30 second delay. But it would probably work great over LAN.

      --
      All your base are belong to Wii.
    6. Re:Potential for Netbooks by Mechanik · · Score: 2, Insightful

      An other version would be to run your IDE from your netbook but alias make to "ssh make" or using a well configured distcc. The last point would be transfering datas. Two options are available here. Either you rsync them to the server, or you mount the code directory on your local machine using ssh, fuse and sshfs

      Mounting via NFS or SMB is generally dog slow and not recommended. Using an intelligent IDE like Eclipse that wants to parse and index all your source code, and trying to do that on a mounted drive is going to make things even worse as it crawls through every single file in your source tree.

      A better solution is an IDE that leaves the files where they are, and offloads all the heavy lifting to that machine, where disk accesses are fast, or are at least fast compared to sending everything over the wire.

      I mentioned this in another post, but due to my screwup of not applying good formatting to that one, I'll repost it here, as it's just as relevant. (mods, please ignore the other one)

      Shameless plug... I work on an Eclipse project (Remote Development Tools aka RDT) that allows you to have a local Eclipse that targets a C/C++ project that lives on the remote machine. No SMB or NFS mounting required, nor do you have to deal with the slowness of running Eclipse over X. Nor do you have to run your IDE in a browser. The UI runs natively on your local machine, so all that nice stuff like copy/paste and drag n' drop just works (mostly..).

      When you do something such as build your project (e.g. "make all", but it can be whatever you wish), the build commands are sent to the remote machine via the remote protocol of your choice. This can be via SSH if that's what you want. The output of the build is populated back to the local machine over the wire, and errors and warnings in your code are mapped onto those remote files so you can do lovely things such as clicking on the errors and being taken to the right location in that file.

      If you want all the whizz-bang features like intelligent search, content assist, call hierarchy, etc. to work in a secure environment then tunnel the mandatory dstore connection over SSH, or setup SSL (I'd recommend the SSH tunnel route).

      Here are the release notes for our first release. I'd recommend downloading the latest 2.1.1 nightly build over the 2.1 build to get some key bug fixes.

  4. Re:note: CodePress url by AKAImBatman · · Score: 2, Informative

    Codepress is just an editor. A potentially important piece of any IDE to be sure, but only a piece. You still need file system integration, project control, build support, deployment options, UI editors, code suggestion dropdowns, and a host of other tools and features that make modern IDEs useful products.

  5. Is this just muscle-flexing? by puppetluva · · Score: 5, Insightful

    Don't get me wrong. . . I think it is an amazing technical feat, but is it really practical to require internet access for this?

    I think it is time that we as a community get behind a project that allows these remote apps to be cached locally for fully disconnected use (with a desktop runtime -- something akin to Adobe Air). It would be great to visit the site once and thereafter run it local (and get updates later while connected). As long as I'm fantasizing, I think we should try to make this a standard for new desktop apps -- written like gadgets, but full blown apps.

    What do you think? Are there projects out there that are working on this already?

    1. Re:Is this just muscle-flexing? by fuzzyfuzzyfungus · · Score: 4, Informative

      http://code.google.com/p/gears/

      Pretty much what you asked for. OSS, available for a large number of platforms, and already seeing some real world use.

    2. Re:Is this just muscle-flexing? by godrik · · Score: 3, Insightful

      What do you think?

      I think that I do not need web based applications. They are slow and do not do what I want them to do. It entraps you into a given view of your data without getting fine control on it. Can you search your mail on gmail for one containing an URL that matches a given list from a webcalendar ? No you can not, because you have no raw access on the data.

      I only use web based applications as a remote access when I am using a windows machine (Otherwise, I can use ssh and X11 forwarding and everything is fine).

  6. Re:Web-based Visual Studio for MFC by AKAImBatman · · Score: 4, Interesting

    I do believe you've been had. His comment about Win32 strikes me as the intended 'tell' for his sarcasm. The point being that developing desktop applications in a web-based IDE doesn't make much sense. Which I do agree with. The two environments are not at all integrated.

    Of course, the AC conveniently ignores the massive business of web development which *could* benefit from centralized IDE services.

  7. Offline coding??? by Foofoobar · · Score: 2, Insightful

    I often find myself without an internet connection and will just pull up Eclipse on my laptop and work on my checked out copy of the codeline. I don't need the connection except to check code back in and versioning control systems )if setup and used properly) already allow for collaboration (to an extent). So why should I require a connection to code? I want to work on code whenever I want regardless of whether I can find a wifi hotspot or not.

    --
    This is my sig. There are many like it but this one is mine.
  8. Re:WTF is it with undescribed acronyms? by cbiltcliffe · · Score: 2, Informative

    Idiot Dumbass Editor.

    --
    "City hall" in German is "Rathaus" Kinda explains a few things......
  9. Re:Another thing in the cloud? by cbiltcliffe · · Score: 2, Funny

    Do you think that's air you're breathing?

    Hhmmm.

    --
    "City hall" in German is "Rathaus" Kinda explains a few things......
  10. Re:WTF is it with undescribed acronyms? by Dog-Cow · · Score: 2, Funny

    AKA, a slashdot editor?

  11. mainframe solutions, mainframe problems. by tjstork · · Score: 5, Insightful

    As people romance the scale and stability of the mainframe and move towards centralized, mainframe approaches, they forget the reasons that gave birth to the PC revolution to begin with.

    Having your stuff on your computer is an immensely liberating act. No matter what the terms of service, your data is in someone else's charge when its on yonder mainframe, and you are at the mercy of their data center when it comes to performance, user interface, virtually all aspects of the system.

    On the other hand, with a PC, particularly as applications move towards more open file designs, you get much more control, more choice, and as much power as you would like to invest in.

    --
    This is my sig.
  12. I'm skeptical by IdahoEv · · Score: 5, Insightful

    I'm going to remain skeptical.

    Net apps are great, but their performance in many areas is unavoidably way below that of native apps. When you can do everything with JS, you can be reasonably speedy if the processing requirements aren't huge and your browser doesn't leak memory too badly. (Dammit, Firefox!)

    But when you need to persist data, you have to spawn an ajax query and that 1/10 to 1/4 second (even over a fast network connection) just isn't comparable from the user perspective to hitting a local HD. As local mass storage switches from HD to solid-state over the next couple of years, the difference between native and web apps is going to increase, not decrease.

    Besides, half of these things are going to be ad-supported, right? At least in my experience, the performance of most websites has decreased the last 3 years or so as they hit and increasing number of different servers. It's typical for a single page to load content, ads, local javascript, stylesheets, and analytics from 10 or more pages. Each of these connections triggers its own DNS query. Every connection and every DNS lookup has a %age chance of hanging for a few seconds due to network traffic, server load, or what have you - as a result almost 10% of web pages I try to load these days stall for a few seconds. Do you really want that kind of crap going on in the background while you're developing? I don't.

    Hah! Just reminded of a most annoying example! Slashdot, for me, loads pretty much instantly. But every time I post and click that "preview" button, there's a five-second wait before the preview actually shows up. That'll be fun, and additional five seconds for every classfile save in my IDE...

    --
    I stole this sig from someone cleverer than me.
  13. I can see it... by Evan+Meakyl · · Score: 2, Funny

    ... 2012 will be the year of the in-game web-based IDE...

  14. Re:I doubt it by FunkSoulBrother · · Score: 2, Interesting

    Have you ever used the google apps? They are actually very quick and responsive, and work in a similar way.

    Just my anecdotal experience, but I spend most of my day in Google Docs spreadsheets that I think it is fair to call small (8 columns by somwhere between 20 and 100 rows). At any given time, there are zero to 3 people collaborating on the same document as me. It is slow as shit. I just sorted a 25 row column (just a simple A to Z sort), there was almost 5 seconds in between choosing the GUI function and seeing the result. It even lags when typing in a cell sometimes. I couldn't imagine doing development work in such an environment.

  15. Comment removed by account_deleted · · Score: 2, Funny

    Comment removed based on user account deletion

  16. Re:Project files? Now we hide the source files! by AKAImBatman · · Score: 2, Informative

    You *had* to ask, didn't you?

    http://robrohan.com/projects/9ne/

    And just to keep the vi vs. emacs rivalry well fueled:

    http://gpl.internetconnection.net/vi/

  17. Re:But... but... by dkleinsc · · Score: 5, Funny

    Real programmers use butterflies.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  18. Notepad by Frankie70 · · Score: 3, Funny

    I have stopped using my local Notepad. I use a web based Notepad these days.
    It totally rocks.
    Planning to try a web based browser next so that I can uninstall Firefox from my machine.

  19. Re:WTF is it with undescribed acronyms? by mcgrew · · Score: 2, Interesting

    Does "Web-based Integrated Drive Electronics" make sense?

    No, which is why I investigated further. Had they spelled it out I would have known that it held no interest to me.

    I'm a coffee addict and it's early; my old brain needs to warm up before it functions properly.

    We also threw glowing discs at the MCP right up until management put a stop to our shenanigans

    Coincidentally I just watched TRON two days ago. It's still a good movie, and somehow even after almost thirty years it's still not outdated.

  20. Re:Web-based Visual Studio for MFC by Bill,+Shooter+of+Bul · · Score: 3, Insightful

    Why is that tempting? It seems like the equivalent of paying second graders to do your taxes.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  21. Partial Bullshit by jonaskoelker · · Score: 2, Insightful

    Let's see
    As a user you get:

    • more power - no, the server controls your data and you have to be the kind of person who knows what a web scraper is and how to write one to get it out without spending $BIGNUM hours.
    • reliability - depends on whether you're better at managing your local app than the bottleneck of you managing to always have a connection and them managing the app.
    • centralized support - whether that's good depends on how good support you can get. Your mom is going to prefer good support from you rather than mediocre support from "Robert" who works in Calcutta.
    • automated backup - if you delete a mail from your yahoo mail account, can you get it back? It's only really a guard against hardware failure, which I haven't seen on my computers except a single DVD burner (big deal, I lost only money and no data)
    • universal access - true.

    As a company, you get:

    • more billing options - great, except consumers hate having to optimize depending on their changing usage scenarios.
    • control over your data - unless you consider your customers' data yours, I don't see how.
    • better security - you are running more potentially vulnerable applications than otherwise. How's that better security?
    • licensing - Blizzard seemed to fail (there are (or were) no-pay servers working well with the no-pay trial client), despite slashdot saying companies should go that route.

    I'm not saying I hold the objective truth, just some counterpoints which seem to justify a deeper investigation.

  22. Re:mainframe solutions, mainframe advantages. by TerranFury · · Score: 2, Insightful

    universal access

    If the Internet fsking worked the way it was supposed to, I wouldn't need some other server; my own machine would be a first-class citizen, and so long as I could remember its IP address I could SSH in.

    I used to do just this. I was at a university which had a very nice, rather open network, and I could access my machine from anywhere in the world. Why bother even carrying a laptop around when you can x-forward your machine to any of a thousand terminals scattered around campus? But these days I'm at another university, and their network is locked down in arcane and nondeterministic ways, so that sometimes I can access my machine, sometimes I can't, and god only knows why. The one thing you can reliably do is surf the web.

    ...which is why we're cramming all this bullshit into web browsers to begin with. We've kept the Web working, but broken the Internet.