The new features include:
Many updates to the Library browsing, including sorting and filtering. Sorting is alphabetical by default. In albums though the sorting is by track number. You can switch sort modes with the toolbar button.
Adding a track to the playlist now does not switch tabs, this makes adding multiple tracks easier.
Added user hints to help users understand what they can do on each tab.
Automatic source selection on startup has been removed. This was causing problems for some users, especially that wanted to use SongBook to control volume for sources other than their DS.
Some users were setting their iPod/iPhone to never sleep. The iPhone would still turn the network off after 30 seconds of inactivity, which would cause the network events to be ignored. This most often showed as missed track transitions. A fix for this has been implemented.
More work on device discovery. Fixes for older Linn firmware.
Added optional network logging to help with debugging.
Fix for source naming bug. This would cause sources to be incorrectly named.
General reliability improvements and small fixes.
You can download the update either in iTunes or directly on your iPhone or iPod touch.
Sometimes there are bugs in iPhone apps that cannot be reproduced easily in a test environment. This is normally because the bug in some ways is specific to the environment that it occurs in, this may be due to network or hardware configuration (I don’t have one of every Linn product for example), or due to data (unexpected characters in a Secret, overly large image etc). In cases like this a crash report is essential to determine what the problem is.
A crash report file contains information on the state of the application at the time of the crash. Most usefully it contains a trace that tells me the line of code that the failure happened on. There’s a bit of detective work involved and sometimes guesses at the cause, but more often than not I can create a code modification that avoids the bug. If I’m not certain of the fix I can send out a special release of the code that adds extra debugging information.
The crash reports are saved on your iPhone at the time of the crash, when you connect up with the sync cable the reports are copied to your computer. The location of the reports depends on your operating system:
On Vista “Application Data” maybe hidden, so you may need to show hidden files.
There are two types of files stored here, .plist files and .crash files. I only need the .crash files. The files will start with the name of the application, MobileSongBook or MobileSecretBook for example and contain a date stamp.
You can right click (or Control-click) on the crash file and send as an email attachment.
Once I have the crash file it should not take long to analyze it and get back to you.
I get a lot of questions about Album Art support in SongBook. Mostly the Album Art is dependent on your MediaServer, and unfortunately Twonky MediaServer is a bit difficult to set up with Album Art. Here are some hints to help get your Album Art working correctly with Twonky.
In each Album folder you should have one image file for your Album Art, this file should be called Folder.jpg (or folder.jpg). I think PNG will work as well, but I don’t have any PNG album art at the moment. I have had problems when you have other image files in the folder, so it is best to remove any other image files.
Twonky has a bug that causes it to fail to send Album Art if there is a space in the path to the image file. I have verified this on Mac OS X but not on other platforms, but assume it is the same. The way around this is to turn off image scaling. This is also useful for getting better quality images to SongBook. You can turn off image scaling in the Twonky web admin interface.
For SongBook you are best having an image size of 320×320 or greater. This is the size of the large image in the Play tab. SongBook downloads the image and then scales it, so if you have a very large image file (many megabytes) this may cause SongBook to run out of memory and quit, so don’t go too large. I suggest that if you are importing your images fresh you import at 600×600 just to remain future-proof. You don’t want to have to go though this process again later.
SongBook does seem to get quite a few network errors when requesting Album Art, it does retry three times but still sometimes the art file does not load. This is what is happening if you normally see an art file but occasionally do not. If all you art files disappear at once this is SongBook reducing it’s memory usage. When memory gets low SongBook removes anything that is not essential, and Album Art falls in to this category. You should not see this happen very often at all but it could happen.
Other media servers may have more reliable and usable album art in the near future, this should improve the situation. I am also working on other features in SongBook to improve album art.
From tomorrow for the next week or so I will be traveling and will not have consistent internet access. Normally I try to respond to support emails within a day or so. I know that lately the volume of emails has been really high and it has taken a while to reply, but that has only been for short periods of time and it seems to have settled down a bit now.
For the next week it may take a few days to respond to emails, and if I need to test or fix bugs for you it may take even longer. I’m actually going to be in New Zealand for about a month but should have reliable internet access there. I’m taking a Linn Sneaky DS on holiday with me so I can test, I know that is a very strange thing to take on holiday.
Some users have been reporting errors with SongBook startup. This has been narrowed down to users that do not have the latest Linn firmware, so the fastest solution is to upgrade your firmware (using LinnConfig) to the latest Linn version.
I do think that SongBook should be compatible with all firmware within a particular compatibility family though, that seems reasonable unless there is a serious bug in a particular firmware release that meant you were better off avoiding it. So in this case I do consider this to be a SongBook issue that should be resolved.
I have found and fixed the discovery problem with old firmware, but there is also another bug with adding songs to a playlist. To solve this one I need to downgrade one of my Linn DS’s to older firmware and test. I’m working on this now.
There will be a new release as soon as I have sorted this issue out. It contains a number of small improvements as well as these fixes.
A late announcement here, but as some people may have noticed I have been very busy lately.
Apple have approved the latest SongBook iPhone release. I was rejected 3 times because SongBook would not play music, which, of course it was never designed to do. In the end I resorted to changing the code to pop up alerts at appropriate points to inform the user/tester that you couldn’t play music without a Linn DS. Probably a useful thing to have anyway, but I did think it was kind of obvious.
Of the 3 rejections one did come up with a legitimate bug, attempting to play a movie file caused SongBook to crash. I’d never tested this as Linn only make music players, but a crash is a crash, so at least Apple did find something.
There is a bit of version numbering confusion out there at the moment too. The first version I submitted to Apple was version 1.0.1. For each Ad Hoc version I sent out I incremented the version number until we came to version 1.0.5. The problem is that once you submit an update to Apple you can submit new code, but you can’t change the version number. Now that I know this I will be more careful with numbering Ad Hoc releases.
Apple allow an iPhone developer to distribute a limited amount of copies of their applications using a mechanism called Ad Hoc Distribution. This is intended for testing purposes, but it can also be useful to send out a fix quickly.
Installing with Ad Hoc Distribution is more difficult than buying through the App Store. Also updates are not automatic. You can install alongside an App Store purchased version of the application and both applications will remain installed, but it can be difficult to tell them apart.
When you are sent an iPhone App for Ad Hoc installation you need to complete the following steps:
If you get an installation error it may be because your device is not listed in the provisioning profile. Check with me if this is the case.
Some users have reported that exiting and restarting iTunes has helped make things work too.
I’ve taken the difficult decision to remove SongBook from the Apple App Store. The reason is that the currently approved release, version 1.0 has difficulty finding Linn products on a number of networks. I have fixed this issue in version 1.0.1, but it has so far twice been rejected from sale by Apple.
I believe that it is best for new users to wait for the updated version rather than risk frustration with version 1.0. I am also risking bad reviews on the App Store, which will stay present long after this issue is resolved.
This is very frustrating as 1.0 was approved for sale, yet 1.0.1, a better version has been rejected twice for either trivial or incorrect reasons. This has taken two weeks so far, and looks like taking at least a week longer to resolve.
The rejection emails are under NDA, so I cannot post them here. The first rejection was because SongBook would not ‘produce sound’, completely missing the point of the application I believe, as SongBook is a ControlPoint application for Linn DS players, it does not attempt to produce sound in any way. I sent a detailed reply to this email and got a terse response asking me to please resubmit the application, which I did.
The latest rejection is for two reasons, firstly SongBook crashed when attempting to play a Movie file. This is valid in that SongBook shouldn’t crash, but almost useless as a test as Linn DS players are music players and don’t play movies. I will fix this issue and resubmit, but yet another week has gone by. The second reason is more interesting in that I assumed that Apple do not have a Linn DS for testing, I believe this to be the case as the response from Apple detailed their test setup and did not mention Linn at all. The exact wording of the error was ‘in most instances, no music would play’. Which I would expect if there was no Linn hardware, in fact I would expect that in ‘all instances’. So either they do have a Linn DS, or the wording of the email was incorrect. I have asked for clarification on this issue.
The big issue here is that version 1.0.1 is better in every way than 1.0. 1.0 was approved (probably without testing it appears), but I cannot get 1.0.1 released due to misunderstandings and minor errors. This is very frustrating for all potential users of SongBook, and especially frustrating for people that have purchased a copy. Anyone that has contacted me with issues I have sent an updated copy of SongBook using what Apple call Ad Hoc distribution. This is time consuming for me and for users, but at least it gets them going. And it does prove that version 1.0.1 does work reliably.
In fact I have been sending out version 1.0.2 for recent requests. This version has a tidier user interface, larger album art display in the library listing, and support for selecting preamp source.
I’ll keep you updated with progress.
Edit: If you do request an Ad Hoc Distribution copy of SongBook I need your device id, you can find details on how to locate it here.
The first release of Mobile SongBook had quite a short search window for devices. It now appears that for many users this was too short. The problem was identified quickly and an update was submitted to Apple on the 29th October. The problem is now that Apple have not released this update, and time is moving on.
This is very frustrating. I have e-mailed Apple but have no response yet.
For your information here is a screenshot of the status of SongBook on Apples iTunes upload site:

I actually uploaded 1.0.1 the day after 1.0, but perhaps the timezone differences made that the same day in USA.
I’ll post an update here as soon as I hear back from Apple. For now it may be best to hold off from downloading SongBook until the new release is out.
Update: I received a reply from Apple:
Hello Jason,
Thank you for contacting the Apple Developer Connection regarding the iPhone Developer Program.
Please know that we will review your App as quickly as possible.
At this time it is not possible for us to give you a timeline.
We appreciate your patience. Please do not hesitate to contact us again should you have any further problems or queries.
Best regards,
SongBook is now listed on the Apple App Store. The release came through in record time. For those of you that are not aware an iPhone application must go through an approval process by Apple. My first iPhone application, SecretBook, took quite a while to get approved, partially because there was a large backlog of applications at the time and partially because Apple requested that I change the user interface slightly to better comply with their user interface guidelines. In contrast SongBook was approved and listed in 1 day, which caught me by surprise.
There are some bugs that have been reported in the first release version (1.0). I have addressed these issues in version 1.0.1 which at the time of writing is still in the approval process. I know this can be frustrating to download a new app and have it not work, but as with any new software release I cannot test every possible usage situation, so some initial bugs are almost inevitable. I will work to fix these as quickly as I can.
The bugs reported so far are related to device discovery. The main issue here is that I was concerned about application startup time and I optimised the device search to be as fast as possible, and it looks like for some peoples network I went to far. I’ve made the code more conservative now so it should work much better. It has been tested and works fine in some less than optimal networks (powerline ethernet, multiple wireless links etc) and it is working fine. I’m also discussing the issue with Linn to get the benefit of their experience with LinnGUI.
The other issue is Majik DS support. I have an Akurate DS and Sneaky Music DS for testing and thought that this gave me quite good coverage of the Linn devices. Unfortunately the Majik DS is a bit different in some ways and this caused problems. I actually found this bug before the App Store listing became live, and with the help of one Majik DS owner I have tested and confirmed a solution to this issue as well.
All of these fixes were submitted to Apple last Thursday so should appear as software updates soon.
Everyone has been very helpful and patient with these initial issues so far, and I want to say thanks for that. It is a little frustrating waiting for a release to come out on the App Store, if it was a Mac app I could have released the download immediately, that’s just a fact of live with the Apple Store though.