How to edit files that are currently in use by Symbian

SuperScreenshot0027

Notice there's no Bookmarks db

If you scroll down the main page a little, you’ll see I was away from this blog for quite a while, I didn’t even post nothing in May. And so, I wasn’t paying much attention to the comments (sorry guys, just finished replying to them :P). Two comments in my first post about hacking the 5800 were asking how to modify files that are already in use by the system (most databases, font files (when in C: or E:), resource files, etc), I had already said just to “look around”. Well, that’s no good! In this post I’ll make a guide on how.

First, get a file manager that has an option to ask “Are you sure you want to exit?”. I hate UIs that do that, but they’re useful here (lol). My choice would be the manufacturer capabilities enabled ActiveFile (signing/hacking required), the UI is glitchy on 5th edition (supposedly a fix is coming soon), but I prefer ActiveFile over any other manager on 3rd edition. (right now I use Y-Browser for everyday tasks and ActiveFile for stuff like this, on my 5800)

SuperScreenshot0028

Activate on Settings > General

Now for the part where the magic happens. Ever since 2nd edition (or even first, don’t remember) S60 had this backup function on the memory card app/built-in file browser, it makes a copy of modified files from C:/ to a hidden folder on E:/. It was incredibly useful on 2nd edition for making app backups, it got kinda broken on 3rd because of security (lol), and it’s back in a refreshed form in 5th. But how does it copy files from C: without the OS complaining? That’s right, it lowers (momentarily) the security!

SuperScreenshot0029

woo

The thing is, this backup function closes every other app open on the phone, and stops the menu from being able to launch apps while the backup is on progress, in order to protect those files. That’s where the “Ask on exit” option comes to play! The backup app can’t close ActiveFile because it can’t answer Yes for the question. (lol)

So switch to ActiveFile using the menu key, answer No to the “Do you want to exit?” and you’re left with an unprotected file system and an open file manager with all files capability. Yay.

Now for a couple tips:

  • On the backup contents part, I suggest just selecting Contacts, Calendar and Messages, as selecting all will give you a lot of time to mess with files, but increases the chances of a crash/wrong file to mess up something on your phone.
  • Speaking of time, you only have from when it says “Creating backup” to when it says “Backup complete” to modify files. This won’t work while the message reads “Preparing for backup”. Do a backup once and just look at how much time it is.
  • If you want to copy something to C:\Private\100012a5, don’t leave the source file in E:\, copy it first so C:\Private, or leave it on the clipboard before starting the backup. Again, for speed reasons.
  • Keep in mind that system files are case sensitive, if you’re using this method to copy over the bookmarks files as I showed in that other post, rename the file to have the exact same capitalization. Lol.db isn’t the same as LOL.db.

And there you go, huge wall of text, but I tried to explain every aspect of this trick throughly. If you want a tl;dr version of the post, I’ll add it here:

  1. Get ActiveFile, activate ask on exit.
  2. Use the built in file manager to start a backup.
  3. While the phone is backuping, switch back to ActiveFile. All files are fair game to copy/delete.
Posted in Uncategorized | 1 Comment

Merging fonts, S60 specific glyphs and other stories

superscreenshot0018

Droid Sans with a cut musical note!

Fonts! Yes, one of S60’s oldest mysteries. Why Euro1 firmware phones don’t support asian fonts? It made sense back in the S60v2 times, where memory was scarce. But now there’s plenty of space for just a couple more megabytes that a full unicode font would occupy.

For that, there are alternative fonts, pretty much any .ttf you find, with a little magic, it can be used as a system font. If you want a wider range of characters, you have two options:

heisei

Nokia's own Heisei Kaku Gothic S60

or

arial

Any other unicode font you find, for example, Arial MS Unicode

Thing is, the latin letters from Heisei Kaku are quite ugly, in my opinion. (and I’m not the only one, I’ll add some quotes here later :P). And regular fonts are just too big/wide  for mobile phones, they’re not designed with small UIs in mind. Compare with regular Series S60 Sans.

s60sans

lol blocks

So what could I do to fix that? Enter FontForge! An free multiplatform font editing application. I finally figured out how to “merge” fonts using it.

You can take s60snr.ttf from Z:/System/Fonts and use FontForge to merge any font with japanese characters to it, fontforge will import the characters the original font does not have, so you keep the regular S60 latin letters, adding Japanese support to it.

On the screenshot on the top of the post, however, you see a different font than the standard S60 font. That is Droid Sans (download link), the font used on Google’s Android platform. I got it because I thought it looked kinda neat, as an example for this post. But one thing you don’t have in other fonts, are the characters specific to S60. For example, the space bar symbol, the line break symbol, the cut musical note that indicates the phone’s on silent profile, etc.

picture-1

There they are, hidden in U+F800

Again, you can import those characters with FontForge, so now you can add those UI elements to every font you want to use on your phone.

Now to apply those fonts to your font, you need an application called FontRouter LT to avoid doing the whole renaming and copying procedure font changing used to take, and to make it even more simple, there’s an application called FontRouter Man, so you can turn it on and off with a single menu option.

superscreenshot0020

FontRouter Man's default settings

Now, for the downloads:

Take this post as 10% tip in adding Nokia characters to other fonts, 90% report of my “research”. I’ll try to update it in case I figure out how to add different variants of S60 Sans in FontRouter for the closest default UI look. That or if I figure how to make a lighter mix of the Droid Fonts in order not to crash the phone with arabic.

Update!

So I figured out why modifiying the three variations of S60 Sans wouldn’t please FontRouter.

serifsareforsuckers

Tricky.

Both the regular and the SemiBold version have the same name! That’s why when adding s60snr, s60ssb, and s60tsb to FontRouter, just the regular and the title font would be added.

superscreenshot0021

Notice all three variants: Red uses s60tsb, blue uses s60snr and the list uses s60ssb.

So this puts a conclusion to why I couldn’t use FontRouter to get the closest default UI look. I had to change the fonts the old school way, copying all three modified .ttfs to E:/Resources/Fonts and rebooting. Now I’m considering moving those files to C: (as leaving them on E: breaks mass storage mode (files in use, y’know)). Keep in mind deleting fonts after you added them on E:/Resources/Fonts requires you to boot up without the memory card (to free the files). Hopefully nothing will break, and I’ll be able to have the same fonts as I used to have, with nothing broken, just with added Japanese support.

Posted in Uncategorized | Leave a comment

Shazam ID for S60v5

superscreenshot0011superscreenshot0012

Oh hey, new post. This time I’ll “review” the Shazam app for S60v5 that just came out on Ovi Store. And by review, I mean complain about glaring UI design faults. Brace yourself for a bulleted list!

So say you’re in the car (as a passenger, naturally, don’t operate your phone while driving yo), and the song on the radio is pretty cool, you get out your phone to identify it…

  • Splash screen! Yes, you’re greeted with a splash screen making you wait before you can actually record the song. Who uses splash screens anymore? Over the top of my head, just Adobe Creative Suite. (which is not, by any stretch, a good UI example)
  • Select access point every time! While I’m used to complaining about not having a default network destination setting, this app surpasses that. It gives you a list of all your access points for you to select the one you want to use, on every launch. It isn’t even the neat FP2 dialog, it’s just a plain text list. (and the song keeps playing)
  • Theme changes! For some reason, whoever made this application thought it would be cool if the theme changed inside the app. In the screenshots above, I’m running the default 5800 theme, yet the signal meter, softkeys, option menus etc are different. Besides not adding any function or eye candy to the app (lol, ugly theme), it gives way to some fun graphical glitches when switching to and from this app! (for a similar effect, go to the jamster (lol) folder on the Download! app (lol))
  • Vibration! For some reason, when you get a result after “tagging” a song, be it successful or not, the phone vibrates for a second, with no option to turn it off. lolwut?
  • Encoding! As seen on the screenshot above, it gets messed up with accented characters, Vigüela, in the example. Update: Restarting the app once fixes any accented characters in the my tags list. lol?
  • “Are you sure you want to exit?” dialog! lol

It’s not like it isn’t an improvement from the UI of the last version, but there’s just too many usability flaws and additions that just don’t make sense.

And then there’s the price. Shazam is free on iPhone OS, Blackberry OS, Android, and all those versions are far better designed/looking than the S60 version. So when I saw the 5 bucks (I’d link the Ovi store page, but that site is a mess right now) price tag I thought: “golly gee, they must have added something to make that worth 5 bucks!”. But yeah. Gravity proved it’s possible to make awesome UIs on S60, price them well, and sell them. Step up the game, Shazam (lol expressions.)

But hey, at least the icon is nice amirite? (:P)

Update:

I installed a new theme today, and when I went to the settings app to switch to it, this is what I found:

SuperScreenshot0030

Seriously?

At least this gives me hope that it’s deletable. brb gonna try it. It is, go to C:\Private\10207114\ and delete the right folder. I didn’t take note of the name of the right folder to delete, but if like me, you only have two themes, it’s a 50/50 chance of deleting the right one. lol

Posted in Uncategorized | Leave a comment

V21 for the 5800

photo-5

First OTA firmware update I install ever! Took a screenshot of the installation process too.

superscreenshot0014

Yaaaay.

Now for the alleged change log that’s been floating around, seems pretty accurate, so it must be true.

Following BUGS are fixed,

  • Lock code does not work after FOTA update
  • Logs: Info cannot be seen in missed calls if name includes special characters
  • The envelope icon doesn’t open after reading the sms
  • Autolock requested via MfE but not activated
  • MPX harvester server crash with DRM files
  • Oper. menu application icon missing after NSU update
  • CDP Displays: CDP Clock and Data Have To Be Transmitted 2 Frames Before Sleep Out (SLPOUT 11h) Command
  • “Program closed: Idle” after Restoring factory settings
  • Video telephone: Phone reboots after tap call button several times when answer an incoming video call
  • Music Player crashes when user tries to refresh Real audio into Music library
  • Dialer: The cursor is not displayed in dialer panel
  • Audio disappears after playing music long time with BT
  • Music player the album art in Now Playing view is downscaled
  • Access point password is not provisionable
  • Voice commands application crashes after language change
  • Synchronization cannot be done using PC Suite Sync application
  • FL3.0: Inline Text editing from browser plugin is not successful
  • Browser does not show some MIME-types of type image correctly
  • Browser: Not possible to move the cursor when typing in a <textarea> field
  • Browser: Page scroll wobbles if user scrolls with flash while page is in scroll motion
  • Browser: Page does not scroll if drag is started from the edge of flash window
  • Browser: Page scroll does not work after stopping going to new page opened via flash banner
  • Bluetooth causing extra current consumption when activated
  • Predictive search not working properly in country selection
  • Music Player application crashes if album art is selected to be changed
  • Duplicate contacts after restore
  • Music Player: White screen displayed if change orientation between landscape and portable mode
  • MO/MT calls will not work when restoring backup from old phone to more recent version

NEW FEATURES AND APPLICATIONS

  • Notification Lights according to Nokia Design specification
  • Touch usability improvements:
    • Finger touch support for Special Character Table
    • Size of arrows (tab pane & navi pane) in touch UI
    • Arrows in forms, date & time selection, touch UI
    • Profile, date area in touch UI
  • Calendar Finger usability: change single row list items in day view wider
  • Screen does not dim when rotated, with theme effects on, hence the snappier UI.

I can confirm that the album art in the music player is a decent size again, those little arrows’ on the top had their hitbox size increased (yay!) and that there is a new special character table:

superscreenshot0015

Neat! Now to hard reset and see if I pick anything else.

Posted in Uncategorized | Leave a comment

The Nokia 6650 has a timer app!

ext04ext05

…at least on the cover UI. Ah, the oddly missing features of S60~

That said, just so this isn’t a worthless post, I’ll link a pretty neat timer app for S60v5. Download it (and a lot more stuff) here.

Posted in Uncategorized | Leave a comment

Virtual Keyboard for S60V5

picodrive5800

Of course I'd test it with Picodrive

Fresh from the dospy.com labs, comes Virtual Keyboard by wolf800, a better onscreen keyboard for S60 apps that haven’t been touch optimized. Such thing wouldn’t be needed if Nokia had left compatibility mode, but that’s what the underground developer community is for.

So this app draws a transparent keyboard over your screen, and so far I’ve found two versions of it, one that the keyboard is drag-able (0.9.1), and one which it just snaps to the corner of the screen (0.9.4), so it gets out of the way. Plus there’s a v1.0.1 floating around which is significantly worse then both of those, I suspect it’s unofficial.

I was using 0.9.1 for that picture, its buttons are slightly larger, but 0.9.4 is more convenient for not sliding away when you try to press a button. Plus it seems to be skinnable, which is quite cool, if I get to figure out how to get new skins. Seems like I’ve got some Google translated Chinese reading to do.

Downloads: Version 0.9.1 and version 0.9.4. (Unsigned, hacked phone recommended, you know the drill.)

Bonus paragraph: How was Picodrive (1.35) on the 5800? Disregarding the terrible controls which don’t really work with Picodrive’s screen drawing technique (Broken transparency, tendency to get stuck keys), it was quite sluggish with sound on. Acceptable framerate with the sound emulation turned off, but still. Really shows that the 5800 isn’t supposed to be a gaming phone.

Posted in Uncategorized | 4 Comments

Games folder on 5800!

games

Yay! :D (hacked phone needed, for a summary in how to do it, scroll to the bottom of the post :P)

After a lot (a lot!) of trial and error, I finally figured out a way to get a Games folder with the proper icon on the 5800’s menu. It was a battle of googling, extracting then compressing files, messing with .svgs that do not open in computers and more.

It all started with Flahorn’s latest theme. Flahorn, being the awesome guy he is, created an icon set that follows the Ovi icons styling for use on S60v3 themes, and it included the Games icon. I installed it to see how it would look on my 5800, and editing the skin_id (I visited this before, wow that post is outdated!) for a folder that I created to a s60v3’s games folder id, the icon appeared.

But I didn’t want to use a theme to see the pretty icon, and if OPDA’s menueditor could change the icon, there should be a way! Using SisXplorer from Symbian Toys, I got to the .mif file inside the theme, and the packed .svgs. Of course the svgs are compressed (or maybe that’s just how SVG tiny works), so trying to view them in my computer didn’t work. I unpacked and sent all the 1000+ svgs to my phone, and it could open them!

I found the Games icon .svg there (try transfering it to your phone if you want to view it), but I can’t link appshelldata.xml to a .svg, only to .mifs. Found a Forum Nokia page explaining how to pack a .svg to a .mif.

But that wasn’t the end of it, to properly point the menu app to the right icon, you have to know the icon_id to fill in the appshelldata.xml. I tried lots of values, but no one worked. Finally, after a couple different searches, I learned that the first svg always has the icon_id set to 16384 (random value much?) in a Forum Nokia thread.

With that, I had my icon packed in a .mif, and all the values I needed. So my appshelldata.xml looked like this:

<appshell:folder positioned=”1″ title_name=”Games” long_name=”Games” short_name=”Games” applicationgroup_name=”games” icon_file=”C:\System\Games.mif” icon_id=”16384″ mask_id=”16385″ icon_skin_major_id=”101F86E3″ icon_skin_minor_id=”1977″/>

I threw the .mif in C:/System, and set the skin_ids to the games folder value so that they’ll change with themes. Uploaded the appshelldata, and it worked!

So, in conclusion, get this .mif, transfer it to somewhere safe on your phone, and edit your appshelldata.xml (found in C:\Private\101F4CD2\Content\). Copy and paste the block quote above to .xml, right after a “</appshell:folder>”, just changing the path to the .mif, reboot (or kill the Menu app) and presto! There’s your folder!

Yay another 400~ post about folders~

Posted in Uncategorized | 7 Comments

GPS folder on the E75

From CJ’s E75 review, comes screenshots of the second S60 phone in the market with Ovi icons, and guess what? It does have a GPS folder that’s not an application and has the Maps app inside of it!

It doesn’t have the Positioning Settings icon, however, but I’m sure doing an app that’s simply a shortcut to the appropriate pane in the Settings app would be a doddle (pheer my brit. informal skills). So pleeeeease Nokia! :P

Posted in Uncategorized | Leave a comment

Video of Ovi Store on N85

Ah! First glimpse of the actual app, no photoshopped N97s, this is going to be aaaawesome.

Posted in Uncategorized | Leave a comment

Gravity for S60 is out!

gravity-5800

Pic lifted from blog-n97.fr, as taking a screenshot myself would be too… personal. :P

It’s out! It’s out! The most anticipated gravity twitter client for S60 is out and it rules pretty hard!

  • It has kinetic scrolling! And it’s perfect, really easy to scroll to the bottle of a list when there’s no scrollbar. Mobileways must have implemented it from scratch, so kudos to them.
  • The TwitPic interface (picking Images from the main menu is brilliant, it shows you your gallery pics, with details, and you simply select one to give it a message and send it, no additional settings or dialogs required! It even resizes the pic for faster uploading. (<3)

scr000023

  • Selecting a post gives you everything you need to do with it, such as Reply, Retweet, Direct Message, Favorite, open any url posted in the browser, Unfollow, browse updates by @username, and open new search tab with #tag! Whew, nothing more to ask for. (shame I can’t take a proper screenshot.)
  • Same thing for selecting a friend in your contact list.
  • Trends tab on the twitter search view.

It is the most complete client I ever saw, and the UI is top notch. However, nothing is perfect, unfortunately… There is no auto-connect on application launch, you have to click Go online! every time unless you connect it once and hide it. And when you do connect, it asks you for an access point, and as it doesn’t have settings, you can’t set a default destination.

scr000024

But this is literally, the only thing that I didn’t like on it, the rest of the application is simply perfect, I had nothing more to ask for in a twitter client! (well… maybe a nicer icon? lol)

Posted in Uncategorized | Leave a comment