November 2nd, 2010 | No Comments »
Vim is a powerful text editor based on the venerable vi, originated with UNIX. Vim is nowadays a multi platform product. I use it on Mac OS X, Linux and Windows. In all these platforms it has a native look-and-feel, and offers all features that we came to expect from it.
One of the things that developers need is an easy to way to access files. Traditional editors have a simple open dialog. More advanced IDEs, however, have a project area where a list of files is displayed.
In Vim there is no out-of-the box way of doing this, but you can simulate these features using freely available plug-ins.
The plug-in that I found to be the most useful when working with multiple files is called NERD Tree. This plug-in is freely downloadable from the Vim web site.
The main advantage of nerd tree is that it displays as a sidebar on the main Vim interface. That is, one can just start NERD tree with a command and have it display the full list of files that you are working on for a project, for example.
Lets say you are writing an application that has a main src directory, as it is so common. You can use NERD tree as a list of files from that directory. The list stays on the left side of your screen in a vertical table. That way, you can have access to all these files with a double click, or you can use the enter key when the cursor is over the file name.
The other advantage of NERD tree is that is has easy ways to explore the file system. For example you can restrict the list of files displayed to hide directories as well as files with a leading dot.
Using NERD tree has been one of the ways Vim can saved me lots of time. It is similar to have the features of an advanced IDE in a simple text file that I can search and jump to using only the keyboard.
And, as all things related to Vim, it is easy to extend and use. Which looks looks to me as a win-win situation.
Published on November 2nd, 2010
November 1st, 2010 | No Comments »
One of the biggest hurdles for developers is how to start creating products for a segment of the market, since they don’t know what kind of needs could be satisfied using software. This is really a difficult problem, but there are several ways to solve it.
In the old days, one had to do a lot of market research in order to determine what could be profitably developed. Nowadays, however, one has a much better tool on the web.
Using the web, one can receive feedback from users in a fast and cheap way. A web page for your product is probably the simplest way to promote and get feedback for your company.
Also, consider that selling software is easier than ever. There are payment processing companies that make it possible to charge for digital products without any hassle.
And if your product can be delivered to a wireless device, you can get big companies such as Apple and Google to do the heavy lifting of distribution worldwide.
In a sense, it is a better time than ever to be a software developer. One can have the possibility of using multiple distribution channels, such as the web and mobile stores to your advantage.
Social web sites such as Facebook and twitter can be used to get the word out, as well as receive feedback from users on what they like or dislike about a product.
Using these distribution channels, you can create a product with global reach, and learn what users want without spending millions, or even thousands of dollars. It is a great way to understand customers and your specific area of the market.
Published on November 1st, 2010
October 15th, 2010 | No Comments »
One of the main problems small companies face is trying to figure out what their users need. In the desire to create a new business or improve it, they create products that could possibly be of interest to their market.
Despite their interest, many such companies fail because they spend too much time and energy in the process of building a product.
Instead, I believe that most of the time should be spend learning about the market, and listening to what users need and want to spend money on.
On the bright side, there are lots of ways to learn about users needs. For example, a simple way to learn what the market wants is to create a simple, focused product and market it to the people you think are interested. This can be a simple way to see if there is interest in your idea.
Devising the Perfect Product
Sadly, a lot of time is spent trying to find perfect ideas for software products. While there is merit in bringing something innovative to the market, most products that work commercially are based on simple ideas that are already being used somewhere else. In fact, even Google started with an existing idea, searching for keywords on the web, with a twist that made it faster and easier to use.
The way you can create a good software company is gathering ideas that already work, then releasing a product that satisfy these needs in a different way. For example, you can create a product that is easier to use, or that target a different segment of the market than the existing offers.
By doing this, you can try to evaluate if the product will be received successfully and improve it as necessary.
On the other hand, if a product is not successful, you can always try to change course if you didn’t invest too much time and energy on it. Success then becomes a matter of using the market as a earning tool, instead of going against it.
Published on October 15th, 2010