CopierciN

September 14, 2008

CopierciN v0.1 Release Notes

Filed under: CopierciN, iPhone — Tags: , , , — gomercin @ 10:17 pm

Source Code:

I will release the source code once  tidy up it a bit. I modified some of the headers by hand instead of just class-dumping, so it is possible that the code can not be directly compiled in a standard toolchain build. I hope people with much more experience will contribute and the application will be improved. I am sure most of the bugs I mention here are easy to fix, or even the technics I am using can be improved dramaticaly.

Actually, to be honest, I implemented this application to learn Objective C :). Yeah, this is my first Objective C application which actually serves to a purpose and I believe it can be really useful for everyone.

Compatibility:

Built and tested on iPhone firmware 2.0.1. It would be great to have feedback about how it works in different firmwares.

I had read that some functions I was using were removed with 2.1 firmware. I had not tested but even if the program works, you may have to open the mobile SMS application manually once you chose to export the text as new SMS.

Warnings:

Be aware that this version is the first public beta. I tested it a lot in my own iPhone and I never had serious problems but still, it might cause some problems for someone else, like corrupting some files mentioned below, or making your girlfriend/boyfriend leave you or make your dog eat your shoes, anything might happen :)

This application modifies two system files: notes.db and com.apple.mobileSMS.plist file. Only new entries are made to notes.db file and if CopierciN somehow corrupts this file, it should be possible to correct this problem by just deleting the corrupted entry from Notes application. As this version is just a beta, you might want to backup this file before using CopierciN.

The mentioned plist file does not seem to hold too much of an important data as far as I see. If you have unsent short messages which you do not want to lose, it is better to backup this file too. You can restore the backup after you use CopierciN.

notes.db file resides in /var/mobile/Library/Notes and com.apple.mobileSMS.plist file is in /var/mobile/Library/Preferences folder.

Besides them, saving the text as a regular file just overwrites the file at the given path. Make sure that you are not overwriting any important data.

Known Issues:

  1. Selection highlighting is very buggy, but usually not a big obstacle:
    • You might see a selection is made when you are trying to scroll the page. Just touch on somewhere on the text and the selection will be cleared.
    • Spaces or line endings might get lost during or after selecting process. For example, if you start selecting just before a space character, this spce character gets lost once you clear the selection.
    • After making a selection, if you type something from keyboard, selection stays and extends to contain the newly entered text. If you press copy, this newly entered text is also copied. Actually, this is not a bug, it is a feature :)
    • There might be more I can’t remember. These are the ones that I see occasionaly.
  2. Only UTF8 strings are supported. I did not do much encoding checks and the application will probably crash if you try to import or export non-UTF8 strings. I have tested the application with only Turkish (and thus also English) characters up to now and it seemt to work flawlessly.
  3. If you manage to export a non-UTF8 text as a new Note and the application does not crash, there is a high probability that it will crash when you are trying to import that note. Besides that, the last entry of the Notes application might get corrupted. It would be best to open Notes application and see if the last entry can be viewed correctly or not.
  4. Only first 500 (or something) characters are imported from eMails. Unfortunately, this is not a bug; I just couldn’t manage to read the entire contents. For now, only this summary part is imported. There shouldn’t be a limit on exporting though.
  5. There are some issues with cursor position. After “cut”ting, you might see the cursor is put into a strange place. Also, after pasting, the cursor is set to the beginning of the pasted text instead of being set to the end of it.
  6. The tables look ugly, well, yeah. I should change the font size at least.
  7. Double tapping on the text will disable selection and it will just show the magnifier. Not a bug, but a feature again :)
  8. You might see nothing instead of mailboxes. This probably happens when the Mobile Mail Application was just in the middle of downloading new messages. Opening the mail application, waiting until it finishes loading new messages (until the loading animation-the turning circle disappears) and reopening CopierciN should correct the problem
  9. Meanwhile, mailbox folders are not divided into accounts, thus you will see a list of all folders from all accounts. This might be confusing with folders with same name in different accounts.
  10. Be sure to have a valid 2.x.x compatible notes database. I realized that the database format for notes.db is different in 1.x and 2.x firmwares. Thus, if you had just copied your notes database from your 1.1.4 iPhone after upgrading to 2.x, you might not be able to import or export notes. If this becomes an issue for majority of the users, I might add a compatibility version in the later releases.
  11. Short message groups are not ordered by the latest short message date as it is done in SMS application. For now, you have to look for the sender (or receiver).
Future work:
  • Integration with Safari: What I have in mind is to make the application load web pages from Safari bookmarks or history. After downloading the page, it will be converted to plain text (I am not sure how it would work with exact contents, I will look into it). Once it is converted, you can select and copy as you would do with other kind of texts. Pasting into a form object would be the problem though. Again, what I have in mind is copying the text into a cookie or something which can be read with a javascript bookmarklet. After that, this javascript bookmarklet can be used to paste this text into the selected text field. I actually am thinking aloud right now, I do not know this pasting thing can be made to work or not.
  • Contact list: This can be useful as there is no easy way to send a contact information with a short message or eMail. It is not very hard in theory but I should prepare a nice import interface to make it easier to list and select a contact. 
  • Plugin support: It would be nice to make it possible to write plugins to import/export to/from other applications. Hardcoding it for all the applications is just well, bad :)
  • Making a clipboard framework: just like suggested by www.openclip.org, people can write their applications which use the same file as clipboard. This way we can have applications sharing the same clipboard and some kind of system-wide copy/paste functionality. That is, if Apple insists on not putting this functionality with a firmware. I respect the idea of www.openclip.org but well, it is just hard without jailbroken phones. By the way, I might integrate my application with the openclip framework in the future. I saw this project just a few days ago, or else I would already be working on that.
  • Just leave a comment if you have any other thing in mind.
Thanks to:
Jay Freeman (Saurik) especially for porting GCC, Jonathan A. Zdziarski for the book iPhone Open Application Development, Erica Sadun, Dev-Team, and I don’t know every developer who share their source code with public. Phew, I am bad at thanking :) I have looked into many many code pieces while I was trying to learn ObjectiveC, I should have written down their names. Oh, I have one, thanks to gojohnnyboi, I got file load/save functions from his application gTxtEdit.
Meanwhile, guys who made the application MagicPad, how did you manage to make the selection so smooth :) I would love to have someone help me about having a better selection mechanism like the one used in MagicPad. 

11 Comments »

  1. [...] CopierciN added an interesting post on CopierciN v0.1 Release NotesHere’s a small teaserBuilt and tested on iPhone firmware 2. 0. 1. It would be great to have feedback about how it works in different firmwares….Jay Freeman (Saurik) especially for porting GCC, Jonathan A. Zdziarski for the book iPhone Open Application Development, E… [...]

    Pingback by CopierciN v0.1 Release Notes » iPhone Tricks — September 14, 2008 @ 11:09 pm

  2. Wow this is great! Keep up the good work because we all can’t wait to see what develops with this program.

    In the mean time, I have created an icon for Louie Mantia’s Agua theme for this app. You can find it here: http://eugenegordin.com/iphone/icons/CopierciN.png

    Thanks again!

    Comment by Eugene Gordin — September 16, 2008 @ 10:34 am

  3. Hey! Thanks a lot for this! So far works great on my iPhone 3G 2.1. I’ll let you know if anything bugs or so, but so far so good! Thanks! This is perfect! I was waiting for this!

    Comment by Laurence — September 16, 2008 @ 12:52 pm

  4. Thank you.
    This is something I really need.
    y.

    Comment by yashijoe — September 16, 2008 @ 1:21 pm

  5. Hi,

    Just got this then and am attempting it on firmware 2.1 Seems to work relatively well, however it has become quite buggy, the following are issues i’ve found so far!

    - When i hit clear button, crashes to springboard
    - whenever i highlight the text and click any of the copy/cut/paste options, and attempt to impliment them later, it doesn’t work. Ideally it seems this feature has completely become useless
    - When i go to import from SMS it just crashes to springboard

    Apart from that, all other functions seem to work (export seems to be completely fine and the rest of import).

    Thanks!

    Comment by Trepidation — September 16, 2008 @ 4:24 pm

  6. I’d happily donate.

    Please talk to Zac @ openclip. I think it would be far better for all parties to merge efforts on this since Apple is clearly trying to focus efforts on a stable working OS and Push.

    I don’t think we’ll ever see copy / paste.. lol, the Newton had copy / paste.

    Super, thanks for asking!!!

    Comment by methodicjon — September 16, 2008 @ 11:15 pm

  7. Really cool application however it lacks cut functionality which is a must for an application like this. Would be great if you add that sometime in the future!

    ..And I would definitely donate when you add it, think about it ;)

    Comment by bsrykt — September 17, 2008 @ 11:58 am

  8. Hello,

    You did a fantastic Work. I wanted to thanks you and congrat you for making such a great pice of app.

    I have a request is it possible to Luanch biteSMS instead of SMS application ? biteSMS is my default SMS application which work quite good every where. if you can launch default SMS application it will help all biteSMS users or you can simply add biteSMS in your export app.

    Another request will be the abbility to copy from Contact to send by SMS or by Email. It is painfull to wirte down all number then type them if you want to send to someone. If you can add this function to get select multiple contacts number to import in SMS or in your temp Notes page.

    Thanks again and keep it up

    Comment by Netuser — September 17, 2008 @ 12:20 pm

  9. Great work mate… looking forward for the new features to be implemented.

    Two things to highlight:
    1)when trying to import from Notes, it keep showing deleted items. Currently I have 2 notes only, but when I try to import, it shows me 5 notes, 3 of them are old and when I imported a deleted item, it did show the text that I used to have.

    2)would be great to add a feature to copy phone numbers from sms or notes and add them as a phone number in contacts.

    Comment by Razi — September 17, 2008 @ 1:38 pm

  10. Numbero Uno! Definitely great app, man! I am looking for this copy/paste thing for months. I hope, you will work with Netuser to extend CopierciN with biteSMS. By the way, I have heard from some forums that CopierciN has some issues with iphone 2.1.0. However, I believe that you can fix this.

    Waiting for your next fancy application… Keep up…

    Comment by Mert — September 17, 2008 @ 7:28 pm

  11. Really nice work…has real potential.

    Some feed back (on a FW 2.1 unit). I have found that the first time I select text (highlighted) it can be cut, but attempting to cut a portion of the remaining text does not work. However, if I respring, I can then recut (again, for a single time).

    As you pointed out, selecting text is still quite buddy. Most of the time, I find that selecting text almost always selects text from the end of the paragraph UP to the point of my selection.

    IMHO, if you can resolve (improve) the issues I have cited I think you’ll find a very happy user base (and make some spending money :-) )

    As for Features, it would be great to be able to import from one’s contact list.

    Cheers.

    Comment by art — September 18, 2008 @ 9:42 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress