Invisible Shield

When I got my iPhone I went looking for a case that ideally would not make the iPhone much more thicker than necessary, protected the screen from fingerprints and scratches and generally didn’t suck. It took a while but after reading reviews I settled on using the Invisible Shield by Zagg.

Good

The Invisible Shield protects my iPhone quite well against scratches against keys and well near anything that doesn’t actually slice the material itself. While often the scratch will be visible, running your thumb over the scratch or just giving the material time will have the scratch disappear like it never existed. It’s remarkably resilient to scuffs as well as often wiping away the offending scuff will cause it to disappear, or if dirty a little bit of water will work as well.

It’s also exceptionally thin and clear leaving the screen of the iPhone easy to see underneath it’s protective layer. Additionally dirt, dust, and other cosmetic annoyances can be easily washes or wiped off the screen just like the glass screen on the iPhone.

I prefer the slightly more tactile feel of the material (and if applied to the back as well if applied) as it gives a better sense of tactile feedback on the touch screen. It feels like you’re moving your finger across the screen a certain amount - much akin to using a scroll wheel on a mouse with grooves versus one that was completely smooth. The additional traction also makes the iPhone easier to hold - especially with your finger tips.

Bad

The suckers are hard to apply - compared to just slipping your iPhone into a case the initial time investment is pretty steep. However if you spend the 5 minutes reading the instructions and/or watching the video instructions on their website and then take your time applying it on the iPhone you’ll avoid the major issues of dust, air bubbles and streaks.

Between all the Invisible Shield’s I’ve installed I’ve seen all 3 major issues and all were my fault and thankfully if you’re paying attention can be avoided by taking the screen off and restarting the procedure over before it has time to start to set (according to the instructions). Having air bubbles or dust under the screen is really distracting but I find the streaks the most annoying if only because they aren’t obvious until you’re looking intently at the screen by watching a movie, reading text or something similar. I’ve found they happen when you pull the shield too taunt and are different then the streaks you get after installation.

After installation you will notice there are streaks on the screen that take a couple days to go away. These are normal and I’ve found will go in the direction that you used the squeegee to push out the excess liquid. So for the first couple days they can be a bit annoying as the streaks will distort the colour of some pixels making it seem as if there are razor thin lines of green or red at certain points. Thankfully after a while for the iPhone and the shield to get used to each other it disappears. I’ve also noticed that until this happens as well the quality of the iPhone screen will appear slightly fuzzy - not bad but as if the anti-alias filter was set a notch or two off optimum.

I’ve found that over time the screen likes to grab and hold onto oil and dust requiring wiping. The slight fuzzy appearance of elements on the iPhone comes back as well because of the oil but after cleaning it’s back to where it should be.

The biggest downside I’ve found is that they are not realistically reusable. For example each time I’ve had my iPhone replaced I’ve had to take the old one off and it would stick to itself creating a nice ball of Invisible Shield destined for the garbage requiring me to shell out another $25-$30 CAD for a new one. Be prepared to buy a new one if you have to replace your device.

Conclusion

So of all the faults with the Invisible Shield (which I find are more caveats than faults) I heartily recommend it because it’s unobtrusive and works exceptionally well. After having purchased 4 of them and applying them on 4 different iPhones I’ve still come back to the Invisible Shield every time.

iPhone Restoration : Restoring Home Screen Layout (Pre 3.0)

After having gone through 3 iPhones and countless restores of different iPhones and iPod touches I had to get to the bottom of how to restore my layout of my apps on my home screens.

The Cause

When you restore your iPhone / iPod touch to it’s factory defaults the device is not connected to an iTunes account. When you restore it from your backup (to put your apps and info back on) it will load anything that does not require authorization through the iTunes store (with the exception of free apps - though purchased from the iTunes Store they seem to get loaded anyway). So when you finish a Restore From Backup the first time around it will not load any paid apps or music until it’s authorized. It does it’s authorizations seemingly right after you’ve restored it as it accesses the iTunes Store as if it was just plugged in. Why that has no effect on purchased music I’ve no idea.

In the end you’re left with a phone / iPod that has only part of the data it had on it before and requires you to press Sync again to put your paid applications and purchased music on to it. The biggest issue here is that if you have any data stored in that application, like say Things, or high scores from a game, or just find reorganizing your home layout frustrating you’re out of luck. The paid apps are installed anew, and placed one at a time into the earliest empty spot on your home screens. Frustrating. Thankfully there is a workaround.

The Workaround

  1. Perform a backup before you restore.
  2. After restoring your Phone to the whichever OS version
  3. Restore from your backup (you can cancel syncing music when this part finishes - it will start up again after the next step)
  4. Restore once more - you may see two backups to choose from as it would have created a backup after the restoring. Choose the one that would have a timestamp just before you do the restore.

Annoying because a restore from backup may take as long as 5 or 6 minutes but at least you aren’t stuck reorganizing your applications the way you wanted them again.

EDIT: From what I can gather 3.0 has fixed this issue.

iPhone Cryptic Error : Invalid Recipient

While I really enjoy my iPhone’s ease of use it does spit some really cryptic errors sometimes. Namely one I’ve kept running into after changing over my domains to the new Shared Accelerators from Joyent which changed my SMTP information.

For some reason my new SMTP information just wouldn’t sync to my iPhone correctly - at best the server info will but the username and password were blank. I’m not 100% certain that the error is not exclusive to Joyebt’s email servers as I have seen it on another server as well - but when the username or password is wrong when attempting to send uemail you are presented with the following error:

“One of the recipient addresses was invalid”

Frustrating and exceedingly cryptic, but if I write it down then I might actually remember what the error means next time.

Tethering your iPhone : Experiences

Update: Nov. 17th, 2008 - PDANet 1.4.0 allows VPN access, however at first look it doesn’t work correctly with VPN Tracker 5.

One of the biggest benefits of my iPhone that I’ve been waiting vainly to try was the ability to tether my iPhone to my laptop so I could access the net from anywhere in case of an emergency - whether it be a server at work or a life or death flash video that isn’t on YouTube. It’s also very worthwhile to note that this will suck your iPhone’s battery faster than anyone would like - for me it lasts about 2.5 hours as both the WiFi and 3G antennae are in heavy use.

It should be noted that all the present options require jailbreaking your iPhone which is not without its caveats and primarily a reason I want an official solution simply because if Apple breaks the jailbreak during an upgrade you’re forced to wait for the iPhone dev team (it’s amazing the work they’ve done) to be able to get a patch out so they can still jailbreak themselves. The good news on this front is the current jailbreak they have is quite resilient as the current jailbreak method they are using can’t be fixed with software. (Although iTunes 8 does look for jailbroken ipsws and tries to stop them). For more details on the jailbreaking process I recommend checking out the iPhone Dev Team’s Blog

PDANet 1.3.3

By June Fabrics PDA Technology Group
Homepage | Available through Cydia

Pros:

  • Very easy to use
  • Very little setup - only need to have the iPhone connect to your laptop’s created wireless network
  • Keeps working even after the iPhone’s screen has turned off.

Cons:

  • Does not work with VPN (deal breaker) - IPSec Passthrough does not work
  • Some Terminal commands do not work - eg. can not ping
  • Can not use your iPhone for anything else without disrupting connectivity.

Using ssh and SOCKS

Sample Instructions | Requires OpenSSH to be installed on your iPhone
Linked are some instructions on how to do this - I’ve done this before as a poor man’s VPN before so it was straightforward.

Pros:

  • Easy setup (as OpenSSH is installed by default when jailbreaking now)
  • Keeps working even after the iPhone’s screen has turned off. Not 100% reliable though.
  • You can still use your iPhone

Cons:

  • For those unfamiliar or comfortable with the Terminal it may be a bit confusing.
  • Does not work with VPN (deal breaker) - IPSec Passthrough does not work

3proxy

Sample Instructions | Available via Cydia

Very similar to simply using the ssh setup - but uses 169.254.x.x and port 1080 for your SOCKS Proxy.

Pros:

  • It works
  • Can still use your iPhone

Cons:

  • Requires more setup (downloading and installing 3proxy).
  • Requires use of Mobile Terminal. The instructions require force quitting Mobile Terminal, but if you added a & at the end of the command you could then run jobs -p when you want to quit, see the process id and type kill PID (where PID is that number that jobs -p gave you).
  • Does not work with VPN - IPSec Passthrough does not work

iPhoneModem zsrelay

Homepage | Part a download for OS X (or use PuTTY on Windows) and part iPhone app on Cydia.

Note: There is another iPhoneModem application by Addition that exists that costs $9.99 and as far as I can tell has nothing to offer that the free options here don’t have.

The Mac application side is only required if you’d like to secure the connection between your computer and the iPhone. It will use ssh to secure the connection between the two to start and then puts WEP on the ad-hoc network created as well to help discourage anybody jumping on to the network. (WEP may not be secure but the network I really doubt is going to be around for longer than a brief period of time).

Pros:

  • Nicest setup
  • You can still use your iPhone
  • Secure connection between your computer and the iPhone

Cons:

  • Harder setup in comparison to other options
  • Advanced Settings on the iPhone has a download counter that appears to reset whenever you leave that page but updates properly once more data is used.
  • As with all these options that just use proxies - VPN (IPSec) is not allowed over SOCKS.
  • Slow setup - and more involved.

NetShare

The original tethering application that was available on the App Store. I opted to not try and install NetShare on my iPhone because even though it’s not publicly available to buy anymore it’s still illegal.

Conclusions

Of the options available iPhoneModem zsrelay is the nicest setup with a good mix of security, ease of use and other features however the easiest to set up and use is hands down PDANet. The unfortunate portion for me is that none of them will allow me to use VPN Tracker to connect to the VPN server at work. Personally I’ll stick with PDANet as it’s the least invasive

kCFErrorDomainCFNetwork: 302

After seeing this error popping up a lot while having issues with my internet connection dropping packets left and right I searched CFNetworkErrors.h for what the error code meant (since Google didn’t say much other than it appeared in 10.5.3). The line in question is: kCFErrorHTTPConnectionLost = 302,

So if you get kCFErrorDomainCFNetwork: 302 errors, it’s because the HTTP connection was lost somewhere along the way. As to what causes it can really definitely seem like voodoo.