Twitter github

IDEs are like cockpits?

According to this article, Integrated Development Environments (IDE) are like cockpits…

I kind of agree, except my IDE doesn’t have missiles (yet)…

Now, at last, hardware design teams can use Eclipse as a basis for their own customized IDEs, based on the commercial and open-source plugins that they need in their central cockpit for hardware design.

During dogfights (one-on-one acrobatic fights), a fighter jet pilot needs to keep his attention focused on the enemy aircraft. He cannot afford to keep looking down at his dashboard in order to check his weaponry status. Instead, he uses what is known as a Head-Up Display (HUD). This display consists of a transparent screen through which the pilot looks at his opponent. At the same time, the HUD projects extra information like air speed and altitude on the screen. This way, the pilot can keep his head up and remain looking at the surrounding environment, while still keeping track of critical data.

A HUD is not a substitute for pilot skills, but it enhances the pilot’s capabilities to levels that are unreachable without this technological support.

Software engineers, like hardware designers, continuously work with code, documentation, build scripts, and logs. What can they use as their cockpit?

I kind of like the analogy of having a central console (and missiles). I don’t like the analogy in the sense that a cockpit also implies complexity. I think that IDEs aim to simplify people’s workflows instead of making the more complex. The only thing complex is the initial learning curve required to learn the instruments. What do you think?

Anyways, give the article a read… it talks about the success of Eclipse in the embedded software development space and how Eclipse is now being used in hardware design due to Sigasi (a startup that focuses on Eclipse-based VHDL tools). I actually met the Sigasi folks in person at the last Eclipse Summit Europe and we went for a nice jog around Ludwigsburg. Small world, eh?

I can only wish them success as the Eclipse ecosystem is all about supporting companies like this.

  • http://www.kingcrunch.de/ KingCrunch

    I think an IDE is complex, but a cockpit is too. So we learn to use this tools and we just know, where we have to look at and what we can ignore (now ;)). The bunch of stuff is just separated into parts, like in that cockpit: The information the pilot looks for is always at the same point in his field of view.
    Its not, thats a IDE reduce the complexity, it just arrange it.

  • http://www.stg.tu-darmstadt.de/research/core/ Marcel

    I had a discussion about the complexity of Eclipse with a student yesterday. In his opinion Eclipse is complex and hard to learn. What he would like to see is something like a “tips & tricks” help system that informs a user about IDE features he might want to use but isn't aware of. For instance informing a user if there is a key shortcut for whatever he did manullay, a little tooltip that shows yet never used IDE features like the litte triangle on the left of the editor that brings you to the super implementation/declaration of a method etc. All these little things that help students to get to know their IDE. For the same reason I introducde 5-10 minutes “Eclipse Corners” in my programming course where I presented useful IDE features.

    It's hard to imagine when working with Eclipse for years, but it is complex to learn for novices. And help systems that show up if “something could have been done better with an IDE feature” may help.

  • Jim

    IDEs are like cockpits but also like cockpits with augmented reality so prone to this kind of thing:

    http://theinvisiblegorilla.com/blog/2010/03/18/

  • http://aniszczyk.org Chris Aniszczyk

    Marcel, you can file a bug for having a “tip of the day” type functionality in Eclipse.

    I don't recall a request for that…

  • http://aniszczyk.org Chris Aniszczyk

    Fascinating stuff Jim… I didn't know about inattentional blindness…

  • http://www.stg.tu-darmstadt.de/research/core/ Marcel
  • http://www.sigasi.com/ Hendrik

    Marcel, you should have a look at the Mousefeed plugin: http://www.mousefeed.com/
    “MouseFeed helps to form a habit of using keyboard shortcuts. When the user clicks on a button or on a menu item, the plugin shows a popup reminding about the key shortcut.”

  • http://www.stg.tu-darmstadt.de/research/core/ Marcel

    That looks cute. Thanks for pointing me to this plug-in. It seems that it's not actively maintained anymore (Eclipse 3.3). However, a context senstive help exactly in this direction could help and seems worth checking out. I will offer a little hands-on on that topic. Are there any other suggestions related to such a help system?

  • http://www.sigasi.com/ Hendrik

    Marcel, you should have a look at the Mousefeed plugin: http://www.mousefeed.com/
    “MouseFeed helps to form a habit of using keyboard shortcuts. When the user clicks on a button or on a menu item, the plugin shows a popup reminding about the key shortcut.”

  • http://www.stg.tu-darmstadt.de/research/core/ Marcel

    That looks cute. Thanks for pointing me to this plug-in. It seems that it's not actively maintained anymore (Eclipse 3.3). However, a context senstive help exactly in this direction could help and seems worth checking out. I will offer a little hands-on on that topic. Are there any other suggestions related to such a help system?