Archive for the ‘Apple’ Category:

Iphone OS 3.0 Beta

March 18th, 2009

iPhone 3G

I’m totally excited. Yesterday Apple announced the newest version of the iPhone OS, 3.0, to be available in June 2009 to both iPhones (original and 3G), and iPod Touch (1st and 2nd generation).  For those building iPhone apps, the beta version of 3.0 SDK is available now.  That means developers can actually start playing with 3.0 TODAY.

Here’s my favs from what’s new in 3.0

  • Cut, Copy, and Paste (finally)
  • Send photos, contacts, audio files, and location via MMS (iPhone 3G only)
  • Push Notification Service
  • In App Purchase Support
  • Peer to Peer Support
  • Maps API
  • Audio and Video Enhancements

I’m glad to see cut’n'paste is gonna finally work.  So many times I want to copy a URL from a text or email to Safari, or copy an address to google maps.  However, I’m really pissed that MMS (send a picture message) is only for iPhone 3G.  Back in 2005 I was using my cell phone to send pictures AND VIDEO to my friends phones.  2 years later I bought the iPhone, and now I still can’t do it.  As a phone, iPhone kinda sux.  But as the most awesome portable touchscreen internet customizable high quality audio and video playback device, iPhone rules.

I like the “Push Notification Service” because it allows custom iPhone apps to do receive messages from the internet even if they are not running.  For example, when you get a SMS Text message, an alert pops up on the iPhone with the text message, which you can close or reply, launching the Text Messaging app.  Similarly, the new push service allows an alert to pop up for a custom app.   However, if user hits close the alert goes away and the app is not run.   That means that background processing is still not allowed.  Another way to view it is:  Internet –>  iphone –> Human –> iphone app.  I much prefer this view:  Internet –>  iphone –> iphone app.  Skip that human interactive component and let the app process a notification as it sees fit.   NOTE: originally I thought 3.0 would allow background processing, but 3.0 beta SDK corrected me.

If you want to make money, the “In App Purchase Support” is huge.  You can make an app cost $0.99 in iTunes, offering some basic functionality at a low price point for mass adoption.  Then offer premium services for an additional $1.99 (or whatever) right there in the app - it does not get easier.  Perfect for games (download the next 10 levels for $1.99) or for monthly services ($5.99 for next months premium financial or sports information).

Peer to Peer Support is cool because it makes it easier for iPhones to talk to each other (or other devices that support apple’s bonjour protocol).  Examples include games (just like online multiplayer playstation games), exchanging virtual business cards, or sharing documents.

Maps API has a lot of potential, especially since its closely intergrated with Google Maps API (terms).  Combined with location aware (GPS or cell tower triangulation) phones, this makes it much easier for apps to have custom annotations displayed near the user’s location.  You can also do some of this in safari, skipping the iPhone app and just makeing a website page specific for iPhones (the new safari in 3.0 allows javascript to know users location).

Audio and Video have also been updated.  With iPod Library Access, an app can play any song on the phone. One example would be a game tied to a specific playlist, where each game event (begin, score, foul, goodbye) is mapped to a song, allowing users to customize the audio themselves.  Video Streaming is improved - now you can playback video streamed from a standard HTTP (Web) Server.  Expect more websites to have a feed made for mobile devices. Core Audio and Audio Recording got newer engines under the hood, including support for more codecs and software decoding.

Leopard Upgrade

December 17th, 2008

Leopard OS X

Yesterday I upgraded my macbook pro to Leopard, the latest OS X operating system, over a year after Apple released it.  Whew.  It took me 4 days to organize, clean and backup my stuff (over 200GB), about a day to figure out how to install leopard without a bootable DVD (see leopard dmg install), and less than an hour to do the actual install.  Why now?  Not because of all the new features, but because I wanted to develop an iPhone app. Stay tuned for more on that.  Yay.

After a fresh install, here’s what I add/customize:

  • Firefox 3 [Free] - fast, but I love that it remembers all URLS and you just type any part of the URL or Page Title and it shows you dropdown of possible matches.  Also love these firefox add-ons/plugins: greasemonkey, web developer, firebug, live HTTP Headers, more.
  • iLife ‘08 [$$] - new iTunes (love the Genius), new iPhoto (love the auto-grouping of events), and more.
  • Adobe CS4 [$$] - gotta have Photoshop, Acrobat, Indesign, etc.
  • VLC [Free] - best media player out there - avi, mpg, mp3, mov, wav, etc - i love “hot keys” -† its FREE
  • Xee [Free] - Excellent gif/jpg viewer (don’t *need* this in leopard)
  • iSquint [Free] - convert digital camera movies from big file sizes to smaller for upload, sharing, ipod, or iphone.
  • Transmission [Free] - bit torrent client, so you can download movies, tv, games
  • Handbrake [Free] - Rip DVDs - in one-step, create .avi movies for ipod, iphone, etc.
  • iStumbler [Free] - helps you find a good wifi signal when you’re not home or office.
  • SuperDuper [Free] - easy way to back up your entire laptop to external drive or network.
  • Chicken of the VNC [Free] - if you have a windows or linux box, put vnc server on it, then install this vnc client on your mac, and now you can control your windows from mac!

Leopard .dmg Install

December 17th, 2008

How to install Leopard from a .dmg file - My Constraints:

  • Leopard not on DVD, only 7GB .dmg file
  • Tiger is available on bootable DVD
  • Cannot boot on USB or Firewire drive

I am providing this because some of the more popular methods did not work for me.  If the following does not make sense, read this original guide and the digg comments on it.  Here’s an overview followed by notes:

  1. Prepare.  Backup all your important files, docs, iTunes library (split itunes library), iPhoto library (split iPhoto library), etc on an external drive or network drive. Make sure you 7GB leopard install .dmg is handy (on your backup drive is fine).
  2. Create a 2nd partition, 8GB or larger, where we’ll put the leopard install .dmg, then we’ll boot from that and install leopard onto big partition, see NOTE below.
  3. Prepare 2nd partition as a bootable Leopard Install option, see NOTE below.
  4. Reboot, hold down ALT, pick leopard install boot option, Install leopard on 1st partition - I recommend erase and install, but you can also upgrade.
  5. Optional: Merge 2 partitions together - Caveat: I have not done this - delete 2nd partition then resize partition.

NOTE: Creating 2nd Partition in Tiger

Tiger’s “Disk Utility” application creates Apple Partition when I re-partitioned it, with no option for creating a GUID partition.  On Intel mac’s, you need GUID partition in order to boot the drive and to install tiger. However, http://support.apple.com/kb/TS1600 said to “erase” partition and it would be given GUID paritition - This also did not work.  What did work is using the command line program diskutil, which you can run from the terminal application.  Example of what I did


% diskutil partitionDisk disk0 2 GPTFormat HFS+ Big_Daddy 224GB HFS+ leopard_install 8GB

NOTE: Preparing 2nd Partition

Many web pages said to use “Disk Utility” to restore .dmg as source and the newly created 2nd partition as destination.  This did not work for me, and as apple support states, sometimes disks cannot be dragged to destination in “Disk Utility” from Tiger DVD.  So I installed tiger on the first partition (erasing it first) in order to get a working “Disk Utility”.  Now dragging disks worked but whenever I clicked on “restore”, “Disk Utility” gave error 2, 16, or some other number. What did work is mounting .dmg file (use hdiutil or just double click it), then using the command line program “asr” from terminal.  Example:


sudo hdiutil attach leopard_install.dmg
sudo asr restore --source "/Volumes/Mac OS X Install DVD" --target /dev/disk0s3 --erase

In hindsight, this should all work from terminal app from Tiger DVD right at boot - you should not need to reinstall tiger.