Jonathan Cusick

SXSW 2010: Digital Robot Software

I have been working hard over the last few months establishing a small iPhone and Mac development studio called Digital Robot Software.

Digital Robot Software will be going live on March 10th with a website launch which will contain details of current and future projects. I have also been working closely with an extremely talented designer who is doing the branding for the company which should give it a strong presence.

Digital Robot Software will also be at this years SXSW conference with 11 other Northern Ireland based companies who I am sure many of you will be familiar with:

    Airpos
    David Rice
    Filmtrip Ltd
    Good on Paper
    No More Art
    Sonic Academy
    The Design Zoo
    Lee Munroe
    Frank Design & Communications Ltd

This is great news for Digital Robot Software as it will enable a wide exposure of the companies services and will hopefully produce a range of clients and new skills from the available workshops and presentations.

A NISXSW Ning network has been established so all participating companies can easily communicate and so that others can follow us during the conference.

Another site niatsxsw.com has also been established to give complete profiles of the 12 companies including podcasts company backgrounds and will also be updated regularly.

If you are interested in following us on our journey to SXSW you can follow the websites and also the hastag #NISXSW on Twitter.

Super Happy Dev Castle – SHDC #0

On Saturday February 6th the first Super Happy Dev Castle (SHDC) took place in Northern Ireland. Super Happy Dev House (SHDH) started as a hackathon event for developers and anyone interested in development, technology and geekery in a relaxed and extremely motivating environment.

You may be wondering why this event was called SHDC and not SHDH, the reason for this is because the first event was hosted by Blaine Cook who not only happens to be an extremely nice person and world renowned developer but also happens to live in a castle. In addition to Blaine hosting the event, two local developers David Wilson and Steven Holdsworth were organising it and deserve a pat on the back for making the event a success.

The criteria for the day was to bring along a laptop, beer, Unix books and big smiles! This was clearly not an issue as there was a great turn out (around 30 people) all working on exciting and state of the art projects.

A fantastic Spotify playlist and IRC room were quickly implemented at the start of the event and proved to be popular as they lasted for the duration, and I am still listening to the playlist in work this week.

Working in this environment proved to be an interesting experience, as new creative ideas where constantly being discussed and analysed, in addition to many laughs and what can only be described as one or two moments of madness (probably due to the beer)!

Many thanks to Blaine and Maureen for being such great hosts and keeping us topped up with great pizza and amazing coffee.


Some of the guys hacking code at SHDC

iPhone Development: Testing From Your Device

When developing an application for the iPhone you will have to register for the iPhone development program ($99 for non-enterprise developers) in order for your applications to be published on the app store or to test them locally on your own device.

Once you have registered for the iPhone development program you can follow these steps in order create your own provisioning profile, developer certificate and test applications on your device:

Development Provisioning Assistant

In order to launch the iPhone Development Provisioning Assistant you will first have to log in to the iPhone developer site . Once logged in you will have to select the option ‘iPhone Developer Program Portal’ and then simply click the ‘Launch Assistant’ icon.

From here simply follow the assistant prompts and provide the following information:

    Application ID – To start the configuration all you have to do is to enter an App ID which is used to validate your applications access to the Keychain.

    Assign Device – In order to assign a device you will be required to enter two pieces of information a device description and a device ID.

    To establish what your device ID is, you will have to connect your device to your Mac, then select ‘Window -> Organizer’ within Xcode and this will provide you with the identifier for the device you have connected.

    Development Certificate – At this stage a development certificate has to be submitted, this certificate is used to enable apps to run on the device for testing. In order to create a certificate you will have to use the ‘Keychain Access’ application which can be found under the utilities folder on your Mac.

    Using the Keychain Access application now select ‘Keychain Access -> Certificate Assistant -> Request a Certificate From A Certificate Authority…’

    Now all you have to do is ensure the information here is correct and save it to disk, you can then submit this certificate by going back to the provisioning assistant.

    Profile Name – As the App ID, Device description and Certificate have been established you now just have to enter a profile name/description in the field provided within the provisioning assistant.

    Provisioning Profile Download And Install – On the provisioning profile download and install screen, you simply have to click download in order to obtain your development profile. Now to install the profile ensure that your device is connected, that Xcode is open and then drag the profile into the ‘Organizer’ window. This is all that is required to install the profile, now head back to the provisioning assistant.

    Development Certificate Download And Install – On the development certificate download and install screen, click download just like before to download the certificate. To install the development certificate is extremely easy all you have to do is double-click it and the Keychain Access application will open to confirm you want to install it, at this prompt click ‘OK’.

    Get An App On Your Device – Now that you have configured your development certificate and provisioning profile, all you have to do is ensure that your device is connected to your Mac and go back into Xcode. Next open a project you have been working on, but this time before you click ‘Build and Run’ look at the top left hand side of the screen, click on the ‘Overview’ drop down list and select ‘iPhone Device 3.X.X (Base SDK). Now when you click ‘Build and Run’ your app will be installed on the device, and you will be able to properly test it. To remove the app you can do this as normal by tapping and holding the icon until it shakes and finally hit the ‘X’ to remove it.

2010 – New Year’s Resolutions

I have been thinking about some New Year’s resolutions for 2010 so I have composed the following list.

    1. Learn to use my Canon 450D properly

    2. Finish my iPhone apps and get them in the app store

    3. Attend SXSW in March (flights and platinum badge already purchased)

    4. Attend WWDC in June

    5. Experiment with more software development design patterns

    6. Get digitalrobotsoftware.com up and running

    7. Produce better quality blog posts

    8. Develop a desktop application for OS X

    9. Run more often

    10. In 2009 I have met a lot of great people so I aim to meet lots more in 2010

As New Year’s resolutions are notorious for not being maintained, I have made this list realistic and by the time we reach 2011 hopefully these goals will have been achieved.

iPhone Development: MVC Design Pattern

If you are planning on developing applications for the iPhone chances are you will be familiar with object oriented programming. Design patterns promote code and design reuse along with making an entire application easier to understand and why a certain structure was adopted.

It is important to note that a design pattern is not a blueprint for an application that just has to be written in your development language of choice, but rather a blueprint for how to implement your code in order to enable stronger code maintainability, testing and to avoid a wide range of issues that could otherwise occur with unstructured (spaghetti) code.

The iPhone platform makes use of the Model View Controller (MVC) design pattern.

    Model – Manages the data for the application and how the state of the data should be updated.

    View – Will handle how the data is displayed on the screen.

    Controller – Deals with the inputs from the user such as utilising all the available on screen elements such as buttons and keyboard functions.

With the MVC design pattern it means that when developing for the iPhone you will have a better way of maintaining and testing your applications. Overall this should mean that better quality applications are created.

MVC-JC2

On a side note I used Balsamiq Mockups to create the above diagram, I would highly recommend giving it a try. This has quickly become one of my favourite applications.

Updated: Diagram updated to show two way relationship between model and view (well spotted by David Rice)

Adobe: Creative Suite 4 – Web Premium

Last week I received the Adobe CS4 Web Premium software which I won at the Build Conference, a massive thanks to Giant Training and Adobe for this.

The following is the complete story:

On November 5th I attended the Build conference in Belfast, during the event Ian Sayers from Giant Training held a prize draw for the chance to win a copy of Adobe CS4 Web Premium or Design Premium worth a whopping £1500. I was extremely lucky when Eric Meyer pulled my name out of the box, I seriously couldn’t believe I had won and opted for CS4 Web Premium.

With CS4 a wide range of new and exciting opportunities have presented themselves. I am currently developing several iPhone applications which will now have their entire interface redesigned in PhotoShop which will give them a much more professional presence.

As an amateur photographer I will now have the ability to add a new dimensions to my photos in addition to designing and developing a new website to showcase them.

These tools will significantly help me on a daily basis with all my personal development and design projects.

Many thanks to Giant Training and Adobe!

Jonathan Cusick

CS4

OS X Quick Tip #5 – Read & Write to NTFS HDDs

On the OS X operating system you can read NTFS external drives but you will not be able to write to them by default. There is a simple solution for this that comes in the form of a couple of applications MacFUSE and NTFS-3G.

MacFUSE-NTFS3G

Utlising these tools makes writing to NTFS drives seamless and you won’t have to worry about performing any complex configurations, the NTFS drives will just work as with any other HDD.

Best of all both of these applications can now be installed from a singe source over at SourceForge as part of the Catacombae project.

Enjoy!

My Lucky Streak: Jase Bell – Discussion

I have had an incredibly lucky streak this year where I managed to win an iPhone 3GS at Refresh Belfast which was provided by Ecliptic Labs and then a CS4 Web Premium applications package at the Build Conference from Ian Sayers at Giant Training.

Jase Bell has now created an iPhone app proposal that I feel if developed should be implemented in competitions across the land!

Although in all seriousness I have been extremely lucky at these two events and I am putting both the iPhone and CS4 suite to very good use. Hopefully there will be a post here in the not to distant future referring to the launch of an iPhone application.

OS X Quick Tip #4 – Extend QuickTime Video Support

If you want to extend the video files that QuickTime can support on OS X a great little component to install is Perian.

Perian

Perian also known as ‘The Swiss-Army knife for QuickTime’ is open source and supports a wide range of formats, as stated on their site:

    File formats: AVI, DIVX, FLV, MKV, GVI, VP6, and VFW

    Video types: MS-MPEG4 v1 & v2, DivX, 3ivx, H.264, Sorenson H.263, FLV/Sorenson Spark, FSV1, VP6, H263i, VP3, HuffYUV, FFVHuff, MPEG1 & MPEG2 Video, Fraps, Snow, NuppelVideo, Techsmith Screen Capture, DosBox Capture

    Audio types: Windows Media Audio v1 & v2, Flash ADPCM, Xiph Vorbis (in Matroska), and MPEG Layer I & II Audio, True Audio, DTS Coherent Acoustics, Nellymoser ASAO

    AVI support for: AAC, AC3 Audio, H.264, MPEG4, and VBR MP3

    Subtitle support for SSA/ASS and SRT

The Perian control panel can be accessed from the ‘Other’ section of your system preferences.

Enjoy!

OS X Quick Tip #3 – Show/Hide Hidden Files

In OS X there is a very easy method that can be used in order to show and hide hidden files.

First open a terminal from your Applications->Utilities folder:

Terminal

Once you have a terminal opened enter the following command to show all files:

defaults write com.apple.finder AppleShowAllFiles TRUE

If you want to hide the system files again simply change the ‘True’ parameter to ‘False’ when entering the command into the terminal:

defaults write com.apple.finder AppleShowAllFiles FALSE

This may require you to log out and log in again to see the results.