How to Avoid Economic Ruin: A Survival Guide by Dana Brown - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Chapter 2: Software Made Simple

Choosing a Development Tool

Now that you have a great idea for your first application, how do you create it? Well, you need to start by getting a development tool, an application that will let you create your own application. With so many tools on the market today, selecting the right development tool can be a cumbersome task even for a seasoned developer. Here are a few tips.

1. You are definitely going to want something that is easy to learn, which quickly rules out a lot of development tools.
2. You need something with a good graphical interface so your application looks professional.
3. With the increasing market share of the Mac and Linux operating systems, you don’t want to lose any sales because you don’t support a customer’s operating system. So, cross-platform development tools are ideal. This will significantly narrow down your choices on tools.
4. Lastly, you’ll want a tool that is inexpensive but still a good long-term investment. You don’t want to write your application in something “flimsy,” or a tool that takes you forever to learn, or one that might not make your application look professional. Remember, just because it’s free doesn’t mean it’s better, and usually you get what you pay for. An umbrella with a big hole in it on the clearance rack is no bargain and the same rule applies to selecting a development tool. If this is a tool you plan to rely on for supplemental income, or possibly your whole income, invest in the correct one so you don’t have to go back and learn something new a few months later.

Choosing a Platform

You can write your application for three primary types of platforms: The desktop (on Mac, Windows, Linux or all), the mobile platform (iPhone, etc.) or for the web. You will have to think about your application and determine which platform will make the most sense. Many of you are probably thinking about how awesome it would be to develop your own application for the iPhone. Apple does provide their own development tool for the iPhone, but this tool is not really designed for someone with no software development experience. However, if you are thinking that it would make the most sense for your application to be on the mobile platform, then due to popularity, the iPhone would be the way to go. If you don’t have any programming experience, you might consider investing in having an experienced developer build the application for you, but this, of course carries more risk.

How to Avoid Economic Ruin: A Survival Guide 12

There are some options for the web, like PHP and Ajax, though it’s generally not very easy to make money from a web-based application. It can be done though - SalesForce.com (http://www.salesforce.com) is a great example of a profitable web application. But most web-based applications get their revenue from advertising, and often this can be difficult for someone to manage on their own. So, let’s focus on creating a desktop application.

Choosing a Language

Next, you’ll want to choose a programming language and development tool for your application. Based upon the requirements outlined above, you’ll rule out languages such as X-Code, Tcl, Python and a few others, pretty much leaving you Java, and C++. C++ is not a language designed for people who are just starting out or for people who want to get something done quickly. Java desktop applications are generally hard to deploy and use a non-standard user interface. Although Java is effective for developing server-side applications, it has failed on the desktop.

There is, however, another language and development tool that is excellent for developing cross-platform applications:
REALbasic. The user interfaces you
create in REALbasic maintain the
appropriate look and feel - whether
for Windows, Mac or Linux.
REALbasic is a modern, object
oriented language that enables you to
create a cross-platform version of
your application from a single mouse
click. Because it’s object-oriented,
you don’t have to know a bunch of
code to lay out your user interface.

00003.jpg

You can simply lay it out graphically,
just drag and drop items into the
window editor, and you can refer to the REALbasic Language Reference or User’s Guide when you need to get into the nitty gritty of your application’s functionality. It’s really easy to use and easy to learn, and you don’t have to worry about downloading the application and wondering what to do next. It comes with a QuickStart and Tutorial that will hold your hand until you are ready to venture out on your own. REALbasic is inexpensive and will get you on your way to developing a cross-platform application. I just want to stress how important the ability to compile cross-platform applications is. Go to your nearest coffee shop and look at all the different types of laptops you see people using. They aren’t all Windows laptops anymore!

00004.jpg00005.jpg00006.jpg

So how do you get started in REALbasic? First you’ll need to go to http:// www.realsoftware.com/download to download REALbasic. A free 30-day Trial Edition is available so you can check it out first. Or you can simply download the application and purchase your very own license through the online store. Included in the download is the product documentation, which will help you get started. A new feature added to REALbasic is the Quick Launch window with a lot of great information for new users, along with some links to video tutorials which are a great way to introduce yourself to the tool.

So what do you do once you download REALbasic? The first thing you need to do is work through the REALbasic Quick Start and Tutorial. They are pretty simple but they will really help you learn and understand what you are doing. With them you will get to create your first software application! Next there are some helpful video tutorials for new users through RBTV here: http://www.ahatfullofsky.comuv.com/English/REALbasic/ RBtv/RBtv.html

Another great thing about REALbasic is its user community. Not only is there a knowledgeable group of developers who use REALbasic and discuss features and ask questions, but they also want to see the tool prosper and grow. And it’s a peaceful community where newcomers are welcome. Don’t be afraid to post questions to the forums or mailing list - the more seasoned developers will try to help you if they can. What’s more, the REALbasic engineers themselves post on the forums and lists, too. You would never see direct participation like that from a company like Microsoft. The upper management and the engineers alike post on the company blog, http:// www.realsoftwareblog.com. The blog posts range from industry trends, helpful hints, product announcements and other information. You can also follow REAL Software on Twitter: http://www.twitter.com/realsoftware.

As one member of the community told me, “The community is really one of a kind. I hope that kind of atmosphere stays around the product forever. It’s an incredible resource for new people to come in and the attitude towards ‘newbies’ is very welcoming.” The community is always there as a resource for you whether through the online user forums (http://forums.realsoftware.com) or the NUG (Network User Group), mailing list (http://realsoftware.com/support/listmanager/).

If you have any prior programming experience, especially in Visual Basic, you are in luck! REALbasic has a fairly low learning curve for you. Very quickly you will feel comfortable with the syntax of the language and the object-oriented usability. If you have no programming experience whatsoever, do not fret! It’s pretty easy for you to get acquainted with REALbasic. I know people who hardly knew any HTML yet were able to build an application in REALbasic. Don’t be scared. REALbasic exempts you from having to lay out all of the code for your user interface, since those elements are all objects within the development environment. You can create some cool little applications, like a web browser, with just one line of code! You visually lay out the user interface and then write a bit of code to tell your application what to do. It’s pretty simple. And the REALbasic Language Reference includes all the stuff you will need to know about the REALbasic language, such as syntax, specific commands, the works. It will always be there to help you along the way if you get stuck or are unsure, simply select Language Reference from the Help menu.

Testing Your Application

Since you are going to be creating an application for multiple platforms, you will need access to hardware on all of the platforms you intend to support so you can adequately test your application’s compatibility. If you already own a Mac, you can run Windows and Linux through VMWare (http://www.vmware.com/) or Parallels (http:// www.parallels.com/). If you have a Windows PC, you can run Linux, but you cannot run Mac OS X. At the beginning, you might consider asking a friend who has a Mac if you can come over to test on their Mac. Later, you could purchase your own Mac if you wanted to test on all three platforms.

Before you launch your product upon the masses, you should make sure it is sufficiently tested. Ask your friends, family, coworkers or anyone who might find value in your product to test it. Have them provide feedback about usability and notify you of any bugs they encounter.

Naming Your Creation

When selecting a name for your application, be sure to pick something people can say. Most likely, word-of-mouth will be the quickest and most effective way to sell your product so you want to make sure to have a name that is easy to say and, subsequently, easy to spell so they can easily find it online. A name that effectively describes what your product does or somehow relates to that is advisable. When people hear the name they should be able to identify to some degree what its purpose is.

If you are in the United States you will want to check to see if the name has already been trademarked (http://www.uspto.gov/main/profiles/acadres.htm). Please note that I am not a lawyer and you should consult one to do a trademark search once you have decided on a name and are at the point where you know the product is going to “ship”. Also, you might consider obtaining the corresponding domain. Having the same domain as your product name is certainly not the be all end all, but it’s definitely helpful for marketing purposes.

Spreading the Word

Now that you are on your way to creating your application, how do you get it out there? The next few chapters will cover creating your website, making it a selling machine and marketing your product.