GrantProjectsStatus NetBeansSpotReviewAndFinalSuggestions

NetBeans Innovators Grant - NetBeans Spot/Sun SPOT Plugin - Review and Final Suggestions

Reviewed by Wade Chandler July 28, 2008

This is a review of the NetBeans Innovators Grant - NetBeans Spot/Sun SPOT Plugin project. This is from evaluating the project against the projects grant submission. The goal is to determine how complete the project is, what is or isn't lacking or could be added or supported in the future as would be required to obtain a Silver or Gold grant extension, and to provide feedback to the project developer(s) to help complete the project.

I have thus far tested all things on Windows XP Service Pack 2. I used the latest sources to build the version I tested. The sources are located at: https://netbeans-spot.dev.java.net/svn/netbeans-spot/trunk/NetbeansSPOT

which is a Subversion (SVN) repository.

General Comments on logical pieces from a users perspective

Project Creation and Project Templates

After working through a bug, which Thiago fixed immediately, the projects went very smoothly. I was able to go to 'File|New Project|NetBeans SPOT' and create new projects with no issues. I was also able to build them and deploy them to the emulator, though I was not able to deploy or run them from the emulator directly using facilities provided by the NetBeans SPOT plugin. This is something which will be needed.

Editing Files

Editing Java files was simple. Apparently the plugin directly uses the Java editor directly and doesn't need any special multi-editor.

Running and Debugging

I don't have a SPOT device (physical device). I have only the emulator. So, I was not able to simply click run and have the application run in an emulated device. This would be best. I believe this is a coming feature however.

I was able to launch the SPOT SDK tools directly from the IDE. This made running a project I developed using the NB SPOT plugin easier. I clicked the SPOT manager toolbar button, I then clicked Solarium, and then I could launch the Solarium or SPOTWorld directly from there. I could then create an emulated SPOT device and load my MIDLet applications JAR file into the emulated device and choose any of the MIDLets to run.

Debugging seems to be non-existent. I clicked the debug button and the IDE prompted me to created a debug target in the Ant script. Apparently the plugin uses the NetBeans free-form projects as its based project type. However, not knowing how or which classes in the SPOT SDK could do such a thing I was unable to debug my applications.

Menus and Actions

  • The toolbar buttons have icons now. It would be good if the menu items under Window had icons.
  • There is a menu item called 'Window|Show Info Spot'. I'm not 100% sure what this should exactly be showing and how the spot whose info it should show would be selected.
  • 'Window|List Spots' is good.

Future Based Comments

  1. I think being able to use the emulator for all tasks will be very important. Of course anyone truly using the plugins for Sun SPOT development will have to have a device for final deployment and testing and to really do much of the tasks, but emulating an environment will certainly be a major aspect of initial development and testing.
  2. Additions which can emulate dynamic environments, if the SDK has an API which would allow a new application to be designed, to emulate different environments and situations where a SPOT might be used such as lighting, moisture, movement (attached to different moving pieces or reference points), temperature, etc would be extremely handy. It would be handy too if it allowed a network to be designed which could span different scenarios. This would almost be some kind of an environment modeler where spots could be placed in different and connected environments and situations both indoors and outdoors.

Comments on the sources and project

I was able to get the sources from:

https://netbeans-spot.dev.java.net/svn/netbeans-spot/trunk/NetbeansSPOT

and everything built fine. From a command line I was able to change to the project directory I obtained from the SVN repository and perform:

ant -Duser.properties.file=$HOME/.netbeans/6.5m1/build.properties build

and

ant -Duser.properties.file=$HOME/.netbeans/6.5m1/build.properties run

which built and ran a full blown environment I used for testing with a contained test user directory.

I don't have a SPOT device though, so there were pieces of the project which I could not test such as run and deploy. However, I was able to build my projects, and then deploy them to emulated SPOT devices using some tools which come with the SPOT SDK. Before running the environment I had to go download the SPOT SDK and install it. Once installed, on Windows, I had to copy squawk.suite and squawk.suite.metadata from the SPOT SDK bin directory to the lib directory to allow it to run my NB SPOT applications on the emulated devices. This is apparently a SPOT SDK bug on Windows.

Comments based on grant submission specification

Monitor Sensors

I'm not sure if there is a UI for this or not. I'll need some direction as to how this is supposed to operate and how the UI is accessed. I know there is a UI which lists any found SPOTs, and this may be accessible through this interface, but it currently can't list virtual spots.

Tight Integration with Emulation/Virtual SPOTs

So far there is seemingly no integration with emulation. I will have to get a time line on when this will be available.

SDK Integration

It seems the plugin integrates tightly with the SDK for all tasks which it currently performs.

Java editor for Sun SPOT applications

Works.

Code-completion

Works.

Commons Sun SPOT Tasks: deploy application, search devices

This all seems to be there.

SPOT Information Panel: SPOT IEEE number, modes

I assume this is 'Window|List Spots' where they are enumerated.

Basic Sensor Emulation

I haven't seen this, but I suspect this is part of the virtual spot emulation, so maybe it isn't there yet.

Wired and Wireless Communication

I don't have a real device to test this feature. It seems as the virtual spots are running in an emulated environment on a hosted system where they could technically setup their own emulated network address all spots including virtual ones should be discoverable remotely. However, this doesn't seem to be the case as the virtual spots I have created do not show up in the 'Window|List Spots' list of spots.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo