Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
I am designing a blog and I am trying to decide if I should have a sidebar or if I should just move that content to the header/footer.
What is your opinion on this?
Do you have any opinion on the header/footer total height?
I prefer seeing a sidebar at the right for 2 reasons: the "About me" box lets me know at a glance who the person is (if I landed on a new blog via search/referral), and if I am interested in one topic, a "Categories" list lets me explore the posts related to my interest.
The common UX principle is Steve Krug's "Don't make me think". If I want to see who you are or the content categories/monthly archive, I don't want to hunt for them.
Keep the header low; few things annoy me in webdesigns when the upper half of my screen is taken up by static non-content, and the real content is hidden under the lower edge of the screen.
Apart from that, I can see no issues with a sidebar-less design.
I suppose it depends on what kind of informatio is in the side bar that you are considering moving. Typically the header and footer are used for navigational elements wherease sidebars are used for some more rich content. If you are liiking to move information such as links to home page, archives, tag lists, about this blog page, etc then moving them to the header might be the way to go. However, if you have tag clouds, archive links, latest post links, etc, you probably want to keem them in a sidebar. You have limited space in the header or footer with which to use and will have more flexibility in the side bar.
As for header and footer height, we try to keep the header (including advertisements) of a side to less than 25% of the visible page when viewed in a 1024x768 browser. We don't use standards for a footer just because a large footer doesn't push down content from visibility, so we offer some more flexibility there.
I think you'll need a sidebar... blogs just have way too much information to stuff it all into a header.
The most important thing to consider is the CONTENT of your blog. If its a design blog, a nice flashy header (done professionally, not in paint :P) can be attractive to your visitors. If its a business blog, your readers would usually want a nice plain design so that they can infact get down to business.
Then you have to think about what you want the sidebar to show.
A blog roll? Archives? Search or Login?. What about two sidebars on the same side. One for less important things like ads, and one for the juicy stuff like latest articles and twitters (well some find twitter important: i dont tho).
Like i said, its all in the content and your target audience. Dont try to sell meat to vegetarians. :)
It depends entirely on how much "Stuff" you have in your sidebar. If you can reasonably and cleanly stick it in the header, go for it. For anything you are putting in your footer, make sure its something you don't think people will need very often, because especially on a long long blog page, almost nobody is going to see it.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
So I'm doing a pre-study on how to implement a responsive design to an existing site with a lot of images. These images would be nice if we could serve differently to the visitor according to device size, pixel ratio and/or bandwidth.
The site is using Akamai as a CDN so we must have a solution that uses different URLs for different image sizes. Doing this by Javascript is fine, we require it anyway.
I was looking at CSS-tricks spreadsheet (http://css-tricks.com/which-responsive-images-solution-should-you-use/) and specifically Foresight.js (https://github.com/adamdbradley/foresight.js) seemed to be the right stuff for us.
Basicly the markup would look something like this:
<img data-src="/images/imagefile.jpg" data-width="320" data-height="240" class="fs-img">
<noscript>
<img src="/images/imagefile.jpg">
</noscript>
But then I noticed that Google will ignore any fallback images placed within tags. This could be devastating to our SEO since the images from the press room are essential to be indexed by Google et al.
So my question is, how do you serve SEO friendly-enough images responsively? Is removing the src-attribute killing SEO? There will still be all the other attributes, the alt-one most important I guess.
yea, image alt tag is very important from search engine optimization point of view. Here there is no harm to resize the image by considering devices or element. Make sure you use meaningful image name to get them up in image search result of Google.
Interesting...
I don't really feel that you =need to "alt" tag all of the copies. From SEO point of view this is both redundant and somewhat spammy (imagine Google's response to a website in which each URL holds 5 [or more] different sized version of the same image, all with the same exact alt tags... )
Allowing Goolge to Recognize tags of the "default size" image should be enough for your SEO purposes.
Another workaround I can think of is to always have live links to all the different sizes (while presenting only one personalized version)
I`m not sure if its feasible, but you don't have to many version or want to present a few selected ones, this will do.
This will not solve the alt tag issue, but at least they all be crawled and indexed separately.
Also, alt tag is really over-rated. Speaking from almost 10 years of experience I can say that is's effect is marginal, at best. Especially if you link to the image includes the relevant KW.
If still worried, you can link to a different HTML page, containing said image and alt tag it there but it sound like too much trouble to me...
Hey guys I was looking for different approaches/algorithms for placing textual/non-textual content in a book layout having 2 sides. So essentially it should look like a user is reading a book & content placed in a 2 page layout.
If you guys have any directives or suggestions on how to go about doing this. Way to decide how many content items can fit into 2 pages, no overflow. Suppose a page is 425 px BY 600 px & we have 2 such pages fit side by side (dimensions are flexible).
Any pointers appreciated?
P.S. I know this is not a pure programming question per se but more of an algorithmic question. If so, please direct me where this question can be best asked.
EDIT 1
I want to use this algorithm in a website application & not in a standalone app, so please consider that.
EDIT 2
I would like to mention that the order of the content items is pre-decided.
If your goal is to display data in a book like format, then the easiest method would be to reuse an already existing toolkit for doing text layout. I think the best tool for this purpose would be LaTeX, which is an evolution of the original digital typesetting program.
In order to use it you will have to convert your data into the LaTeX format, which is relatively painless (I have done it several times with several types of data). In this document you can specify that you want a book format, how large the pages are, and much more. You can then render the text to pdf/ps and then display the two pages of a "book" side by side.
If what you are looking for is the actual algorithms to do it yourself, you might search around the TeX/LaTeX community for information.
I need help explaining to my boss why her design is poor on a client's website. She has no knowledge of the web, and it can be difficult as a web developer working with a woman who is a graphic designer (not even a web designer really). On a current site she has designed, an image bar "needs" to be ~1200px according to her, though it isn't necessary with the content. A quick sketch to illustrate what's going on:
As you see, the banner spills out past the 960px of the content and as wide as 1200px. This creates a horizontal scroll when all the content is viewable within the 960px wide viewport. I need to make this an <img> and not a CSS background because it's a jQuery slideshow that fades from image to image.
I think this is a big problem because a lot of people are going to get a horizontal scroll bar imposed in their browser when they're still able to see all the relevant content. She thinks no one will notice and it'll be fine; I think it's very bad practice and confusing to the end user.
How do I explain the problem to her?
Ask her if she would want to open a brochure to only see that one of the folds was unnecessary as it merely has some header image spilling over into it (but no content).
XXXXXXX|XXXXXXX
XIMAGEX|XIMAGEX
XXXXXXX|XXXXXXX
|
Some | (but
content| this
here | is
| blank)
Point her to Nielsen - on of the most famous and top level web usability experts.
"Horizontal Scrolling" is error #3 in "Top Ten Web-Design Mistakes of 2002" article
Also, point out (not sure if Nielsen does) that vast majority of mice don't have horizontal scroll wheels (that was a point made in comments of an article discussing Nielsen's article).
Also, do the usual UI thing - TEST!
Pick 5 random people who ideally match the desired user profile. Ask them to use the mock-up with and without warning and observe which one's easier/faster (and ask, but also obseve without asking)
Hmm. It sounds like you guys need a requirements analyst to step in the middle here. Deciding on a broswer specification & resolution that you'll conform to is a fair thing to ask, I think. Just assuming that 'most' users will have wide screen is not enough for most apps. Seems like she'd be hard pressed to explain why she can't redesign her banner to be smaller & fit the desired size.
I think that user will absolutely notice the horizontal scroll bar and be annoyed by it. Because it's not something most users are used to seeing (can't think of any major sites that have one), they'd have (in effect) learn something new to use your site, which is not good. They should be able to look at a site and be able to use it right away, not spend a few seconds figuring out that the scroll bar doesn't show you any new content, just the additional graphics from the header - those few seconds are where you lose people.
I wonder also, if there's any section 508 guidance on horizontal scroll bars. That may not matter to you guys, but I'm developing gov't sites, so 508 is a big deal for us day to day. If you've got a user using just a keyboard or a screen reader, that scroll bar is more than just annoying.
Two points I would make:
NO major website uses horizontal scroll. Not one. This means, regardless of what she considers "good" design, 100% of users will be confused and will probably never see the content off the right side of the screen.
Horizontal scroll is the print equivalent of a fold-out or "centerfold" style-page. Would you make every page in a magazine like this?
People read left to right, top to bottom (or right to left in some countries). Because of this they can read a lot more content before they need to start scrolling as they only have to scroll vertically.
If you introduce horizontal scrolling then the user has to potentially scroll at the end of each line rather than at the end of each page.
Almost everybody has a wheel mouse now, but only a very few people have wheel mice that side scroll. And even fewer people even know wheels can side scroll!
Let her chew on that.
Try these two points to convince her :
Show her some data about most used browsers resolutions (still 20% internet users have 1024x768 screen resolution)
Having some part of the website not visible when the page is loaded is not "user-friendly" (user can miss some critical information)
Can the entire banner and all the component images within it be scaled down to be narrower? (admittedly it woudl also be shorter, may be more difficult to read etc). Then if the face on the right is really important it woudl still be visible... Horizontal scroll is just really really bad. But I guess you (and everyone else) already knew that :)
You should give her examples and show her what she is trying to do. Do you really want to scroll horizontally to get to information on the other side of the page.
http://www.badwebsiteideas.com/horizontal.htm
I'm going to be going to be meeting with a number of programmers and custom software companies to get bids on creating a website for a company that I'm involved with. My question is this: What should I prepare for the programmers so that they can give me an accurate bid, timetable, etc. for the development of the website? I have a clear picture of how I would like the site to work and the features that I would like to have included.
I'd suggest using something like balsamiq to put some simple sketches together as suggested elsewhere.
Quite often the act of putting your requirements down on paper in a way that represents the actual site will flush out all manner of issues you hadn't considered before, and will give you a much clearer understanding of what you're after.
Also consider the sources of the data you're displaying. From a functional spec aspect, simply saying something like 'show this figure here' is easy. From a programming point of view, coming up with the figure in the first place is often the hard bit.
The best you can do is to put the end-user's hat on and describe what you'd like the system to look like / work.
Imagine all pages and create a new frame for each one. Make as many annotations as you can so all bidders know exactly what you are expecting.
I'd also add at the end if it's likely the site's requirements to change during development, so everybody's warned in advance.
Details Details Details.
You might think you have a clear picture, you don't. You need to write every single step down no matter how trivial. You will see there are things you haven't thought of.
Try to write down as much information as you can think of. Go through all the scenarios a user would when using your site. Use steps such as
1) User clicks on Buy Button
2) Screen shows up with 4 items, Link to details, price, quantity and a 32x32 thumbnail.
2a) If User clicks on thumbnail full resolution image i s displayed
etc etc.
Don't try to gloss over the "simple" stuff and you will get the most accurate bid possible!
Basically draw out what you want (ie textboxes, drop down lists, controls, etc) in very simple manner. Then add little numbers around each area that has some functionality. In the margins or on another sheet, describe each point you numbered on the controls with simple instructions on how that functionality should work.
Think of it as a skeleton to describe the application you want.
Not a complete list, but here a couple of thoughts:
Do not forget the back button.
Back button behaviour is an issue on every site I've ever worked on. Specify exactly what you want to happen on every page if the user gets to that page by hitting the back button. Often it's easy, but sometimes it is not at all trivial.
Security:
Do people need to log on, how, how do you create accounts, reset passwords etc. What pages need you to be logged on, what happens if you hit those pages without being logged on.
You could read Joel Spolsky's Painless Functional Specifications for ideas, but I've just tried to summarise what that means for web software too.
I usually do this in 3 stages:
a list of contents, under the headings they'll appear on the site. Get this firmly agreed by all parties before doing any wireframes;
a greyscale functional wireframe in plain HTML/CSS, using examples of real-world content and dummy static pages for dymanic content, with everything where it should be. This is the first thing programmers want to see;
a purely visual graphic mockup of each type of page - this is the next thing programmers like to see, as in 'show me how you want it to look and I'll make it happen'.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
What is the name of the technology behind Google Maps which allows the server to send only the part of the map requested from the user to enhance the performance, and is there any library to handle this?
The technology could generically be described as a map server. The map server generates a map for the requested location from a large set of pre-generated map tile images covering the entire planet. The map server may overlay data from other databases on top of this. The combination of a map viewer client and geographical database is traditionally called a Geographical Information System (GIS).
Anyone can write web applications that embed Google maps using the Google Maps API.There is also a fine open source map server (called MapServer) should you wish to deploy your own map server.
As stated, Google generated all of these 256x256 tiles and is just serving the relevant tiles. From your comments it seems that you are looking for something to generate these tiles for you. Several people have written code to chop an image into tiles - for instance http://crazedmonkey.com/blog/googletilecutter or http://www.klokan.cz/projects/gdal2tiles/ both seem to be able to do what your looking for.
If you look at the link for a google maps page it will look like this:
http://maps.google.com/maps?f=q&hl=en&sll=37.0625,-95.677068&sspn=53.345014,88.769531&ie=UTF8&ll=41.226264,-81.454246&spn=0.012507,0.021672&z=16
The javascript code on the page and the server code use the numbers in the link to determine the location of the map you are viewing, the zoom level, and the size of your viewing window to determine the tiles to send to your browser.
There are commercial libraries that can provide the mapping data as well as tools to display and navigate the data. One I've seen used before is Geomicro
This is something that you can try out yourself with OpenSource,
http://www.geoserver.org
http://www.openlayers.org
and
last but not least
http://geowebcache.org/
You should be able to setup a minimal environment that does something similar to maps.google in a couple of hours.
You can also use the Google Maps API with your own images. Of course, they don't need to be a map; they can be any images. This will allow the user to drag and zoom, like in Google maps.
Here's a nice rundown of an open source stack for generating Web-based maps from one of the founders of EveryBlock.com: http://www.alistapart.com/articles/takecontrolofyourmaps
The generic name for the underlying discipline is GIS.
Are you asking for more details out of general curiosity, or do you have a specific technical need for a project?
Google gets high definition satellite shots from services that sell these images, they then store and crop this images and serve only those that are required when you look at a certain point. That is, have you noticed when you zoom-in and out that you get to see squared tiles appearing? those are the ones Google Server is serving you.
You also have to consider how they handle the load with the Google File System and MapReduce
It's just a huge image consisting of square chunks that are downloaded indepedently (using AJAX and so on). I believe it's done by some kind of internal Google libraries (could be also GWT).
More on this topic:
http://blog.grimpoteuthis.org/2005/02/mapping-google.html
Google Maps and Google Earth use something known as KML, or "Keyhole Markup Language", which is a special variant of XML. It's named in tribute to the first geo-tracking satellites. You can store information on a location in Google Earth (and it will eventuall trickle down to Google Maps) by using this markup to geocode its specific latitude and longitude coordinates. You can even include altitude.
Not to answer the question, just broader the information. Microsoft has something called "Deep zoom" for Silverlight that makes it easy to do that kind of effect.
Its a free composer where you tile upp your pictures (or one big picture) and do some other settings, then it breaks it down to a lots of smaller pictures in subfolders, one folder for each zoom-level. And then creates a page that can consume those in a smooth way.
A good blog entry about it:
http://weblogs.asp.net/jgalloway/archive/2008/03/21/why-silverlight-2-deep-zoom-really-is-something-new.aspx
I'm working on a cross browser viewer for very large historic plans and scetches. A good help for the first steps (an old blog) I found at http://www.cadmaps.com/gisblog/?p=7
to understand image pyramids (that's what Google Maps works with).
With a 'tiler' I produce a lot of images like testImage_0001111100.png. 0001111100 is i.e. 5th zoom level and x / y position in the image pyramid.
Most of calculation (neighbor images, image stack up and down) is done serverside by php called by ajax requests.
I'm struggling in the moment with (not insolvable) problems in smooth shifting and zooming. That's my problem - but read the article.
AJAX allows you to update part of the page from the javascript. Basically the javascript makes a request back to the webserver and replaces part of the existing page with the result.
JQuery is one library that makes this easier. I don't know what google uses.