nWire

Mar 23, 2009

Read My Interview in EclipseZone, Get nWire for FREE!

It's a great week for Eclipse enthusiasts: the EclipseCon 2009 week. I'm not there, but my heart is. To celebrate and mark the event I did an interview in EclipseZone and I will be giving away 3 licenses of nWire for free.

To win your copy, just visit the article at EclipseZone, vote for it and leave a comment (please vote anyway, even if you're not interested in a license, just don't leave a comment).

Have a great EclipseCon week!

Mar 16, 2009

nWire 1.0 is Released

Nwire-logo-180 It is an important day for me today: nWire version 1.0 is finally released. It is the fruit of long and hard work and I'm very happy with the results. We did some extra efforts to release nWire 1.0 before the upcoming EclipseCon and we did it. The final stretch was especially stressful: I wanted to make sure the first non-beta release incorporates as much user feedback as possible. We had several interim releases dealing with usability and performance before the final release.

What's next? You can read about nWire future directions in the nWire blog (I'm thinking of renaming the blog to "The nWire Wire": does it sound too stupid?). I can say that there are several cooperations coming up. These are tough times and it is simply easier to make it through with the assistance of partners. I'm gradually learning that lesson and I promise to reveal all the details and share my experience when appropriate.

So, if you are reading these lines and you are a Java developer, download and test drive nWire today. If you already tried it and want to do another trial with the final version, drop me a line. 

Mar 05, 2009

Shaping the Image of nWire

We are getting closer to the final release of nWire version 1.0. One of the elements which was missing so far was a decent logo. Following suggestions form colleagues, I decided to start a logo design contest at 99designs

The idea behind 99designs is simple: You write a design brief, assign a certain amount of money and the contest begins. Designers from all over the world come and participate. There are cons and pros to this system, but one thing is for sure: you get a lot of ideas.

I invite you to check out the ideas so far. If you're reading this and the contest hasn't ended yet, you are more than welcome to let me know what's your favorite design. Focus on designs with 3 star rating and up (or no rating, probably I haven't got to them, yet).

Jan 13, 2009

Quicksilver for Your Code?

I was so pleased today when I read about the announcement of Google Quick Search Box (or QSK). It is simply the reincarnation of Quicksilver for Mac. It is one of my all-time favorite utilities and I'm happy it is not gone for good. 

Some general background is in order for non-Mac users (or Mac users which didn't see the light). Quicksilver is a general launch utility for Mac. It was designed by Nicholas Jitkoff from Blacktree, which is now a Google employee. I recommend this 25 minute tech-talk about Quicksilver. It's more than a year old, but still innovative and interesting. 

I'll pick two important points from the talk. First, Quicksilver is built on a philosophy: Act Without Doing. Basically, this means you are performing an action as part of your flow, without interruption and with minimal effort. An example would be: I'm working on a document and suddenly remember a task I need to do. If I can use a single keystroke to bring a small box, write my task and dismiss it - that is minimal effort with no interruption to the flow. Unlike a case where I would have to switch to my task management application.

The second issue to understand is how actions are performed in Quicksilver:

  1. Search for the object by typing its' name (can be partial name).
  2. Select the object from the list of results.
  3. Browse to associated objects until you find the object you specifically target.
  4. Perform an action on that object: select from a relevant actions which are appropriate to the specific object. You might need to provide some extra parameters to do that.

For example: I want to send an email. I search for a contact name by typing his name. I find a number of matching contacts and select the appropriate one. From there, I browse all the contacts given addresses and select the one I want to address. I choose the action: send email. For a contact, other actions may be relevant like send to my mobile phone. Finally, I provide the email text and the email is sent. 

My question is: how do we implement this in the IDE?  It seems like a very complex environment that could use simplifying.

The object being searched can be a component (type, interface, method, field, spring bean definition, etc.). Browsing associated objects would mean tracing component associations like class which extends another class or implements an interface. Maybe a method which modifies a field or invokes another method. 

Once you located your target component, what actions would you want to perform? Here are some thoughts:

  • Open the source file. This is trivial.
  • Show associated components. Well, that's what happened  when we were searching for the component. 
  • Depending on the component type: show documentation, set up a breakpoint, check it into the source control, open a defect related to the element, add it to a workspace. You can probably think of other actions.

nWire, the Eclipse plugin I've been working on for some time, takes this about 80% of the way. It lets you search and browse. It currently performs only the single action of opening the source file, which is the most important. However, this is just a first release, so expect this to expand.

I took a bit of a different approach, of using an integral view (see some screenshots) rather than opening a dialog box. Mostly because that this seems more useful to the flow of coding. It takes a bit more space, but it gives you a lot more. Nevertheless, I'm considering a future option to show it in a way which is more Quicksilverish. 

Another common feature is the ability to extend the catalog of components. Quicksilver has a plugin mechanism which allows adding new type of components and associations. For example, adding bookmarks from del.icio.us to the catalog. nWire, is also built for extending and adding components from different programming languages and frameworks. The initial version is Java only, but this is just the beginning.

Dec 05, 2008

Open for Business

It has been a very busy time for me. My product web site went on the air about 4 weeks ago. The initial responses were overwhelming. It was beyond what I'd hope for. I managed to create a nice base of beta users working with nWire. The main thing missing from my site was the option to actually buy nWire.

The passing week was a race against the clock to get my payment options worked out. I decided to go for PayPal and had to integrate with their system. I finally got everything up and running and the payment options went online on Wednesday evening.

On Thursday morning, I got my first paying customer. That is a call for celebration. It's knowing that you are not the only crazy person who believes in your idea. It's seeing your creation comes to life. Money is a very strong feedback that says: yes, there's value here for me.

The busy times left my blog silent, but I intend to pick it up. I have tons of topics to write about: the new  tools I've been using in the past 3 months (Screenflow, TextMate and others), the integration with PayPal, setting up my site and more.

I'm also planning to start using Twitter. You can say I was opposing Twitter for a long time and I'm finally coming around. So, you want to know what I ate for lunch?  Probably not. But you'd be happy to know that I ironed out an annoying bug on my site which caused my database connections to drop. I'll let you know when I'll be there.

About nWire

  • nWire Logo
    Browse & visualize all code association in one extremely powerful view, quick search for methods, fields and more. Boost your coding productivity in Eclipse™.
    Watch a 4 minute demo that will change the way you look at your code.
    Visit nwiresoftware.com

Twitter Updates

    follow me on Twitter
    My Photo

    My Other Accounts

    Delicious Digg Facebook FriendFeed Google Talk LinkedIn Reddit Twitter

    AddThis Social Bookmark Button
    Blog powered by TypePad
    Member since 05/2007