Sciology = Science + Technology

Commonsense in Technology

Archive for the ‘Plug-ins’ Category

Applications have mysterious processes !!!

Posted by sureshkrishna on December 13, 2008

Even after these many years of software development, there are some applications that still bother user with a lot of processes and memory consumption. I am not surprised if such applications are from the novice software vendors, but the matured technology companies like Google and Real Networks do develop some applications that annoy me.



As soon as i boot my windows machine, these process would start and sometimes i wonder how does my machine hit on the performance. Now, i go and kill both of the Google Updater, Real Networks processes in the process explorer.


Recently Google has the Video plugin and it still sucks (:-(). There are so many times that i kill this process and i get the same process spawned multiple times. I cant kill this process for some reason and it always spawns a new process, each time i kill (Google might think it is a smart thing to do) . I was under the impression that Google does some magic by not using any dlls or exes but i was wrong. They do use the gooletalkplugin.exe directly attached to the browser.


I am sure that a simple home user would not mind (to some extent) having all these *^$*^$ processes around, but as a programmer i do not feel this is a good practice and as a consumer, i feel cheated. e.g. Google could have just asked users to install the Google Talk and use it for the Video chat, instead of giving an impression that it runs right from the browser.

This is a good example for me how NOT to build products and how NOT to ignore what goes inside the processes and memory. I am sure many of the readers would have seen similar situations and sometimes even would have felt frustrated. Do you think such sort of things from software vendors is fair ? What are your experiences ?

Posted in Plug-ins, Process | Tagged: , , , | 3 Comments »

Save time with Pulse 2.1

Posted by sureshkrishna on May 14, 2008

Pulse has been of a great help for me personally to manage versions, plugins and to share profiles. It is a great sign of relief to many developers and also corporates as it eased the plugin configuration. I quickly checked with the new pulse release and its very interesting and matured a lot. Following are some interesting features that i noticed with Pulse 2.1

  • Seamless support (Select -> Add -> Done) for building a customized eclipse config
  • Features selection automatically prompts for the related software. This is especially useful when we want to customize the features getting added to the Eclipse Configuration.
  • Improved set of plugins support (Add-On Software -> Browse Categories)
  • Improved UI interactions and Response Time
  • And finally Pulse Freelance seems to be a nice value added feature for corporates. According to the features description, i understand that the organizations would be able to add their custom / specific plugins to the catalog, share the configuration with development groups or individuals and have a private update site.

Addition Plugin Categories

Related Plugins

Posted in Eclipse, Plug-ins, Plugin | Tagged: , | 1 Comment »

Are we not supporting WTP-all-in-one downloads ?

Posted by sureshkrishna on February 6, 2008

WTP project comes with lot of added frameworks and tools for any EE and Web developer. When i tried to download the latest maintenance build, there is no option of the all-in-one package instead there are bunch of other plugins required along with WTP [Eclipse Platform (Platform, JDT), Eclipse Modeling Framework (EMF, XSD InfoSet, SDO), Graphical Editing Framework (GEF), Data Tools Platform (DTP) (required only for EJB or JPT development), Eclipse Test Framework (required only for Automated JUnit tests), Eclipse releng tool (required only for committers to more easily “release” code to a build), Third Parthy code from Orbit (currently much more than needed for WTP, but some committers like having the whole heap in their target)].

And now the problem for an end user(probably an IT developer/developer) is that, he has to download and struggle with the versions and other incompatibilities. I especially loved the idea of distributing all-in-one so that any user can simply download and use it right away. If at all eclipse WTP project is thinking to discontinue, i would sincerely request not to do so. It really saves a lot of time and frustration for the developers. I guess some users do have options like myeclipse and pluse, but i would love to see these bundling concept from eclipse itself.

Posted in Eclipse, Plug-ins, Plugin | Tagged: , | 2 Comments »

Getting ready for my short-talk at EclipseCon 2008

Posted by sureshkrishna on January 24, 2008

Happy New Year 2008 to everyone. This is my first blog in 2008. Last year ended with some sadness as i lost my backpack containing laptop, camera and some other important belongings in New York airport. I could not trace it till date and i my hopes have been diminishing. It took a little while for me to get a new laptop, prepare it for the daily routine.

Past 1.5 year i have been concentrating on tweaking, customizing and writing plugins for the Web 2.0 frameworks. I was quite successful in providing a good IDE to the IT developers with a good set of code generation features. Thanks to WTP, EMF, Eclipse DnD and in the end Eclipse Platform. In the meantime, i have also encountered with the basic question of “Can Eclipse UI be similar to other widget frameworks out there in Web 2.0 space ?“. I was haunted with this question all the time and probably in Oct 2007, i was ready for an answer. While its not possible to expect a very similar UI in eclipse as in GWT, Dojo, Rico, Zimbra, Flash, etc… , it’s definitely possible to get some-what-close look as in Web 2.0 kind of applications.

I am sharing all my experiences to make an eclipse application to give a look of Web 2.0 application. I thank SWT, JFace  and Nebula to provide such versatile framework. I hope this short-talk would help many of us to have some dangling ideas about how to achieve a “Web 2.0 style widgets and look”.

I am very excited to see you all at eclipse and share my experiences. I would love to see and chat with my previous colleagues Stephan Eberle, Frank Gerhardt, Elias Volanakis and many others.

Posted in AJAX, Eclipse, Plug-ins, Plugin | Tagged: , , , , , | 2 Comments »

Eclipse as a Platform

Posted by sureshkrishna on December 16, 2007

Eclipse, the ubiquitous platform, has survived another challenge by releasing Europa and the incredible download numbers speak for it’s success. Initially it was perceived as a Java IDE , then a tools development environment, then a Rich Client Platform (RCP), then Tool Integration Platform, and now it’s an eco-system of platform, application frameworks, tools, runtimes, and especially a universal tool platform – an open, extensible IDE for anything, but nothing in particular. The intent of the article is to highlight the different areas of the industry and how Eclipse is used by different category of users.

The Eclipse open source community has over 60 open source projects. These projects can be conceptually organized into seven different “pillars” or categories:

  1. Enterprise Development
  2. Embedded and Device Development
  3. Rich Client Platform
  4. Rich Internet Applications
  5. Application Frameworks
  6. Application Lifecycle Management (ALM)
  7. Service Oriented Architecture (SOA)

The list gives a fair understanding of the different areas where eclipse is getting popular and also the business verticals that can be transformed. It is very interesting to see what Eclipse means to different people. The following scenarios give a better understanding of what can be done with Eclipse.

Eclipse – Java IDE

As envisioned in early 2000 (even now after the Europa release), it’s a Java IDE with which Java developers can create, modify, debug, and build Java projects. Eclipse provides different features like code refactoring, syntax highlighting, syntax/code checks, code completion, quick fix, compile/build, team integration with CVS, debug, jarring, and so on. In this use-case scenario, Eclipse is being primarily used as Java IDE. Eclipse + JDT = Java IDE. The Eclipse Platform contains basic UI elements (SWT, JFace), a runtime, a help system, debug support, search support, and some other IDE elements. The Java IDE can be downloaded from Eclipse Site.

Eclipse as IDE

Eclipse – Plugin/Tool Development IDE

Along the similar lines of the Java IDE, the C/C++ development tools, the PHP development tools, the Cobol development tools, and so on, have brought fabulous features in the Eclipse ecosystem. These development tools not only improved the productivity of the developers but also Myth-Busters for many managers, developers. This gave the real value for Eclipse as an open, extensible IDE for anything, but nothing in particular. Vendors were successfully able to adopt the Eclipse Platform and build tools and Language Editors around it. The ground rule of “Everything is a contribution” perfectly fits in this scenario.
PDE (Plugin Development Environment) and JDT (Java Development Tools) are the ones that support and enable this use-case. A plugin can be developed, debugged, deployed with the help of these two tools. The PHP Editor Plugin is developed with the help of the PDE and JDT. When a developer is using Eclipse to develop the PHP, it looks as though Eclipse is a PHP IDE. In this scenario, the developer might not necessarily know that PDE and JDT exist in the Eclipse that is being used. Thus depending on the user and what he is trying to achieve, the perception changes.

Eclipse + Ruby on Rails = RadRails
Eclipse + Ruby on Rails = 3rdRails
Eclipse + JDT = Java IDE
Eclipse + PHP = PHP IDE
Eclipse + CDT = C/C++ IDE

Eclipse as Plugin Development Environment

Eclipse – RCP

Application development requires a platform to rely upon, i.e., a basis upon which an organization’s software product lines can be built. The Rich Client Platform (RCP) of Eclipse uses the windowing and UI features of the underlying OS platform. It enables the application to use the native look-and-feel, native widgets, and all the available UI features. In the end, users and IT departments want to have a uniform architecture and common look-and-feel over all the applications. Eclipse RCP is considered as the minimal set of plugins that are required to build rich applications. In short, if the SDK capabilities and Platform capabilities are removed, the resulting set of plugins would be RCP.
An interesting set of applications can be built with the help of Eclipse RCP.

A few examples from Open Source RCP applications included, but not limited to…

· JPMorgan’s Banking application

· Maestro – NASA Space Mission Management

· GumTree – Australian Nuclear Science and Technology Organization – GumTree is an open source multi-platform scientific workbench for performing scientific experiments using a server-client environment. It provides an easy-to-use graphical user interface for instrument data acquisition, online or offline data visualization and analysis.

· RSSOwlApplications that collect data from RSS-compliant sites are called RSS readers or “aggregators.” RSSOwl is such an application.

· Talend Open Studio 1.0Talend Open Studio is the first ETL open source software provider for data integration tools (ETL: Extract, Transform, Load)

The following are examples for Commercial plugins

· Actuate BIRT Report DesignerThe Actuate BIRT Report Designer is a powerful tool for designing and deploying reports against data sources ranging from typical business SQL databases, to XML data sources, to in-memory Java objects.

· BSI CRM on EclipseThis Customer Relationship Management (CRM) solution is a fully configured RCP application to support the whole customer contact process from first contact to the successful project implementation as wells as retention management.

· IBM Workplace Client Technology – IBM Workplace Client Technology is a strategic new IBM framework to enable the creation of server-managed rich client applications.

· MyEclipse – SNAPs – Lightweight, Individual, Task-Based Developement Tools FREE as Part of the MyEclipse Distribution. MyEclipse SNAPs (Simple Non-integrated Applications) are special-purpose, Windows-integrated appliations that are targeted for quick, non-IDE based development tasks.

If required, one can use plugins other than core RCP plugins, e.g., one might want to use the help plugins, search plugins, and so on.

Eclipse RCP Application

Eclipse – Tools Framework

Plugins make Eclipse what ever one wants it to be. For the tool integrators, this is a universal platform to which everyone can contribute extensions. Tool development on Eclipse leverages the existing platform infrastructure to contribute new functionaility and to extend existing functionality.

Many of such tools are very popular and include

· Web Tools Project (WTP)

· Eclipse Modeling Framework (EMF)

· Graphical Editing Framework (GEF)

· Business Intelligence and Reporting Tools (BIRT)

· Test and Performance Tooling Project (TPTP)

· Aptana Web2.0 IDE

· MyEclipse

Eclipse as Tooling Framework

Eclipse – Application Framework

For enterprises it makes sense to have a single application framework so that all the tools and frameworks can be built on a common basis. Individuals and enterprises can leverage frameworks and tools provided by the Eclipse eco-system and also benefit from the different release time lines of Eclipse. One of the example is to be able to support the entire development life cycle of a complex engineering activity flow of an organization using to Eclipse. Various development stages such as system requirements, software requirements, component design, function design, coding, unit testing, integration testing, system testing, delivery, and finally the issue tracking can be integrated into Eclipse. On the technical level this transforms to writing new tools/plugins if necessary, using plugins from 3rd party vendors, using the tools and frameworks from the Eclipse community and finally completing the maze by integration.

Genuitec is one of the companies that extensively use the Eclipse platform and other frameworks of Eclipse to have a set of seamlessly integrated tools.

Robert Bosch is a leader in automotive supplier in Europe and North America. Bosch has adapted Eclipse and developed applications based on the Eclipse, EMF and GEF.

Eclipse Application Framework

Eclipse is an IDE and application framework for anything and nothing in particular. It depends on the user’s/developer’s perception and what is targeted to achieve with the help of Eclipse. With the contribution rules of Eclipse and platform architecture, its easy to contribute one’s own functionality and/or extend Eclipse.


1) Eclipse Platform Overview
2) Eclipse House Rules
3) Eclipse RCP Applications

Posted in Eclipse, Plug-ins, Plugin | Tagged: , | 5 Comments »

Any recommended strategy for eclipse plugin build ?

Posted by sureshkrishna on December 11, 2007

I am on a cross-road and i have too many choices to make. My requirement is pretty simple that i need to able to build the plugins and my RCP application via automated build. Our server side product runs on the cruise control and src code is in SVN; so, i would like to use the same infrastructure for eclipse plugin build too. Unfortunately i do not see or i am not aware of any of recommended strategies for the plugin build and also some tips on automated nightly builds. I am aware of the following strategies.

  • A simple ant script
  • Maven Project
  • PDE Build

Which of the above  strategies would anyone recommend and why ? For me i also have the requirement that my plugins should be compiled against a specific eclipse versions and we want to have this as an Eclipse IDE application.

Can anyone point me to the right resources ? And also its interesting to know the build system used by Eclipse and other  product leaders like Instantiations, Genuitec and Innopract.

Posted in Eclipse, Plug-ins, Plugin, RCP | Tagged: , , | 7 Comments »

Did you check your Pulse ?

Posted by sureshkrishna on November 28, 2007

If you are using Eclipse, then you must check out Pulse. Irrespective of if one is a Developer, Technical Lead or an IT manager, Pulse has some thing to offer. Pulse is free software created by Genuitec LLC, which focuses to decrease some of the pain points and ease the eclipse profile maintenance.

I have been playing with Pulse in past few weeks and it certainly does what it claims to be. Following is a typical scenario that i have been using eclipse from past 5 years. Its very interesting to analyse them and see how Pulse helps me in improving the same tasks that i very often.

Scenario #1 : For users who are familiar with the Eclipse Platform, they simply need to download the installation and run it. As we need and install more plugins, it often becomes little difficult to maintain the dependencies. Eclipse instance that i typically run follows a sequence of steps…

  • Find the plugin “MyPlugin”
  • Find the Dependencies of the plugin “MyPlugin”
  • Depending on the download size, find a nearest mirror site
  • Download the dependencies and the actual plugin “MyPlugin”

With Pulse : Pulse enables me to overcome all the above mentioned steps. Of course i need to still know which plugin i want to install :). Once i find a plugin, looking for Dependencies, Looking for faster download mirror site and downloading tasks are done by Pulse for me. I wanted to use WTP XML editor, and i got this option from Pulse default profiles. Its very cool that all the dependant plugins are automatically added by Pulse and downloaded concurrently. Yes you read it right. See the following screen-shot which shows you the PHP editor download.

PHP Downloads

Scenario #2 : So far so good, I have installed my favorite plugin and successfully ran my eclipse instance. Its very customary for many of us to have many instances of Eclipse installations. They could either be for work or for playing a new cool set of features from a latest release of eclipse. At any point of time i normally have minimum of 4 instances namely WTP All in One (my sandbox), Project Specific Eclipse, CDT Eclipse and TopCased Eclipse. Of course i do want to maintain different instances and don’t want to install one on the top of other. In this scenario, i am increasing my disk space by having multiple installations.

With Pulse : Pulse manages all your profiles that you have created. Pulse knows all the plugins that have been downloaded and manages a single copy of the plugins, and supplies to different profiles. So, you would save your disk space by default. This would be a significant save for many of us and especially IT Department. They do care about the hard-drives provided to developers ;). e.g. if CVS plugin is already downloaded, it will be shared across multiple profiles that you have.

Scenario #3 : And now, once i have successfully downloaded and installed plugins, i am interested to see the SAME configuration on my team’s machines. Hummm… Till now i used to send the download sites of all the plugins to my team and they download again. Or, i copy the entire eclipse installation on to Memory Card :). 

With Pulse : Pulse lets you to create your own profile and share it to other users. Of course you need to register on Pulse to be able to share profiles, but that’s nothing compared to what you gain. That means, a profile shared by my colleague is seen by me and i can start using this profile right away by running this. In-fact the same profile can be seen worldwide and can be accessed by any one who knows about this profile. 

Pulse Sharing

Scenario #4 : I worked for Bosch, an automotive supplier and the IT department had no way to distribute a single instance of Eclipse that has a good set of plugins. If IT developers find few good plugins and want to have them with all colleagues, there is no single way to do this. This usually ends up in having different Eclipse and plugins combination.

With Pulse : As Profiles can be shared, any user can send this profile and the same can be accessed by all colleagues. IT Department can distribute these profiles so that developers can run the profiles they are interested in.

My Pulse Profile

Overall its a great tool. One interesting thing i like is, any registered user can submit a plugin of his choice to be included in Pulse’s profile. I guess currently this is in the beta stage and i am hoping to see lot more features in future. More information can be obtained at following pulse links…

Download Pluse :       

Pulse Features / Why use Pulse : 

Support and Forums :

Posted in Eclipse, Plug-ins, Plugin | Tagged: , | 15 Comments »

MyEclipse is Cool !!!

Posted by sureshkrishna on October 23, 2007

MyEclipse 6.0 GA has been released in August 2007 with a some cool features aiming at developers productivity. I just downloaded their 30 day trial version and played around little bit for two days. I was developing a AJAX and SOAEclipse IDE for my client; i was particularly interested to look into the ajax and database capabilities from MyEclipse.

Noticeable features from the 6.0 GA release includes (see myeclipse for complete list of features)…

  • Europa eclipse distribution compatibility
  • Integrated Libraries (for Java EE 5, JPA, Struts 1.1-1.3, Hibernate 2-3.2, Spring 1.2-2.0, etc…)
  • Integrated Tomcat 6.0 Server
  • Integrated Derby Server (10.2.2)
  • Java Persistence Tools
  • Visual JSF designer and Flow editor
  • AJAX Tools
  • Matisse4MyEclipse Swing Visual Designer

Ajax debugging capabilities are awesome from MyEclipse. They tried to provide most of the capabilities from the Firefox’s FireBug.

  • It has the JavaScript Inspector to look-into the scripts loaded by the webpage.
  • JavaScript Console to look into any kind of errors happening on the particular browser. One of the important issue that i was looking is to change the underlying browser that the page renders so that i can see the errors/warnings/info depending on the browser(IE/FF/SF). Some how i could not find this capability (perhaps i am missing something).
  • Ajax Request Monitor is another great tool to see how many ajax requests are happening on the page. It also shows the Request/Response along with Headers and Body. This is very helpful for debugging any kind of ajax requests to indicate time, status and request and response.
  • DOM Source view is very useful to see the code for a selected DOM node. The DOM Inspector view enables the developer to select any node on the dom and it highlights the specific area in the WebPage. This is great feature for the developer as he can see and inspect the inner elements from DOM.


I found the Java Persistence Perspective is very useful with DbBrowser, Table/Object Info, SQL Editor, Results, and Table Edit capabilities.

  • How cool is it for a developer to be able to connect to different databases (via DB Browser), select the tables and view the table Info (via Table/Object Info) and the edit the tables if needed (via Edit Table).
  • SQL Editor allows to select the different data base connections and then execute the query on a specific table or view. The query results are displayed in the SQL Results view. A developer oriented feature is to be able to copy the results on to the clipboard.
  • I really liked the ease with which we can add a capability; some of the capabilities include Add Web Service Capabilities, Add Tapestry Capabilities, Add Struts Capabilities, Add Spring Capabilities, Add JPA Capabilities, Add JSTL Capabilities. All these capabilities can be added by a single click. Configuration files and property files are automatically generated for the developer.
  • Java Persistence perspective enables to be able to select a table and create code supporting the persistence capabilities. Persistence mechanisms like JPA, Hibernate and EJB3 are supported via this feature (they call it reverse engineering… from table to code).


Last but not the least, Installing the MyEclipse examples dynamically is a great feature. User can decide what he wants and then he can get a full running application. I really like the bundling of the Tomcat and Derby so that all the minimal set of pre-requisites are satisfied.

Overall, working on MyEclipse was a great experience for me. All the mentioned features definitely improve developers productivity to a greater extent.

Posted in Eclipse, Hibernate, Java, Plug-ins, Plugin, Uncategorized | Tagged: , , , , | 4 Comments »

Plugin dependency visualization plugin

Posted by sureshkrishna on October 16, 2007

Thanks to Bull for contributing this great plugin. He has created and hosted the plugin dependency visualization plugin on eclipse. The dependency visualization aims to provide a set of views to assist with plug-in dependency analysis tasks. In particular, the views will provide cognitive support to people as they attempt to understand the dependencies between their plug-ins.

It supports set of views with analytics and cognitive tools. This plugin gives a cool visualization of the dependencies between various developers plugins.

Earlier the only way to understand the dependencies is to keep different plugins on the whiteboard and run the plugin dependency tool in the pde. But with this plugin, it becomes much easier for the project leads and team members to manage the plugins.

Posted in Eclipse, Eclipse Performance, GEF, Plug-ins, Plugin, Uncategorized | Tagged: , , , | 2 Comments »

Go online with RAP 1.0

Posted by sureshkrishna on October 16, 2007

Rich Ajax Platform(RAP) is a project from Eclipse aims to enable developers to build rich ajax and RIA by using eclipse development model, plugins and java-only apis. Innopract a Germany based company and an eclipse foundation member is the major contributor for this project.

The core of the RAP is a subset of SWT APIs and and some JFace. So over all the widgets available in the SWT and JFace are available to build the RIA. RAP is very similar to RCP, in the way that RCP runs on the desktop and RAP runs on the server. The RAP libraries intelligently renders the UI at the browser with the help of the JavaScript qooxdoo library. RAP lets many of the desktop based RCP applications to be run on the server with little or no changes in the code. Would it not be so cool to have a single code base and be able to have RCP and RIA? It’s very interesting to see the maturity of this project from incubator to 1.0 and all the new and note worthy features.

In the end it definitely competes with the GWT, AIR, Backbase, JackBe, Open Laszlo, etc… in the area of the AJAX Framework and Tools for building the applications. As APIs are based on Java, in this aspect it’s very close to GWT.

All the best to RAP !!!

Posted in AJAX, Browser, Eclipse, Plug-ins, Plugin, RAP, Uncategorized | 2 Comments »