OK, a few more discoveries that I figured I’d share.
First I’ve realized one thing about much of Cydia. There’s not a lot of good documentation for applications or plugins. Many are “works in progress.” Quite a few require you to ssh in and modify files. Think Linux at its worst. That’s not that big a deal. But it’s something to consider. For instance the Appigo ToDo Lockscreen plugin requires you to find the full pathname to the application. Which includes a rather long hash value. Not something for the naive user.
But there are quite a few gems for the sophisticated user even if most of what you find is theming cruft that you’d never want on your phone in a million years.
A few tips.
First you can use ssh programs from the regular AppStore in place of the Cydia terminal. There are reasons to do this – although I’m not sure which I like best. (Right now I’m running iSSH because I like the way it handles esc and ctrl keys)
Second, I’m not sure what generates the /Applications directory but it’s woefully inadequate. There was a program called AppLink that does what my tip did. But the repositories that once hosted it are gone. So I’d suggest putting the bash script from my tip somewhere on your phone and running it whenever you install new software. (I put it in /User/mAppLink.sh) The script by default creates a /var/mobile/AppStoreApplications with links to all the appropriate “real” directories. Why is this nice? Well I had “file sharing” applications such as Air Sharing or FileMagnet I’d bought on the AppStore (very cheaply when they were first released). Now rather than having to use this inane syncing method I can just rsync files over there automatically. Or, if you have netatalk installed you can just do it via the Finder.
Many Applications, especially note applications, store their data in a sqlite database. This is fairly easy to read and can be used for your own ends as well. Since this is a fairly Python-centric site I’ll give you the instructions for Python. Just type sudo easy_install pysqlite and you’ll have a full Python module for dealing with such files. Here’s a nice tutorial for using it. If you want a GUI you can get SQLite Browser or use the Firefox plugin. (I’ve not used the gui stuff much, I should note) There’s also some pretty good tutorials on sqlite and iPhone development that obviously applies to those wanting to get stuff off the iPhone as well.
Now the reasons to hack the database are smaller now than they once were, just because WiFi syncing is much, much more common. (Although since Apple has no syncing API for when you connect to iTunes you have to manually sync every program which is amazingly annoying) There are still reasons though, such as saving your sms messages.
Other useful things you can do with net access to your iphone include saving your voicemail messages, nabbing voice notes, doing more thorough backups, easily transferring wallpaper and honestly just using it more like a computer.
An other cool feature is to be able to do screencasts of your iPhone in use. An easy way to do this is to use Veency which is a VNC server for your iPhone. You can then use one of the multitude of VNC clients to access your phone from your Mac and then just use a regular screencast recorder to record what’s going on with the iPhone. One very helpful feature of Veency is that you can type from your Mac onto your iPhone. Yes. So long data entry can use a real keyboard. (A good Mac client is Chicken of the VNC)