
Installing Applications on iPhone: A Report
Last night I installed Installer.app on my iPhone. Here is how it went.
Note: you must be in a WiFi hotspot to install applications on your
iPhone; Installer.app works over your USB sync cable, but all
subsequent installations are over WiFi. It will also be useful to
have an SSH/SFTP client on your Mac such as the free (and marvelous)
Fugu.
http://rsug.itd.umich.edu/software/fugu/
[1] Install Installer.app onto your iPhone from your Macintosh:
http://iphone.nullriver.com/beta/
Installer.app will instruct you on how to proceed. You will have to
plug in your iPhone, let it sync with iTunes, then shut off iTunes
before proceeding.
[2] A new icon will appear on your iPhone: Installer. Tap Installer,
and wait for it to refresh.
[3] Click the Update button on Installer, and Update the Installer
itself.
[4] Click the Home button, and wait for iPhone to update; iPhone will
probably shut down, and you will have to slide to unlock -- this
seems to be how iPhone updates the main screen (sometimes known as
the SpringBoard).
[5] Now it's time to install some applications! The first
applications you should install are Community Sources, BSD Subsystem,
MobileTerminal, Launcher, and OpenSSH. These applications are
essential to the function of most other applications. For instance,
the Launcher is essential because you cannot add more than four
additional icons to the SpringBoard, the BSD Subsystem is the basis
for many other applications, OpenSSH will be useful to transfer files
to and from your iPhone, and so on.
After installing one (or several) applications, quit Installer (hit
the Home button). You will see an unusual sight: the spinning
spokewheel in the center of the SpringBoard screen, after which the
iPhone will sleep. Turn it back on ("slide to unlock"), and you will
see the new application icons.
[6] Finally, install something fun, like the game Lights Off, or
Erica Sadun's marvelous Voice Notes:
http://www.deliciousmonster.org/
http://iphone.natetrue.com/EricaREADME.html
http://iphone.fiveforty.net/wiki/index.php/GUI_Applications
http://code.google.com/p/mobilestudio/
Notes on iPhone Applications
These applications are incredible tributes to their author's
perseverance and hard work. Recall that Apple has done nothing to
make their work easy: no APIs, no SDKs, no way to move files onto or
off iPhone, no hints as to the inner workings of the iPhone, no
guidelines for iPhone GUIs. Yet, these folks have created a thriving
ecosystem of applications, infrastructure, and best practices. My hat
is off to them!
It is possible to move data files on and off the iPhone using an SSH/
SFTP/SCP client such as Fugu. To login to your iPhone, you must login
as root with password dottie. Yes, this is just as big a security
risk as it sounds. To find your IP address, open your iPhone, go to
Settings > Wi-Fi > [Your WiFi Network], and click on the blue reveal
arrow at the right. Read off your IP address from the next screen (it
will be something like 192.168.0.12 or 10.0.1.12).
Fugu (or ssh from Terminal.app on your Mac) gives you an interesting
view of the iPhone filesystem. The top level directory includes:
Applications
bin
[...]
Library
cores
[...]
System
dev
private
usr
What, no Users directory? Root's home directory is /private/var/root/
(or >cd ~).
At this early stage in development, I am compelled to say, most
applications are *very* buggy. To its credit, Installer is the most
polished application I have encountered: its GUI is clean, I like the
way it makes its buttons large and clear, and it gives lots of
feedback. I have never had Installer quit unexpectedly.
Other applications need more work (and their developers are working,
I have no doubt!). One of my first installations was Books.app:
http://code.google.com/p/iphoneebooks/
This was an interesting exercise. Installing Books.app from Installer
was easy (you must install Community Sources first). I restarted
iPhone and clicked on Books. I saw a blank screen with some buttons.
Now what?
It turns out, I have to transfer HTML-formatted books to the iPhone
using one of several manual methods:
http://code.google.com/p/iphoneebooks/wiki/InstallingEBooks
None of the methods on that Web page worked for me, but one ("use
Cyberduck") gave me the clue I needed.
[1] Open Fugu (Fugu, like Cyberduck, is an SSH/SFTP client) on the
Mac and login to your iPhone. You will be at /private/var/root/ .
[2] Go into to /private/var/root/Media/ (double click the Media
folder in Fugu).
[3] Create a new folder called EBooks (/private/var/root/Media/EBooks).
[4] Transfer (drag in Fugu) a text file ("filename.txt") or a folder
containing the HTML book of your choice. Neither the folder nor the
individual files can contain spaces.
http://iphoneebooks.googlecode.com/files/TarzanOfTheApes.zip
http://www.baen.com/library/
[5] Quit Fugu, and return to your iPhone. Open Books, and you will
see a listing of the books you have added. Cool!
Books.app
http://code.google.com/p/iphoneebooks/
The Books application is tremendously promising, but has limitations.
It was interesting to go to the preferences and see that three fonts,
Georgia, Helvetica, and Times. This is the first mention I have seen
of Georgia or Times being installed on the iPhone. From the button
bar at the bottom of the screen, I can increase or decrease the font
size (16 point Georgia is quite readable for my aging eyeballs).
Books will remember the "page" (there aren't any real pages in the
iPhone's scrolling screens) if I touch the Home button while viewing
a book directly. However, if I go back to the directory within Books
or choose another book to read, the placemarker is lost in the first
book.
Overall, I am greatly looking forward to seeing further development
on Books.app, and would cheerfully pay a shareware fee for it when
bookmarking becomes available.
Mobile TextEdit
http://code.google.com/p/mobiletextedit/
I played with Mobile TextEdit briefly. To use TextEdit on the iPhone,
Mobile Finder (from the same developer) must be installed.
http://code.google.com/p/mobilefinder/
Text applications on iPhone suffer from some of the same limitations
of all text in iPhone (lack of selection, cut-and-paste, etc.).
Because (I assume) of the limitations of the lack of iPhone APIs,
TextEdit does not include the automatic suggestions of other text
fields in iPhone, so my spelling errors were greater (I had not
realized how much I came to rely on the suggestions for accurate
typing). It is also difficult to move the cursor back to correct an
error, since the magnifying glass did not appear. Finally, I found it
tricky to save files in the iPhone's filesystem (probably in root's
home directory). There is no designated Documents directory for root
(why should there be?), and I was uncertain of how to rename the
filename from "Untitled.txt".
Just Say "No" to Files and Saving
Saving files leads me to wonder whether Apple (or this troupe of
genius developers, if Apple never comes to the plate) should rethink
the file/filename metaphor with iPhone. Although it must be there in
the background, we never think of Contacts as having a file
associated with it, just contact names. Similarly, we never think of
the iPod as being a directory of sound files, just a way of listening
to our favorite songs. Notes is an application that lets us select
the relevant note from a list (boy, oh boy Notes needs a Find
function!).
Why, then, should a text editor need to *save* files with a
*particular* name in a *particular* directory in a *particular*
user's home folder? There are better ways of making those files
available that do not require the user to make a bunch of arbitrary
decisions. The Newton and Apple's iPhone apps have it right: every
application is a database that takes care of all the fussy stuff, and
the user needs only to worry about the content. I hope that the
iPhone developers learn that lesson at the same time they are
learning how to jailbreak applications into the iPhone and how best
to present new GUI concepts to the users.
Best wishes,
Clint MacDonald







Click here to listen - On this week's show: 
Recent comments
2 hours 39 sec ago
14 hours 18 min ago
14 hours 27 min ago
23 hours 28 min ago
23 hours 29 min ago
1 day 2 hours ago
1 day 2 hours ago
1 day 13 hours ago
1 day 13 hours ago
3 days 10 hours ago