All posts tagged with Developers, page 1 of 13

Older posts

Like my blog and my other projects? Support these projects and have some fun by checking out Oz Quiz, a 600+ question Australian history & popular culture quiz for the iPhone and iPod Touch I've co-developed.

to_param doesn't like you very much

If you override to_param in your model, make sure it doesn't return any Reserved Characters or your nice resource path methods (e.g. artist_path) will throw weird 'failed to generate from' errors.

It would be really helpful if Rails threw an exception that was useful, like 'bad to_param string'; it would have saved an hour of my time at least ;).

12:00 AM on Sunday, 31/01/2010

Kennesaw State University is running their own copy of RSS 2 HTML

Kennesaw State University (in Georgia, US) is hosting their own copy of RSS2HTML for their use. RSS2HTML is a script I wrote that can be used to publish RSS feeds in web pages in two different ways.

The first is to generate a line of code (JavaScript, PHP or HTML) that developers can paste into web pages to style and publish their RSS feed through my server.

Kennesaw State University has implemented the alternative method which uses their own server.

Since RSS2HTML is available under the MIT license users run their own copy of RSS2HTML via their own servers. It al so means people can make their own changes to RSS2HTML (and hopefully they'll share those changes back to my repo on Github).

12:00 AM on Saturday, 23/01/2010

Java exception when launching 3 Mobile Broadband application

Well that was a fun 4 hours. If you get this error:

Uncaught exception in main method: java.lang.NoClassDefFoundError: org/jaxen/JaxenException

When launching the 3 Mobile Broadband management application, then move jdom.jar out of /Library/Java/Extensions and it will work again.

12:00 AM on Monday, 18/01/2010

[ANN]: My first iPhone app released to the App Store

Over the past few weeks, I've been working on my first application for the iPhone and iPod Touch, and it's now been approved for the iTunes App Store.

The application is called "Oz Quiz", and it's a quiz with over 600 questions about Australia, covering history, politics, popular culture, our indigenous people, environment, technology, arts, music, sport, geography, law, demography, and more.

It's been an interesting process to develop the app, which I'll be posting on very soon; but in short, the signup and review process with Apple was very easy, and working with jQTouch is mostly easy, and overall I only had a few issues worth mentioning.

12:00 AM on Sunday, 10/01/2010

Developing for the iPhone

I've just finished and released an application for the iPhone and iPod Touch, and I wanted to share my experience developing for the iPhone platform, mainly because it's quite different from my expectation, and also to serve as a guide to those thinking of entering the iPhone development process.

This is written from an Australian perspective, and assumes you are an independent developer; if you are a corporation, you hopefully have your business paperwork etc. already set up. Some of the following may be different if you're in another country.

Becoming a business

You should do this part first; I wish I had followed my own advice because this would have prevented a lot of panic.

You need to set up a business; this is actually not hard and won't necessarily cost you anything.

First, get an ABN (Australian Business Number) and register the ABN for GST (Goods and Services Tax), which you can do over the phone with the ATO (Australian Taxation Office).

If you want to have a business name other than your own personal name (i.e. John Barry Smith), you'll need to register the business name in your home state and many of the other states and territories in Australia; some states say that businesses that operate over the Internet only don't have to register their business name in that state. Registering a business name can cost (for e.g.) $90 and then $75 every 3 years, per state/territory.

I skipped this and just used my name as the business name.

A few days after getting your ABN, it'll be added to the ABR online. You can look up your own ABN by the number itself; you'll need to do this later on.

Registering for the program

To develop applications for the iPhone, you have to register for the iPhone Development Program, which cost me $129 AUD.

As part of signing up, you're required to accept about a jillion agreements, all of which can be summed up as Apple can make whatever decisions they want regarding your applications and that they have no liability to you; on the other hand, Apple promises to hand over %70 percent of revenue, and you don't have to deal with payment handling or product distribution.

About a day or two after you sign up, you are accepted into the program and you can then log in.

There's another system, called iTunes Connect; this is where you upload you applications and you tax/banking information for selling applications in the App Store. You can get to iTunes Connect once you're logged in to the iPhone Developer Program Portal.

Business, Taxes and Contracts

At this stage, you'll want to log in to iTunes Connect; at the bottom of the screen is a section where you can upload your ABN info; take a screenshot of your entry in the ABN register and upload this as your evidence for ABN. Ensure you have registered for GST before you do this.

You'll also want to add your banking information, which you can do from the home page in iTunes Connect.

Next is to register for tax in the U.S. which you can also do in iTunes Connect. This is a pretty easy and straightforward process, although if you get any of the information here wrong, you have to fill out a paper form and file it with the IRS.

Last is to agree to the contract for selling apps itself; once you've done that, Apple will check your ABN info and clear you to sell apps. This process could take several weeks, according to the Apple FAQs, however it only took a couple of days in my case.

Developing your application

This is the bit where you actually get to code.

The only supported development platform for the iPhone is on a Mac using XCode. You will need to download the iPhone SDK, which you can get by logging into the developer program portal; the link is at the bottom of the page.

The SDK is a 2GB download; and to update to the latest SDK is another 2GB download, every time. This means that if you want to target versions 2.2, 3.0, and 3.1 of the iPhone OS you will need to download 6GB.

Once you've downloaded the iPhone SDK and installed it, you can start building your application using XCode, and you can test your application in the iPhone Simulator.

If you want to try your application on an actual iPhone or iPod Touch, however, you will need to log into the developer program portal and generate a Development Provisioning Profile. There is a helpful wizard on the portal that makes this pretty simple,. but it's still a bit of a pain; you have to create an app id and a device profile, generate a certificate signing request, upload the request to the site, and download the certificate and provisioning profile (a file) from the site.

Once you've got your provisioning profile installed into XCode, you can edit your project settings and switch the active code signing identity to the provisioning profile you installed; then Build and Run with the device plugged in and you can try your app on an actual device.

I developed my application in JavaScript + HTML using jQuery and jQTouch, and used a UIWebView to render my page in an application; to the extent I used Objective-C the langauge, I found it to be pretty neat, with excellent API documentation online.

Developing with jQTouch

Building my application with JavaScript/HTML had some advantages; I am already proficient in JavaScript and JQuery, whereas I am not proficient in Objective-C, and less development time is needed to achieve your result (IMHO). There is some disadvantage to using JavaScript/HTML to develop an app; namely your app will be slower than an Objective-C app to start up and to execute.

jQTouch is a brilliant library that gives you the native look-and-feel without having to learn Objective-C first; it also provides a lot of support to smooth over the differences between developing for the desktop and developing for Mobile Safari.

There were also some issues with using jQTouch, usually caused by my own idiocy; however there are some issues around clicking things, especially in relation to scrolling. This was mostly due to some tricks I was using to speed up the appearance of mouse clicks.

Testing

It's important to test your application to ensure it won't be rejected by Apple; I needed to make some changes before I submitted my app. For example, if your app depends on Internet access, your app needs to communicate properly to the user that they need to be online (as opposed to just crashing etc.).

Submission

Submitting your application to the App Store will take some time. You need to produce screenshots and icons for your app, as well as decide what content rating to give it; you also need to choose the categories to list the app in and pick keywords for the application as well a writing the description etc.

An app can be sold in multiple countries; however you have to deal with multiple countries' tax authorities concerning sales tax; not handling this properly could see you losing a lot of money. I decided to only list my app in the Australian and U.S. app stores.

The last step is to submit your application binary. You need to download a distribution provisioning profile from the developer program portal site. Install that profile into XCode, set it as the code signing identity in the project settings, set Device and Release as the active target, then build your app. Right-click on the .app file in the Project Organiser, select Reveal In Finder, then zip up the .app folder shown in the Finder. This is the application binary you submit to Apple.

Review

The dreaded app review process ... wasn't. My app was approved within a day of submitting it. Similarly, the contract was approved within a couple days of submitting it.

The review process was suprisingly easy, compared to some of the stories out there.

Promotion

So, the end result of the process: Oz Quiz 1.0, a quiz that tests your knowledge of Australian history, politics, popular culture, our indigenous people, environment, technology, arts, music, sport, geography, law, demography and more.

Try it now and let me know what you think of the app; and, if you have any comments on the application development process, please leave a comment here!

12:00 AM on Sunday, 10/01/2010

Older posts