New G2 layout: combined thumb/image/slideshow view

mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Fri, 2004-02-27 20:39

Hi all-

I'm looking for some feedback on user interface design for a new G2 layout that combines the album/thumbnail-view, photo-view and slideshow-view into a single page. I have developed a mockup to show where I am heading with this. Please share any ideas you have on how this UI can be tweaked or rearranged to improve ease-of-use and streamline your gallery viewing experience.

[url]http://[url is gone now]/layout.html[/url]

Controls:
[I] -- view thumbnails
[T] -- view text (summary/description-- title is always shown)
[-] -- minimize toolbar
[^] -- show sidebar
(system content, album/item links, subalbums, slideshow controls)
[v] -- hide sidebar
[A] -- turn autohide on/off
[>>] -- start slideshow
[::] -- pause slideshow
< -- previous image
> -- next image

Thumbnail controls:
|< -- scroll to left end
<< -- one page left
< -- one thumbnail left
> -- one thumbnail right
>> -- one page right
>| -- scroll to right end

This is a mockup (no php, therefore no gallery integration), but I have done a fair amount of work on the html/css/javascript side, so much of this mockup can actually be moved right into a G2 template. I *think* it should work in mozilla, firefox, IE6 and safari. Please also post any browser incompatibilities you find. If you would like to create artwork (for buttons, etc) for this UI I would happily accept them!

Areas I haven't figured out:
- How to handle resized derivatives
- How to handle non-images (like movies)
- Subalbums (show thumbnail somewhere?)
- Some way to see many thumbs+titles(+summaries?) all at once?
(for seeing the "big picture" like the normal album-view does)
- Keep autohide feature? (kinda flaky and browser-dependent)

Thanks for any feedback!

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Fri, 2004-02-27 20:53

I like it a lot. It appears to work just fine in Mozilla 1.6. The only thing I didn't like was the "loading image" message making me have to wait over my dial-up instead of viewing the image as it downloads. I've never really cared for that.

 
floridave
floridave's picture

Joined: 2003-12-22
Posts: 27300
Posted: Fri, 2004-02-27 22:26

Mindless,

Wonderful work! This is great. Almost perfect. Like you said UI needs some work. So here is some of my critiques.

Initial loading: drop the image loading text or make it a option for the admin
Can you pre-load the next image? to get rid of the image loading?

The sidebar popout should also have a close or hide as well as the control in the bottom.

The following i was NOT able to reproduce I don't know why. I went back and tried again but it looks fine:
------begin------
In IE6 win2k it needs a bit more work. The biggest issue is the height of the window. It has scroll bars and the image is at the top. The image did not use up the height of the display. It had a bunch of space between the Control at the bottom but there is a bunch of space between the image and the control. So you have to scroll up to see the top of the image. In IE the sidebar popout is the same height as the image but like the image it can be taller (it has scroll bars) the image and the sidebar was only 50% of the height of the window. The image is not resized the same as mozila (in IE it is smaller and still can be bigger (space between the image and the control.)) I think this might be solved if you calculate the locations from the top of the control bar and not the top of the page.
---------end--------

I can't wait to see it with nice buttons.
I don't like the auto hide feature but I am glad you gave it a on/off button. I think you have the auto hide controlled with on mouse move. It is a bit weird for the first time user.

When you get some buttons I will love to see it again.

Dave

 
madenglishbloke

Joined: 2003-09-20
Posts: 22
Posted: Fri, 2004-02-27 22:28

looks pretty good, and works in firefox 0.8.
some explanations on the page for what some of the buttons actually do wouldnt go amiss (saves having to flick back and forth), but thats something that can be added later...
i also have my doubts for how well this would handle large albums (say, anything over 20 images).

 
sepstein

Joined: 2004-02-29
Posts: 2
Posted: Mon, 2004-03-01 02:59

Looks quite good in Safari. Autohide works, but I find it more of a distraction than a useful feature (i.e. the main photo resizing constantly).

One thing I might consider: given that most screens are used in landscape mode, it might make sense to move the thumbnails to the side of the screen rather than on the bottom. This might allow for intermediate sized photos in portrait format to be similarly sized as those in landscape mode.

Two other applications worth looking at for ideas: Coppermine (coppermine.sourceforge.net), which uses a similar thumbnail scheme, and Smugmug (www.smugmug.com), which I think is very slick. Gallery should be capable of something very similar if not better.

Steve

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2004-03-03 03:51

Thanks for the feedback so far.. keep the ideas coming!

Quote:
The only thing I didn't like was the "loading image" message making me have to wait over my dial-up instead of viewing the image as it downloads.

Quote:
Initial loading: drop the image loading text or make it a option for the admin

Wow, first two comments include this.. I don't have a strong preference for the "loading" text, but included it because the way I was switching images didn't show any progress while loading anyway. I've switched to a different technique which I think should show the image as it loads, and removed the "loading" text.

Quote:
Can you pre-load the next image?

It does preload the next image..

Quote:
i also have my doubts for how well this would handle large albums

Good point.. I'll be sure to test that early on when I integrate with gallery.

Quote:
given that most screens are used in landscape mode, it might make sense to move the thumbnails to the side of the screen rather than on the bottom. This might allow for intermediate sized photos in portrait format to be similarly sized as those in landscape mode.

I considered that, but the sidebar (links, controls..) really works better shown vertically so I put the thumbnails horizontally across the bottom. I suppose I could have both vertical (maybe one on left, one on right) but not sure how that would look... hmm.
One thing I would like about vertical thumbnails is I could add a mode for seeing the titles and summaries of many items at once.. ie, shrink or hide the large image and show the text related to each thumbnail..

 
floridave
floridave's picture

Joined: 2003-12-22
Posts: 27300
Posted: Wed, 2004-03-03 04:31
mindless wrote:
Thanks for the feedback so far.. keep the ideas coming!

When you get buttons I would like to see that the forward and back buttons are disabled (grayed out) when you come to the end of the thumbs. Right now with text they are just disabled.
In the slide show it is hard to tell what direction you are going after you use the back/forward buttons a few times, perhaps some color/hue change (on the button) for the direction the sideshow is going.

Dave

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-04 01:39

I added a view of just thumbnails and text that can popup on top of the page.. click the [*] link in the toolbar and let me know what you think...

floridave, I added different (text) buttons for different slideshow directions.. but while it is playing it just shows [::] for pause.. maybe you want a direction indicator while playing too?

 
floridave
floridave's picture

Joined: 2003-12-22
Posts: 27300
Posted: Thu, 2004-03-04 03:09

On initial load, the image did not use up the height of the display. The image had a bunch of space between the Control at the bottom. There is a bunch of space between the image and the control. See image attached.
On reload it appeared fine. IE6 windows 2000.

The image is not resized the same as Mozila

Quote:
maybe you want a direction indicator while playing too?

No,I think that is the way it should be but then again I am not the best of guys to ask.

I would like to see some information when the mouse is over the buttons. Like "alt="Next image""
Can you make the horizontal scroll bar work by moving the part that scrolls? Like in a regular window.

Quote:
view of just thumbnails and text that can popup on top of the page..

I like this and would like to be able to click the thumb and it would show up in the slideshow.

I think all these features/gizmoz/gadgets should have the ability for the administrator to add or configure them to his/her liking.

Dave

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-04 16:11

floridave, I occassionally see odd effects because I have separate html, js and css files.. if the browser loads some anew but gets one or two from the cache then things may not work right.. let me know if the size problem occurs again.

Alt text and grayed out buttons are good ideas, now on my list. Thanks.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Fri, 2004-03-05 22:24

Hi all-- I've made some updates... url is now: [url]http://[url is gone now]/layout.php[/url]
(layout.html will redirect you there..)

What's new:

  • Basic integration with G1 (ignores can-view-fullsize permission).
  • More photos.. it is loading an album with 52 photos.
  • View full-size: click on the image and it will switch to fullsize (with scrollbars). Click again to switch back to fit-size.
  • Save state: a cookie is saved when you leave the page so it can restore your slideshow settings, visible toolbars, and the image you were viewing.

UI ideas still very very welcome!
I can attach files here for G1 if anyone wants to try this on your own site.. (as a link from the view_album page rather than replacing view_album.. could be admin-only link if you prefer).[/]

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-08 22:16

Hmm.. 3 posts in a row by me.. had hoped for a little more lively discussion.. ah well.

After much deliberation I have decided to scrap the thumbnail bar across the bottom and switch to the more conventional view of starting with the thumbnails. Basically, the content of the [*] popup will become the main content of the page, with the collapsable sidebar on the left. Clicking on an image will popup the image viewer which will completely hide the thumbnail view.. collapsable text info at the bottom, no sidebar, controls the start/pause slideshow, view next/prev image, view full/fit size. Clicking on the image will return to thumbnail view.
Advantages: navigation more what we're all used to.. subalbums and non-image file types can be shown in the thumbnail view.. clicking on those will load a new page.

I'll post again when I have a mockup of this design.

I need a name for this layout.. the layout in G2 now is called "matrix".
My ideas so far: hybrid, deluxe, modern, kitchensink
Any other good ideas? Hybrid is my top choice so far since this layout combines the functions of the album-view, image-view and slideshow.

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Wed, 2004-03-10 10:28

Well, if they don't want to get involved in the process of helping you design your layout, then they have to live with what you come up with. :-?

Personally, I kind of liked your original concept with the thumbnails across the bottom.
I think that it's a totally cool way to view the album. It is a radical departure from the current model, so not only is it a fun way to view the albums but it also showcases G2's layout flexibility. Can you elaborate on why you're changing directions?

Name wise, I like "hybrid".

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Wed, 2004-03-10 14:34
bharat wrote:
Well, if they don't want to get involved in the process of helping you design your layout, then they have to live with what you come up with. :-?

Personally, I kind of liked your original concept with the thumbnails across the bottom.
I think that it's a totally cool way to view the album.

I really liked that too. It seems a lot more "natural" to me to view an album's thumbs like that than with a vertical scrollbar.

I liked the way it was when I first posted, but with the talent working on it, I'm sure I'll like the final version too.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2004-03-10 16:14
bharat wrote:
Personally, I kind of liked your original concept with the thumbnails across the bottom.
I think that it's a totally cool way to view the album. It is a radical departure from the current model, so not only is it a fun way to view the albums but it also showcases G2's layout flexibility. Can you elaborate on why you're changing directions?

The main reasons:

  • How to display non-images in an easy to understand manner
  • How to handle subalbum navigation (my mockup shows subalbum titles on the sidebar.. works ok for an album with many photos and a few subalbums; would look kinda odd with all subalbums and no photos)
  • I found myself switching back and forth between thumb and text views on the bottom. Too frequent occurrence of having to click on small icons.

I guess my goal is to build a layout that people (and I) can use on all subalbums and it will work well. That being said, the horizontal image bar is good for an album that contains only photos (a common type of album) so it can work well as a layout when used selectively. I've been taking periodic snapshots of my code so I could easily branch off with that model for a separate layout.

Thanks for the support of my original design.. I hope you'll like the new look too; I'm quite happy with how it's coming along so far.. will have something ready for public consumption soon.[/]

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2004-03-10 22:13

First rev of the new design is ready!
[url]http://[url is gone now]/hybrid.php[/url]

I've added icons (instead of the text links); mouse-over to see what each icon does. There are also some keyboard controls:
space = start/stop slideshow
left/right = show/hide sidebar on main screen, next/prev photo in image view
up/down = scroll view on main screen, show/hide text bar in image view
page up/down = scroll view on main screen, scroll text in image view
escape = close photo-properties or image view

Everything you see should be functional except these items in the sidebar: Login, Search, edit album, reorder items (Note that this means the first two links under "Album" are functional)

What's left?
- Show non-images in main view and make them link to new pages
- maybe show owner/date/hits for items/album somewhere?
- mechanism to show multiple items links (right now show-item-links just shows the button for photo-properties; perhaps make this a popup menu for other choices like edit image, resize image, etc)
- G2 integration

Enjoy!

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-11 02:49

I added popup menus for items links; only the "photo properties" link works.

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Thu, 2004-03-11 10:51

It's looking good. Have you given any thought to where you'll put the regular item links (eg, "add comment", "add to cart", etc)? The navigation looks pretty clean and I don't see any obvious issues with it. I think it'll be interesting to see what happens as you mix layout specific sidebar boxes with module sidebar boxes, but we'll see how that plays out. I think this will be a pretty popular layout, and it looks like it's pretty close to the point where you could integrate it into G2...

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-11 15:57

Item links will go in the popup menu next to each item title.
For a cleaner display of simple album browsing I made the popup icons hideable; but I'll switch it to show the icons by default so users new to the layout won't miss them.
What I have now as "Photo Properties" (from G1) will show all the item content in G2, like item details from the exif module, etc.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Sat, 2004-03-13 06:18

Wow, I surprised myself with how much I got done today...

I now have the layout integrated into G2!
Check it out at:

http://216.17.78.38/gallery2/

Login with test/test123 and navigate to the Tuolumne album to see what it looks like with more album and item links available (please don't actually edit anything).

Exciting! 8)

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Sat, 2004-03-13 07:04

Wow! That is totally sexy? How hard was it to get it into G2?

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Sat, 2004-03-13 18:25
mindless wrote:
Wow, I surprised myself with how much I got done today...

I now have the layout integrated into G2!
Check it out at:

http://216.17.78.38/gallery2/

Login with test/test123 and navigate to the Tuolumne album to see what it looks like with more album and item links available (please don't actually edit anything).

Exciting! 8)

Something's broken. I can't view anything in your gallery with Mozilla 1.6. The previous layouts you've posted seemed to work just fine in Mozilla.

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Sat, 2004-03-13 18:31
nivekiam wrote:
Something's broken. I can't view anything in your gallery with Mozilla 1.6. The previous layouts you've posted seemed to work just fine in Mozilla.

Err!!! Sorry mindless, scratch that. I looked at the source and noticed you used javascript. I had disabled JS the other day because of a bad site that kept changing the focus on their page to make their's the active window.

Turned it back on and everything works and looks great!

That is so awesome.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-15 03:39
nivekiam wrote:
Sorry mindless, scratch that. I looked at the source and noticed you used javascript. I had disabled JS the other day....

I added a warning in the sidebar if javascript is not enabled... :wink:

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-15 04:02
bharat wrote:
Wow! That is totally sexy? How hard was it to get it into G2?

Not too hard.. I drew on a lot of code from the matrix layout and the slideshow module to put it together. I ran into two small integration problems that I resolved with changes to other G2 code.. let me know if these are ok to commit or if the requirements can be handled in better ways..

  1. The top level global.tpl adds 2 images at the end of the body.. this extra content throws off my layout which fills exactly 100% width and height.
  2. I want to specify the html header.. the layout api only accepts a 'body' template and always uses its own 'head'.
  3. The g->image template tag for each theme always sets class="image" which adds a border and margin for images that I don't need.

I solved the first two by adding a new key in the return from loadTemplate.. instead of 'head' or 'body' I return a template file in a key called 'main'. In ShowItem.inc if it finds 'main' in the results from the layout then it passes it back in its own results. In main.php if it finds the 'main' key then it passes it along to global.tpl. In global.tpl it if finds a main value then it renders only the content type and <html>,</html> tags, including the main template in between. Otherwise it does 'head' and 'body' as normal.
The third I handled by having image() in matrix and veloria theme.inc check for a "class" parameter and use that (if found) instead of the hardcoded "image" value. (alternatively I could check for class param at a lower level, in GalleryTheme)[/]

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Mon, 2004-03-15 04:22
mindless wrote:
I solved the first two by adding a new key in the return from loadTemplate.. instead of 'head' or 'body' I return a template file in a key called 'main'. In ShowItem.inc if it finds 'main' in the results from the layout then it passes it back in its own results. In main.php if it finds the 'main' key then it passes it along to global.tpl. In global.tpl it if finds a main value then it renders only the content type and <html>,</html> tags, including the main template in between. Otherwise it does 'head' and 'body' as normal.

Hmm. This is an interesting problem. Basically, the reason why I broke it out the way that I did in global.tpl is so that you could customize G2 for your website by only editing one file. You can wrap the standard header/body content with your own site-specific content to make it fit in seamlessly with the rest of your website. If you introduce the above concept, then it means that it will override the user's custom content (unless they delete it, of course) which will mean that any albums using your layout will no longer be seamlessly integrated. I think that ultimately, the layout has to be able share some vertical space with the global template. Any thoughts on alternate ways to solve this problem?

mindless wrote:
The third I handled by having image() in matrix and veloria theme.inc check for a "class" parameter and use that (if found) instead of the hardcoded "image" value. (alternatively I could check for class param at a lower level, in GalleryTheme)

That is fine. All of that stuff is going away as I replace the theme.inc PHP with just CSS. In the future, you'll be required to put your own class type in your image tag, and if you choose you can put in a class that is themeable, or if you don't want to you can skip it. Go ahead and commit that change.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-15 04:32
Quote:
I think that ultimately, the layout has to be able share some vertical space with the global template. Any thoughts on alternate ways to solve this problem?

I'll give it some thought; I just remembered a third thing the 'main' key solved was allowing me to put onload/onunload in the <body> tag.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-15 17:35
mindless wrote:
bharat wrote:
I think that ultimately, the layout has to be able share some vertical space with the global template. Any thoughts on alternate ways to solve this problem?

I'll give it some thought; I just remembered a third thing the 'main' key solved was allowing me to put onload/onunload in the <body> tag.

I added onLoad and onUnload keys in $main to be processed in global.tpl and modified ShowItem to allow overriding the default 'head'.. with these changes I got the layout to use the normal global.tpl.. it turns out the extra content there doesn't throw off the layout because all of its content is in DIVs and they sit on top of the body, so the extra content is just hidden.
I still may need the 'main' key for this purpose: I use an IFRAME to show the "item details" which is implemented as the single-item view in the layout.. since this is shown in a virtual popup (not a real window, but it looks like one) it should not have any extra content in global.tpl for website sidebars, headers, etc.. I suppose this would be true in general for any sort of "popup" content (so perhaps 'popup' is a better key name than 'main').
It will also take some tweaking in the layout to make it work if it does not take up the entire browser window.. I got things to size correctly by checking for an offsetParent when getting the size of the "work-area" and only defaulting to the body width/height if there is no parent. But the popup menus are still positioned incorrectly.. if a website admin wants to add some structure to global.tpl and use the hybrid layout I'm not sure if I can avoid a requirement that the viewMainBody include be wrapped in an absolutely positioned element(probably a DIV).. I'll test it out, but simply putting it in a <table> may not work due to the CSS positioning I use in the layout...

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-15 21:54

My dev site now has an embedded look.. I was right that a <table> didn't work, but embedding in an absolutely positioned DIV does work. I also fixed the popup menus to position correctly when embedded.

http://216.17.78.38/gallery2/

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Tue, 2004-03-16 00:59

First revision of hybrid layout committed into CVS!

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Tue, 2004-03-16 18:30

It's looking good. I made some small tweaks to the urls (you can't use relative urls in layouts or it gets thrown off when you have short url styles like http://example.com/gallery2/main.php/ParentAlbum/ChildAlbum/MyPhoto) but otherwise it's working fine on my server.

One thing that I found a little confusing is that there's no obvious links to get back from viewing a photo to viewing the album. I realized that if you click on the image it takes you back, but I spent a few seconds the first time around trying to find something to click...

 
madenglishbloke

Joined: 2003-09-20
Posts: 22
Posted: Wed, 2004-03-17 00:15

hehhe - i noticed this one, but from the opposite side...
my browser has been a bit slow at picking up clicks recently, so ive fallen into the habit of double-clicking everything - just in case...
i was wondering why the screen was flashing, but nothing was changing - then i realised about the 2nd click taking me back to the original page - so now, im having to go back to single clicks.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2004-03-17 16:51

I have no reason for posting this other than venting frustration at all the browsers out there... these are the browser peculiarities I have found while developing this layout:

  • win/moz16 scrollbar for hidden div can cause a line across visible content
  • win/moz16 doesn't always remove scrollbars when changing content to fit in div
  • win/ie6 shows some td borders when page loads even though div is hidden
  • win/ie6 select box overlaps a div that should be on top of it
  • win/ie6 bottom:0px in css sometimes goes 1px from bottom.. while resizing browser window it can go back and forth.
  • win/ie6 ignores border-spacing in css (need cellspacing= in html)
  • mac/firefox when select box has focus and hit escape: moves selection to top item and doesn't fire onchange
  • mac/firefox scrollbars are visible for hidden div with overflow:auto
  • mac/firefox when hide div with scrollbars it sometimes remembers scroll pos, even if next content of div doesn't need scrollbars (so some content cropped)
  • mac/firefox text sits a little higher
  • safari: absolute positioned img still adds to size of containing div!!!
  • safari: overflow:auto with height=#% doesn't work (ok w/ #px)
  • safari: scroll:auto, scroll down, then resize content so scrollbar not neeed it stays "scrolled down", ie content pushed off top
  • And the one today that really bugs me:
    win/ie6 can't handle left:#px;right:#px (or top/bottom) !!!!
    THIS IS CSS2!! (and would simplify my code quite a bit if I could use it)

Here's a simple example.. notice how 2/3 of the content is javascript to make it work for IE.. mozilla/firefox/safari work with just the html/css at the top.

<html><head><title>Test</title></head><body>
<div id="diva" style="position:absolute;background-color:#666;
 top:20px;left:20px;right:20px;bottom:50px">
<div id="divb" style="position:absolute;background-color:#bbb;
 top:2px;left:2px;right:2px;height:18px;overflow:hidden">Titlebar</div>
<div id="divc" style="position:absolute;background-color:#ddd;
top:22px;left:2px;right:2px;bottom:2px;overflow:auto">
this<p>div<p>has<p>lots<p>of<p>long<p>text<p>in<p>it<p></div>
</div>
<script type="text/javascript">
function size() { //For IE
 var w = document.body.clientWidth, h = document.body.clientHeight;
 var obj = document.getElementById('diva');
 var pw = w - parseInt(obj.style.left) - parseInt(obj.style.right);
 var ph = h - parseInt(obj.style.top) - parseInt(obj.style.bottom);
 obj.style.width = pw+'px';
 obj.style.height = ph+'px';
 obj = document.getElementById('divb');
 obj.style.width = (pw-parseInt(obj.style.left)-parseInt(obj.style.right))+'px';
 obj = document.getElementById('divc');
 obj.style.width = (pw-parseInt(obj.style.left)-parseInt(obj.style.right))+'px';
 obj.style.height = (ph-parseInt(obj.style.top)-parseInt(obj.style.bottom))+'px';
}
if (document.all) { size(); document.body.onresize = size; }
</script>
</body></html>

[/]

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Wed, 2004-03-17 19:10

Sounds like a major pain in the ass. :-( Hey, have you heard of IE7? It's a CSS file that implements standards compliance in IE6 by creating dynamic classes that do the right thing. Check it out - it looks pretty cool. Perhaps we should include it in G2 by default...

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2004-03-17 22:20

Yeah, saw some mention of IE7 somewhere before.. just took a look at it, but it doesn't (currently) fix the sizing problem I mentioned above.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-18 01:28

bharat, madenglishbloke, do you think a close button on the image titlebar is a good idea? I can keep the image-click as the "power-user" function but have the additional visible button to avoid confusion.. what do you think?

I have conquered the unfriendly browsers and now have browser compatibility at an all-time high with good responsiveness to window resizing and reasonable ability to be embedded (will need a user guide for embedding though since the containing div has specific requirements).

 
madenglishbloke

Joined: 2003-09-20
Posts: 22
Posted: Thu, 2004-03-18 02:27
mindless wrote:
bharat, madenglishbloke, do you think a close button on the image titlebar is a good idea? I can keep the image-click as the "power-user" function but have the additional visible button to avoid confusion.. what do you think?

first up - woah, anyone would think ive got even a vague idea what im talking about there!!
secondly - to make it idiot proof (or even madproof!! :roll: ), i would suggest having a button in there to close the image - as much as i like the idea of clicking on the image to close it, it took a bit of getting used to - especially when G1 allowed you to click the image to go to a full-size image - those who have grown used to the way G1 works might find this a bit strange...
would it be possible to setup a config option, to allow users to choose which way it works? - thats the best way i can think of to deal with this.
this is probably a minor piece of code that will only take you 150 hours or so to produce - but as i strugle with anything much beyond

<?php
<p>hello world</p>
?>

, if you produce it, ill test it...

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Thu, 2004-03-18 04:29

Just to see how it scales, I tried this layout out on an album that has 187 images in it (imported from my G1 install). The resulting page was ~600K of HTML that took 10 seconds to load over my DSL line. It then generated 187 links to get all the thumbnails, which took a while. The page didn't render properly until halfway through the process, though it rendered just fine in the end. All the transitions (looking at one image, then going back to the main page) were pretty slow, but they worked.

So it doesn't fall over, but it definitely stresses the server and browser to load the entire album in one page. Have you given any thought to how to make it scale better?

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2004-03-18 05:05
madenglishbloke wrote:
i would suggest having a button in there to close the image - as much as i like the idea of clicking on the image to close it, it took a bit of getting used to - especially when G1 allowed you to click the image to go to a full-size image - those who have grown used to the way G1 works might find this a bit strange...
would it be possible to setup a config option, to allow users to choose which way it works? - thats the best way i can think of to deal with this.

In an earlier revision of the layout I did have image-click do full size/fit size, but later changed to back-to-album.. I'll consider it as an option. For now, I have gone ahead and added a button for back-to-album.

bharat wrote:
So it doesn't fall over, but it definitely stresses the server and browser to load the entire album in one page. Have you given any thought to how to make it scale better?

Not too much, but it has crossed my mind. The page should become usable once it loads all the HTML (javascript at the very end of the html gets everything ready to go), even if all the thumbnails and buttons are not yet loaded.. if that doesn't seem to be the case I can rexamine that bit.
I suppose I can split into pages.. maybe 60 or 80 photos per page (or configurable). Not sure what else I can do to scale better.. ideas?

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Fri, 2004-03-19 08:18

The page looked weird until the entire album loaded, but then everything snapped into place so that was not a problem. And subsequent reloads were much faster than the initial because the images were already generated and cached on the server side, as well as in my browser cache (when you use short urls, the browser can and will cache the images very effectively). So all's well on that front.

It seems like splitting up the page kind of screws up your metaphor where all the worok is done in Javascript. But if we don't split up the page, is there any way to defer loading the images until it's necessary?

I don't know that there's any need to make it scale right away. We can wait a little bit to see how people use the layout and let it simmer for a while to get some ideas before making any radical changes to it.

 
dhn

Joined: 2003-07-11
Posts: 4
Posted: Sun, 2004-03-21 22:42

I am sorry. But I am not liking the directon this is going. I had hoped (and remember some early tests that indicated this) that Gallery2 will receive the semantical XHTML/CSS treatment. What I am seeing here is tables, more tables, and endless lines of Javascript. Did I misinterpret the mission statement?
I am aware of the theme API and that it will be fairly easy to build a custom template that addresses all the points, but why not go with this from the beginning?

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Sun, 2004-03-21 22:49

dhn, don't worry. I am in the process of converting all of our templates from tables to using XHTML/CSS as we speak. The tricky part has been coming up with a formal CSS class structure that lets us represent all of our UI widgets as CSS elements so that they are themeable without robbing the templating system of too much flexibility. Ross and Jon (our ui guys) have come up with a pretty good candidate for the CSS class structure and I'm partway through converting all of the template files over. There are just a few loose ends that I need to resolve (ie, a few missing classes that we need to define). When we're done, the source for G2 is going to look a lot like hte source for www.csszengarden.com -- ie, a whole lot of named DIVs. The layout modules will control div placement, and the themes will control DIV appearances.

 
SHS`

Joined: 2002-12-10
Posts: 30
Posted: Sun, 2004-03-21 23:07

Hmmm... I think I'm going to have to throw my tupence in. I'm personally really fond of Gallery1 and was please from the original mission statement that the G2 was to take a more semantic route and there was a really nice mock-up done by someone that pretty much hit it on the head (that really minimal white with hints of grey style).

However, the current G2 style implimentation seems to hark back to NN4 vs. IE4 era with DHTML sites... lots of almost unwieldy Javascript which almost detracts from the fact G2 is a PHP application.

I know if I don't like the implimentation... I can indeed change it, infact that's what we tell a lot of users with phpBB of why the kitchen sink isn't included into our releases... but as a default, why should we be forcing so many people that need desktop browsers with Javascript enabled to view the gallery, which takes, from a comment I read earlier 10 seconds to download via DSL... that's 2+ minutes for those still using dial up.

Mobile internet decives are also more prevailant, and while then can view basic sites with images, they most likely won't have Javasript and the likes... so why not aim for making Gallery2 100% accessible in the spirit of the mission statement?

I hope my suggestions haven't come across badly, since mindless and vharat have put in a lot of time to get to how things are now... but perhaps CSS Zengarden ( http://www.csszengarden.com/ ) or CSS Vault ( http://www.cssvault.com/ ) may lend some inspiration? Incidently, CSS Vault's layout is also like a gallery, ditto PhotoMatt's Photolog ( http://photomatt.net/photos/log/ ) which incidently appears to be based on Gallery1. :D

 
SHS`

Joined: 2002-12-10
Posts: 30
Posted: Sun, 2004-03-21 23:10
bharat wrote:
dhn, don't worry. I am in the process of converting all of our templates from tables to using XHTML/CSS as we speak. The tricky part has been coming up with a formal CSS class structure that lets us represent all of our UI widgets as CSS elements so that they are themeable without robbing the templating system of too much flexibility. Ross and Jon (our ui guys) have come up with a pretty good candidate for the CSS class structure and I'm partway through converting all of the template files over. There are just a few loose ends that I need to resolve (ie, a few missing classes that we need to define). When we're done, the source for G2 is going to look a lot like hte source for www.csszengarden.com -- ie, a whole lot of named DIVs. The layout modules will control div placement, and the themes will control DIV appearances.

Hello bharat... you replied whilst I wrote my long whinge. :D

If what you are sugesting is the case, then I'm a little lost as to why this topic, the mock up is so heavily reliant on Javascript?
Anyway... I'm in the UK and it's getting a little late, so I'll just post this link as it may well prove useful too, in terms of document structure...

http://css-discuss.incutio.com/?page=GalleryFloat

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Sun, 2004-03-21 23:44
SHS` wrote:
If what you are sugesting is the case, then I'm a little lost as to why this topic, the mock up is so heavily reliant on Javascript?
Anyway... I'm in the UK and it's getting a little late, so I'll just post this link as it may well prove useful too, in terms of document structure...

http://css-discuss.incutio.com/?page=GalleryFloat

G2 has the concept of pluggable layouts. What this means is that we can have many different types of layouts and you can decide which one you want to use on a per-album basis. The standard layout will use little or no javascript (that's the "matrix" layout that is active by default with G2) and will be all XHTML/CSS. However, anybody can write their own layout and can use any technology that they want to render it, including tables and Javascript, etc. Whatever floats their boat. Some of these layouts are going to mesh with the theme system better than others (and we're going to pull only the good layouts into G2) but the goal here is to be totally flexible and let people display the page the way that they want it to be displayed.

The XHTML/CSS version of the matrix layout uses something very similar to the GalleryFloat layout discussed on the page link you send. There are a few additional issues that are not discussed on that page, like being able to specify the number of rows and columns and enforce it, and preventing long captions from taking up all the horizontal space, etc. But we're working steadily on those so stay tuned.

The best thing I can say is that all of the issues you've raised are being taken care of as we speak, and are the major gating factor for getting G2 to alpha. Stay tuned, it's on the way.

 
dhn

Joined: 2003-07-11
Posts: 4
Posted: Mon, 2004-03-22 13:41
bharat wrote:
The best thing I can say is that all of the issues you've raised are being taken care of as we speak, and are the major gating factor
for getting G2 to alpha. Stay tuned, it's on the way.

Very happy to hear that. I wish you good luck for the rest of development and am lookig foward to using G2. Enough hijacking the topic. :)

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-22 19:29

SHS`, I agree with Bharat's comments.. your feedback is all valid, but keep in mind that the layout I'm developing will NOT be the default layout.. if a site administrator doesn't want to require javascript for their site then they can opt to not use the hybrid layout for any albums.
I'll take a look at the site you mentioned and see if it gives me any ideas on how to improve my layout implementation.

 
photomatt

Joined: 2004-03-22
Posts: 1
Posted: Mon, 2004-03-22 21:00

Making a CSS layout for gallery is not terribly hard, and there's no need to resort to terrible hacks like IE7. Most of gallery's needs are very simple and can be handled with relatively basic CSS and markup without any browser workarounds. The method I used for my Gallery site (linked earlier, http://photomatt.net/photos/log ) works pretty well and I'd be happy to share it or donate some time getting something similar implemented for Gallery, if someone could point me in the right direction to contribute.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2004-03-22 23:31

photomatt, it depends what you're trying to do with CSS :-)

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Tue, 2004-03-23 04:09
photomatt wrote:
Making a CSS layout for gallery is not terribly hard, and there's no need to resort to terrible hacks like IE7. Most of gallery's needs are very simple and can be handled with relatively basic CSS and markup without any browser workarounds. The method I used for my Gallery site (linked earlier, http://photomatt.net/photos/log ) works pretty well and I'd be happy to share it or donate some time getting something similar implemented for Gallery, if someone could point me in the right direction to contribute.

Your site is excellent, and it's one that I've been tracking for a while to get ideas. We're doing something very similar to your site for the default layout. One problem that I encountered that we haven't fixed yet (and this is all on code I haven't checked in yet, since I have to commit it all at once or the G2 UI will be completely busted) is that if I am aiming for a 3x3 grid by using <DIV> blocks with <BR> elements to break them, if one of the grid elements has an extra wide caption, it causes that grid element to overflow pushing one of its row-mates over to the next row, then the <BR> fires so you wind up with a row with only 1 item.

The only solution I could think of for this was to use tables. Do you know of a way to work around that?

 
enigmah

Joined: 2002-09-20
Posts: 19
Posted: Thu, 2004-03-25 16:33

Is it possible to embed java script in gallery to create virtual tours from 360 degree panoramic pictures? An example of virtual tour: http://www.roughlife.com/Virtual/pool.htm