Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > More E-Book Readers > iRex > iRex Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 08-08-2010, 06:50 AM   #1
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
DR800+ development discussion

Hi,

I've created this thread to have a common centralized place to discuss the development and possible future features of DR800+. https://www.mobileread.com/forums/showthread.php?t=93627

First comments:

VCS & Code repository:
I've been reading docs and testing both mercurial and git last days. I prefer mercurial.

Personal opinion:
- git is not easily installed on windows machine (not a problem for me, but I prefer to stay as universal as possible)
- don't like stage files concepts (easily changed with an alias, but that's not the point... over-engineered?)
- revisions don't include revision number (or is me who doesn't find?)
- quite similar on features, but mercurial seems easier and more predictable
- git has github and gitorious, that looks better

Some external comparisons:
- http://www.python.org/dev/peps/pep-0374/
- http://code.google.com/p/support/wiki/DVCSAnalysis

Hosting:
- bitbucket. I like it, but free plan looks limited
- googlecode. well, it's google... you know, world domination and such


Some possible new features:
- clock in statusbar
Main problem is status bar free room. I will test if it fits with current 10 icons when reading docs, or else removing "Menu" text (not the icon).
It will be another system icon, at the top right.

- additional cycling button
As my quick tests removing some icons/actions from the current one, I don't know if this is really possible, as some behaviours are hardcoded on the uds binary and we can't modify it.

- port of Mackx's features
I haven't been able to see them, but they look quite nice. First I'll try "Apps".

I will be 2 weeks away, maybe with internet connection but not much time, and neither access to my devel environment... Time to relax, read and muse...
Iņigo
Iņigo is offline   Reply With Quote
Old 08-14-2010, 02:32 PM   #2
dima_tr
Groupie
dima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-books
 
Posts: 175
Karma: 863
Join Date: Oct 2009
Location: Germany, Karlsruhe
Device: Iliad v2, DR800S (inlove)
I have created an account at Assembla. 2Gb space, Mercurial+Wiki, all the standard tools available. Seems like a nice choice. If/when we need more storage we can create another account.

No uploads yet made, please register there and I'll add you to the project. I set that all developers have the full access to configuration/changes, visitors - read-only.

Clock: as we are really limited in toolbar space I suggest using clock as in the attached picture. Basically three label holders: [upper, lower]->outer. Hours-minutes, different colors for easier info grasping. One thread updating each of them when needed. I do not know (at the moment) how to force updating a single item in the toolbar .. If you do this would really help.
Attached Images
 
dima_tr is offline   Reply With Quote
Advert
Old 08-15-2010, 06:12 AM   #3
Mackx
Guru
Mackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to beholdMackx is a splendid one to behold
 
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
Quote:
Originally Posted by dima_tr View Post
Clock: as we are really limited in toolbar space I suggest using clock as in the attached picture. Basically three label holders: [upper, lower]->outer. Hours-minutes, different colors for easier info grasping. One thread updating each of them when needed. I do not know (at the moment) how to force updating a single item in the toolbar .. If you do this would really help.
Is it possible to use the pageChange-event (see ctb/src/ipc.c) instead of a thread? To only update the clock when a page is turned. Not sure if this also works on the DR1000.
Mackx is offline   Reply With Quote
Old 08-17-2010, 01:26 PM   #4
ThR
Tatütatuter
ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.ThR could sell banana peel slippers to a Deveel.
 
ThR's Avatar
 
Posts: 390
Karma: 3148
Join Date: Oct 2008
Location: Germany, Baden, Karlsruhe
Device: Aura H2O, Glo HD, Paperwhite, PRS-950
I'm not a developer. But "To only update the clock when a page is turned." sounds good. I use this feature in FBReader. For me it's ok when the clock is changed within page turns only.
ThR is offline   Reply With Quote
Old 08-24-2010, 01:03 PM   #5
CoolDragon
Addict
CoolDragon doesn't litterCoolDragon doesn't litter
 
Posts: 244
Karma: 124
Join Date: Feb 2010
Device: none
Quote:
I have created an account at Assembla. 2Gb space, Mercurial+Wiki, all the standard tools available. Seems like a nice choice. If/when we need more storage we can create another account.

No uploads yet made, please register there and I'll add you to the project. I set that all developers have the full access to configuration/changes, visitors - read-only.
This looks good, should we upload the IREX RC3 source code as a starting point?
CoolDragon is offline   Reply With Quote
Advert
Old 08-24-2010, 03:14 PM   #6
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
Quote:
Originally Posted by dima_tr View Post
I have created an account at Assembla. 2Gb space, Mercurial+Wiki, all the standard tools available. Seems like a nice choice. If/when we need more storage we can create another account.

No uploads yet made, please register there and I'll add you to the project. I set that all developers have the full access to configuration/changes, visitors - read-only.

Clock: as we are really limited in toolbar space I suggest using clock as in the attached picture. Basically three label holders: [upper, lower]->outer. Hours-minutes, different colors for easier info grasping. One thread updating each of them when needed. I do not know (at the moment) how to force updating a single item in the toolbar .. If you do this would really help.
Sorry, I took a look at Assembla some days ago and didn't impress me at all. Maybe because I connected from a mobile phone but definitely I didn't like it (btw, it's that I'm blind or it only supports mercurial for the wiki but not for the real code?).

So yesterday noon I created a repo on bitbucket and added the code: https://bitbucket.org/inigoserna/dr800

There are 2 branches:
- default: IREX code, 2 tags by now: for firmware v1.0 and v2.0RC3
- dr800+: my changes, 1 tag: v1

I was going to announce it in a few days, after pushing new code I'm working on, but don't want duplicate efforts so I'm mentioning now.

To play with the code:
Code:
$ hg clone https://bitbucket.org/inigoserna/dr800 dr800+
$ cd dr800+
$ hg update -C dr800+
Last command is to get dr800+ changes ("dr800+" branch), since clone will checkout "default" IREX branch by default.

Sources only include CTB and POPUPMENU 'cos they are the only applications modified by now, but as we hack over other modules we could add them.

Please, don't hesitate to comment any problem you have or comments, ideas, etc.

Iņigo
Iņigo is offline   Reply With Quote
Old 08-24-2010, 03:41 PM   #7
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
Quote:
Originally Posted by Mackx View Post
Is it possible to use the pageChange-event (see ctb/src/ipc.c) instead of a thread? To only update the clock when a page is turned. Not sure if this also works on the DR1000.
I see a problem here: if clock widget lives on POPUPMENU and time updating is done on CTB we would need to implement some dbus messages flowing between both apps. It looks too complex for me.

I'm working now on this, and I think glib's g_timeout_add() is the simpler option.

Regarding UI, my first thought was to place the clock at the right, but it's not easy because that area is not easily controlled within POPUPMENU. More over, it doesn't fit on DR800 screen so what I'm doing is to substitute "Menu" button with the clock:

o 23:55 ...icons... battery

where 'o' above is the menu icon.


I expect to show you some code in a few hours if there are no problems.
Iņigo is offline   Reply With Quote
Old 08-24-2010, 03:47 PM   #8
dima_tr
Groupie
dima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-books
 
Posts: 175
Karma: 863
Join Date: Oct 2009
Location: Germany, Karlsruhe
Device: Iliad v2, DR800S (inlove)
Ok, no problem, bye-bye Assembla, hello Bitbucket

I've tried adding the clock as gtk_label and then updating it with g_timeout_add() - no success .. Compiles fine, shows the initial state but not updating .. Did I miss smth?

I like the idea of [o 23:55] on the left.
dima_tr is offline   Reply With Quote
Old 08-24-2010, 04:24 PM   #9
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
Quote:
Originally Posted by dima_tr View Post
Ok, no problem, bye-bye Assembla, hello Bitbucket
Thanks

Quote:
Originally Posted by dima_tr View Post
I've tried adding the clock as gtk_label and then updating it with g_timeout_add() - no success .. Compiles fine, shows the initial state but not updating .. Did I miss smth?
EDIT: I suppose you forgot a "return TRUE" at the end of the callback, if nothing or FALSE, it will stop after first call.
EDIT 2: g_timeout_add_seconds is better, less battery

Quote:
Originally Posted by dima_tr View Post
I like the idea of [o 23:55] on the left.
OK, I have it working now in qemu, look at screenshots, some options:

0. timeout interval. I think 30 seconds is ok
1. font size
2. to bold or not to bold
3. space between clock and icons
4. should clock be part of menu button like original "Menu"? i.e. a label or a button with a label inside?


Note that I also crop some blank space at the left of the menu icon (~16 pixels) to make more room for the clock.

__o_ => _o_


Opinions? I prefer the look of the first screenshot.

Iņigo

PS: I haven't push the new code to bitbucket yet, I'm waiting to close above UI design choices first
Attached Thumbnails
Click image for larger version

Name:	clock-a.png
Views:	513
Size:	8.9 KB
ID:	57095   Click image for larger version

Name:	clock-b.png
Views:	492
Size:	7.4 KB
ID:	57096  

Last edited by Iņigo; 08-24-2010 at 04:30 PM.
Iņigo is offline   Reply With Quote
Old 08-24-2010, 04:51 PM   #10
CoolDragon
Addict
CoolDragon doesn't litterCoolDragon doesn't litter
 
Posts: 244
Karma: 124
Join Date: Feb 2010
Device: none
Good work Iņigo!

I prefer the second screenshot which gives a sense of separation between functions. My answers to your UI questions:

0. timeout interval. I think 30 seconds is ok
Do you mean to update the clock every 30 seconds? The only concern is that a local refresh on e-ink might cause some "ghost" effect (leftover from previous drawing). But the cycling status icon seems to handle this pretty well. Otherwise, 30 seconds seems to be good enough.

1. font size
2. to bold or not to bold
Well, I prefer the second screen shot, but it's just personal.

3. space between clock and icons
I would vote for this.

4. should clock be part of menu button like original "Menu"? i.e. a label or a button with a label inside?
I would say yes, which makes it easier to click the menu icon.
CoolDragon is offline   Reply With Quote
Old 08-24-2010, 05:09 PM   #11
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
Quote:
Originally Posted by CoolDragon View Post
Do you mean to update the clock every 30 seconds? The only concern is that a local refresh on e-ink might cause some "ghost" effect (leftover from previous drawing). But the cycling status icon seems to handle this pretty well. Otherwise, 30 seconds seems to be good enough.
Yes, I mean that.
I don't think refresh will be a problem, for my little demos in lua. But I haven't tested it on the real device.

Quote:
1. font size
2. to bold or not to bold
Well, I prefer the second screen shot, but it's just personal.

3. space between clock and icons
I would vote for this.
Hehe. We have different tastes. Anyway let's exercise democracy, let's vote
By now:
option a (first screenshot: big, no space): 1
option b (second screenshot: bold, space): 1

Quote:
4. should clock be part of menu button like original "Menu"? i.e. a label or a button with a label inside?
I would say yes, which makes it easier to click the menu icon.
ok, I'm changing the code now.

Thanks for the feedback,
Iņigo
Iņigo is offline   Reply With Quote
Old 08-24-2010, 05:27 PM   #12
dima_tr
Groupie
dima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-books
 
Posts: 175
Karma: 863
Join Date: Oct 2009
Location: Germany, Karlsruhe
Device: Iliad v2, DR800S (inlove)
option b +1 Looking great!
Same arguments: separation, bold font which resembles the one in 3G.

I'll wait for your code to learn and see what I've done wrong.
dima_tr is offline   Reply With Quote
Old 08-24-2010, 05:30 PM   #13
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
New option c: same font size than IREX orig, space betwen clock and icons.

You can't notice from the image, but now clicking on the clock also pop up menu.
Attached Thumbnails
Click image for larger version

Name:	clock-c.png
Views:	508
Size:	49.7 KB
ID:	57100  
Iņigo is offline   Reply With Quote
Old 08-24-2010, 05:33 PM   #14
dima_tr
Groupie
dima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-booksdima_tr has learned how to read e-books
 
Posts: 175
Karma: 863
Join Date: Oct 2009
Location: Germany, Karlsruhe
Device: Iliad v2, DR800S (inlove)
c is better than b, IMHO
At least the font and the space to the right is fine. Maybe cropped space to the left would be better = gives more room for icons..

Last edited by dima_tr; 08-24-2010 at 05:35 PM.
dima_tr is offline   Reply With Quote
Old 08-24-2010, 05:42 PM   #15
Iņigo
Guru
Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.Iņigo did not drink the Kool Aid.
 
Posts: 730
Karma: 72743
Join Date: Feb 2008
Location: Here or there
Device: iRex iLiad, iRex DR800S. K4NT. Kobo Aura, Aura One, Libra 2.
new option d: like c but bigger and bold
Attached Thumbnails
Click image for larger version

Name:	clock-d.png
Views:	506
Size:	55.0 KB
ID:	57104  
Iņigo is offline   Reply With Quote
Reply

Tags
devel, dr800+, features


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
DR800 ANN: DR800+. Port of some DR1000 features to the DR800 Iņigo iRex 274 04-05-2013 02:24 PM
DR800 usbnet (USB networking to make development easier) for DR800 GregorRichards iRex 40 07-20-2011 09:38 PM
DR800 Plugin development for DR800/DR1000 yuri_b iRex Developer's Corner 0 09-18-2010 09:46 AM
DR800 parryl iRex 1 08-06-2010 03:00 PM


All times are GMT -4. The time now is 07:42 PM.


MobileRead.com is a privately owned, operated and funded community.