I’ve decided to cave-in and buy a new iPhone, I’m really looking forward to being able to code for it and the UI, but it’s the day after the announcement of the device and with a bit of sober thought, I’ve come to the conclusion that it will be a downgrade from my current phone (Nokia E61) and 1st gen iPod Nano: here’s why:
3G - the E61 which I’ve had for a couple of years has 3G, so this is just catching up really.
The E61 speaks the name of the caller, this is especially useful in the car.
The E61 has voice recognition, again, very useful in the car when you want to dial by voice.
The iPhone has no concept of profiles - the E61 will switch to the profile of your choice when it connects to a carkit, I like having a different set of tones when in the car.
The iPhone doesn’t do MMS. I don’t use it often, but I do use it.
The iPhone doesn’t act as a bluetooth modem. With a third-party app (Joikuspot) I can even get my E61 to act as a 3G wifi hotspot.
The iPhone doesn’t do sending of files via bluetooth - This astounds me, I mean really astounds me. I send contacts/photos/audio files from my phone to other bluetooth devices all the time.
My iPod Nano has a remote with FM radio, will this work on the iPhone? I doubt it.
The iPhone is only available on O2. Carrier locking is EVIL! Handsets should never, never be tightly coupled with networks, this goes against the whole GSM ethos. O2 gets no coverage in the part of the country in which I’m interested. I should be able to choose the handset that suits me and the network that suits me.
There are upsides though - the iPhone has a camera which the E61 doesn’t, although inexplicably it doesn’t do video and is only 2MPixels. The E61’s mail client is not that good. The iPhone has built-in GPS.
I hit this *so* many times and it always drives me mad. Here’s the thing: email addresses are not case-sensistive. i.e. FOO@.BAR.COM is the same as foo@bar.com and FoO@bAr.CoM
Web designers always seem to forget this though - and it’s incredibly irritating, especially if you have a browser which has some form of ‘remember my details and auto-complete them’ function.
I can understand why it happens though, and here’s why. As a coder you think of things in terms of types and logic.
Types: Number-types are generally either floats (floating point numbers: 1.2, 3.1415, etc…) or integers (whole numbers 1, 2, 100232 etc…). Computers ‘think’ of numbers differently depending on whether they are whole number or not. Bits of text are often thought of as ’strings’ (’strings’ of characters) - think of a string of pearls where each pearl is a character.
Logic: Coders use logic to define behaviour in code - they set down rules for the computer to follow. i.e. ‘if this thing over here is equal to that thing over there then do this other thing.’ Many of these logical statements are combined to create behaviours that make-up software products - from your mobile phone, to this weblog, to your TV.
Anyway - back to the point - humans forget that computers see things in different ways - the human brain with it’s amazing ability for language and symbol analysis sees ‘Hello’ as having the same meaning as ‘hello’, whereas to a computer these two strings are completely different, so to a computer the correct response to the question ” is ‘Hello’ equal to ‘hello’ ” is “No.” Normally that’s fine in logic terms - the two strings are not identical - but when it comes to email addresses - this logic lets us down. It doesn’t matter what case the letters are, what we should be asking the computer is “does this string that the user gave *spell* the same as the string we are using as a reference?”
Of course a clever coder will take the case of the letters out of the equation by using a function which makes the two strings to compare both upper-case before it checks them for equality - so however the user types the email address (as long as it’s spelled correctly), the logic will come back and say - “yes - these two email addresses are the same.” This is such a common task that there are always (I assume) ready-made functions available to the coder in any language to turn a string into an upper-case string.
It just takes a little thought to make sure that you apply that function when checking email addressees. You’d be surprised how often it doesn’t happen though…
The same thing happens in other problem domains - e.g. usernames - my router has an admin account which allows me to configure it - let’s call it ‘admin’. If I use ‘Admin’ it fails to authenticate me. Usernames should not be case-sensitive, whereas passwords should.
Web servers / filenames are another case: http://www.foo.com/badger/ should be the same as http://www.foo.com/BADGER/ - Mac OS computers treat these two the same - UNIX machines don’t.
To humans, most strings are not case-sensitive, whereas to computers they are. Coders should think about this more often. Alas it’s easy for them to be caught out, since we don’t think like computers, and computers are ruthlessly logical and unforgiving when it comes to rules (which is why they work). They’re a bit like traffic wardens in that respect.
“The backup is too large for the backup volume. The backup requires 4.2GB, but only 22.9GB are available.”
Just posting this bug so I can reference it in a bug report. It may be my fault though, because I’m using an unsupported volume: a drive on a remote machine on my local network backed-up over airport. Worth noting anyway.
Half of the backup happens to be a disc image of the iPhone SDK.
It looks from what I’ve seen so far: i.e. nothing but the video of the Apple announcement, and a few iTunes U Apple Developer Connection introduction videos, pretty good. I’m getting more and more keen to get an iPhone. I’ve been waiting for three things before I do: Version 2.0 of the phone hardware (hopefully with GPS and 3G), the SDK and an end to the network lock-in. I hate being told that to use a specific handset I have to use a specific GSM network, it’s just wrong. Now the SDK is here, I’m weakening…
The info about the SDK looks very impressive so far - Apple taking 30% of the revenue from sales of the apps seems a little bit steep - but (in my opinion) they generally tend to be a benevolent dictator. Symbian has had voluntarily signed apps for a long time, however, very few developers bother to sign their apps, so users tend not to care or know about code signing. Even worse - when they find out about code signing it tends to confuse them. Apple mandating signing of all code means it can be seamless.
Having a single channel of delivery for iPhone apps may, to many, seem draconian and I would imagine it’s not long until someone writes an app which Apple denies distribution, yet most people find inoffensive.
I don’t know…. I’m torn - Steve’s Reality Distortion Field has really got me this time, yet I still in my heart of hearts think ‘hey - this is *my* miniature, hand-held computer - how dare you tell me what I can and can’t install on it.’
My resistance to not having a physical keyboard is also waning, and although being a Nokia devotee since I first had a mobile phone (back in oooh 1996), and therefore a Symbian fan of late - my experience with the mail client on my E61 and the limitations of Series 60 compared to Mobile OS X (network/email/voip config on the E61 is a real bore - and it doesn’t get the concept of falling back to different networks depending on what’s available) make the iPhone a very desirable next phone. Plus I’m familiar with the development environment.
I have noticed, from my limited peeking around, that there is no access to the Bluetooth functions of the phone. I could be wrong about that though. I think that the intention is that most external comms are to be done via TCP/IP over the wifi hardware.
Anyway, enough of my prattling - congratulations to all the engineers at Apple who are delivering the SDK, it’s a stunning feat of engineering.
I recently bought a GlobalSat DG-100 GPS datalogger, which is a device that records your GPS position over time, so that you can later review those data, and do all sorts of fun things. I specifically wanted it for aviation, so you can review your flight track, and see how good your navigation is and how far off your desired track you wandered.
There are Windows drivers for the device, and only a Windows utility for extracting the recorded tracks and altering it’s preferences. Normally this would preclude a Mac user like me from buying it, however, the nice people at GlobalSat have published the specifications for communicating with the device, and some people have made their own apps for talking to it. There’s a Windows .net application for it and a linux project for talking to it as well.
I’m in the early stages of writing a Cocoa app which will do the same for Mac OS X users.
[edit] - It’s true!, hooray! This is a very good thing, and hopefully more labels will open-up their catalogues. Apparently un-DRM’ed albums will not have any price increase, but single tracks will.
Here’s another AppleScript: This one puts an xHTML template on the clipboard: Again, remove the Growl parts if you don’t use Growl.
set XHTMLTemplate to "< !DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
”
set the clipboard to the XHTMLTemplate
tell application “GrowlHelperApp”
– notify title “AppleScript Notification” description (noteText as string) icon of application “Script Editor.app”
set myAllNotesList to {”XHTMLTemplateToClipboard”}
register as application “XHTML Template to Clipboard” all notifications myAllNotesList default notifications {”XHTMLTemplateToClipboard”} icon of application “Finder.app”
notify with name “XHTMLTemplateToClipboard” title “XHTML Template 2 Clipboard” description “The XHTML Template has been put on the clipboard” application name “XHTML Template to Clipboard”
end tell”
I never remember to post these scripts which I write and often use onto the web, so that Google can index them.
So in an attempt to solve that, here we go: Here’s an AppleScript that I use often via QuickSilver. It calls Growl so - if you don’t have Growl, remove the growl parts otherwise AppleScript will ask you where GrowlHelperApp is.
set theIP to do shell script "ifconfig | grep 'broadcast' | awk '{print $2}'"
set the clipboard to theIP
tell application "GrowlHelperApp"
set defaultNotification to "Put IP address on Clipboard"
set myAllNotesList to {defaultNotification}
register as application defaultNotification all notifications myAllNotesList default notifications {defaultNotification} icon of application "Finder.app"
notify with name defaultNotification title defaultNotification description "Your IP Address (" & theIP & ") has been put on the clipboard" application name defaultNotification
end tell
Just over a year ago I wrote a post to a Mac Forum that I meant to post in my blog, but I was worried that I wasn’t totally coherent enough - it was posted in that forum as a sampler to see if I’d thought it through. In retrospect, I should have posted it here.
The gist was that the legally downloadable music market was increasing and that with many players coming into the market that the DRM landscape was bound to fracture and this would only be bad for consumers due to incompatibility between various DRM schemes. I thought that an open standard for DRM would be the way forward. I’m a fan of open standards, and I was pessimistic enough to think that none of the major (i.e. not bleep) players would even consider not using DRM.
Mark me surprised, and impressed…. Mind you getting the idiots who own the rights to media to play along is another matter altogether….
On a side-note - I was amused to find while writing this post that the company that I and a few friends used to work for in the waning days of last millennium who tried to sell music on-line before it was fashionable no longer sell music through their own site, but now just link to iTunes.
Not that anyone in their right mind reads this blog, but just in case:
I’ve enabled OpenID as a method for authenticating when posting a comment. I look forward to this distributed ID system becoming more common throughout the net.
Well - My Blog appears to be atrophying to beyond the post-per-month status…
Here’s a quick update on my uninteresting life:
- Broken a life-time habit, and bought a Microsoft product - the XBox 360 - very impressive - most impressive part is ‘Live’ - especially the marketplace and the downloadable demos - currently very much enjoying ‘Geometry Wars’ and ‘The Outfit’ multiplayer demo….
- Meanwhile - in PS2-land - Loving ‘Shadow of the Colossus’ and ‘Black’ - both fine examples of farewell salutes to the platform…. Especially ‘Black’ - which has humourous mission objectives and Matrices-esque destructible pillars in large (soldier-filled) rooms.
- Became 30 - sigh…. on the upside - got an HDTV for my birthday - very nice - just need Sky to launch their HD service…
- If by any chance you are reading this because of my software - - - yes, a Universal Binary of ‘More Internet’ is forthcoming - soon…..
Most bizarrely, no modem! This is a laptop and the modem is sold separately. That makes sense for an iMac, but a laptop with no modem?
I like the magnetic power connection - I have a ding in the corner of my PB from when it shot off a desk due to foot/power cable entanglement - and just last night I got my foot caught in the power cable again.
‘MacBook’ is another really bad name - what *is* going on in the Apple naming department?
Well - I’ve been following the discussions about the new laptop on the forums, and a couple of other notes:
FireWire 800, apparently 2 port FW800 ExpressCards are the way to go here, although Apple dropping it (built-in) on their pro laptop doesn’t signal a strong future for FW800. I assume the new Intel PowerMac-equivalents will have built-in FW800.
ExpressCards - currently there aren’t that many about, but Apple always is ahead of the game on this sort of thing - e.g. USB/No Floppy on the original iMac. Some people are worried about how long until there are GPRS/G3 cards in this form factor.
lack of modem as standard. I’m amazed by how many people seem to equate the modem with the death of floppies - lots of comments like “I can’t remember the last time I used a modem.” Do these people travel with their laptops? Have they never been to places without Cellular/broadband coverage? I suppose it’s not really a big point, since you just add the USB modem to your order, and it should last you across several laptops. However, these laptops only have two USB ports, and there goes one…
No S-Video out - I missed this first time round - I suppose we’re all supposed to have HDTVs and use DVI->HDMI cables, or perhaps the DVI->S-Video adapter that works on the PowerMac G5 / MacMini will also work on the new PowerBooks.
It seems like we’ll have to buy and carry around a lot of extra add-on bits with these new machines…
Mind you, the speed improvement is a welcome new feature, and my two-year old 17″ PowerBook should last a while yet before I need to worry about upgrading.
No link to any hard source - but hopefully Auntie Beeb will put out official detail later today… (edit: and here it is)
The most interesting part is the idea that they might start to transmit HD over DVB-T (Freeview).
Currently there’s not enough bandwidth in the UK for this - we (the UK) decided to allocate the bandwidth so that we got many channels, rather than a fewer higher-def channels (We’ve got about 30 standard def. channels and some audio-only channels too.) However, after digital switchover, there could be extra space for some HD channels (which take up relatively huge chunks of the available bandwidth.)
Someone has hacked FrontRow so that it doesn’t require the Apple Remote control. The torrent file seems dead - but you can download it from here. (Standard warning - Downloading hacked software from unknown sources could be dangerous.)
Seems to work OK on my Powerbook.
I’ve been mucking around with trying to make my own clone of FrontRow (I call it BackRow) - so far it doesn’t do anything but scroll one menu. I’m not trying to make a MediaCentre app (like CenterStage - just a remote control like thing that uses AppleScript to control other apps.)