IKEA Standing Desk

IKEA Standing Desk

Lateral’s IKEA Standing Desk

Standing desks have gained a lot of mindshare in recent years, with advocates citing posture, energy and health benefits, however they can be difficult to find for a reasonable price. A few of the Lateral developers put together an IKEA standing desk over Christmas based on the design detailed on lifehacker.

  • LACK Side Table: $8.95
  • EKBY Robert brackets: $24.00
  • EKBY Mossby shelf: $39.95
  • Screws from home: $0

Total: $72.90

We went for a classy black/stainless steel finish which pushed the price up a little, but it still falls a fair way short of $1500+ for commercial alternatives. The goal is to have the desk available for team members to spend an hour or two standing each day if desired – so far the interest has been quite encouraging. One issue we’ve found so far is that the shelf height doesn’t suit all developers, and we end up using combinations of boxes for adjustment – an adjustable keyboard shelf may be a worthwhile addition. An anti-fatigue mat is also on the wish-list.

How much does it cost to build an iPhone/iPad app?

Bag of moneyAs an iOS development specialist, one of the most common questions we get is “How much does an app cost?” Unfortunately this is a classic “How long is a piece of string?” question, but giving people that answer generally doesn’t result in any sales, so we’ve spelled out some of the cost considerations in this post.

While it involves a few different skill sets, there’s nothing particularly special about mobile software projects that make them cost significantly more or less than any other custom software. However, the costs of custom software development aren’t well understood outside of the industry, and particularly now that people see high-quality mobile apps retailing for a couple of dollars on the App Store, everyone’s inherent value compass tends to vastly underestimate how much it takes to actually build them.

What follows is the general guidance we give to prospective clients.

‘Basic’ app – $5-$15k

An entry-level app will start from around $5,000. This might include:

  • Calculator or small utility apps
  • Store locator/brand extension apps
  • Simple reference apps

These will generally be self-contained (no cloud service), and use mostly standard UI components with some custom graphics. Professional, high-quality graphic design will cost more, but is generally worth it for apps in this category.

You may be able to build them more cheaply by going through offshore developers, although you should expect to devote more of your time to managing their output. There are also companies that stamp out templated store locator apps for a few hundred dollars, but in our experience the resulting apps are very poor quality and, if anything, end up damaging your brand.

An informative behind-the-scenes look at building an app in this category is Repeat Timer Pro — the offshore development costs ended up around US$4.5k (not including design or subsequent marketing costs).

‘Complex’ app – $20-$80k

A complex app is one that incorporates any of the following:

  • Dynamic updating of in-app content via a back-end service
  • A cloud database to synchronise or share information between devices or users, and/or support for an ‘offline mode’
  • Extensive integration with third party services (eg Google Docs, Facebook, weather services, financial data etc)
  • Custom user controls or complex dynamic graphics & animation
  • In-app purchases, subscriptions or push notifications
  • Support for both iPad & iPhone (universal app)

Most business apps would fall into this category. There’s a lot of variation in the cost, but the biggest factor in most app quotes we see is its size: if you have 30 screen mockups in your brief, it’s not going to be cheap to build. Typically we recommend stripping the functionality down to its absolute bare minimum; the app will be less expensive, delivered sooner, and be much easier to use.

Top-Shelf app – $100-$200k+

An app entering an existing market (eg a Twitter client, RSS reader, or a vintage filter photo sharing app) will have to be very high quality in order to compete. This generally requires extensive UI design, graphics work, and lengthy rounds of usability testing. Expect to go through several iterations of development, testing & rework before you begin to approach the required level of polish.

Other apps in this price range would be ones with complex custom cloud services behind them (eg Evernote, Instapaper, Flipboard). In this case you need to build both a full featured cloud application including database/file storage, web service interface, and back office administration tools, as well as the iPhone/iPad app.

The most commonly cited example of app development costs in this category would be this StackOverflow answer by one of the developers of Twitteriffic: he estimated approximately US$250k to build the iPad version of their twitter client.

Other Considerations

To sell your own app through the App Store, you’ll need to enrol in the developer program at US$99/year. When you’re running the numbers, don’t forget that Apple will take 30% of the sale price of apps & in-app purchases (for Australian sales, Apple also deduct the GST).

You’ll also need to take into account:

  • Hosting costs, if you’re running a cloud service. These can range from free up to thousands of dollars a month, depending on how many users you have & how the service is being used.
  • Marketing costs — customers need to find your app, and you can’t rely on the App Store to do this for you. The most common approach is to design & publish an app website and use cost-per-click advertising, but blogging, RSS sponsorship, offline promotion and social media activity all help spread the word.
  • User support — you may need to provide email or forum support for your app (depending on what it does) — if so, you’ll need to implement a support/helpdesk system, and you’ll probably want to hire or outsource support functions as your userbase grows.

As is typical with custom development, you really need to speak to a development company to get a more accurate estimate of how much your app will cost, but hopefully the information presented here is helpful.

Azure Preview Features Presentation

Sam Ritchie presentingLast week our .NET Team Leader, Sam Ritchie, presented an overview of the new preview features in Windows Azure to the Perth MS Cloud Computing meetup group. Most of the presentation was focused on the new Azure Web Site hosting & deployment; we’ve reproduced a couple of the key points here.

The developer experience developing & hosting applications on Azure Web Sites has been significantly improved. Scott Guthrie, who moved from DevDiv to Azure about a year ago, has clearly been working hard on making this better, and it’s starting to pay off. We fervently hope this focus continues and the rest of Azure becomes as simple and developer-friendly as the web site hosting.

A few examples of the ways in which Web Sites are easier:

  • No custom project types (.ccproj) or RoleEntryPoint subclasses – a standard web application solution with no Azure-specific runtime library references will work perfectly.
  • Web.config can be used for configuration (with runtime AppSettings parameter injection, if necessary) – no more .cscfg and Azure-specific configuration settings code.
  • Basic monitoring is available out of the box, without configuring Trace Listeners or Diagnostics transfers to Azure storage, or buying a third-party utility to query Table Storage.
  • FAST deployment. Web Sites are deployed to a running server, so no more waiting for a new VM to be provisioned.
  • Standard deployment mechanisms – FTP, MSDeploy and git deployment are available and existing deployment scripts should able to be reconfigured to work with Azure.

The Web Site offering, in particular the dependency-free runtime code and git deployment, is very reminiscent of AppHarbor/Heroku, and the pricing model has also been clearly influenced by these services (developers can host up to 10 web sites on shared infrastucture for free). Where they differ is the hosting model – below are some diagrams from Sam’s slideshow:

Heroku Model

The ‘Heroku model’


Azure Model

The Azure Web Site model

Once you upgrade to ‘reserved’ instances, all web sites within your subscription (in a given region) share your virtual infrastructure. This does mean that one application could bring down all the others, but if you have a reasonable number of low-to-moderate traffic sites, it’s likely to be considerably cheaper to host in a multi-instance (ie production quality) configuration than on AppHarbor. Our view is that this is better suited to web & application development shops that want to offer hosting, or in-house teams that want to move some of their suite of applications to the public cloud. The ‘Heroku model’ will likely remain a more attractive option for startups/entrepreneurs & product companies, who are more likely to focus on one or two potentially high-traffic applications.

Another point Sam stressed was that the multi-language support (in particular, PHP and mySQL available out of the box), is likely to appeal to organisations looking to move/consolidate their web hosting from ‘traditional’ web hosts or ISPs. This support, combined with the standard web deployment approaches, means that Azure is competing as much (if not more) with low-cost shared Linux hosting providers as it is with AppHarbor and other PAAS specialists.

Overall, we’re pretty excited to be working on Microsoft’s cloud platform and we’re keen to see the platform improvements continue. The main components we’re hoping for are simplified, git-deployable workers, and better support for third-perty hosted services like document DBs (perhaps the Azure Marketplace will grow to fill this need)?

eMed for WA Health Biomedical Engineering

eMed ScreenshotA few years ago, we assisted Sir Charles Gairdner Hospital’s department of Medical Technology and Physics (MTP) to implement a LANSA-based system to manage maintenance & QA on the fleet of medical equipment used by a number of hospitals in Perth (see the LANSA case study for more details). Lateral’s main role in that project was to provide training & setup, and the MTP engineers did the bulk of the development on the system (known as eMed).

Another department within WA Health, the department of Biomedical Engineering (BME) for the WA Country Health Service, have similar responsibilities for medical equipment and wanted to implement their own version of the eMed system. However, the MTP engineers working on the system did not have capacity to support an additional installation, so Lateral once again became involved to modify, deploy and support the eMed system for BME.

As is often the case with custom systems, eMed was heavily tailored towards the needs of MTP and fairly substantial changes were needed to integrate it with BME’s workflow. For instance, MTP engineers are generally in the same hospital as the equipment, but BME-maintained equipment is deployed across numerous country hospitals, nursing posts & Flying Doctor bases, so sending out an engineer requires scheduling flights & accommodation.

The modified system was successfully deployed in February 2012 and has been managing BME’s core services since then. Lateral has continued to refine eMed to suit business practices and streamline the workflow.

One of the key aspects of this project which we feel is under-appreciated within the software community, is how much business process and workflow impact software design.  Both versions of eMed support what is fundamentally the same task, however the implementation is quite different given the process differences required to support a more diverse and dispersed customer base. This is a pattern we’ve seen repeated across multiple projects — it’s worth being reasonably cautious about slotting custom software in somewhere other than where it was built.

Lateral’s iOS testing fleet

Lateral's iOS Fleet

This article has been doing the rounds, which made us want to post up our iOS testing fleet. The photo above includes:

  • iPad 1
  • iPad 2
  • The New iPad ™
  • Original iPhone (sadly not used much for testing these days due to being stuck on iOS 3.1.3)
  • iPhone 3GS
  • iPod Touch 4G
  • iPhone 4S

There are also numerous additional configurations of the above, plus a couple of iPhone 4s floating around the office (and some miscellaneous Android devices including a Nexus One).

There seem to always be people claiming you can get away with testing on one or two devices and do the rest in the simulator — unfortunately we’ve found there’s no good substitute for real hardware compatibility testing.

If you’re interested, the stands in the photo are the P2 & M2 stands from Elago, though unfortunately they don’t ship to Australia & we had to smuggle them in.