Friday, 31 July 2009

iPhone SMS hack

I 've downloaded the PDF file that explains in full detail the SMS hack.

You can find it here : SMS hack.pdf

Now 4 caveats :

1) They tested it in lab environment, so not by sending real SMS's over a carrier (because that cost money :-) )

2) If some hacker really wants to exploit this he will need a lot of phonenumbers (and cash to send the SMS)

3) The hacker his identity will be quickly revealed as sending of SMS is not anonymous at all.

4) The only thing that the paper described is how to crash an iPhone (and Android GSM) not really taking over the thing. It will be a hard thing to do to really send a program over a carrier via SMS to actually take over an iPhone or an Android GSM 

Saturday, 25 July 2009

iPhone user experience

For those developing for the iPhone and struggeling with the UI, I found here a cool article : http://www.smashingmagazine.com/2009/07/21/iphone-apps-design-mistakes-overblown-visuals/

Tuesday, 21 July 2009

Multitasking for the iPhone: something simple

We all known that the iPhone/iPod has a much slower CPU than a 'standard' Mac or PC. So this means that the user experience can be a bit sluggish.
So when we have for example a time consuming task it comes in handy to use some multi-tasking capabilities built in , in Cocoa Touch.

However ,  I found out for myself a simpler and less difficult method of giving the user a good experience and still doing a lengthy task.
Of course this method only applies to tasks which takes 2-4 seconds , for longer tasks you'll need NSThread.

The trick I do is that I use an UIActivityIndicatorView somewhere on the screen so when a user 'sees' the screen he in fact see the spinning gear.
In the mean time the implementation of the time consuming task I do in the viewDidAppear: method.

So what happens is that the user sees a UI with something moving (the gear) so he knows that the application is actually doing something, and if it only takes 2 to 4 seconds he will never get frustrated.

I found this much easier than going to the route of NSThread with all the difficulties of locking of shared variables etc.