Archive for the ‘programming’ Category

iSDK - Beta 5 alive

Friday, May 16th, 2008

Iphone SDK LogoI usually try and give a few comments on each of the new iPhone software development kits that are released and was putting something together for the fourth version when all of a sudden they released a new one.

The fourth version fixed a large number of bugs within the development kit and made it a lot more stable and even added a proper Interface Builder for the iPhone, but this new, beta 5 version, cements that even more and then some. It may even be getting close to an actual release candidate.

You now use OpenGL | ES on the iPhone simulator and it works a treat. The main thing to remember is that the simulator runs a lot faster than the actual device. I don’t know why they couldn’t have throttled the speed to match more closely the actual device.

I’ve been running the new version 5 for around a week now and haven’t found any real problems with it. It handles certain things differently than before and you end up having to go through everything re-coding your work just to get it working again, but this is, as they say, still a beta version.

iSDK - Third time lucky

Tuesday, April 15th, 2008

A few days after posting my “Where Fools Fear to Tread” blog a third beta release of the iPhone SDK was released and I have to say that it is a much more stable release than the second. I’ve not had any problems at all with this one. In fact, it seems to compile more quickly and launch faster too.

A friend of mine was so lucky to receive their development certificate. Am I in the least bit jealous, YES. With this little electronic signature I would be able to try out the accelerometers and OpenGL 3D work, but hay, in the meantime I’ll just keep working through the APIs.

Doing a few small projects based on the iSDK just to get my head around the touch interface, Core Animation on such a small screen and a few others. The team at Infurious are hoping to have something ready for the launch of Apples AppStore, or shortly afterwards.

I’ll keep you posted.

Where fools fear to tread

Tuesday, April 1st, 2008

It has been a few days now since I downloaded the most recent beta build of Apples iPhone SDK. I would love to say how much of a change there has been and how much more stable it feels, but not so.

It has to be said, that when developing using a beta release of anything, it’s best to use a dedicated machine. Well, taking this advice on board, I installed the original iSDK on my main machine and it worked fine, rather limited, but worked.

The latest beta release arrived with much anticipation. Feeling and expecting this version to be just as stable, it went on my main machine. Oops. A large number of basic functions had stopped working. Then the crashes started happening, just couldn’t figure what went wrong. It just got to the point that I have to wipe my hard drive and reinstall Leopard and the original version of the iSDK.

Two hours later and my problem iPhone app now works without any hitches. Now to clean up the code and find a development machine to work on.

New iPhone SDK

Friday, March 28th, 2008

A new version of the iPhone SDK was released today and the strange thing here is, I’m getting about 1 - 1.5Mb/sec download, so the whole process was about 20ish minutes. Others closer to the source in the states were seeing download speeds as low as 90Kb/per second.

Well the new version has the Interface Builder application, needed to create user interfaces for the phone. Will be interesting to see how this pans out. Looking forward to any improved frameworks as a number of key headers are missing from the original beta release.

More updates soon.

iPhone SDK

Monday, March 10th, 2008

Iphone SDK LogoProbably one of the most anticipated software releases from Apple happened on Thursday 6th March. Apple released their beta version of the iPhone SDK, software development kit.

Steve Jobs, along with Phil Schiller and Scott Forstall, showed what we can expect with the new version 2.0 iPhone/iTouch firmware to be released in June. Phil Schiller kicked it all off by going through the enterprise additions to the iPhone. Here we see practically everything the was missing and then some. This as far as I can tell is going to make a reasonable sized dent in the Blackbury RIM market.

The real interesting bit of the presentation, well at least for me, was the presentation given by Scott. Here he gave a fairly detailed review of the SDK, I'll cover that in more detail in a later blog post. Let's just say that it was fantastic. Along with Scott was a few companies that were given a two week pre release of the SDK and asked what could be done with it. The results was really amazing.

First up was an Scott himself. Here he showed of a space shooter game in 3D using OpenGL|ES. The movement was very smooth and the shooting action solid enough to be enjoyable. One of the interesting points he made was the fact that it was also using OpenAL for sound. This gives a full 3D sound spectrum.

Electronic Arts Spore GameElectronic Arts was next up showing their iPhone version of Spore. Travis Boatman was responsible for this one.

In Spore you control a micro organism from the early dawn of life in the big soup bowl. You have to control your spore and help keep it safe and grow. The neat aspect of this game is the control mechanism. Spore uses the iPhones 3D axis accelerometers to control movement. At certain points in the game you have the ability to add custom parts to your spore to help it evolve. There are a total of 18 levels in this game and to think that all this was programmed in 2 weeks on an unknown software platform. This looks to be one great looking small game.

Sales Force Automation ApplicationSalesforce.com represented the vertical markets. Chuck Dietrich showed what they had managed to accomplish in less than the two week period.

Salesforce are looking to bring their 63,000 plus applications to the iPhone. Chuck showed one of their sales applications. This Sales Force Automation application is used to store sales persons contacts, sales records, target levels, and a whole slew of other sales and marketing information.

AOL Instant MessengerRizwan Sattar from AOL showed of their instant messenger for the iPhone. You have complete access it your buddy lists, check who is online/offline and set your profile. One of the neat features is the ability to change your buddy icon using the image picker built in the iPhone, or even take a picture with the built in camera.

Epocrates drug informationEpocrates was something I wasn't expecting, actually I've never heard of the product in my life, but according to Glenn Keighley, over half a million health care professionals and 1 in 4 physicians in the US use it. Epocrates is a drug encyclopedia containing over 3,300 of the most popular prescribed drugs in the US. This database can be searched and photos available showing what the drug looks like. It can even show the doctor how mixing different drugs can effect the patient.

Sega Monkey Ball gameLast but not least was Sega with an iPhone version of Super Monkey Ball. Ethan Einhorn showed a very playable version of the game using the same control mechanism as EA's Spore above. The big difference here is it's a full 3D visual experience.

According to Ethan, he was totally surprised as to the power of the iPhone and he stated that it wasn't a cell phone game but a console game. They even flew in a graphic artist to help scale up the visuals because of the shear power of the device.

Steve Jobs finished up the presentation by describing how they are going to handle the distribution of iPhone Apps. The only way to get your app in front of every customer will be through their 'App Store'.

Apple will take care of hosting, distribution credit card handling and providing free update service. For this they will be take a 70/30 percent split, which for the most art seems quite reasonable. Other blog posts seem to find this a bit of a take on, but for what your getting I think its a good deal. If however your providing freeware or shareware applications then these will be hosted free of charge.

Accessing Cocoa from Carbon from Cocoa

Monday, November 5th, 2007

The title of this blog may take a little explaining.

I was looking to include a Carbon routine within my Cocoa application, but this routine needed to have access to both my instance variables and other Class methods. It is straight forward to use Cocoa commands in your Carbon routine, as long as they’re declared from within the routine itself. You have no access to the object reference “self”. This refers to the object in which your code resides.

In order to achieve this you first need to create a Class method and an instance init method within your Class. Here I have a Class called AppController where my Carbon routine is located. I add the following code;

+ (AppController *) sharedController
{
    return sharedController;
}

- (id) init
{
    self = [super init];
    sharedController = self;

    // Any other initialiser code needed

    return self;
}

Now from within my Carbon routine a new AppController class is created called controller. I can now use this controller class in place of “self”. This gives me access to all my instance variables and methods.

void MyCarbonRoutine
{
    AppController *controller;
    controller = [[AppController alloc] init];
    [controller aCocoaRoutine];

    // Any other coding needed here

    [controller release];
}

Remember to release your controller class before leaving the Carbon routine or you could end up with all sort of problems.