iPhone Contacts and Maps fast start

04 October 2008 in notes
tagged with [apple] [cheating] [contacts] [iphone] [map] [start]

Apps on the iPhone can ship a ‘default.png’ in their bundle. When you start the app, it’ll first show this image, then load the rest of the app. The idea is, you can ship a picture of the start state of your app, and it’ll appear to have started very quickly. This is why some apps are unresponsive just after they start - they’re not actually started, you’re just looking at a picture. Other apps misuse this feature to display a splash screen. Urgh, splash screens.

Anyway, I digress. I have noticed that both the Contacts and Maps applications can change their default.png files. On start they both show you the state of the application as it was when you last saw it, rather than a simple default start image (most apps that I’ve seen ship an image of their basic layout, with the content removed, so it looks like the content loads a second after the app).

This is easiest to see in the Maps application. Search for a business, then touch the blue chevron to see details of that business. Quit Maps back to the home screen, and run something else (unlike 3rd party apps, Maps will stay running till forced out by some other app). Run Maps again. It will start up with the same view, but be briefly unresponsive till the app proper has started up. You may see the small map in the top-left redraw.

It’s a lot harder to get Contacts.app to do this, but the effects are far more obvious. The best way is to change the contents of your address list without using the application - sync in a new contact, or remove a contact. The first time you run the app, you’ll see the old list for a moment, then the new list. I first noticed this when I synced my iPod touch to another computer, changing all the contacts. Running address book showed me the old list of contacts for a second, then switched completely to the new list.

3rd party apps can’t do this - altering bundle files will change the app, and break the signing. Another thing that Apple apps can do and 3rd party apps can’t (though not all Apple apps to it. The Clock app is a perfect example of how I’d expect apps to start up). It’s subtle, but it means that Apple apps will appear to start faster, and record state better, than my apps. It a level playing field too much to ask for?

 

iPhone Contacts and Maps fast start

Flickr iPhone site

01 October 2008 in notes
tagged with [flickr] [iphone] [web]

oooh, Flickr have a lovely new iPhone site (though it doesn’t get lovely till after you’ve logged in).

 

Flickr iPhone site

iPhone Developer Program

01 October 2008 in links
tagged with [apple] [development] [iphone] [nda]

the NDA, tis gone. Yay happy face. But only for ‘released’ software. Less happy face. Wait, what does that even mean? Released Apple software (firmware versions)? My software? I can only join the mailing lists after I ship an app?

http://developer.apple.com/iphone/program/

 

iPhone Developer Program

Twitter

16 September 2008 in stream
tagged with [battery life] [iphone]

New twitter: Astoundingly unimpressed at the iPhone 3g battery life. Yes, ok, I have everything turned on at once. But it was full this morning. 30% now.

http://twitter.com/jerakeen/statuses/923213374

 

New twitter: Astoundingly unimpressed at the iPhone 3g battery life. Yes, ok, I have everything turned on at once. But it was full this morning. 30% now.

Twitter

13 September 2008 in stream
tagged with [geniuses] [iphone] [mute switch]

New twitter: yay geniuses have replaced my iPhone. Working mute switch ftw.

http://twitter.com/jerakeen/statuses/919913107

 

New twitter: yay geniuses have replaced my iPhone. Working mute switch ftw.

Shozu ‘new’ styling

09 September 2008 in photos
tagged with [iphone] [new] [screenshot] [shozu]

The stars mean ‘something new in here’. I like.

http://flickr.com/photos/jerakeen/2844004906

 

Shozu 'new' styling

Settings

09 September 2008 in photos
tagged with [iphone] [screenshot] [settings]

It seems that more and more apps are putting their settings in the settings app. Yay.

http://flickr.com/photos/jerakeen/2844004832

 

Settings

Byline 1.1

08 September 2008 in notes
tagged with [apps] [bugs] [byline] [fixes] [iphone]

After my raving earlier I felt I should mention the new release of Byline for the iPhone. Amongst the release notes are:

  • Adds a setting to increase the number of items loaded for each list from 25 up to 200
  • Adds a “sort by oldest” setting for new items

Fixing the 2 most annoying things about it. Yay! On the other hand, Byline is a great way of blowing through terrifying amounts of bandwidth while on holiday. Oops.

 

Byline 1.1

Twitter

03 September 2008 in stream
in set Rome 2008 tagged with [byline] [iphone] [mute switch]

New twitter: Paying absurd roaming rates to check the state of the world. Byline, I love you. Hi, y'all! Also, the mute switch on new iPhone.. doesn't.

http://twitter.com/jerakeen/statuses/908051391

 

New twitter: Paying absurd roaming rates to check the state of the world. Byline, I love you. Hi, y'all! Also, the mute switch on new iPhone.. doesn't.

Three for a Girl

30 August 2008 in photos
in set Rome 2008 tagged with [iphone] [white]

more apple technology. If I’m fast, it’ll actually work before I have to take it to Rome.

http://flickr.com/photos/jerakeen/2810135809

 

Three for a Girl

iPhone use while in the middle of nowhere

18 August 2008 in notes
tagged with [apple] [byline] [iphone] [offline] [rss] [software] [twitter] [twitterrific]

I should write up ‘things learned from taking only an iPhone to the middle of nowhere where there’s no internet access‘. One of those things was, I really want a ‘that worked’ for updating my twitter status using Twitterrific. And anything else that does a write over the network.

Avoid notifying users of success.

If a read operation fails, meh. But if I just wrote a twitter update, and it doesn’t go through, I want to know. Twitter might fail, the app might fail, the connection might fail. I want success notification, rather than 1 minute of waiting for a failure message that might not arrive. THIS IS NOT A NORMAL SITUATION. But nevertheless. Maybe the rule should be ‘avoid notifying users of success where success is expected‘.

Another useful app - Byline is great when there’s wobbly bandwidth - usable even when the only connection is a spotty non-edge GSM link. Admittedly, you have to just put the phone down somewhere with a connection for 10 minutes while it slurps. But things stay slurped. It’ll pull the associated images of RSS items too, so I can look at my Flickr feeds easily.

It’s got disadvantages - you have to switch to Google Reader to read your feeds for a start. In the absence of a local Mac GUI client to rival NetNewsWire, this is painful (Fluid helps). And Byline doesn’t do ‘folders’ (tags? what does google reader call them? I’m new to this), so you just get a big flat list of unread items, which could be annoying if you subscribe to lots of feeds. I’ve recently gone through a grand purge of all my feeds and mailing lists, so my traffic levels are pretty controllable.

Except that my Economist subscription feeds did their weekly ‘the magazine shipped’ thing, and dumped 90 unread items in the list. And these are unread items that are interesting and might need reading. Unlike with the iPhone NNW client, I can’t selectively drop subscriptions from being visible on the phone - it’s all or nothing here, and Byline loads only 25 (I think) entries at a time for off-line reading. The Economist provides only a partial feed, so I had to sit where there was bandwidth and go through them in batches, ‘starring’ the ones that looked interesting then hitting ‘fetch more’ and waiting. Once I’d done this, and it didn’t take too long, the experience was great - I had the full content of the Economist articles synched locally for convenient reading (and the Economist has a nice one-narrow-column layout that lends itself well to iPhone reading).

 

2lmc. a word about your iPhone.

12 August 2008 in links
tagged with [2lmc] [iphone] [message]

Another message from 2lmc.

http://2lmc.org/iphone/

 

2lmc. a word about your iPhone.

furbo.org · Beta testing on iPhone 2.0

07 August 2008 in links
tagged with [apple] [beta] [distribution] [iphone]

Simple (ish) guide to distributing ad-hoc iPhone applications.

http://furbo.org/2008/08/06/beta-testing-on-iphone-20/

 

furbo.org · Beta testing on iPhone 2.0

iPhone application updates

05 August 2008 in notes
tagged with [apple] [iphone] [store] [updates]

Is it just me, or are the updates offered by the iTunes store completely crazy? Every day I get a new crazy random set of the same apps, often with multiple updates offered for each of them. The app store application on the phone tends to offer different updates. I still can’t see release notes in iTunes, though I see them on the phone. Gah.

http://jerakeen.org/files/images/Application%20updates.png

 

iPhone application updates

iPhone note fonts

05 August 2008 in notes
tagged with [apple] [fonts] [iphone] [notes]

A curiosity of the notes application - it’s got a really ugly font. But it can be forced into a less ugly one on a per-note basis using an international keyboard. I assume the Market Felt font isn’t Unicode-complete, because if you insert a single (for example) Korean character into the note it’ll change its font to something more sensible that includes that glyph. And it won’t change it back if you remove the character.

This isn’t exactly convenient, and isn’t a system-wide setting. But I only have one or two notes on the phone, and I’m not willing to jailbreak it just to change the font. So I like my workaround.

 

iPhone note fonts

So much for CALDAV

01 August 2008 in notes
tagged with [apple] [caldav] [calendar] [iphone] [sync]

Even if my main calendar is a synced CALDAV calendar, I can’t put things into it from the iPhone. Creating new calendar entries creates a new calendar on the local machine on the next sync, with the entry in it. To make things worse, this new calendar isn’t synced by default, so the entry disappears from the phone, where I added it. So the feature is useless to me - I like being able to create calendar entries on the phone.

 

Tab bar icon replacement

29 July 2008 in notes
tagged with [apple] [interface] [iphone]

On the iPhone home screen:

There’s a trick to replacing the 4 persistent apps in the Dock at the bottom: you cannot drag into the Dock to bump them out of the way; instead you must drag something out of the Dock to make room first, and then you can drag an app into the free space

..in comparison to the black ‘tab bar’ navigation widgets with the ‘edit’ mode buttons, which you can’t drag icons out of, but dropping new icons on overwrites whatever you dropped them on. Yay consistency.

http://www.extrapepperoni.com/2008/07/11/iphone-apps-firs...

 

Tab bar icon replacement

Wordpress iPhone app released

22 July 2008 in notes
tagged with [iphone] [security] [wordpress]

There’s a dedicated iPhone app for Wordpress blogs now. Except that it doesn’t work out the box. I’m very impressed otherwise, though. As mentioned by @mattb, it’s a pity that it doesn’t let you moderate comments as well. But the ease with which I can take a photo and get it onto a wordpress blog is impressive.

 

Wordpress iPhone app released

Slick software updates

22 July 2008 in notes
tagged with [iphone] [itunes]

Suddenly, the iTunes Application store is awash with updates for all my apps. The App Store application on the phone is also reporting updates. For different apps. The App Store application on the phone shows me release notes. The iTunes version doesn’t seem to have any way of seeing release notes. The iTunes version keeps complaining that I’ve bought this app already when downloading updates. And the interface keeps displaying messages about ‘purchasing..’ which makes me worry that I’m spending money. And the screen shot above isn’t exactly reassuring.

And now I’ve downloaded all these ‘updates’, I still have the same version numbers of everything on the phone. All the app bundles are the same size. I’ve downloaded the exact same apps again, except that now iTunes isn’t prompting me to download updates any more.

Using the iPhone-based app store actually updates the app. Except that far fewer apps are listed in the iPhone app store than are listed in iTunes.

So, yes. Feels slightly rushed, this.

 

Slick software updates

iPhone interface conventions

19 July 2008 in notes
tagged with [interface] [iphone]

The iPhone has introduced a positively bewildering array of touch-based gestures we now have to learn, and apply in the right places. So far I’ve seen:

  •  tap
  •  drag
  • pinch (zooming)
  • two-finger-drag (in a few places, notably the campfire web app)
  • double-tap (Maps, Safari zoom in)
  • two-finger-double-tap (Maps zoom out)
  • swipe (to indicate you want to delete a row in a table)
  • tap-and-hold (typing accents on the keyboard, editing icons on the homescreen and, since the 2.0 software, in Safari and Mail to save an image to the local camera roll).

Chris Heathcote tells me that there is also drag-and-tap - when dragging between two home screens, a tap during the drag will stop it. Not sure if this is an interface or a bug, personally..

 

Twittervision on the iPhone

19 July 2008 in notes
tagged with [annoying] [iphone] [security]

I tried Twittervision on the iPhone. And it’s quite pretty, in a hypnotic way. So I gave it my twitter username/password, to try it as a twittering interface. And it’s lousy. But ok, I have a twittering interface. I delete the app.

Today, I see a tweet from @davetroy. Who? I don’t know him. Turns out that he wrote Twittervision. And now I’m following him. Which means that (a) his app must have followed him on my behalf, because I didn’t do it, and (b) he can now see all my private tweets (because my twitterstream isn’t public).

Well, fuck you, Mr Dave Troy.

 

Twittervision on the iPhone

Geolocated photos as a privacy risk

14 July 2008 in notes
tagged with [iphone] [location] [photos]

The new iPhone firmware geolocates all the photos you take. It asks your permission first, but not in a very good way - it’ll say something like ‘This app would like access to your location’. Say yes, and you’re putting your exact position into every photo you take. Put an incidental photo on flickr and everyone knows where you were and when (because there’s a timestamp in the upload as well). Sell something on eBay, using a photo you took in your house, and now everyone knows where you live.

Is this not a little creepy?

(True, Flickr don’t import geotagging information by default. But I can still get the EXIF tags from the original image if you allow me access to that)

Oh, also, an argument from the exact opposite direction. The camera app gives no indication of if it knows where you are, and how close, so if you want a geolocated photo, you never know if you’ve got a fix yet and it’s safe to take one. The camera roll doesn’t indicate which photos are geotagged. You can’t look at a photo on the iPhone (or in iPhoto for that matter) and see where you were when you took it. So to a normal user, the feature is totally unexposed, and to a power user, it’s totally unusable.

This geotagging feature is completely half-arsed.

 

Bad geotagged EXIF data off the iPhone

14 July 2008 in notes
tagged with [iphone] [photos]

The iPhone camera geotags photos you take using it. This is a nice feature, and I like it. But if you use iPhoto to get your pictures off the camera, it breaks them. This file was pulled using Image Capture
$ md5 Desktop/IMG_0115.JPG 
MD5 (Desktop/IMG_0115.JPG) = db9551d666e312dad10b01607b758bc1

$ exif Desktop/IMG_0115.JPG 
EXIF tags in 'Desktop/IMG_0115.JPG' ('Motorola' byte order):
--------------------+----------------------------------------------------------
Tag                 |Value                                                     
--------------------+----------------------------------------------------------
Manufacturer        |Apple                                                     
Model               |iPhone                                                    
Orientation         |right - top                                               
x-Resolution        |72.00                                                     
y-Resolution        |72.00                                                     
Resolution Unit     |Inch                                                      
Date and Time       |2008:07:14 09:39:31                                       
Compression         |JPEG compression                                          
Orientation         |right - top                                               
x-Resolution        |72.00                                                     
y-Resolution        |72.00                                                     
Resolution Unit     |Inch                                                      
FNumber             |f/2.8                                                     
Date and Time (origi|2008:07:14 09:39:31                                       
Date and Time (digit|2008:07:14 09:39:31                                       
Color Space         |Uncalibrated                                              
PixelXDimension     |1600                                                      
PixelYDimension     |1200                                                      
Gamma               |2.20                                                      
North or South Latit|N                                                         
Latitude            |51.00, 31.49, 0.00                                        
East or West Longitu|W                                                         
Longitude           |0.00, 5.25, 0.00                                          
--------------------+----------------------------------------------------------
EXIF data contains a thumbnail (4879 bytes).
And this file is the EXACT SAME PICTURE pulled using iPhoto
$ md5 /Users/tomi/Pictures/iPhoto/Modified/2008/14\ Jul\ 2008/IMG_0115.JPG 
MD5 (/Users/tomi/Pictures/iPhoto/Modified/2008/14 Jul 2008/IMG_0115.JPG) = 571f8966a47ac583026090b63d7cde2a

$ exif /Users/tomi/Pictures/iPhoto/Modified/2008/14\ Jul\ 2008/IMG_0115.JPG 
EXIF tags in '/Users/tomi/Pictures/iPhoto/Modified/2008/14 Jul 2008/IMG_0115.JPG' ('Motorola' byte order):
--------------------+----------------------------------------------------------
Tag                 |Value                                                     
--------------------+----------------------------------------------------------
Manufacturer        |Apple                                                     
Model               |iPhone                                                    
Orientation         |top - left                                                
x-Resolution        |72.00                                                     
y-Resolution        |72.00                                                     
Resolution Unit     |Inch                                                      
Software            |QuickTime 7.5                                             
Date and Time       |2008:07:14 09:40:28                                       
YCbCr Positioning   |centered                                                  
Compression         |JPEG compression                                          
x-Resolution        |72.00                                                     
y-Resolution        |72.00                                                     
Resolution Unit     |Inch                                                      
YCbCr Positioning   |centered                                                  
FNumber             |f/2.8                                                     
Exif Version        |Exif Version 2.2                                          
Date and Time (origi|2008:07:14 09:39:31                                       
Date and Time (digit|2008:07:14 09:39:31                                       
Color Space         |Uncalibrated                                              
Latitude            |51.00, 31.49, 0.00                                        
Longitude           |0.00, 5.25, 0.00                                          
--------------------+----------------------------------------------------------
EXIF data contains a thumbnail (2670 bytes).

 

volume widgets

13 July 2008 in notes
tagged with [interface] [iphone] [volume] [widgets]

The iPhone / iPod music player volume widget behaves like this - you have to start your finger drag on the little round nubbin. You then drag it left or right. Dragging your finger up or down off the slider doesn’t adjust the volume, but doesn’t cancel the adjustment either, and I’ve found this to be a nice way of adjusting the volume a tiny amount - dragging diagonally increases the distance that you have to move your finger to effect the same change in volume, so it’s more precise.

If you put your finger anywhere else on the volume widget, nothing happens. If you drag your finger onto the nubbin from somewhere else you don’t start changing the volume.

The video player and YouTube volume widgets work the same way.

The iTunes Remote volume widget works like this - the volume will snap to wherever on the slider you put your finger down. Once you’ve done this, dragging the slider works as in the local music player. It looks identical to the slider in the music player app.

A slider control put into a blank view in Interface Builder works like the remote application - the slider position snaps to where you touch the slider. But it looks different from the volume control slider - the IB slider has a matte, concave look, wheras the volume control has a shiny nubbin.

The ‘Brightness’ control in the settings app is a slider that looks and behaves like the Interface Builder slider.

On the whole, I prefer the behaviour of the remote app, with the snap. And I prefer the appearance of the Brightness slider. But it’s odd that there are already three different slider widgets on the iPhone.

 

Real world development

13 July 2008 in photos
tagged with [app] [deployment] [herejustnow] [iphone]

Yay, I have my iPhone app running in the Real World.

http://flickr.com/photos/jerakeen/2664345852

 

Real world development

Exposure Recent Activity view

11 July 2008 in photos
tagged with [exposure] [iphone] [screenshot]

Um, interesting. Because the kitkat photo has a different comment. The comment that appears to be on that photo is on the chocolates photo. In fact, all of the comments are off by one. Update later: this bug has been since fixed, and doesn’t exhibit in the pay-for verion of exposure anyway.

http://flickr.com/photos/jerakeen/2657648203

 

Exposure Recent Activity view

iPhone applications in Python

05 July 2008 in notes
tagged with [developement] [iphone] [python]

A guide to writing iPhone applications in Python. Seems to apply to the jailbreak SDK rather than the real one (though this isn’t very clear) and is undated (I hate it when people don’t put dates on things) so I have no idea if it’s still relevant. But nevertheless.

http://www.saurik.com/id/5

 

iPhone applications in Python

django-mobileadmin - Google Code

20 June 2008 in links
tagged with [django] [iphone] [python] [web]

iPhone django interface. Dead easy to install, works well. happy happy happy.

http://code.google.com/p/django-mobileadmin/

 

django-mobileadmin - Google Code

It’s the iPhone 3G

10 June 2008 in blog
tagged with [apple] [hardware] [iphone]

I guess I may as well write down my few thoughts on this iPhone thing.

On O2’s offer to existing customers

To thank you for being an iPhone fan, we’re offering you an early upgrade to the brand new version when it launches on 11th July 2008. You won’t have to wait until the end of your existing contract, all you’ll need to do is agree to a new 18-month minimum term contract

Is that an additional 18 months on top of my contract now, or merely a reset of the run to 18 months from now? Because if it’s the latter, I want mine now.

An aside. When trying to tell O2 where I live, I get the exciting error [House Number must be numeric]. Um. No. Because mine isn’t. Idiots.

Interestingly, the page about the iPhone upgrade makes mention of O2’s «new iPhone Pay & Go SIM cards». Hmmm, interesting. Though if I can get me an iPhone 3G cheaply I’ll probably end up just jailbreaking it instead. Or if the iPhone 3G isn’t jailbreakable, and you can’t buy old ones any more, I wonder if it’ll have disgusting amounts of resale value…

On 3G

Let’s (almost) gloss over the actual ‘3G’ feature here. The standard Steve approach was used - ‘3G simply isn’t necessary, EDGE is fine!’. Until the iPhone has 3G, at which point it’s ‘Look how much better 3G is!’. I have the iPhone 1, and I find EDGE just fine. My total web page download time is already faster than it was on the 3G phone I used to have, because my web browser doesn’t take 20 seconds to load. 3G will be nice. But meh.

On Pricing

Gruber has a bit on the new pricing structure, and this is the interesting bit for me. What I read here is that ‘subverting the old phone industry business model’ didn’t work. So they’ll do the same thing everyone else does instead and just sell subsidised phones through carriers. So much for changing the world. But this implies that they’ll do the other thing everyone else does, and sell unlocked versions of their phones for more money. If they’re no longer getting a cut of the carrier revenues, why would they care any more?

Oh, and Gizmodo relays the interesting point that, sans monthy revenue to book against the iPhone, Apple may start charging for feature upgrades on SOX grounds. Except that the Apple TV gets free upgrades. The ongoing revenue thing is just an accounting ‘profit from this thing is amortized over 18 months’ device, no?

 

Kingdom Game

28 March 2008 in links
tagged with [application] [browser] [games] [iphone] [mmorpg]

aaah, excellent. A browser-based internet mmorpg that I can play from the iphone. Been looking for something else to have my life sucked into.

http://www.kingdomgame.net/

 

Kingdom Game

Trivial iPhone / iPod Touch delicious front end

23 January 2008 in blog
tagged with [ajax] [delicious] [iphone] [ipod] [javascript] [software] [touch]

I’ve been looking for an excuse to play with IUI for a while now, and finally I found one. I wanted a way of getting at things that I and my friends have saved in del.icio.us, and the native web interface isn’t very usable on the iPod touch. So let’s implement a delicious client using IUI! Also, let’s implement it in pure client-side JavaScript, so I don’t have to run a server anywhere!

So, here’s a trivial implementation. It’s hard-coded to look at my links and friends, but that’s not hard to fix, I just don’t care. The thing I’m happiest with is the way it’s entirely client-side, and pulls in things from the delicious JSON api as it needs them. And it’s pretty small, too..

 

iPhone web application behaviour

21 January 2008 in blog
tagged with [apple] [development] [iphone] [ipod] [sdk] [touch]

The ‘state of the art’ for iPhone apps is a single URL, serving a static page with lots of JavaScript and Ajax. Clicking (touching, whatever) things loads in fragments and changes the page. IUI works like this, Hahlo works like this, the Facebook app works like this (hence IUI‘s behaviour).

To preserve state, normal usage is to use the URL fragment to add bookmarkability and history. And sometimes, this actually works. But given that the point is to pretend to be a native iPhone application, it’s wrong. You should be storing state in cookies.

Justification: Native iPhone apps act like you never quit them. Even if they get closed by the system at some point, they’ll come back to the state you left them in. Bookmarking a rich web application should act the same - I want to bookmark the application, and have it open in the state that I left it, not the state that I bookmarked it in. So you should update the ‘current state’ in a local cookie every time to navigate somewhere, and respect that state when you next visit the application. Combine this with the 1.1.3 firmware’s webclips thing and you can almost pretend to be native.

Which is why I expect the much-anticipated iPhone SDK to be nothing more than ‘local web applications’. Give developers a little bit of local storage (you know, like webkit just got), a way of promoting a bookmark to the home screen (we have that one now) and a way of storing some HTML and JS on the phone, and Jobs can claim he’s given us an SDK. And he’ll be right.

Me? I’d be happy with that. It solves all the sandboxing, security, ‘bring down the network’, etc problems. And it will keep people from jailbreaking the phone trivially. The only alternative I can see is installation of signed apps only, with the iTunes Media Store as the single point of installation. Which would suck more. But there will be howls of outrage.

 

T-Mobile says to sell iPhone without contract - Yahoo! News

21 November 2007 in links
tagged with [iphone]

 

T-Mobile says to sell iPhone without contract - Yahoo! News

User Centric - News and Events

14 November 2007 in links
tagged with [iphone] [keyboard] [stupid]

Real Keyboard works better than Picture Of Keyboard

http://www.usercentric.com/news.asp?ID=391

 

User Centric - News and Events