Biggest change is internal, out-of-sight, thanx to the objc_dep dependency graph tool. As you can see (in this linked article) the version 1.0 architecture was a bit dodgy, me coding at nights half asleep and during 15 minute breaks desperately trying to recall what the frak was I doing between constant context switches.
Behold the result, a miniature spiderweb design!
Naturally I had to refractor the whole thing, naturally it was invisible at UI. Non-UI changes are not very interesting to end-users, so at the last minute I threw in a quick but dirty "font metrics" dialog placeholder. It's already enhanced, so version 1.2 will be released at some point.
What went well (version 1.1):
- Moved font size indicator in sample view from top to bottom, between font size increase and decrease buttons. Really like that change, similar things grouped together. Just need to add a popup font size dialog into that size button (todo).
- Font name is displayed in just a little bit different style above sample text. Previously it wasn't very obvious that font name was a (sub)title, instead of part of sample text.
- Back button is now text instead of "arrow" unicode character. That worked well previously, but iOS5 displayed it with GRAY background for some reason. Well, thanx to Neven Mrgan's blog article "Labelling the Back button" it's now much better design.
Sorry about the steaming, just wanted to make my point clear.
What needs more work (version 1.2):
- Will change About dialog back to slide instead of this new turn around style. Usually about dialogs do turn around, but I feel it doesn't fit into the character of this app. So back to sliding view change! Also I just couldn't get the colors right, especially don't like the color of "done" button. Away you wrongly coloured buttons!
- Already added more stuff into font metrics view, but it's not releasable yet. Some data doesn't fit on one row, so got to redesign that view. Most likely each table cell will contain two rows: first title and below it data on several rows. But I don't really like text, so ultimately want to display metrics graphically. That's a bigger change.
- Details view opens from default "detail disclosure" button, which obviously is wrong color. Seems like the only way to customize that button is to replace it with custom graphics. Since I'm graphically challenged, that's going to be a major operation.
- Font size change popup query, as soon as I can customize the default colors. Would be much easier, if I drop iOS3 support. Something to think about.
- Sample text "abc" is all wrong for AppleColorEmoji. No idea why, so it's hard to fix. Most likely I'll rewrite the whole sample display, just avoid this problem.
- Index list at right side looks ugly, too growded. Maybe I'll display each alphabet only once - unless there is enough space to display some several times. The problem is choosing a logic when to display what, but it definitely needs some clean up.
I have lots of ideas for future features, here's some obvious ones. The more exotic I'll keep secret, haven't seen them in any other fonts app yet. Yes, I know that everything has already been invented and done and that ideas are worth nothing without implementation. Well, I do implement and this is a blog to fellow implementors :)
- Sample view needs lots of work, obviously. There's too many possibilities, so biggest problem is to choose what to do. Most likely I'll add some more predefined texts and a possibility for user to write their own. The problem is how to let user to choose sample text: most likely current bottom-right "Lorem/Abc" button will be replaced by single "action" button, which displays a list. Pretty boring, don't personally like that. Definitely will not hide into app settings, would be really annoying!
- Support only iOS5 and above. Now there's iOS3 support, which basically means all UI customization has to be done twice in two different ways. The challenge is to keep these two different ways compatible with each others.
- Something with email
- Something with main font display
- Something more with main font display