May 04
JustiniOS, Review iPad, iPhone
Okay, so this isn’t the big iPad review everyone was expecting. And what I’m about to say isn’t what anyone wants to hear. I decided not to finish my review of the iPad. Unfortunately, due to a variety of reasons, namely that I accidentally lost a good chunk of the review, that there’s already numerous iPad reviews out there, and reviewing each included app in the detail I normally give app reviews would simply be too complicated, I’m not going to publish the review. As for my opinion on the iPad, suffice it to say the biggest reason I decided to cancel the review is that I’m too busy enjoying my iPad to write a long blog post about it. It does quite well as a laptop replacement though, as I’ve been using my iPad for most things I’d ordinarily use a desktop or laptop for.
Now for the main point of this post.
In the past, I’ve written reviews of my favorite apps. Now, assuming I don’t get too much demand, I’ll review any app the app’s developer requests me to. The only requirement is that I’m provided with a promo code for the app. I have past experience reviewing apps, as seen in my SoundHound and IM+ reviews. If an app has both iPad and iPhone versions, or is at least optimized for both, I’ll deal with both in the same review. Considering both my iPhone and my iPad are jailbroken, I will also review SOME jailbreak apps under the same conditions. However, I will do this at my own discretion. If I feel the app is harmful to my devices, I will refuse to review it. A few badly-written jailbreak apps HAVE caused me trouble before, so I am a bit cautious as to what I do and don’t install.
If you’re interested in my review services, please contact me at justin [at] justindaigle [dot] com.
Also, I’ve hidden my last post. Comex has released Spirit, so it no longer serves a purpose. It also was made the target of comments by a fake Geohot and a [questionably] fake Comex, as well as numerous ignorant hate comments.
Apr 12
JustiniOS iOS, iOS4, iPhone
Perhaps many of you have made the same mistake I have: upgrading to iPhone OS 4.0 thinking there will be a jailbreak soon, then realizing it won’t happen until summer. And to make things worse, it’s buggy.
Well, I got myself into this mess, I got myself out. I’ll explain how and hope it’ll help some people out there. This information does NOT apply to the iPod Touch (as it doesn’t have a baseband) or the iPhone 3GS with the new boot ROM (since 3.1.3 can’t be jailbroken on it, and the combination of a jailbreak and 3.1.3 are required for this guide).
First off, here’s what you need:
1. An iPhone that isn’t a 3GS with the new bootrom (I did this on my 3GS with the old bootrom)
2. An iPhone OS 3.1.2 IPSW
3. An iPhone OS 3.1.3 IPSW
4. blackra1n
5. A Mac (sorry; see the next requirement, it’s Mac-only; ah well, it’s always fun to rub the occasional Mac-only application in the face of Windows users
)
6. Pwnage Tool
7. [3GS only] SHSH’s on file on Saurik’s server
I know there’s other guides for downgrading from 4.0 out there, but they all involve iRecovery, which as far as I know isn’t supposed to work on the 3GS. Maybe someone can correct me on this. Either way, if you happen to have all the prerequisites I’ve listed, this should work for you.
Sorry I don’t have screenshots, but this obviously isn’t something that’s easy to do at will. This was something I had to do once and hopefully never again.
Now, let’s get started, shall we?
1. Make sure you have the entry for Saurik’s SHSH server in your hosts file.
74.208.10.249 gs.apple.com
2. Open iTunes, connect your iPhone, and Control-click on Restore. Then, select your 3.1.2 IPSW to restore to it. Let it restore. It’ll quit with an error in the middle of “Restoring iPhone firmware.”
Why?
It quits with an error while attempting to restore the baseband. It won’t let you replace the 4.0 beta’s 05.13.03 baseband with 3.1.2′s (or 3.1.3′s for that matter, which is why we’re going the indirect route).
3. Your iPhone will now be in recovery mode, demanding you connect it to iTunes. But, it’s actually running a fully-functional 3.1.2. Let’s get it to work now. Run blackra1n on it. Once it finishes, you’ll be greeted by a functional 3.1.2, but it can’t communicate with the new baseband so it can’t function on a cellular network. Time to fix that.
4. Run Pwnage Tool, using your 3.1.3 IPSW. Select your iPhone model, and when it asks that it’s already pwned select yes. In theory, you could just put it in DFU mode while you were still in 4.0 and answered no to this, but I didn’t get to test that method, so I can’t say if it works in practice or not. Assuming you have a regular AT&T contract, answer yes to that as well (or whatever the supported carriers in other countries are if that applies to you). Now, build the firmware and wait for it to finish.
Why Pwnage Tool here?
Pwnage Tool, especially the newest release, rebuilds the firmware and removes the baseband update, since it’s assumed by default that baseband updates are bad for people who want to use Pwnage Tool. Meaning it will restore without an error this time since it won’t try to overwrite the baseband. And yes, we’re almost done.
5. Place your iPhone in recovery mode.
Not sure how?
6. Open iTunes, and restore to your new custom firmware.
7. You should now have a jailbroken 3.1.3 that can communicate with the 4.0 beta’s baseband that you’ll unfortunately never be able to downgrade from.
8. Restore from your latest backup to get all your precious settings, contacts, and messages back.
Having trouble?
If you’re like me, you’ll encounter the misfortune of getting an error that says something about “the backup operation failed.” I have no idea what causes this, but disconnect your iPhone and reconnect it. Somewhere in all this, it should have re-activated your iPhone. Now, right-click your iPhone in iTunes and select “Restore from backup.” Now restore. It should work this time.
I hope this helps some of you who were in the same boat as I was. 
Two announcements.
1. A picture is worth a thousand words.

Needless to say, this opens numerous review and tutorial opportunities. 
2. Speaking of pictures, my school’s prom was Saturday. I should have a picture from it to post here soon.
Mar 31
JustiniOS, Review iOS, review
IM+ is probably the best instant messaging application for the iPhone. Sure, there are official AIM and Yahoo clients, but no client for Windows Live Messenger. Instead of bothering with a bunch of separate clients, why not use an all-in-one? As usual, I received a “free review copy,” but if that isn’t an option for you, it’s $9.99 in the App Store. Upon adding one or more accounts and signing in, you will be greeted with your contacts list.
The IM+ Contact List Tapping the “i” icon to the right of any contact will provide you with details on the contact.
A contact’s details, with the address removed for privacy reasons You can also opt into push notifications when a contact signs in. Unless you disable push notifications for the entire application, IM+ will send push notifications whenever you receive a new message from any contact, whether you have enabled push notifications upon their sign-in or not. This keeps you signed in even while the application is closed, and delivers messages, even while you’re doing something else. Tapping on the contact’s name will start a conversation.
A conversation Conversations appear using a familiar chat bubble interface, somewhat similar to the iPhone’s Messages app. You can tap the caret-shaped icon to access options to invite contacts and send photos.
The Status tab You can use the Status tab to switch between pre-defined statuses or create your own. The latest version of IM+ also finally supports multi-chat.
A demonstration of IM+’s new multi-chat ability, showing a conversation with the fictional Miles Stone and a fake Steve Jobs While multi-chat is a step in the right direction, I’d still like to see proper Windows Live Groups support, although no other third-party client has it yet. Something I’d also like to see would be the ability to change your display name and picture from within IM+ as opposed to using a desktop client for these tasks. Overall score: 85/100
Mar 14
JustiniOS, Review JDC, review
Considering I didn’t want to bury one of these posts with the other, yet I wanted to post them at the same time, I decided to make them into one.
First off, I’m proud to release Justin Daigle (.com) v7. My blog is now using the Notepad theme by N.Design.
And to the right, you’ll find a link to the new public eyeOS install. If you want any applications added to it, contact me at admin [at] justindaigle [dot] com via WLM or e-mail.
I rather like this theme, and even people I figured would hate it only had positive things to say about it, so it’ll hopefully be here to stay for quite awhile. Still, to be perfectly honest, as my personal blog, the only opinion that really matters here is mine. 
Anyway, for now, the eyeOS install provides 10MB of storage. It’s not much, but the M1 server is used for quite a bit. Depending on demand, I’ll raise or lower it.
Now for the SoundHound review.
For those who don’t know, SoundHound is an iPhone app that “listens” using the iPhone’s microphone to any music in the area, then provides the name, album, artist, album artwork, lyrics, and other information on a song that is played, sung, or hummed, if it recognizes it. It’s $4.99 in the App Store, and while I have a “free review copy,” I’d imagine it’s well-worth the money if that’s not an option for you. 

The SoundHound main screen
SoundHound has various options, which can be configured in the iPhone’s Settings app. Listen on Start causes it to start listening instantly when you start it (obviously). I don’t really get the point of this option, as pressing the big button that says “What’s That Song?” isn’t really hard. The second (iPhone-only) option causes the iPhone to vibrate once it finishes detecting the song. I’m not entirely sure what the third option, “Use Bluetooth (Beta)” does. The Twitter and Facebook options provide integration with Twitter and (ugh) Facebook.

SoundHound’s preferences screen
Operation is easy. Just push the button that says “What’s That Song?” when you hear a song you want it to identify.
For the following examples, I will be playing music from my PC, in my room, at about the volume you’d expect to hear it in an average restaurant. I’ll have my iPhone 3GS about ten feet from my PC’s speakers. Even though it says to place your iPhone “as close to the sound source as possible,” in some places, that’s about 10-20 feet. Usually, when you need to identify a song, you can’t get right next to the source. Fortunately, it works quite well in my earlier example, a restaurant setting.

SoundHound correctly identifies Lady Gaga’s “Bad Romance”
It’s been able to identify almost every song I’ve thrown at it, even in noisier settings. It’s actually come in quite handy before, when I’ve heard songs before, and I’m lucky enough to hear them again some time later, whip out my iPhone, and use SoundHound to identify them. Now, let’s throw something a bit harder to identify at it, like the (as far as I know) unreleased Lady Gaga ft. Kalena – “Kaboom,” played at the exact same volume.

Strange…
To be fair, the copy of “Bad Romance” I played in the earlier example was at 320kbps, and “Kaboom” was at 256kbps. I’ll turn up the volume a bit…

Okay… I guess it’s just not in their database
Considering it’s “leaked” and “unreleased,” this doesn’t really surprise me. Still, I’d imagine enough people would have it to demand its entry into their database.
A feature I’d also like to see on their website would be a way to submit an MP3 to their database. I could find no such thing.
Let’s recap, shall we?
SoundHound is one of those apps I’ve long wished someone would make. Seems Melodis stepped up to the plate. It’s generally good at recognizing songs, even if they’re not all that loud, and there’s background noise, making it possible to use in practical situations. The only thing I could ask for is the ability for users to submit MP3′s to their database. I’d highly recommend SoundHound to anyone. Even if you already know every song out there, it’s still pretty fun to use when you’re bored at a place that happens to play music. 
Overall score: 99/100
Mar 06
JustinApple, iOS, Uncategorized SkankPhone
No, I did not find the cell phone belonging to [insert name of random female celebrity here].
I DID manage to screw up my iPhone. AGAIN. For the second time this week.
This time, as opposed to by some random force (my final theory on last time is that Apple is disabling jailbroken phones somehow, considering I wasn’t the only person to report the same problem on the same day), this was caused by my own stupidity.
First, a bit of history for you. Back in 2006, before the iPhone was released, Apple had two teams working on the iPhone. One had the real hardware, running on a fake system software, and the other had the real software, running on fake hardware. This way, the whole thing couldn’t leak at once before it was announced. Only Steve Jobs and 8-10 other people had ever seen both at once. At some time last year, someone came across one of the hardware prototypes. Sporting an extremely ugly UI, it also had an app called SkankPhone.
For nostalgic value, I decided I was going to copy it from the leaked prototype firmware and attempt to run it on my 3GS, running 3.1.2. I copied in the app and frameworks as directed by a forum post, and surely enough the SkankPhone icon reared its ugly head on my SpringBoard.

Anyway, I tried running it. A screen came up for a split second showing the full version of the picture on the icon. Then it disappeared. Then, I tried possibly the worst idea imaginable. I went into Terminal and tried running the thing as root. What do I get for my troubles? A message simply stating “Killed.”
Later on, I reboot for something. It skips my passcode entirely and sends me to my SpringBoard, only none of my icons launch when tapped. I had to lock it and unlock it again, and then enter my passcode, to make them functional. Needless to say, this is a huge security flaw, so it’s restore time.
Fortunately, even though I feel really stupid now for screwing up my phone twice in a week, at least I have a backup from two days ago this time, as opposed to two months ago. I spend the next two hours getting everything back to normal. If you know me in real life, don’t get any ideas. My phone always requires its (very long, alphanumeric with special characters) passcode when it should once again.
Now for theories on what happened. To be fair, there were two other things I did that could’ve been the actual cause. For one thing, I copied in the frameworks supposedly necessary for SkankPhone.app to run. For another, I installed some extended preferences thing that’s enabled through WinterBoard, and then proceeded to modify it. I’m still suspecting the times I tried running SkankPhone.app though. I can’t remember all the details of what it does, but I believe it also functioned as a prototype SpringBoard of sorts, very well meaning it could’ve overwritten necessary settings files used by SpringBoard with prototype versions that don’t cooperate well with 3.1.2. Regardless of what caused it, I’ve learned something today [End South Park reference]. Copying in prototype apps and frameworks, and WinterBoard extensions that “extend” your preferences app, are all dangerous and stupid ideas.
Considering I have all my stuff exactly back to normal (getting it this way has become almost routine for me
), this incident won’t affect the review series I was planning on writing (the v7 release post will also include a review of one of my favorite apps).
Speaking of v7, sadly, some of my plans didn’t work out, but I will spill the beans on something. It does involve changes to my blog, and the result is stunning, to say the least. I have a fully-working copy of my blog in its v7 form, minus this post and the last one. 8 days and I won’t have to have a separate copy of my blog just for me to stare at all day.
Mar 03
JustiniOS, Uncategorized baseband, iPhone
For those who keep up with me on Twitter (http://twitter.com/jrdaigle1000), you would know that last night around 9PM, my iPhone just randomly quit working. I attempted rebooting it several times, but accomplished nothing. I finally had to restore, and apply a backup from about a month and a half ago. It took me about three hours total to restore, apply the backup, sync all my stuff, jailbreak, and apply all my customizations. Strangely enough, some of my cracked apps actually remembered all their settings, making it somewhat less painful. 
Am I writing this to discourage people from jailbreaking?
Absolutely not.
If you read the rest of the post, you’d notice that I said that I jailbroke almost instantly after restoring (also, thanks to Link Tamake for warning me not to use the 3.1.3 update). The customization/system tools/cracked apps/tethering makes it 100% worthwhile. I still find it strange that this happened to me only hours after someone else reported the exact same problem though. A new virus? Some people say no, but I still find it quite suspicious.
If anything, besides the loss of three hours, I benefited from this. I was originally on 3.1, but I took advantage of this to restore to 3.1.2, which fixes the annoying bug that disrupts service, requiring a reboot to fix (For the record, this bug plagued me quite a bit). Also, for some odd reason, redsn0w didn’t like my 3.1 IPSW, making me unable to enable verbose boot. It recognized my 3.1.2 IPSW, however, so I now have a nice, shiny verbose boot going. This is probably the geekiest thing ever said, but there is something truly magical about that text informing you of how the boot process is going flying across the screen. 
Feb 08
JustiniOS, Tutorial, Uncategorized
Okay, this may not be the first tutorial on this. I think I’ve seen others, but I’m quite sure they involve a different method/are in obscure places like blog comments.
Not to mention, this is something I originally learned to do in desktop OSX, to get Safari 4 installed in 10.5.5. A tutorial for changing the desktop OSX system version would work unmodified on iPhone OS. It’s the exact same file that requires modification.
Anyway, now to get to the point.
If you have a jailbroken iPhone, you’ll know how much of a pain it is to install iPhone OS updates, considering they ruin your jailbreak, creating a potential hours of work. Meaning minor updates are generally best to avoid. For example, my iPhone 3GS still has iPhone OS 3.1 on it, which it came with when I got it in December. But, I went to download a game called “FallDown!” and was greeted by this message.

Considering I’m not going to upgrade just to install the one app that’s ever presented me with this error, I thought, “If I can bypass software that requires minor updates on OSX, why can’t I on iPhone OS using the same method?”
Let’s get started, shall we? 
Prerequisites:
1. A jailbroken iPhone/iPod Touch (otherwise, just install the update, it’s no trouble at all for you).
2. A file browser. I’ll be using iFile, as I have in all my past tutorials.
Steps:
1. Open iFile (or another file browser of your choice).
2. Browse to /System/Library/CoreServices/SystemVersion.plist and back it up.
3. Open it, and select Edit.
4. Go to the line that says “Product Version” and look under it. Change the version number from whatever it is (in my case 3.1) to whatever you want it to be. I’ve changed it to stuff like 4.0 before to fool people into thinking I have it (this did cause problems, mainly with AppSync, which expected 3.x, so every time I did anything in Cydia, AppSync uninstalled itself). But for now, I’ve changed it to 3.1.2 so I could install FallDown!

5. Select Save to save the file.
It actually doesn’t seem to require a restart or even a respring, so…
6. Install apps that claim to have compatibility problems.


And notice it’s working! 
Compatibility problems… or not.
Please do note: Some apps probably do have actual compatibility problems. Heck, this one may. I only played it for ten seconds, then got the idea to write this tutorial and had to do it before I forgot.
Jan 25
JustiniOS, Tutorial, Uncategorized
Another simple thing I haven’t been able to find tutorials on.
Ah well, if you want something done right, do it yourself.
Fortunately, as with iPhone OS’s desktop counterpart, just about anything is easily changed.
This can probably be done in Winterboard, but if it can’t/the theme you’re using doesn’t do it, here’s how to change the default album artwork on an iPhone or iPod Touch (assuming it would work on the Touch, my sister has my old one now).
This was tested on my iPhone 3GS running iPhone OS 3.1.
Prerequisites:
1. A jailbroken device.
2. iFile.
3. VSFTPd, correctly installed and configured.
4. An FTP client on your desktop computer.
5. The common sense to backup your files first. Seriously. I’m not joking. If you screw something up, I’m not responsible.
6. A 320×320 PNG image.
Now, why would you want to do this?
If you’re like me and have a huge (in my case, well over 20GB and 10000 songs) music collection, almost all of it obtained from various sources around the internet, almost none of it will have album artwork. So instead of staring at the bland music note icon, give yourself something else to stare at (I take no credit for the graphic used in this demonstration; I didn’t make it and I can’t remember who did).
1. Using iFile, navigate to /Applications/MobileMusicPlayer.app/
2. Rename noartplaceholder.png to something else. DO NOT delete it.
3. Rename the 320×320 PNG image on your desktop computer to noartplaceholder.png
4. Using an FTP client, upload the image to /Applications/MobileMusicPlayer.app/ on your device.
5, Reboot or respring your device.
Obviously, to restore the original image, delete the modified one and name the original one that you backed up back to noartplaceholder.png
Before:

After:

In theory, any graphical element of iPhone OS (or the desktop version of OSX) can be replaced by this method. Due to this, this is probably the last tutorial I’ll write on replacing graphics in either. Or perhaps not. If I find something truly notable, I’ll gladly write up a new one.
Newer Entries