Profile

Cover photo
Hayden Pearce
60 followers|13,685 views
AboutPosts

Stream

Hayden Pearce

Shared publicly  - 
 
Just had a laugh at Ubuntu bothering to tell me how long a dist-upgrade would take on a 56k connection (1 day, 17 hours, 32 minutes), and following up with the estimated time on my actual connection (6 minutes).

"Here's how long it would take on a connection you're not using, were you to use it"....errrr, thanks?
1
Michael Velleman's profile photo
 
sup noob
Add a comment...

Hayden Pearce

Shared publicly  - 
 
I haven't been too active lately, on G+ or otherwise...

So, time for a brief rundown of what I'm up to with my Rockbox as an Application theme work. I haven't pushed anything to my git repo for an age, but I have been poking around at a few things when I get the chance or inclination:

Trimming The Fat

I want to get rid of that massive title bar bitmap, its been bugging me, and I always intended to draw the text with the native font renderer, the bitmap-strip approach is a legacy of not having nice anti-aliased font support and it looking like ass compared to my bitmap versions.

But here's the issue: in all cases, I believe (though I haven't actually checked the sizes, I hate looking), that the title bar bitmap-strip alone is bigger than the Rockbox binary :-)

The upside is of course that the title bar text can then be translated to whatever language the user has selected, which ties in with the other area I have been poking my nose into:

Conditional Placement Of UI Elements Based On Language Direction

I want to offer better support for our friends with right-to-left native languages, so I've been working on a few things that make the overall experience (I hope) more comfortable. Part of this is already committed, I started drawing progress bars conditional to language direction, so that the fill direction matches the text direction. The current track time and elapsed track time is also text aligned conditional to language direction now, matching the progress bar fill direction.

The second step is doing the same with volume bars, and conditional placement of the audio controls, which are to be mirrored from the current layout when the set user language is right-to-left. This also involves a couple of new bitmaps (for play and shuffle) so the images match the fill direction of the progress bar.

Metadata Display Code

I've written some nice metadata display code for this theme, which I have been putting through its paces in testing. It really is a thing of beauty, however it adds quite some complexity.

The basic idea is to always display as much "useful" information as possible about the current and upcoming track(s). This sounds pretty easy, but what I also wanted to attempt was juggling the positioning of the displayed data conditionally.

I noticed that if the checks fail for the data you want to display, you have two options, to fail outright and just display a blank line, or to hard-code the display of something you know will be present.

Then I had an awesome thought...

"Why not base the following line of text data on the success of the expected case of the preceding line?"

This made for some ridiculously complicated conditions, but what I ended up with was a set of conditions which would adapt for missing data. Instead of the worst case scenario of displaying something either entirely useless, or nothing at all, each line's fail condition is an exact copy of the next line and so on. The next line checks to see if any of the expected case of the preceding line were successful, and if not, displays its fail case...a copy of what would have been the next line were it successful.

Apart from much complication, this means we always get some info to look at, and there's no blank lines if the expected case of the conditions fail, without having to resort to displaying something ugly like "<Not Available>".

If there's anything I've missed, I'm sure I'll update you all when I eventually finish and push these changes to my git repo. Thanks for reading, if you have, my brain dump of what I've been poking at for the past while,


[Saint]
4
Mike Schmitt's profile photo
 
The git repository seems to be down.. any updated links for us?
Add a comment...

Hayden Pearce

Shared publicly  - 
 
Hi guys,

Its testing time:

Get my current cabbiev2 for Rockbox as an Application work here:
http://dl.dropbox.com/u/30204410/Rockbox%20as%20an%20Application/rockbox-all-application-e7c0bbff94-120309.zip

The archive contains 240x320, 320x480 and 480x800 theme ports, and the most recent Rockbox as an Application .apk (as of this writing) for each of those resolutions.

Its also explanation time:

If you've been following my touch-screen theme work for Rockbox as an Application you probably received an email telling you that the task has been closed, or you may have discovered it had been closed of your own accord.

Fear not!


I am now hosting my work at GitHub, you can find my repository here:
https://github.com/saint-lascivious/RaaA-CabbieV2

And you can lodge any issues you encounter here:
https://github.com/saint-lascivious/RaaA-CabbieV2/issues

Please do make sure that when lodging issues you make note of:
- the port's screen resolution (240x320, 320x480, etc...)
- the commit ID of the you are testing, this will be a 10 digit alphanumeric string in the name of the theme .zip you have downloaded for testing.

example: rockbox-XXXxYYY-A1B2C3D4E5-YYMMDD.zip

in this example XXXxYYY is the device resolution, A1B2C3D4E5 is the commit ID, and YYMMDD the date the test(s) were distributed.
- a clear and detailed description of the issue and how to reproduce it, I simply cannot do anything with:
"theme broken, the thing that is supposed to do the stuff when that other thing happens isn't doing the stuff its supposed to"
- if the issue happens to be a usability quirk don't just tell me that doing <foo> is "bad" and I should do <bar> instead, please tell me what the issue with <foo> actually is and how I might improve it, or why <bar> is superior to <foo> and how it will benefit users as a whole as opposed to your own individual use case.
- any and all information you believe is relevant to the issue at hand, I would rather too much information than too little.

So please test this, and give feedback, the more the merrier! The more I hear about what you like and don't like, what works well and what doesn't, the easier it is for me to go forward and make cabbiev2 for touch-screen Rockbox as an Application targets something really special.

Above all else, thank you.

I hope you enjoy using this at least as much as I have enjoyed working on it and facing the challenges it has presented so far and will continue to present during further development.

[Saint]
2
Rubén Chacón's profile photo
 
Hayden: How could we go about adapting one of your resolutions to qHD? Most higher-end android phones are now migrating to 16:9 aspect ratios, and all 3 targets you're currently developing are 4:3. The most common 16:9 resolutions out there are qHD 540x960, and now, 720x1280.

I'd be willing to try and test some things, and even do some of the legwork of adapting the images if you point me in the right direction.
Add a comment...

Hayden Pearce

Shared publicly  - 
 
r00007

A quick update to get my current work out into the wild.

Changelist:
-Fixed various alignment issues (hopefully the last)
-Fixed 320x480 icons naming issue
-s/next prev/wps_next wps_prev/ in .sbs (all) restoring original functionality
-Various small fixes

Still to come:
-Spacing the "Next Track:" title away from the metadata slightly where possible an/or using a different font?
-Fix issues with the backdrops of the state icons not quite matching up with the backdrop (by using transparency)
due to repositioning them
-A pop-up for the repeat state in a similar fashion to volume and filebrowser/context menu/quickscreen pop-up?
-New iconsets for all <--In progress
Use translation in the title-bar to reduce total theme size and increase usability for non-English speaking users. <- CantFixForNow (needs a new .lang string "Screen Locked")
(at the cost of some "prettiness")

Eventually:
-Derive all images from a high resolution SVG master.


[Saint]

http://www.rockbox.org/tracker/task/12254
2
Tobias Lemmen's profile photo
 
Hi Hayden!

Thanks for your work. Testing right away ;-)
Add a comment...

Hayden Pearce

Shared publicly  - 
 
RaaA theme update:

r00005

Changelist:
-Some pretty major alignment updates for 240x320 and 480x800
-480x800 pop-ups enlarged slightly to better match the viewport(s) they replace

Still to come:
-Fix up the sizing of the 320x480 pop-ups (a little "squashed")
-A pop-up for the repeat state in a similar fashion to volume and filebrowser/context menu/quickscreen pop-up?
-New iconsets for all

Eventually:
-Derive all images from a high resolution SVG master.


[Saint]
http://www.rockbox.org/tracker/task/12254
1
Add a comment...

Hayden Pearce

Shared publicly  - 
 
RaaA theme update:

r00003
- Fixes some OOB touchscreen area defines in 240x320
- Fixed an issue where long press on titlebar in the 480x800 .sbs was erroneously "contextmenu" as opposed to "quickscreen".
- Minor alignment fixes to both

http://www.rockbox.org/tracker/task/12254
1
Jonathan Gordon's profile photo
 
sorry mate, I think I'm going to have skinned lists in before you finish this which means you can have more fun with the .sbs :) http://imagebin.org/171250 (got scrolling working which was the last major blocker)
Add a comment...
Have him in circles
60 people
Gopindra Hannigan's profile photo
Jonathan Gordon's profile photo
Alex Mayer's profile photo

Hayden Pearce

Shared publicly  - 
 
I found this little gem in the "International" section of the local supermarket.

Hotdog.
3
Bertrik Sikken's profile photo
 
Knakworst is a dutch word
Add a comment...

Hayden Pearce

Shared publicly  - 
 
RaaA theme update:

r00008 has landed, get it from the usual place.

http://www.rockbox.org/tracker/task/12254

A few minor updates, bug me about any issues.


[Saint]
1
Hayden Pearce's profile photoMike Schmitt's profile photo
5 comments
 
Thanks! I'll try to get it copied over soon and give you my impression. My one nitpick (not having anything to do with functionality itself) is that I wish the "album" line were formatted like, "[Album Title] ([Year])" (or maybe the same but in reverse). I know I could just edit the WPS and get it done, but then again I'd have to re-do the edit (and update for changes in the WPS language) with every new release :-P
Add a comment...

Hayden Pearce

Shared publicly  - 
 
RaaA theme update


r00006

Changelist:
-Resize pop-ups to better match the metadata viewport dimensions (all)
-Reposition file browser/quickscreen/context menu images in their pop-up and adjust touch areas accordingly (all)
-Fix 480x800's volume slider that I broke in r00005 (whoops)

Still to come:
-Spacing the "Next Track:" title away from the metadata slightly where possible an/or using a different font?
-Fix issues with the backdrops of the state icons not quite matching up with the backdrop (by using transparency)
due to repositioning them
-A pop-up for the repeat state in a similar fashion to volume and filebrowser/context menu/quickscreen pop-up?
-New iconsets for all
-Use translation in the title-bar to reduce total theme size and increase usability for non-English speaking users.
(at the cost of some "prettiness")

Eventually:
-Derive all images from a high resolution SVG master.


[Saint]

http://www.rockbox.org/tracker/task/12254
1
Add a comment...

Hayden Pearce

Shared publicly  - 
 
RaaA theme update

r00004

Changelist:
-Add a 320x480 Port!
(I don't expect it to be perfect (regarding alignment, please comment if anything is busted or looks weird)
-Minor graphical changes to all.
-Added the option to reset the repeat and shuffle* state to "off" with "long press".
*(not /really/ needed here)

Still to come:
-A pop-up for the repeat state in a similar fashion to volume and filebrowser/context menu/quickscreen pop-up?
-New iconsets for all

Eventually:
-Derive all images from a high resolution SVG master.


[Saint]

http://www.rockbox.org/tracker/task/12254
1
Add a comment...
People
Have him in circles
60 people
Gopindra Hannigan's profile photo
Jonathan Gordon's profile photo
Alex Mayer's profile photo
Work
Skills
C, C++, Java, Python, Consumption of Drugs, General Bastardry, Purveyor of Fine Sarcasm.
Links
Contributor to
Story
Tagline
[Saint]
Basic Information
Gender
Male
Birthday
April 10, 1984
Relationship
In a relationship
Other names
[Saint]