Cocoa Days 2

I’m not too embarrassed by this. It’s a derivative of the first example from Cocoa Programming for Mac OS X, 2nd Edition. I’m not embarrassed because I did it by the book and then trialled and erred my way into producing this. All it does is give you a random number (seeded by the time) … Continue reading “Cocoa Days 2”

I’m not too embarrassed by this. It’s a derivative of the first example from Cocoa Programming for Mac OS X, 2nd Edition. I’m not embarrassed because I did it by the book and then trialled and erred my way into producing this.

All it does is give you a random number (seeded by the time) and present it on screen. In big numbers. Between 1 and 100. That could be a BRP dice-roller! I’m going to work on a couple more iterations of this before moving onto the next project. I need to figure out how to call a function ..er… method from within a function because I want the ‘generate random number’ function to fire at start (using the awakeFromNib) and yet I don’t want to duplicate my generate code in there.

That’s something to look at while the nippers are chowing down on something unwholesome.

Developing for iPhone?

Staying Connected is Michael Connick’s blog. As Mike Cane puts it: For all iPhone users, I heartily recommend Michael Connick’s Staying Connected blog. He has an uncanny knack of finding sites that have been optimized for the iPhone. I learn something new with each of his posts. I’ve held back on getting too much into … Continue reading “Developing for iPhone?”

Staying Connected is Michael Connick’s blog. As Mike Cane puts it:

For all iPhone users, I heartily recommend Michael Connick’s Staying Connected blog. He has an uncanny knack of finding sites that have been optimized for the iPhone. I learn something new with each of his posts.

I’ve held back on getting too much into iPhone/iPod touch web apps since they were announced as the SDK at WWDC2007. Reason being: I knew it was a lie.

I knew we’d just have to wait for the proper SDK and I knew I’d have to wait for an app to arrive. What is for sure is that I don’t want to have to rely on spotty coverage with EDGE or 3G in order to use the apps I need every day (and there are certain parts of my workplace where there is no EDGE or 3G signal at all). In truth, it’s quite hard to ‘stay connected’ in Northern Ireland.

I think that’s why I’m so excited about this push update service which is being provided by Apple, apparently free of charge. But this also tells me why there seems to be a developer acceptance rate of just 16%. (based on 25 000 applications and 4000 acceptances).

One comment from Kirk:

I have been developing iPhone apps full time since the SDK was announced and applied for the developer program on day 1. However, it is now less than 1 month until the App Store opens and I wonder if I have wasted all this time developing apps that I won’t be able to market. I am beginning to think I should cut my losses and switch to the Android platform. Very frustrating.

And this worries me as well. I’m motivated enough to really give Cocoa a good try this time around but not being able to deploy my poorly thought-out apps is something that gives me pause. And this is going to be the case – Apple has a team of QA people deciding which apps will make it into the store and which won’t. In the interim, I can’t even test my apps on my own iPhone. So what’s worse – developing for a platform where you may never get to ship or developing for a platform that doesn’t exist and will take a long time to get the same penetration (and be inundated with hardware-variation-related support requests)?

However, allegedly Steve said:

Only a limited number of developers will get certificates now (we just can’t support all of the requests we’ve received). Almost every developer will get a certificate when we ship in June.

which does make me feel a lot better about the whole thing. I’m a true believer, me. I trust Steve Jobs to not lie to me.

Apple does need to address the ‘community’ aspect of Developer Relations. Having the iPhone SDK in closed beta and NDA’ed out the wazoo only hurt the good guys who silently struggled with bugs and couldn’t talk to anyone about them. It wouldn’t hard for them to put a discussion forum behind the ADC portal.

Apps are coming to the iPhone. Proper apps. You won’t have to put up with the crappy EDGE connection when trying to fit in a quick game of Bejeweled while in the lunch queue or being faced with 25 minutes of boredom because you have to wait somewhere and all of your media is longer than that and you don’t want to split it.

I think there’s a very real opportunity for some individuals and small businesses out there to really shine. The App Store provides a great leveller so that someone coming along with great ideas, great code and great marketing could just rise to the top of the lists. It’s a new platform, folks. How often do they come along?

Start Small.

DHH writes that it doesn’t have to be all or nothing with a startup: Startup mythology demands that to create something great, you need superhuman sacrifices. You need to work for no pay, you need to put in 120 hours/week, you need to preferably sleep under the desk and live off pizza as a sole … Continue reading “Start Small.”

DHH writes that it doesn’t have to be all or nothing with a startup:

Startup mythology demands that to create something great, you need superhuman sacrifices. You need to work for no pay, you need to put in 120 hours/week, you need to preferably sleep under the desk and live off pizza as a sole form of nutrient. As a result, you need to abandon your family and risk life without insurance.

So don’t despair, just start small. Reserve a couple of nights per week, a Sunday morning here, and a day from vacation time there. It’s never been cheaper or faster to build a web startup, it’s never been more possible to do it as a side-business.

Water

Following this link at Calacanis.com I have resolved never to buy bottled water again. I’d previously been avoiding buying soft drinks and juices for health reasons and resorting to water but it seems like my conscience is going to restrict that. I’m going to have to be a bit more prepared when I’m out and … Continue reading “Water”

Following this link at Calacanis.com I have resolved never to buy bottled water again.

I’d previously been avoiding buying soft drinks and juices for health reasons and resorting to water but it seems like my conscience is going to restrict that.

I’m going to have to be a bit more prepared when I’m out and about. And how to keep that water cool?

Context over Dogma

BMW’s ‘shapeshifting’ car, GINA asks a lot of forthright questions, shattering a lot of assumptions. Why does a car’s skin have to be metal? – To be more resistant to the arseholes who are going to run their pen-knife down your paintwork. Why do we go to a car-wash when we can go to a … Continue reading “Context over Dogma”

BMW’s ‘shapeshifting’ car, GINA asks a lot of forthright questions, shattering a lot of assumptions.

  1. Why does a car’s skin have to be metal? – To be more resistant to the arseholes who are going to run their pen-knife down your paintwork.
  2. Why do we go to a car-wash when we can go to a laundry? – because it takes two hours to put this skin back on after you’ve put it on a whites wash at forty degrees for an hour.

You get the idea. I am being harsh there though I love this concept – not only the car itself but also the concepts of challenging assumptions. I’m not going to bluster and say that challenging assumptions was always a success for me – but it was better than the alternative – of just following dogma and allowing the unshaped materials I had to wholly define the end product. At the end of the day, it takes a sculptor’s skill to release the statue within the stone.

The cool thing is that they asked these questions and then got the greenlight to produce a prototype. Who’d really have thought to see something innovative out of the car industry these days?

‘IT Support’ doesn’t have to be boring

Gus Mueller twittered this great Flickr set from Mikey, the support guy at Panic. This one is my inspiration. Related posts: 6/100 How Flickr Did it Right Top 10 reasons for IT to support the iPhone Technical Co-Founders Developing for iPhone?

Gus Mueller twittered this great Flickr set from Mikey, the support guy at Panic.

This one is my inspiration.

iPhone woe

I had a problem with my iPhone last night. The 123, space bar and Return key were not working on the software keyboard – they just didn’t respond. There was nothing physically wrong with the device because if you opened Safari, the bottom bar worked fine – so the hardware was functioning. This problem meant … Continue reading “iPhone woe”

I had a problem with my iPhone last night.

The 123, space bar and Return key were not working on the software keyboard – they just didn’t respond. There was nothing physically wrong with the device because if you opened Safari, the bottom bar worked fine – so the hardware was functioning. This problem meant I couldn’t use spaces, returns, numbers or punctuation in SMS texts, emails or entering web addresses. That turned the iPhone into a ‘phone’.

So, I backed up, restored the firmware. No go. I reasoned there must be something wrong with my software configuration – maybe a corrupt preference file or something. I even tried changing my default keyboard to “UK” to see if that made a difference.

Restored to a factory default version of the software. No go. This was getting curious. I was getting curious. I couldn’t understand why the bottom row area would work in some applications but not in others and why it only seemed to affect the keyboard.

Repeated this twice more. No go. I’m beyond curious now and just frustrated.

I phoned Apple. They tell me they will ship out a replacement iPhone for me to borrow for the princely sum of £20. And take the imprint of my credit card number just in case. The girl estimates the repair to take 5-7 days. She said I could get it quicker if I went to an Apple Store (we won’t have one of those in Belfast til late summer. Or an O2 store. Where they will take the phone and post it off, handing me back a naked SIM card. For a £25 deposit, I can borrow one of their loaner handsets – which I’ll get back when my iPhone comes back.

As I need a phone and don’t have an unlocked handset around (or another O2 locked handset), I went for the O2 option. Note I had to go to O2 in Bangor (unhelpful), ring O2 in Bloomfield (unhelpful) and then drive over to Newtownards to the O2 store where Colin and Christina were very helpful and got me sorted out with an outgoing repair to Apple and a spare handset.

So, here it is.

Sleek curves. Massive screen. No Bluetooth. But it has a camera and can do MMS.

Brilliant.

Cocoa Days

I’m working my way finally through the Hillegass Cocoa book – but of course my 2nd Edition arrived 4 months ago and I never had the chance to read it and 3rd Edition is out and covers the new XCode so I’m going to be fighting an uphill struggle. I’ll order 3rd Edition after payday. … Continue reading “Cocoa Days”

I’m working my way finally through the Hillegass Cocoa book – but of course my 2nd Edition arrived 4 months ago and I never had the chance to read it and 3rd Edition is out and covers the new XCode so I’m going to be fighting an uphill struggle. I’ll order 3rd Edition after payday.

I find code to be hard. My schedule doesn’t allow for me to be consistent in my approach to learning and so I find myself flailing back and forth, trying to remember the stuff I wrote last time round and spending half my allotted time re-learning. It doesn’t stick much. I’m now convinced I need a mentor to do this who will work through the examples with me, advise me left and right and not get all het up when I’ve had a crap week and didn’t get the chance to sit down and work through examples.

My first problem comes with expectations. If I’m control-dragging connections to the left and right in Interface Builder, I was expecting some code to be generated. Instead I have to manually add these things.

My second problem comes with pre-generated code. It added in an import for UIKit/UIKit.h for some reason – and then when I hit Compile, it burped and complained about UIKit. Claimed it couldn’t find it. To which I say “Well, don’t frigging look at me, you put it in there????” This sort of thing frustrates me -especially when I realise it compiles fine when I change that to Cocoa/Cocoa.h.

Brilliant.

This error has nothing to do with using the 2nd Edition book. It’s a subclass of NSObject which comes with the UIKit.h reference which XCode subsequently has a kitten about. That’s just stupid. So either there’s something wrong with my XCode (entirely possible) or I’m just the worst coder in the world.

I’d say it’s even odds.

[And the result is in. I’m the worst programmer in the world. I’d added a Cocoa Touch NSObject subclass to my Mac application. Cocoa Touch has UIKit.h. Cocoa has Cocoa.h. I feel stupid now but I have to chalk it up to some sort of learning experience.]

HSDPA coverage in NI

O2’s network maps for HSDPA are a little frustrating. For one thing, they won’t show you a map of the whole country, only little segments 7.5 km wide. The big deal for me is that when you’re in a 3G area, you can surf the web and also make/receive calls at the same time. The … Continue reading “HSDPA coverage in NI”

O2’s network maps for HSDPA are a little frustrating. For one thing, they won’t show you a map of the whole country, only little segments 7.5 km wide.

The big deal for me is that when you’re in a 3G area, you can surf the web and also make/receive calls at the same time. The current EDGE-based iPhone can do one or the other; that is you can’t start browsing the web on your phone while you’re using it for a telephone call. Yes, this is a real need!

What does this mean for speeds? Rumour has it that O2’s implementation has a theoretical peak of 3.6 Mbps (about 400 kilobytes per second) but their mobilebroadband USB modem package, which also uses HSDPA, tops out at 1.8 Mbps. That’s not quite as impressive but then again, beats the pants off EDGE. O2 also specifically prohibit streaming and VoIP applications over their 3G network.

O2’s roaming charges for data aren’t too bad these days. For countries in Europe it’s £3 per megabyte and outside of that, £6 per megabyte. Considering that since October 2007 I’ve consumed less than 1 gigabyte of data, I’m not worried about the additional charges for roaming while I’m on holiday for two weeks in August.

I’m going to pop into an O2 store later this week – have a go at their 3G demo machine and ask some questions. Last time I tried a 3G demo machine was in the Three (3) shop in Castlecourt and my iPhone beat Windows on 3G for rendering a web site – so you can imagine how slow the 3G was. Not very impressive. Now…O2’s infrastructure provides Three (3)’s 2G network and a little birdie told me that Orange provide the backbone for their 3G network so the 3G performance I noted may not be indicative.

If you’re in Belfast, say, around QUB, you’re going to do okay.

but coverage gets very patchy outside of the town centre in Bangor (where I live). In fact, my house is right in the middle of one of the big white areas there so I’m going to have to rely on WiFi or (god forbid) dialling down to EDGE or GPRS.

and where my parents live in Lisburn is just … barren. For what it’s worth, they live about 200 metres away from that green B101 label in the centre of the map. It doesn’t look like they’re going to be enjoying HSDPA speeds any time soon!

and I’m thankful that Mac-Sys Ltd will give you their WiFi password if you ask them nicely because coverage in Newtownabbey really depends. As soon as you start seeing grass, the coverage simply ends.

The saving grace is that O2’s mobile broadband contract also covers the Cloud hotspots (which there are quite a few of these days) and the iPhone contract will also cover BT OpenZone hotspots from July 11th (give or take a few days). Pretty soon, we’ll have wireless everywhere.

So, go on, pop along to O2’s network maps for HSDPA and post your area coverage. Drop me a link or a pingback so we can see what’s happening!

Snow Leopard: the next version of Mac OS X – due 2009

Apple has some teasers about Mac OS X 10.6: Snow Leopard and Snow Leopard Server Microsoft Exchange Support – Snow Leopard includes out-of-the-box support for Microsoft Exchange 2007 built into Mail, Address Book, and iCal. Mac OS X uses the Exchange Web Services protocol to provide access to Exchange Server 2007. Because Exchange is supported … Continue reading “Snow Leopard: the next version of Mac OS X – due 2009”

Apple has some teasers about Mac OS X 10.6: Snow Leopard and Snow Leopard Server

  1. Microsoft Exchange Support – Snow Leopard includes out-of-the-box support for Microsoft Exchange 2007 built into Mail, Address Book, and iCal. Mac OS X uses the Exchange Web Services protocol to provide access to Exchange Server 2007. Because Exchange is supported on your Mac and iPhone, you’ll be able to use them anywhere with full access to your email, contacts, and calendar.
  2. New Media Layer – Snow Leopard introduces QuickTime X, a streamlined, next-generation platform that advances modern media and Internet standards. QuickTime X features optimized support for modern codecs and more efficient media playback, making it ideal for any application that needs to play media content.
  3. OpenCL (Open Compute Library), makes it possible for developers to efficiently tap the vast gigaflops of computing power currently locked up in the graphics processing unit (GPU).
  4. iCal Server 2 – the next major release of iCal Server, which includes group and shared calendars, push notifications, the ability to send email invitations to non-iCal Server users, and a browser-based application that lets users access their calendars on the web when they’re away from their Mac.
  5. Address Book Server – Based on the emerging CardDAV specification, which uses WebDAV to exchange vCards, Address Book Server lets users share personal and group contacts across multiple computers and remotely access contact information without the schema limitations and security issues associated with LDAP.
  6. ZFS – Snow Leopard Server adds read and write support for the high-performance, 128-bit ZFS file system, which includes advanced features such as storage pooling, data redundancy, automatic error correction, dynamic volume expansion, and snapshots.