Showing posts with label iPhone. Show all posts
Showing posts with label iPhone. Show all posts

Friday, August 01, 2008

iPhone ringtones

Have a cool audio file you want to use as a ringtone on your new iPhone but can't figure out how to get it to work? Don't want to spend $0.99 on a ringtone from apple for a song you already have and want to use your fair use rights? You can do it, I can help.

Ok, as I say to my daughter, the easy way or the hard way? I'll start with the hard way first so you have a basic understanding or don't have garage band... if you do and are impatient, just skip ahead.

First you need an audio clip. Anything will do, we will be converting it to AAC format so if you have one of those, great. (not sure about the copy protected ones though... you have to be able to edit the file) If you do have an AAC file, cut it to 30 seconds or less and you can ignore this next bit.

Of you don't have an AAC file, you'll need to make one. Open your favorite audio editor, I've been using Audacity because it's free but you can use pretty much any audio editor, we don't need any fancy features so I'm sure you can find a free one on just about any platform that will do.

Now, load up your file and find the 30 second (or less) sound clip that you want to use. Got it? Ok, save those 30 seconds as either an AAC format or, if like me your editor doesn't support that, choose an uncompressed audio format. Then to convert to AAC format, load the uncompressed audio file into iTunes and right click and select convert to AAC. If you don't see this option, you probably changed it in your Preferences section of iTunes under Advanced->importing and then change the "Import Using" option to AAC. Now you'll need to right click and choose show in finder to find the aac file and copy it somewhere temporary. (I use the desktop) Now delete the new files it created from iTunes. (but not from the desktop)

Ok, now you have an AAC file on your desktop and not in iTunes. Rename the file from YourFilename.m4a to YourFilename.m4r. Load this file into iTunes and it should go into your ringtone list. Sync your phone and you should now have your custom ringtone on your iPhone.

Have GarageBand? Ok, this is really easy. Choose the loop button next to the FFW button on the main controls. Now, you should notice a small section appear below the timeline, use your mouse to select the 30 second clip you want, then choose Share->Send Ringtone to iTunes. Sync phone.

Apple could have made this a lot easier, especially for users that don't have garageband. I mean, why not just let us use mp3s as ringtones? This is one area where I think apple really dropped the ball. Fortunately I have garageband so it's not a terrible process, I just think $0.99 per ringtone is a bit ridiculous especially because you can buy the whole song for that.

Wednesday, July 23, 2008

iPhone review

Well my script actually worked and did score me an iPhone. Ran it and noticed the Short Hills mall had all three versions in stock and my wife went over. Turns out I had to be there to because I was the primary on the previous account so I left work a little early.

First impressions are that it's awesome. The main reason I got it was for the integration between it and the mac. So far everything has been seamless. I first went into the mail app on the phone at the mall so I hadn't synced up yet. First, you select Gmail, put in my gmail username and password and that was it. I saw no apparent way to add other mail accounts and was a little bummed at first. My fears were for naught as when I later synced with my mac, it pulled in my other mail account. Right now I can just pull but there are services to push (MobileMe being mac's solution) but I'm not that concerned about it yet.

Calendar integration is seamless as well. Syncing with my mac synced all my schedules to the iPhone. Haven't had it that long to tell if there are issues, none have popped up yet so we'll see. Same with my contacts from the Address Book. The only downside was I hadn't updated address book in a while so some of my numbers weren't in there. Definately not the phone's fault though.

There are a lot of apps available on Apple's AppStore, some are free, some are reasonable and some are outrageously priced. I'll start with the free ones first.

Pandora - This is the online radio station pandora. It's free but amazing. Experienced a couple hickups on the way to work this morning where only part of a song played and then skipped. (I'm guessing didn't fully download or something) But for the most part worked well for my commute. I highly recommend this app.

MobileNews - This is basically just a news source for Associated Press news. I've avoided the NYT app because people seem to be complaining that it's slow. MobileNews has been pretty good. My area is not supported for the "Local News" feature and the interface could use some polishing but it's not bad. They also have a web based version which is optimized for the iPhone.

AIM - AOL instant messenger for your iPhone. This was actually the first app I installed to let my coworker know I got an iPhone. Not spectacular but not terrible. Basic instant messaging.

Tomatoes - This is the Rotten Tomatoes website's app. Starts with a text box for you to type in a movie. Typing in a movie then searched for that movie in their database. Gives you a basic summary of the movie and their rating. Summary is only one iTunes screen high. Clicking on the movie name at the top brings you to the web page for said movie but in doing so, exits the Tomatoes app and brings you to the Rotten Tomates page for that movie. Probably wouldn't be terrible if the page it takes you to was optimized for the iPhone but it's not. Will probably use as a quick reference for movies I'm not familiar with. Could be better.

PhoneSaber - Ok, no point to this, it's a lightsaber, you can pick your color beam and swing your iPhone around to make lightsaber sounds. Pointless and a waste of space but I still have it on my iPhone to uhhh... show people how useless it is, yeah, that's it.

Now for the paid apps, these are ones I've actually spent money on. To be fair, I have a credit card that gives me reward points in iTunes cards so I haven't really paid for it, but in a way I have.

Crash Bandikoot Nitro Kart 3d - Graphics are very good and you tilt the phone to turn. Very addictive. Nice use of the controls.

Monkey Ball - Another pretty cool game that uses the motion features of the iPhone to tilt the platform. This moves a monkey in a ball and you go around picking up bananas. A little tricky to get used to but fun.

Well that's it for the Apps I'm going to review today. I have a few more apps on my phone but haven't used them enough to tell if I like them or not yet. So stay tuned. Overall the iPhone has not disappointed.

Monday, July 21, 2008

iPhone availability

UPDATE: Looks like apple changed the link to a PHP page. Not sure of all the details, maybe they are actually checking the time on the server end instead of just relying on some javascript. Oh well, I got mine. :-p

So my contract is finally up with Sprint so I can now leave them without paying any penalties. Avoid sprint like the plague. Nextel was decent until they merged with Sprint, but that's a much longer rant than the cool info you'll find below.

So I've decided to ditch Sprint in favor of AT&T, primarily so I can get an iPhone. Apple has an iPhone stock bit on their web page. Go there after 9pm and you can see if a store is expected to have an iPhone in stock the next day. I do not always get on my computer after 9 for whatever reason so I thought I would script something to just scrape the page and see if the store will have it available. I found something even better.

http://www.apple.com/retail/

Go ahead, find a store near you and look at the source, I'll wait. See it? Yes, that bit of javascript where it calls: http://www.apple.com/retail/iphone/feeds/3g_us_inv.json

That file appears to not only have if there will be an iPhone available, it also has which models it expects to have available. The only other thing I could wish for would be the quantity, but now I'm expecting too much.

So what do we do with it? I'll show you what I did. First, we'll use python because it's cool and makes stuff like this easy. Second, since it's a json formatted file, good choice apple, we'll use simplejson. Got all that? Good, let's script this sucker.


import simplejson, urllib
url = u'http://www.apple.com/retail/iphone/feeds/3g_us_inv.json'
availability = simplejson.load(urllib.urlopen(url))


Ok, that basically downloads the json file and parses it into a nice little python data structure which we called availability. Now, I'm really only interested in certain stores in NJ. So, I do a loop like the following:

for store in availability['locations']['NJ']:
print store['city']


There seems to be available: url, city, storeid, available. Available then lists each type of iPhone (white16, black8, black16) and a true/false if it is available or not. So go forth and script to your heart's content. To be nice, here my final script:


import simplejson, urllib
import smtplib

MAIL_USERNAME = ''
EMAIL_FROM = ''
EMAIL_TO = ''
MAIL_PASSWORD = ''

url = u'http://www.apple.com/retail/iphone/feeds/3g_us_inv.json'
availability = simplejson.load(urllib.urlopen(url))

interested_stores = [u'Rockaway', u'Short Hills', u'Bridgewater']

msg = "From: %s\r\nTo: %s\r\nSubject: iPhone availability\r\n\r\n" % (EMAIL_FROM, EMAIL_TO)
has_iphone = False

for store in availability['locations']['NJ']:
if store['city'] in interested_stores:
if store['available']['black16']:
msg += u'%s has black 16Gb iPhones available\n' % (store['city'])
has_iphone = True

if has_iphone:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(MAIL_USERNAME, MAIL_PASSWORD)
server.sendmail(EMAIL_FROM, EMAIL_TO, msg)
server.quit()