It’s no secret that corporations make record profits and then hand over millions to CEOs who remain on the job for a few years before leaving with stock options and more benefits to reward them for their supposed “leadership” at the company, as if they were the sole reason the company made money. Since there’s little you can do about how your company treats its workers, the better solution is to simply start your own business so you can eventually leave the madhouse that represents most corporate environments.
There are literally millions of types of businesses you can start, but one of the least expensive businesses involves software. Software doesn’t take up space and doesn’t need expensive facilities to get started. Want to start a restaurant? You need to lease space and stock it with supplies. Want to start a software business? All you need is a computer. You don’t need a warehouse to store inventory, you don’t need a retail presence, and you don’t need to pay for delivery of your products since you can sell it digitally over the Internet.
While developing software isn’t for everyone, it’s still a great business for those who want a low-cost way to be your own boss and run a company from your own bedroom or kitchen table. Assuming you want to develop software, where should you start and what should be your first step?
First of all, never go into any business thinking you’ll make a million bucks. You might, but if you’re only going into business for the money, chances are good you’ll crumble the moment problems pop up, and they will pop up. Your desire and passion for a business can get you past any obstacles. If you’re only looking for the money, the first obstacle that gets in your way will stop you dead in your tracks.
Assuming you have a sincere desire to develop software, that means you need to learn programming. Don’t worry. Anyone can learn programming just as anyone can learn cooking or knitting. Programming is just a skill that you can learn on your own without necessarily going to school to learn it. Of course schools can help, but don’t feel you need to go to school to learn programming since you can always learn it on your own if you’re dedicated enough. If you’re truly passionate about the idea of writing software, then you’ll have the motivation to learn on your own.
The first big question might be what will you create, but before you answer that, the real first question you need to ask yourself is where is your market? In the old days, the biggest software market was writing programs for Windows PCs. Those days are gone though as the world of smartphones and tablets have skyrocketed. While you can still make money selling Windows programs, the market is shrinking as fewer people rely on Windows for both home and work. if you want to follow the money, your best bet is to follow the mobile computing market.
The two biggest mobile computing leaders are Android and iOS. I’d suggest focusing on iOS first because iOS tends to be the more lucrative market (despite Android being the more numerous market) and iOS tends to be easier to write software for since there aren’t as many varieties of hardware running iOS as there are running Android.
So if you’re following me so far, we’ve boiled down your software business to writing mobile apps for iOS. Now the next step is to decide how you’ll write iOS apps. There are several solutions, but I’ll go over the three best options.
First, Apple offers Xcode, which is a free program that lets you create OS X (Macintosh) and iOS (iPhone and iPad) apps. The two huge advantages with Xcode is that it’s free and it gives you access to every part of OS X and iOS so you can create any type of apps you want. The huge drawback of Xcoce is that you have to learn a programming language called objective-C, which isn’t necessarily easy to learn, especially for beginners.
Two alternatives to Xcode are Xojo and LiveCode. Xojo looks and works like Visual Basic, which was a popular Windows programming tool back in the 90’s that Microsoft developed. The basic idea behind Xojo is that you draw your user interface with the mouse, and then you write commands to make your program actually work. Xojo is free to use, but if you want to create programs to sell or give away, you’ll need to pay for a license. The great news about Xojo is that it’s far easier to learn than Xcode plus it will let you create Windows, Linux, and Macintosh programs (Xcode only lets you create Macintosh or iOS programs.). By the end of the year, Xojo will also let you create iOS apps.
The big drawback with Xojo is that it may not let you take advantage of all features of OS X and iOS. That means your Xojo programs may have artificial limitations on them that you would never have if you used Xcode. Xojo also costs money if you want to create programs you can sell.
LiveCode is modeled after Apple’s old HyperCard program. As a result, LiveCode is the easiest of all programming tools for novices to master. Chances are good that you can perform tasks in LiveCode that might take twice as long to do in Xojo and maybe five times as long to do in Xcode. Experienced programmers will likely find LiveCode too foreign to learn, but novices who haven’t been corrupted by other programming languages yet will likely find LiveCode intuitive and simple to use. Best of all, LiveCode can actually create Windows, Linux, and Macintosh programs align with iOS and Android programs.
One huge drawback with LiveCode is its cost, which ranges from $500 a year and up. Another drawback is that LiveCode simulates the appearance of programs on different operating systems instead of actually taking advantage of each operating system’s tools. That means while it’s easy to create a program in LiveCode, any changes to the operating system appearance won’t be reflected in the appearance of your app. LiveCode makes it easy to make programs, but doesn’t make it easy to access all the features of all the different operating systems it can run on. As a result, LiveCode programs may not always look and fit seamlessly.
To summarize, Xcode is the cheapest (free and the most powerful, but also the most complicated to learn and use.
Xojo is easier to learn and use than Xcode, but doesn’t give you full access to all the features of different operating systems.
LiveCode may be easiest of all to learn and use, especially for novices, but it may isolate you too much from the operating system.
So which programming tool should you chose? It depends. In future postings on this blog, I’ll be going over the pros and cons of all three tools: Xcode, Xojo, and LiveCode. So if you’re interested in learning to develop software for a hobby, for spare income, or to start a business, you can learn programming for iOS and hopefully be able to kiss the corporate world and its insane logic of paying CEOs millions for doing almost nothing behind.