Enterprise app market booms, while 69% of all smartphone developers earn less than $US1000 per month7:02AM | Tuesday, 22 July
Some say great code is like artwork. Well, as long time readers are aware, yours truly can be a little on the humble side. That being said, as far as code goes, this was not merely art. No, this was the software equivalent of Monet. Just imagine if Michelangelo painted the Sistine Chapel roof in perfectly formed, well documented PHP code. This is the type of programming masterpiece we’re talking here. After countless hours fuelled by Dr. Pepper and Red Bull, surrounded by the caskets of dead pizzas, the masterpiece was complete. Then came the moment of revelation. I loaded it up onto the dev site, opened the page. Then it happened. The moment of terror. PHP Fatal error: Call to undefined function genius_tasmaster() in holy-taskie.php on line 147. Well, Old Taskmaster took a look at line 147. It was perfect. Old Taskamster took a look where genius_taskamster () was declared. Every “<”, “?”, “PHP” and semicolon appeared to be in place. There were no typos. There were no upper case letters where lower case ones were supposed to be. After an hour or so rummaging through code and trying different things, the error was still there! This was beautiful code! Worthy of Picasso or Giotto! If da Vinci wrote webscripts, this is what would have been produced! Why, this code could be framed and hung on a wall next to a Cézanne in the Lourve and become world famous for its beauty. It was about then that Old Taskmaster stepped away and watched some TV. Except while watching TV, a strange thing happened. Maybe the error wasn’t in holy-taskie.php. Maybe it was in another file? Sure enough, upon coming back to the computer, the answer became obvious. A cursed missing semicolon. A blemish, a fly on this technical masterpiece worthy of Piero della Francesca. The moral? Those who code and walk away find the bug another day. Get it done – after a break! Image credit: Flickr/Colin Tsoi
Recently, StartupSmart looked at developing web apps in PHP. However, many developers choose to use an alternative framework called Ruby on Rails. So what does Ruby on Rails development entail and how do you get started? StartupSmart spoke to freelance web developer and Melbourne Ruby group co-organiser Pat Allan to find out. Allen explains that at its simplest, Ruby on Rails is made up of a programming language called Ruby and a web app development framework called Rails. “Ruby is a dynamically typed programming language developed with programmer happiness in mind, and has been around for about 20 years now,” Allan says. “Rails (or Ruby on Rails) is a framework for constructing web applications. It’s written in Ruby, and you write your own Ruby code to extend the framework to build your own apps (it’s not an app in its own right).” A key feature of applications written in Rails, Allen explains, is that they are divided up into three parts, known as ‘models’, ‘views’ and ‘controllers’. “From Rails’ perspective, the models are your data objects – e.g. user information, blog posts, purchase details – whatever data your app needs to use or create. This data is usually persisted in a relational database like PostgreSQL or MySQL,” Allan says. “The views are the presentation layer of your web application – the HTML that the browser displays, and any manipulation of that HTML to display dynamic content, including data from your models. “The controllers are the glue that connects views and models together – they load up specific data objects, and choose which views should be sent back to the browser. The ability to extend the Rails framework comes by adding libraries of already written code, which are known as ‘Gems’. “Gems are collections of Ruby code (libraries) with a focus on specific functionality. There are gems for dealing with Twitter, downloading files, mathematical computations, testing, complex data searching, and much, much more,” Allan says. “The value of this is it saves you from having to re-invent the wheel. Quite often you can end up building on top of others’ hard work instead. Of course, if you can’t find a gem for what you need, you can write one yourself – everyone is allowed to publish gems. “Rails itself is a handful of gems, broken out into (mostly) distinct features such as dealing with HTTP requests, interacting with databases, and connecting models, controllers and views. For Allan, one of the key strengths of Ruby and Rails is its developer community, which includes events aimed at everyone from beginners to web veterans. “There are a great deal of social events in the Ruby community, especially in Australia, with Rails Camps twice a year, a big conference once a year, occasional RailsGirls sessions, and numerous meet ups in most major cities. These events help us to connect with each other, share our knowledge, learn new things, find new opportunities for work, and make a few new friends,” Allan says. “There are many online tutorials out there and a growing number of online courses as well. Peepcode’s videos (now part of PluralSight’s extensive library of content) are top notch and worth every dollar. Ryan Bates’ enduring legacy of RailsCasts is an amazing (and free!) resource, alongside his more detailed paid offering. Michael Hartl’s tutorials are another source of detailed information. “Having mentors available in person can also be super helpful, though, which is why events like RailsGirls and InstallFests are so valuable. Allan goes on to explain that the Melbourne Ruby group has its own Meetup group. From there, developers can find out information about its regular presentation evenings, hackfests and InstallFests, which are aimed at new developers. Finally, Allan’s advice to anyone thinking about coding a web app in Ruby on Rails is to just get started. “The more code you write, the deeper your understanding becomes, and then you can get a better understanding of other peoples’ code, which in turn helps you to learn new ways of doing things. This is becoming more and more easy given so much of the code we use (including Ruby gems) is open-sourced and available for everyone to peruse,” Allen says. “The best way to become comfortable with Ruby (and programming generally) is to write a lot of code. Of course it’s likely not going to be great code at the beginning, but that’s fine. “Finally: Don’t be afraid of what you don’t know. All good developers are in a constant state of learning – technology is changing all the time – so there are always opportunities to ask questions and find out how another piece of the evolving puzzle works.”
Which technology is best to use in launching a new site or web application? There was a time when I would answer this question by getting into the details of the various features and performance characteristics of a given platform, but over the years I’ve realised it’s really not a technology question; it’s a people question. The issues are: who is going to build it, and who are you going to want to hire to continue to build it? Anyone who has been around software engineers (or any engineers) knows that a truly great engineer is worth many mediocre engineers, so if you’re starting a technology-intensive business, it’s critical that you be able to attract high calibre people. For instance, Adobe ColdFusion (formerly Macromedia ColdFusion, formerly Allaire ColdFusion) is an extremely productive platform for building web applications — in terms of getting something done quickly it’s great, but good luck finding great engineers who want to work with ColdFusion. Deserved or not, ColdFusion has a reputation in the industry for not being a “real” programming environment (there’s a whole other discussion to be had about the perversely inverse relationship between the ease-of-use and productivity of a programming environment and the credibility it receives in engineering communities). Most software developers wouldn’t want to be forced to work with ColdFusion for fear their other skills would atrophy. This is not a statement about how good ColdFusion is as a technology; it is a statement about the realities of putting together a team. This is a nuance lost on a lot of entrepreneurs and managers who haven’t done hands-on coding before — the tools you choose define the nature of the team you will build moving forward, and in most cases it’s extremely difficult to switch gears. To be fair, this nuance is also usually lost on engineers, who can easily burn a lot of cycles debating the merits of Ruby vs PHP vs Java vs ColdFusion vs every other thing. In the end, the tools listed here, among many others, are mature enough that they can all serve well to create web-based applications. Some might take longer, some might not scale as readily, some might not integrate with other technologies as easily, but from the standpoint of “can it be built in a reasonable amount of time and be production-ready and reasonably scalable” the answer is yes in all cases. The best technology to choose is the one that creates the culture you want. Nathan Dintenfass is a product executive living in San Francisco.
Very long-time readers of this column will remember how, around this time last year, your humble correspondent declared May 3rd each year to be Capitalism Appreciation Day. Basically, the short version of it is this: Business and the profit motive gets blamed anytime anything goes wrong anywhere in society. Sometimes it’s justified, and sometimes not. But the other side of a market system is that it allows for the dynamic entrepreneurialism we see in Australia’s tech startup community. That hard work and dedication deserves to be celebrated. There are event days commemorating everything from One Day Without Shoes Day to School Principals’ Day and everything in between (there’s a website that lists them all here) – so why not a day to celebrate capitalism? And setting aside a day of commemoration is also a great excuse for Old Taskmaster to savour a few Brandy Old Fashioneds. That said, if you want to organise a hackathon or code a PHP web app all night while surrounded by empty Dr Pepper cans, you can do that too. In fact, that’s the great thing about Capitalism Appreciation Day – whether you’re consuming excessively or working all night, it’s all in the spirit of the holiday. So make sure you celebrate Capitalism Appreciation Day this weekend. Oh and tell your friends – for viral marketing is very much in the spirit of the season! Get it done – this weekend!
Even the most ardent startup advocates have to admit there is lot of scope for humour in the heady realm of tech, big goals and new businesses. So perhaps it’s unsurprising that there are a host of satiric startup Twitter accounts out there, making light of serious issues or sending up the stereotypes. Here are our top three to follow: PHP_CEO A send-up of a chief executive at a fictional programming company, this account taps into the crazy expectations of startups as well as the perennial tension and misunderstandings between developers and non-technical team members. YOU DEVELOPERS MIGHT CALL IT "REINVENTING THE WHEEL", BUT I CALL IT "CREATING INTELLECTUAL PROPERTY"— PHP CEO (@PHP_CEO) February 24, 2014 With every tweet delivered in all-caps, following this account is a good way to jolt your day with a friendly reminder of startup angst. OK THIS BUSINESS UNIT IS GOING TO OPERATE LIKE A STARTUP. HAHA NO IT DOESN'T MEAN YOU GET EQUITY YOU JUST WORK EVENINGS AND WEEKENDS NOW— PHP CEO (@PHP_CEO) February 28, 2014 PanderDaily Part startup satire and part startup media satire, @NextTechBlog makes fun off the way startups get covered and the themes often explored by startup publications. The account pokes fun at overused headlines: SCOOP-SCLUSIVE: I Checked Up On A Start-Up No One Else Cares About Anymore— Pander Daily (@NextTechBlog) February 25, 2014 Why The Most Predictable Tech Headline Of 2013 Arrived In February 2014— Pander Daily (@NextTechBlog) February 25, 2014 And people who inspire these stories: LinkedIn Notifications From Q3 2014: Congratulate your bro on his promotion from social guru to brand prophet.— Pander Daily (@NextTechBlog) February 7, 2014 Startup L. Jackson Back on the rougher end of the humour spectrum, Startup L Jackson sends out edgy tweets and occasionally profanity laden missives about startups and technology. For example, this was his contribution to the leading startup conference South by South West’s hashtag. Crowds, like drunk people, are very rarely wise. This is why drunk crowds make such great customers. #protip #sxsw— Startup L. Jackson (@StartupLJackson) March 12, 2014 With a sense of humour built around the ‘everyone is thinking it’ style, he also offers fashion advice for founders dithering between looks and the thought process thousands must go through when a startup makes it big: Dear sportcoat and t-shirt guy, pick a fucking side.— Startup L. Jackson (@StartupLJackson) March 13, 2014 #1 That idea is stupid. #2 It's $1bn a year in digital kittens, dude. #1 They're making how much money? Doing what? #1 I'm old.— Startup L. Jackson (@StartupLJackson) March 11, 2014
Are you trying to pick a name for your business? Looking for something really unique? Old Taskmaster has a radical idea that will make you stand out from the start-up crowd. But first, I need you to imagine a strange land. A land before time. A land before mobile phones and the internet had been invented. Now, for some of you young whippersnappers, I’ll admit it might be tough to imagine, but bear with me. In this strange land, product and company names generally communicated information about the company. Sometimes, a business would be named after its founder. For example, Myer’s department store was founded by Sidney Myer, while Grace Brothers was founded by Albert Edward and Joseph Neal Grace. An alternative was to name products based on where it was from. No prizes for guessing where the cannery for SPC, the Shepparton Preserving Co-operative, was (and yes, it was a farmers’ ‘co-op’ before it was a ‘company’). Others opted for names that describe what the company did. As shocking as it sounds, International Business Machines was an international company that sold business machines. Sure, there were products with misspellings and poor grammar – Old Taskmaster is looking at you, Weet Bix – but those products stood out from the crowd by virtue of their unique name. Even in the early days of the computer revolution, brands like Digital, Commodore, Apple, Radio Shack, Acorn or Atari at least chose sensible names. Of course, times change. Like goth kids in high school playground, everyone decided to be unique – by doing the exact same thing as everyone else. It might have been the influence of rock and roll bands, from the Beatles to Motörhead. It could have been the camel case commands in various programming languages (as if anyone who ever typed ‘WriteLn’ needed another reason to hate Pascal). It was, possibly in large part, due to the success of the iMac and web squatters claiming every word in the dictionary. These days, it seems a start-up name isn’t complete until it’s grammatically incorrect. CamelCase everywhere. Companies insisting the first letter in their company name should be lower case. Needless exclamation marks! Vowels missing. Letters replaced by numb3rs. Then there’s the letters replaced with an upper case X, sort of like the “X Games”. After all, it might not be immediately clear to the casual observer that optimising a database query in PHP is really an extreme sport, like a skydiving contest. That’s before you get the PR reps who insist that a Welsh-looking company name that would not look too out of place near the town of Llanfairpwllgwyngyll must be spelled in a particular Pantone shade of red, lower-case italics. With that type of pressure, it can be tough to stand out. Well, Old Taskmaster says this: If you’re choosing a business name, it’s time to do something really radical. Something to make you really stand out against all the other tech start-ups out there. That’s right, it’s time to buy a vowel! No italics, no unnecessary ‘i’ or ‘e’ at the start of your company name. It’s time to really stand out from your competitors – by choosing an old-fashioned, grammatically correct business name! Get it done – today!
Has your start-up grown to the point where you’re thinking about hiring staff? Or have you recently hired your first employees? If so, congratulations! Keep up the good work! But be warned – there’s a big potential pitfall just around the corner if you aren’t careful. Often, the people you will hire people will have specialist knowledge and experience. That might mean, for example, hiring an accountant to oversee your payroll or an IT guru to work on your website. More often than not, this can lead to a situation where, for example, only the tech guru knows how all that PHP code under the hood of your website works or the only member of staff who can use your accounting software is the accounts manager. Such a high degree of reliance on a single member of your staff can leave your business in a position where it grinds to a complete halt if, through annual leave, illness or injury, they spend any time away from work. That’s not fair on the employee, and it’s a dangerous situation for you. Likewise, if for whatever reason that employee stops working for you – whether they decide to leave or you terminate their employment – training their replacement in even a rudimentary way is likely to be difficult. And if, for whatever reason, you need to take any disciplinary action against them (heaven forbid), they have a lot more leverage if they know your business cannot effectively function without them. You cannot afford to let your staff members hold your business to ransom like that! So it is absolutely essential that, for every member of staff you hire, there is someone else on your team who knows enough about their daily duties that your business doesn’t come to a standstill if they’re not at work. It is also essential – especially for any IT-related roles – for people to document what they do and to leave this documentation is a secure place where other employees can access it if needed. Likewise, while shared passwords are an absolutely awful idea in general, if you do have any shared accounts or admin accounts for any online service, it’s essential that these passwords are documented somewhere in an accessible place. So do you have an employee you couldn’t function without? Make sure they document what they do along with any passwords or accounts they regularly use and train at least one colleague in the essentials of their job. Get it done – today!
In this column, a dirty word will be used. A word seldom used in polite conversation. The kind of word people fear to use around children or in the company of the elderly. That’s right, this is an article about outsourcing. Now while your humble correspondent is not a mind reader, I can already tell what you’re thinking. The poorly trained call centre staff in some far off land who robotically read scripts. Don’t worry – Old Taskmaster is more than familiar with the call centre shuffle. Of course, all outsourcing means is contracting out a business task to another company, rather than doing it in house. That’s all. Contracting a job out to someone else doesn’t have to mean “offshoring”, or sending jobs offshore. You can outsource a job to a company in Australia if you so wish. Likewise, it doesn’t even have to be about minimising your costs – although that is one common benefit of the practice. The reason for doing it is to focus your resources on what your business is truly good at – your core competencies – and then hiring someone else to do the rest. For example, if you’re launching a tech start-up, there are probably some things relating to smartphones and computers that you are exceptional at. Perhaps it’s database management, server-side scripting, or coding apps for Android or iOS. Of course, as soon as you start, you will inevitably need to do a whole range of tasks you’re not so good at. You might know how to write PHP code with a blindfold on, but you might not know the first thing about accounting, payroll management, graphic design or business law. If you try to build your own accounting team in-house, you’re left attempting to manage a team of people whose industry you know nothing about. Your staff will suspect you’re a clueless boss who doesn’t know the first thing about accounting – and they’ll be right. Meanwhile, as long as there’s a tax office and a government, there will be long and pointless forms you need to fill out. Why should you waste your time with data entry work or bookkeeping? Why not spend your time getting your apps onto Google Play, something that will earn you money? As your business grows and revenue comes in, do you invest more resources into the things your business is good at – such as computer programming – or the stuff you’re not good at – like accounting? Well, it’s time to take a moment to think about exactly what it is that you or your business can do exceptionally well. What are the core areas where you can add value for your customers and turn a profit? What are core competencies you need in-house to deliver your products to your customers? As your business grows, this is what you should invest your capital in. This is the area you should hire new staff in. This is what you should be focusing your time and energy on as a manager. For everything else? It’s time to hit Google, the Yellow Pages, Freelancer.com and 99 Designs to get it outsourced! Get it outsourced – today!
The past couple of days, Taskmaster has been discussing a particular kind of niche market: The “insider” consumers.
Earlier today, I decided it was high time to have a chat with Taskmaster Enterprises’ resident Gen-Y Techmaster.
It’s an interesting question, “Why would someone with no background in your industry be a great asset for your start-up?”
Tech giants Google and Microsoft have offered new incentives to start-ups and small businesses in an attempt to increase the user numbers for their respective technologies.
I’ve put a lot of work into the look and feel of my website but I haven’t given much thought to the hosting/serving of the site. What are the main things I need to look out for to ensure I get a good, effective deal?