JAutodoc: Auto JavaDoc Comments in Eclipse
Be the 1st to comment!

While comments are certainly an important part of code documentation, and become much appreciated later on during maintenance and support phases of an application, they can be quite tedious to write, particularly in cases where you are documenting the obvious. In some situations you may be able to get away without writing comments for these types of methods, but in some situations your IDE or Javadoc report may still flag those methods as missing Javadoc comments and so it’s best to put them in anyway.

JAutodoc is a super Eclipse plugin for assisting you with writing comments. It comes with customizable method prefix mappings to comment phrases. For example, if your method begins with ‘add’ the phrase ‘Adds the’ will be placed in the comment. Thus, if the method name was ‘addEmployee’ the comment text would be ‘Adds the employee’. If the method were ‘isActive’, the method text becomes ‘Checks if is active’. All of the mappings are customizable from the plugin properties.

It can be set to use the Eclipse comment formatter, to replace the existing Javadoc or to complete it, as well as optionally add a todo annonation to it for future review. It fills out all the parameters passed and return parameters as well.

You can highlight an individual method and right click and choose JAutodoc from the menu, or select the entire source of the class and complete all the javadocs. It saves a lot of time getting the skeleton of your javadoc comments in place, allowing you to focus your commenting time and energy on writing meaningful descriptions where necessary.

To read more about the plugin and download it, see the JAutodoc web site.

Tripbase: Find Travel Locations using Ajax UI
Be the 1st to comment!

Tripbase is a travel site with an interesting Ajax interface. The site is designed to help the user find travel destinations according to their preferences and interests. For the Ajax interface, sliders are first provided allowing the user to set the type of destination they are looking for, by weighing their preferences on Nightlife, Dining, Shopping, Nature, and Attractions. After that initial selection is done, a list of top suggestions is presented on the page, and further preference customizations are given, including the dates and duration you want to travel, where you are departing from, your preferred weather, your budget, the type of trip you are looking for, the continents you are interested in, and if you want to travel in a high or low tourist season.

As you adjust the preferences on the left, the suggestions update live on the right side of the screen. In this section, it shows one photo of the suggested destination, and shows the cost per day and the population, with a link for more information.

When you click for more information on any of the suggestions, a window appears over the results with the detail information. The detail window shows the temperature, tourist season and rainfall for the period of travel indicated; has photos, and links to articles; a list of things to do, dining, nightlife, lodging, shopping, nature, and then has links to search for flights or hotels (using a different web site).

The interface is easy to use and was very responsive on my laptop using Firefox 2.

Delivering Focused Features
Be the 1st to comment!

I mentioned in my previous post, “The Real World”:

I prefer a short development life-cycle, keeping the requirements for each cycle short and to the point. The smaller the feature set, the shorter every sub-cycle is (design, testing, etc).

37signals recently discussed a great example of this concept with their “Public Contact Cards”. They saw a need, and delivered a solution to it within 48 hours. In order to do it, they kept a very tight focus on the goal of that feature. They solved the problem in the simplest and most direct way possible. They mention several features they could have added and didn’t. Some of them certainly sound like great additions as well, and you may one day see them. But, by keeping the focus on the problem at hand, they can act much quicker to market and consumer needs, keeping their customer base happy, and reducing the risk of implementing new enhancements. They also get a chance to see how their consumers react to the direction of the solution before they have gone to far down the road.

Read more about the Public Contact Cards they added to their new Highrise application.

"The Real World"
Be the 1st to comment!

In a post on their blog, 37signals asked for readers to comment in ten words or less, what the phrase “real world” means. They mention how frequently this phrase is used in IT; in fact overused. The question is, if it’s used that much, does everyone mean the same thing when they use it? Do they even know what they mean by it?

I think that certainly many people who use it have a definition of it deep inside their minds. They may not have vocalized it, and really thought it through, but they are aware of a principle which they refer to when they use the phrase. However, I think there is more than one definition or principle behind it. I think it all comes down to your perspectives and goals.

Some will look at the development principles of Ruby on Rails and think that in “the real world”, Rails can’t cut it. Others believe that Rails is a real world solution, whereas Java is a solution for bloated IT departments. Is either belief correct?

Once again, it depends on the goal. I have been focusing on learning Internet Marketing for the past three years. It’s been great to learn some skills that relate to the Internet world, but from a different perspective than web development. Once you get into the Internet Marketing mindset, much of your thinking begins to change. For one, every minute spent designing, developing, testing, and all the project management, team meetings and team management that goes into a typical IT department, is now seen as costly. When an Internet Marketing entrepreneur sees an opportunity in a target niche, they want their online product delivered immediately, because every day not online is lost money and possibly a lost opportunity. These entrepreneurs talk in terms of days to get some software written and online, as opposed to the months that larger enterprises consider for their project timelines.

It would be amusing to them, not to mention completely unacceptable, to be told that something was going to go through a kickoff meeting, team assignments, UML design documents, development, unit testing, weeks of QA and integration testing before going live. Ten developers, a project manager, three QA testers, a DBA, a system administrator, department managers, tech writers, graphic designers, etc. To these entrepreneurs, this much bloat is not “real world”. It may be considered necessary for a large corporation to be as “safe” as possible, but it’s not agile enough to respond to online opportunities. I’ve seen opportunities to make $250,000 that literally lasted only a month.

On the other hand, if you went to the Java enterprise development team and said, we need to have a web site that manages the following eight sets of data, with user registration (including email verification, lost passwords, etc), functionality for regular email notifications to subscribers, and a nicely designed front end, and we need it in five days, they would respond, “that isn’t the real world!” They probably couldn’t even find time to schedule the kick off meeting that quickly.

In my 12 years of web development experience, I have heard more times than I can count, the marketing department give a timeline from their expectations which the IT department countered was unrealistic and impossible. The marketing department is frustrated with the time it takes to get to market, and the IT department is frustrated with the tight deadlines and long hours it takes to meet expectations. This is the real world. A constant battle between business leaders and developers to get to market fast.

Only you can decide for yourself which real world you want to belong to. Myself, I used to belong to the IT department real world of all the steps needed to get to market, but as I studied Internet Marketing I began to see every minute of my time as cost and delay toward making money. Now I look for short cuts, not in quality, but in process and development time. Streamlining; cutting the bloat that has crept in over the years, particularly, from my point of view, in the Java Enterprise. I prefer a short development life-cycle, keeping the requirements for each cycle short and to the point. The smaller the feature set, the shorter every sub-cycle is (design, testing, etc). I prefer online task management eliminating the project status meeting, where 15 people take turns telling the PM the same information they could have entered into some software in five minutes. I prefer streamlined communications and small teams. Get the product out there, and immediately start working on an update. This provides for more flexibility within the market, and allows businesses to respond to perceived online opportunities quickly. It will also reduce developer stress and burnout. But, it also requires less development technology bloat, that I believe is now a large part of Java web development. Java doesn’t have to be bloated, and neither does the development life-cycle. But it has become that way, and it will take some outside the box thinking, and a different perspective to make the process more efficient, less stressful, more financially lucrative, and ultimately, a whole lot more fun.

Firefox Plugin to assist in switching between development and production domains
Be the 1st to comment!

If you frequently want to switch between your local development instance of your web application, and the production version, or perhaps another version like an integration or QA installation, the Server Switcher Firefox plugin may be useful to you. With this plugin, you simply assign both URLs to each other in the Options tabe for the plugin and an icon will appear in the URL field of your browser. Clicking it will toggle you between the two URLs.

For example, if I was running an application on my local machine at http://localhost:8080, and the live version was at www.brianburridgecom, I would enter each in the plugin’s options under Development Server and Live Server respectively. When I got to either web site, I get an icon. A construction hat when working locally, and a server when on the “live” server.

The plugin supports ports, subdirectories, local files (specified with file://). Ctrl-Shift-X can be used to toggle with the keyboard.

I have found this plugin very useful during web site development. I don’t always have the “live” server set for a true production install, but instead to switch between my local development instance, and an integrated development server to perform some QA on both and compare the differences between them.

The plugin can be found here.

Page 19 of 28« First...10...1718192021...Last »