Archive for July, 2010

40 Bizarre and Cool Google Earth Photos

Advertisement in 40 Bizarre and Cool Google Earth Photos
 in 40 Bizarre and Cool Google Earth Photos  in 40 Bizarre and Cool Google Earth Photos  in 40 Bizarre and Cool Google Earth Photos

Google Earth is used when you want to explore rich geographical content, want to see satellite images, maps, landscapes, 3D buildings or view satellite images from galaxies in outer space. It also lets you search the whole planet within seconds without requiring you to leave your comfortable room. You can search for anything on this planet whether it is a building, a landscape or anything else, Google Earth will help you. In this post we have collected some bizarre and interesting Google Earth photos, we hope they will impress you.

Google Earth Photos

Will U Marry Me
Marriage proposal seen on a rooftop via Google Maps.

Googleearth10 in 40 Bizarre and Cool Google Earth Photos

Google Escher Effect – Paris, France
Stitching together satellite pix and aero pics of cities can result in situations like this where the different aerial vantage points result in buildings’ pictures being taken at different angles. Once stitched together, the taller buildings at the edges of each of the pictures appear to be leaning toward or away from one another at pronounced angles.

Googleearth24 in 40 Bizarre and Cool Google Earth Photos

Graffiti in Google Maps
Site of an extinct volcano crater, the Cerro Prieto, located near Mexicali in Baja California (Mexico). Apparently, a lot of visitors to the site have decorated it with their graffiti, drawn huge enough to be seen from high above. The graffiti appears to have been drawn with the intention to be seen by people looking down into the crater from the eastern rim of the crater. Here’s a closeup shot of it, taken from the ground.

Googleearth29 in 40 Bizarre and Cool Google Earth Photos

Mystery Stone Arrow

Googleearth20 in 40 Bizarre and Cool Google Earth Photos

Auto Antics
Think parking is tough where you live? In Westenbergstraat, Netherlands, drivers apparently have to park on the sides of walls.

Googleearth39 in 40 Bizarre and Cool Google Earth Photos

Localised Black Hole Discovered
As we all know, the general theory of relativity states that a black hole is a region of space from which nothing can escape – including light. Astronomers have identified lots of places where black holes may exist, but apparently they missed one – about 60km north of Tokyo.

Googleearth32 in 40 Bizarre and Cool Google Earth Photos

Internet fan says he found the face of Satan using Google Earth

Googleearth31 in 40 Bizarre and Cool Google Earth Photos

Heart-shaped island highlighted by Google Earth becomes hit with lovers
The 130,000 square yard islet of Galesnjak came to prominence after its unusual shape was highlighted on Google Earth.

Googleearth5 in 40 Bizarre and Cool Google Earth Photos

Man-Shaped Lake in Brazil

Googleearth15 in 40 Bizarre and Cool Google Earth Photos

Iraq’s Bloody Lake
This blood-red lake outside Iraq’s Sadr City garnered a fair share of macabre speculation when it was noticed in 2007. One tipster told the tech blog Boing Boing that he was “told by a friend” that slaughterhouses in Iraq sometimes dump blood into canals. No one has offered an official explanation, but it’s more likely that the color comes from sewage, pollution or a water-treatment process.

Googleearth18 in 40 Bizarre and Cool Google Earth Photos

Issaouane Erg desert – Dunes (Algeria)
The shapes and colors of the dunes in this desert are amazing. Notice that the three dunes have almost identical shapes. And there are tens of throusands just like those all around.

Googleearth27 in 40 Bizarre and Cool Google Earth Photos

Giant Gulliver from Google Earth, Hunters Hall Park, Craigmillar, Scotland.

Googleearth1 in 40 Bizarre and Cool Google Earth Photos

Terrain Face in Google Maps
The terrain in Alberta, Canada accidentally forms what looks like a human face when viewed from the air or when viewing the satellite pic in Google Maps.

Googleearth2 in 40 Bizarre and Cool Google Earth Photos

Osmington White Horse
The Osmington White Horse, outside Sutton Poyntz, UK. This prehistoric figure is carved into the white chalk of the hillside – such horse carved shapes are called “Leucippotomy”.

Googleearth3 in 40 Bizarre and Cool Google Earth Photos

Google Escher Effect pic from Houston
Here’s another weird satellite pic from Google Maps of some downtown Houston skyscrapers. This effect has become known as the “Escher Effect”, or the “Google Escher Effect”.

Googleearth4 in 40 Bizarre and Cool Google Earth Photos

Land Art near Munich Airport
Land Art or “Earth Art” appearing in a field near the airport in Munich, Germany.

Googleearth6 in 40 Bizarre and Cool Google Earth Photos

KFC space logo
Yum! Brands Inc created the logo near Rachel, Nevada, and claimed it’s the first ad that can be seen from space. If you recall, the same company had previously wanted to beam a laser ad up onto the moon for Pizza Hut, but had later scaled back to buying ad placement on the side of a Russian rocket.

Googleearth7 in 40 Bizarre and Cool Google Earth Photos

Firefox Logo
Crop circle art made in the shape of the iconic Firefox Logo near Portland, Oregon.

Googleearth8 in 40 Bizarre and Cool Google Earth Photos

Where’s Waldo in Google Maps?
Canadian artist Melanie Coles built a large image of the iconic “Waldo” onto a rooftop at an undisclosed location in Vancouver, British Columbia, Canada.

Googleearth9 in 40 Bizarre and Cool Google Earth Photos

Bunny in Google Maps
Giant Pink Bunny created by a group of artists near Artesina, Italy.

Googleearth11 in 40 Bizarre and Cool Google Earth Photos

Coca Cola Logo in Google Maps
This Coca-Cola logo in Google Maps was apparently created out of coke bottles just outside of Arica in Chile.

Googleearth12 in 40 Bizarre and Cool Google Earth Photos

Portrait of Ghenghis Khan in Google Maps
Out of some sort of fear that they might forget who he was, the people of Mongolia have carved the likeness of Ghenghis Khan onto a hillside outside of Ulaanbaatar.

Googleearth13 in 40 Bizarre and Cool Google Earth Photos

The Vitruvian Man by Da Vinci
Leonardo da Vinci’s Vitruvian Man – one of the world’s most recognizable illustrations – is rendered here in crop art in Germany.

Googleearth14 in 40 Bizarre and Cool Google Earth Photos

The Palm Islands of Dubai
The Palm Islands are artificial islands in Dubai, United Arab Emirates on which major commercial and residential infrastructure will be constructed. They are being constructed by Nakheel Properties, a property developer in the United Arab Emirates, who hired Belgian and Dutch dredging and marine contractor Jan De Nul and Van Oord, some of the world’s specialists in land reclamation. The islands are the Palm Jumeirah, the Palm Jebel Ali and the Palm Deira.

Googleearth16 in 40 Bizarre and Cool Google Earth Photos

Oprah Maze
She’s got a massive syndicated show and a magazine called O, and she was dubbed the most powerful celebrity in the world by Forbes. Why shouldn’t Oprah get her own corn maze? An Arizona farmer created this 2004 tribute to the TV talk-show host.

Googleearth17 in 40 Bizarre and Cool Google Earth Photos

World’s Largest Fingerprint

Googleearth19 in 40 Bizarre and Cool Google Earth Photos

Guitar-Shaped Mansion

Googleearth21 in 40 Bizarre and Cool Google Earth Photos

I lOVE u

Googleearth22 in 40 Bizarre and Cool Google Earth Photos

Crop Circles
Without a doubt, the best thing that ever happened to crop circles is Google Earth. This circle in the desert just outside Beatty, Nevada.

Googleearth23 in 40 Bizarre and Cool Google Earth Photos

Roof Ad, New York City
Roof ad seen via Google Maps in New York City, apparently for a “Roller Skating” rink.
Likely intended to target LaGuardia Airport passengers, but many rooftop ads like this are starting to provide impressions through users of Google Maps and other popular online mapping systems which include aerial photos and satellite photos.

Googleearth25 in 40 Bizarre and Cool Google Earth Photos

Show Me a Sign

Googleearth26 in 40 Bizarre and Cool Google Earth Photos

Ghost Town: Prypiat, Ukraine

Googleearth30 in 40 Bizarre and Cool Google Earth Photos

Ni Pena Ni Miedo (No Shame Nor Fear)
Written in the sands of the Atacama Desert, Chile, are the words “ni pena ni miedo” which translate more or less as “No shame nor fear”, and together they form what must surely be the world’s largest poem.

Googleearth33 in 40 Bizarre and Cool Google Earth Photos

Giant of Córdoba takes a bath
Giants have a hard time getting clean. I mean, baths aren’t usually built big enough to fit your average giant, right? Which is the only sensible explanation as to why there’s a giant sitting in the Guadalquivir river in Córdoba, Spain.

Googleearth34 in 40 Bizarre and Cool Google Earth Photos

Google Maps Oddity
This is a very strange picture from Google Maps satellite picture of downtown Dallas. The rounded top building in the upper middle is the JPMorgan Chase Tower. Next to it is the tall rectangular 2100 Ross Avenue building (dead center). Catty-cornered from those two on the left side is the pointy-topped Trammell Crow Center which appears to be leaning at a sharp angle compared with the other buildings.

Googleearth35 in 40 Bizarre and Cool Google Earth Photos

Brunel 200th Birthday Maze
This maze in the UK was made to celebrate Brunel’s 200th birthday.

Googleearth36 in 40 Bizarre and Cool Google Earth Photos

Land Art – Bug in Illinois
Effigy Tumuli, by Michael Heizer, are a few different land art pieces built on Buffalo Rock in Buffalo Rock State Park, overlooking the Illinois River. (Built between 1983-1985) The animal shapes are barely visible now from satellite pics, though you can see the beetle or roach shape outline in this screengrab.

Googleearth37 in 40 Bizarre and Cool Google Earth Photos

Karl’s Maze, Germany
Karl’s Maze in Purkshof, Germany. Since 1921?

Googleearth38 in 40 Bizarre and Cool Google Earth Photos


How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

Smashing-magazine-advertisement in How To Use CSS3 Media Queries To Create a Mobile Version of Your WebsiteSpacer in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website
 in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website  in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website  in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

CSS3 continues to both excite and frustrate web designers and developers. We are excited about the possibilities that CSS3 brings, and the problems it will solve, but also frustrated by the lack of support in Internet Explorer 8. This article will demonstrate a technique that uses part of CSS3 that is also unsupported by Internet Explorer 8. However, it doesn’t matter as one of the most useful places for this module is somewhere that does have a lot of support — small devices such as the iPhone, and Android devices.

In this article I’ll explain how, with a few CSS rules, you can create an iPhone version of your site using CSS3, that will work now. We’ll have a look at a very simple example and I’ll also discuss the process of adding a small screen device stylesheet to my own site to show how easily we can add stylesheets for mobile devices to existing websites.

[Offtopic: by the way, did you already get your copy of the Smashing Book?]

Media Queries

If you have ever created a print stylesheet for a website then you will be familiar with the idea of creating a specific stylesheet to come into play under certain conditions – in the case of a print stylesheet when the page is printed. This functionality was enabled in CSS2 by media types. Media Types let you specify a type of media to target, so you could target print, handheld and so on. Unfortunately these media types never gained a lot of support by devices and, other than the print media type, you will rarely see them in use.

The Media Queries in CSS3 take this idea and extend it. Rather than looking for a type of device they look at the capability of the device, and you can use them to check for all kinds of things. For example:

  • width and height (of the browser window)
  • device width and height
  • orientation – for example is a phone in landscape or portrait mode?
  • resolution

If the user has a browser that supports media queries then we can write CSS specifically for certain situations. For example, detecting that the user has a small device like a smart phone of some description and giving them a specific layout. To see an example of this in practice, the UK web conference dConstruct has just launched their website for the 2010 conference and this uses media queries to great effect.

Dconstruct-desktop-crop in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

The dConstruct 2010 website in Safari on a desktop computer

Dconstruct-iphone in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

The dConstruct 2010 website on an iPhone

You can see from the above example that the site hasn’t just been made smaller to fit, but that the content has actually been re-architected to be made more easy to access on the small screen of the device. In addition many people might think of this as being an iPhone layout – but it isn’t. It displays in the same way on Opera Mini on my Android based phone – so by using media queries and targeting the device capabilities the dConstruct site caters for all sorts of devices – even ones they might not have thought of!

Using Media Queries to create a stylesheet for phones

To get started we can take a look at a very simple example. The below layout is a very simple two column layout.

Example-browser-crop in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

A very simple two column layout

To make it easier to read on a phone I have decided to linearize the entire design making it all one column, and also to make the header area much smaller so readers don’t need to scroll past the header before getting to any content.

The first way to use media queries is to have the alternate section of CSS right inside your single stylesheet. So to target small devices we can use the following syntax:

	@media only screen and (max-device-width: 480px) {

	}

We can then add our alternate CSS for small screen and width devices inside the curly braces. By using the cascade we can simply overwrite any styles rules we set for desktop browsers earlier in our CSS. As long as this section comes last in your CSS it will overwrite the previous rules. So, to linearize our layout and use a smaller header graphic I can add the following:

	@media only screen and (max-device-width: 480px) {
		div#wrapper {
			width: 400px;
		}

		div#header {
			background-image: url(media-queries-phone.jpg);
			height: 93px;
			position: relative;
		}

		div#header h1 {
			font-size: 140%;
		}

		#content {
			float: none;
			width: 100%;
		}

		#navigation {
			float:none;
			width: auto;
		}
	}

In the code above I am using an alternate background image and reducing the height of the header, then setting the content and navigation to float none and overwriting the width set earlier in the stylesheet. These rules only come into play on a small screen device.

Example-phone in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

My simple example as displayed on an iPhone

Linking a separate stylesheet using media queries

Adding the specific code for devices inline might be a good way to use media queries if you only need to make a few changes, however if your stylesheet contains a lot of overwriting or you want to completely separate the styles shown to desktop browsers and those used for small screen devices, then linking in a different stylesheet will enable you to keep the CSS separate.

To add a separate stylesheet after your main stylesheet and use the cascade to overwrite the rules, use the following.

<link rel="stylesheet" type="text/css" media="only screen and (max-device-width: 480px)" href="small-device.css" />

Testing media queries

If you are the owner of an iPhone, Android device or other device that has a browser which supports media queries you can test your CSS yourself. However you will need to upload the code somewhere in order to view it. What about testing devices you don’t own and testing locally?

An excellent site that can help you during the development process is ProtoFluid. This application gives you a form to enter your URL – which can be a local URL – and view the design as if in the browser on an iPhone, iPad or a range of other devices. The screenshot below is the dConstruct site we looked at earlier as seen through the iPhone view on ProtoFluid.

Dconstruct-protofluid-crop in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

The dConstruct 2010 website in ProtoFluid

You can also enter in your own window size if you have a specific device you want to test for and know the dimensions of it’s screen.

To use ProtoFluid you need to slightly modify the media query shown earlier to include max-width as well as max-device-width. This means that the media query also comes into play if the user has a normal desktop browser but using a very tiny window.

	@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) {

	}

After updating your code to the above, just refresh your page in the browser and then drag the window in and you should see the layout change as it hits 480 pixels. The media queries are now reacting when the viewport width hits the value you entered.

You are now all ready to test using ProtoFluid. The real beauty of ProtoFluid is that you can still use tools such as FireBug to tweak your design, something you won’t have once on the iPhone. Obviously you should still try and get a look at your layout in as many devices as possible, but ProtoFluid makes development and testing much simpler.

Note that if you don’t want your site to switch layout when someone drags their window narrow you can always remove the max-width part of the query before going live, so the effect only happens for people with a small device and not just a small browser window.

Retrofitting an existing site

I have kept the example above very simple in order to demonstrate the technique. However this technique could very easily be used to retrofit an existing site with a version for small screen devices. One of the big selling points of using CSS for layout was this ability to provide alternate versions of our design. As an experiment I decided to take my own business website and apply these techniques to the layout.

The desktop layout

The website for my business currently has a multi-column layout. The homepage is a little different but in general we have a fixed width 3 column layout. This design is a couple of years old so we didn’t consider media queries when building it.

Edgeofmyseat-browser-crop in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

My site in a desktop browser

Adding the new stylesheet

There will be a number of changes that I need to make to linearize this layout so I’m going to add a separate stylesheet using media queries to load this stylesheet after the current stylesheet and only if the max-width is less than 480 pixels.

	<link rel="stylesheet" type="text/css" media="only screen and (max-width: 480px), only screen and (max-device-width: 480px)" href="/assets/css/small-device.css" />

To create my new stylesheet I take the default stylesheet for the site and save it as small-device.css. So this starts life as a copy of my main stylesheet. What I am going to do is go through and overwrite certain rules and then delete anything I don’t need.

Shrinking the header

The first thing I want to do is make the logo fit nicely on screen for small devices. As the logo is a background image this is easy to do as I can load a different logo in this stylesheet. I also have a different background image with a shorter top area over which the logo sits.

	body {
		background-image: url(/img/small-bg.png);
	}

	#wrapper {
		width: auto;
		margin: auto;
		text-align: left;
		background-image: url(/img/small-logo.png);
		background-position: left 5px;
		background-repeat: no-repeat;
		min-height: 400px;
	}

Linearizing the layout

The next main job is to linearize the layout and make it all one column. The desktop layout is created using floats so all I need to do is find the rules that float the columns, set them to float: none and width:auto. This drops all the columns one under another.

	.article #aside {
		float: none;
		width: auto;
	}

Tidying up

Everything after this point is really just a case of looking at the layout in ProtoFluid and tweaking it to give sensible amounts of margin and padding to areas that now are stacked rather than in columns. Being able to use Firebug in ProtoFluid makes this job much easier as my workflow mainly involves playing around using Firebug until I am happy with the effect and then copying that CSS into the stylesheet.

Edgeofmyseat-protofluid-crop in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

Testing the site using ProtoFluid

Testing in an iPhone

Having created my stylesheet and uploading it I wanted to check how it worked in a real target device. In the iPhone I discovered that the site still loaded zoomed out rather than zooming in on my nice readable single column. A quick search on the Safari developer website gave me my answer – to add a meta tag to the head of the website setting the width of the viewport to the device width.

		<meta name="viewport" content="width=device-width" />

After adding the meta tag the site now displays zoomed in one the single column.

Edgeofmyseat-phone in How To Use CSS3 Media Queries To Create a Mobile Version of Your Website

The site as it now displays on an iPhone

This was a very simple retrofit to show that it is possible to add a mobile version of your site simply. If I was building a site from scratch that I would be using media queries on, there are definitely certain choices I would make to make the process simpler. For example considering the linearized column orders, using background images where possible as these can be switched using CSS – or perhaps using fluid images.

Our desktop layout features a case studies carousel on the homepage, this wasn’t easy to interact with on a touch screen device and so I checked using JavaScript if the browser window was very narrow and didn’t launch the carousel. The way this was already written meant that the effect of stopping the carousel loading was that one case study would appear on the screen, which seems a reasonable solution for people on a small device. With a bit more time I could rewrite that carousel with an alternate version for users of mobile devices, perhaps with interactions more suitable to a touch screen.

More resources

This is a relatively new technique but already there are some excellent tutorials on the subject of media queries. If you know of others then please post them in the comments.

Providing support for Media Queries in older browsers

This article covers the use of media queries in devices that have native support. If you are only interested in supporting iPhone and commonly used mobile browsers such as Opera Mini you have the luxury of not needing to worry about non-supporting browsers. If you want to start using media queries in desktop browsers then you might be interested to discover that there are a couple of techniques available which use JavaScript to add support to browsers such as Internet Explorer 8 (and lower versions) and Firefox prior to 3.5. Internet Explorer 9 will have support for CSS3 Media Queries.

More inspiration

To see more interesting use of Media Queries have a look at Hicksdesign where Jon Hicks has used Media Queries to not only provide a better experience for mobile device users, but also for regular web browser users with smaller windows. Also, have a look at Simon Collison’s website and Ed Merritt’s portfolio for other examples of this technique.

Try it for yourself

Using Media Queries is one place you can really start to use CSS3 in your daily work. It is worth remembering that the browsers that support media queries also support lots of other CSS3 properties so your stylesheets that target these devices can also use other CSS3 to create a slick effect when viewed on an iPhone or other mobile device. If you have implemented media queries on your site, or try this technique after reading this article, let us know in the comments.


© Rachel Andrew for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , , ,


Create Batman Logo in Photoshop

In this tutorial, we’ll be creating the iconic Bat logo of the superhero, Batman. Here, we’ll be using the Pen Tool to sketch out the ‘bat’ and a set of Heavy Scratches brushes to add a great amount of detail to the bat logo.

Step 1

With a document size of 800 by 600 px, resolution of 140 dpi and a white background, I started with an outline of the original bat logo which I desaturated and; the contrast increased thus, leaving nothing but the shape of the logo.We’ll be using this shape as guides for our actual bat logo.

Step 2

For greater accuracy, we’ll have to enable grid lines for our document by going to View>Show>Grid.

The document enabled with Grids.

Step 3

Create a new layer ‘bat’ and on the Tools bar, select the Pen Tool and map out the shape of the bat logo as shown below:

Step 4

Now for the intricate part. For other tools options under the Pen Tool, select the Add Anchor Point Tool and add a number of points to the straight lines of the logo. With your mouse or the directional keys on the keyboard, move the Anchor points steadily upwards or diagonally to create a curve(s).

Step 5

For more smoother curves, drag the handles of the Anchor Points in the direction most appropriate.

Step 6

Add more Anchor Points and repeat the previous steps to create more curves.

Step 7

For the edges of the logo, more specifically points of the wings, ensure that they’re rounded and not sharp.

Below is the final result:

Step 8

I deleted the layer that I used as my guides and pressing Ctrl+-, the Grids were removed.

Step 9

Fill the bat logo with a grey colour.

Step 10

From www.sxc.com, download for free this brushed metal texture. Now position the top most part of the metal texture over the bat logo.

Holding down the ALT key, click inbetween the ‘bat’ and ‘metal’ layers for a Layer Clipping Mask.

Step 11

Double-click on the ‘bat’ layer and select a Bevel and Emboss Layer style. Set its parameters as shown below:

Step 12

Follow up with a Gradient Overlay style and set and adjust the Gradient Color Stops:

B.
Reduce the Gradient’s Opacity to 60%or lower, set its Style to Radial and Angle at 0 degrees.

Step 13

Also select a Drop Shadow Layer Style and set its parameters as shown below:

Step 14

Now to create some scratches and dents on the metallic bat logo. We’ll be using two sets of Scratch brushes. The Heavy Scratches brushes can be downloaded from Dawghousestudio.com and another Scratches brush by can be downloaded from Brushstock.com.Load these brushes into Photoshop and select the brush of choice from the Brushes Palette and change the foreground colour to black. These brushes have huge pixels larger than our working document and so we’ll must reduce the size of the brush(es) on application (painting that is). Do create a new layer for this.

Step 15

Hit Ctrl+T to enter the Free Transform mode and with the mouse position close to corner the selection, rotate it slightly diagonally. This is ensure some of the brush strokes don’t appear too linear.

Step 16

Select the Eraser Tool (E), and clear the brushes marks that might be left outside the logo. Also erase just slightly the inner edges of the logo. Reduce brush opacity to 90%.

The result below:

Step 17

With the ‘bat’ logo selected, create an Inner Shadow Layer style. Reduce the Shadow’s Opacity to 30%, its Angle to a 100degrees, Distance at 5 px and Size at 4 px.

Step 18

We now use another metal texture for the background. You can download this or any other metal texture you might fancy from http://www.3dmd.net/gallery/large-free-brushed-metal-texture-fs125.html.

Step 19

Press Ctrl+U for the Hue/Saturation Dialog box and make the adjusts as shown below. This sort of, to a degree desaturate the texture. (A full desaturation would have left the texture with a faint bluish tint).

Step 20

Go to Filter>Blur>Gaussian Blur and set the Blur Radius to 0.7 pixels.

Step 21

Still on the ‘background’ layer, select the Heavy Scratches brush once again and increase the brush size just large enough to cover the entire background texture.

Step 22

Select a couple of other Heavy Scratch brushes from the Brushes Palette and reduce their sizes and then paint away.

Step 23

Change the brush colour to white and reduce its opacity to 80% and add some more scratch markings around the bat logo.

Step 24

Go to Filter>Render>Lighting Effects and set the Light Type as Omni and Intensity to 9.

Step 25

Have the background image sharpen by going to Filter>Sharpen>Sharpen. Press Ctrl+F to Sharpen again.

Step 26

Select the Burn Tool (O), set the Burn Range to Highlight and Exposure to 45%. Burn around the edges of the texture background.


Step 27

Select the ‘bat’ layer and press Ctrl+L for the Levels Dialog box. Increase the light for the bat logo with the parameters below:

The result:

Step 28

Create a new layer and select a black Spatter brush. Paint sparingly one part of the bat logo.

Step 29

Go to Filter>Blur>Gaussian Blur and set the Radius to about 35 px. And we’re done.

By David Ella Ella


Seven Must-See Videos and Presentations for Web App Developers

Smashing-magazine-advertisement in Seven Must-See Videos and Presentations for Web App DevelopersSpacer in Seven Must-See Videos and Presentations for Web App Developers
 in Seven Must-See Videos and Presentations for Web App Developers  in Seven Must-See Videos and Presentations for Web App Developers  in Seven Must-See Videos and Presentations for Web App Developers

In previous video roundups, we’ve collected together some interesting videos and presentations from a variety of speakers discussing topics covering usability, graphic design, CSS frameworks, web standards, and more. In this small roundup, we’ve included seven videos that we think would be of great interest to web app developers in particular, with less focus on design and standards.

These presentations are a little more technically heavy than ones we’ve featured in the past, but we think they’re worth every minute. Check them out, and be sure to comment to include links to any related videos that you feel are worth mentioning.

[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #2 is Successful Freelancing for Web Designers, 260 pages for just $9,90.]

Speed Up Your JavaScript

Speaker: Nicholas C. Zakas

As an interpreted language, JavaScript is filled with hidden performance issues that conspire to slow down your code and ruin the user experience. Learn exactly what is fast, what is slow, and what you can do to squeeze that last bit of performance out of your JavaScript code.

Notable Quotes:

“The problem is that JavaScript is slow… And the secondary problem is that people notice that it’s slow, because a lot of the web is about perceived performance. If your [code] is slow and people perceive it to be slow, then you're in a lot of trouble."

"Really the issue is, browsers aren't going to help you with your code. They don't care that your code is running slow, they're not going to do anything to adapt for it. So really, if something has to be done to speed up your code, it pretty much has to be done by you."

Series of articles by the author on the same topic:

Further Info:

HTML 5 and Internet Explorer 9

Speaker: Giorgio Sardo

Giorgio Sardo talks about HTML5, CSS3, SVG, and fast JavaScript support coming in the Internet Explorer 9 platform. His presentation includes demos showcasing the latest code, providing best practices on how to make web application standards compliant, fast and interoperable across browsers.

This is a humorous presentation that will be of interest to front-end developers who want to create cutting-edge applications while keeping up with the latest developments in web standards.

Notable Quotes:

"How many of you are still on IE6? You're more than welcome to leave the room now."

"Microsoft is committed to web standards. And I'm very serious when I say this. [audience laughter] It's not a joke!"

"Our job as browser vendors is to make sure that we give you a professional implementation of HTML5, something you can rely on, something that, if you start building your application today, in one year from now it will not break just because the standard changes."

Further Information:

Introduction to HTML 5

Speaker: Brad Neuberg

If you want to know what's new in HTML 5 but haven't had a chance to do much reading on the topic yet, this video by Brad Neuberg provides a solid introduction to HTML 5's most powerful capabilities and features. In this presentation he discusses five aspects of the HTML5 spec: (1) Canvas and SVG; (2) HTML5 Video; (3) The Geolocation API; (4) The HTML5 database and application cache; and (5) Web Workers.

This is a great video and a must-see for anyone that wants to start building powerful web apps using HTML5's newest features.

Notable Quotes:

"One of the things that's really unique about HTML5 is it [allows you to] drop SVG right into a normal HTML page, so it really makes SVG a core part of HTML."

"Currently, video is complicated, and it's outside your control... In 2009 video really should be a part of the browser... HTML5 now gives you a video tag that really works very similar to the image tag, so you don't have to have very complicated objects or plugins — video just works."

"Using all this JavaScript... we can end up not writing apps great, that end up freezing the browser, causing it to run slowly... HTML 5 gives you something called Web Workers, and this lets you run JavaScript in the background in such a way that it won't 'hose' or kill the browser."

Further Information:

eCSStender: the 'jQuery of CSS'

Speaker: Aaron Gustafson

In this video, Aaron Gustafson discusses an overview of his new JavaScript library along with demos and example code to demonstrate how it can be used. Along the way, Gustafson includes some interesting points on the history of the HTML and CSS specs. He also discusses the library's compatibility with IE6 and CSS3 selectors.

Ecss in Seven Must-See Videos and Presentations for Web App Developers

Notable Quotes:

"You can use [eCSStender] for patching older browsers... basically standardizing implementations across browsers."

"What the extension in the case of border-radius is doing is actually figuring out what it is that it needs to do and then building the implementation that the browser wants... It greatly simplifies the design process."

Further Information:

10 Things I Learned From the jQuery Source

Speaker: Paul Irish

This is a unique, informative, and entertaining screencast from one of the web's best JavaScript developers. Irish is funny and down-to-earth while he reveals some cool little nuggets that he's discovered from examining the jQuery source. The screencast is a remake of Irish's presentation at the recent Texas JavaScript Conference.

Notable Quote:

"Everyone... considers jQuery this black box, and this black box is this magical box that just works — it has this great API, we use it, we don't have to worry about how it actually works internally, we're not going to look inside the source and figure it out. But I'm here to say, if you do, I think you're going to benefit from it."

Further Information:

Steve Huffman on Lessons Learned at Reddit

Speaker: Steve Huffman

A presentation from Future of Web Apps Miami 2010 by reddit co-founder Steve Huffman. Huffman explains some of the most important lessons he and his development team learned while reddit was growing. This is a highly technical presentation that concludes with some audience Q&A.

Notable Quotes:

"If this talk had existed when we were starting reddit, I think it would have saved me a lot of time, so I hope something in here isn't obvious to you now and you can learn from it."

"I dreaded my phone ringing. Nobody would call me for any other reason than to tell me Reddit was down. Even my mother would call me and say, 'Steve, your website’s not working.' Thanks mom."

"Wasting disc and memory is totally fine if you’re not making your users wait. Discs and memory are far cheaper than annoying your customers."

Further Information:

The Paradox of Choice

Speaker: Barry Schwartz

This video, on the surface, is not about web development in any way, but provides an interesting viewpoint on "freedom of choice" and may well remind app and website designers to avoid bombarding users with choices and complicated options. Some very controversial insights are given here into what makes people happier, providing some food for thought for those concerned about usability.

Notable Quotes:

"The way to maximize freedom, is to maximize choice. The more choice people have, the more freedom they have, and the more freedom they have, the more welfare they have. This I think is so deeply embedded in the water supply, that it wouldn't occur to anyone to question it."

"[Having too much choice] produces paralysis rather than liberation. With so many options to choose from, people find it very difficult to choose at all."

Further Information:

Related Articles


© Louis Lazaris for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:


Taking the Best Measure to Fortifying Your Scripts

No matter how hard we try, we always seem to forget to secure certain aspects of our scripts, whether be it an input field or data being inserted into a database. It would definitely be nice to fall back on security precautions that we implement into our scripts whether or not we have sanitized everything needed. Here are some tips and coding styles to achieve just that.

The Solution

The difference this solution can make is massive depending on how large the script is. We generally know that the larger or more complicated the script is the more we will miss on securing things. Using a precautionary solution enables us to have automatically patched many things we may have forgotten to sanitize or secure.

For example, forms provide a way for users to provide data for input into your database or other storage methods. We know that forms are the general cause of security flaws in many scripts that fail to have properly sanitized input due to ignorance or the cause of forgetting to do so. Another common missed aspect is forgetting to sanitize superglobals such as $_POST, $_REQUEST, $_GET, and others.

Furthermore, developing a solution that performs the sanitization and takes security measures for us is an excellent fall back as it could do the patching work for us in many situations, which provides us the time to create a permanent fix.

Which Scripts Benefit the Most?

Many scripts we create may be too small to bother developing a fallback component, as it may be larger than the script itself. Thus, it will definitely be a waste of time to do so. However, if you are developing a fairly large system, whether hitting the mainstream or not, spending the time to develop a fallback component will definitely be worthwhile, especially if the system being developed handles transactions or is built around user inputted data.

If your script happens to fall in the too small to bother category, you can still take certain precautionary measures while developing it. These precautionary measures include frequently testing your work as you go along for security flaws and going over your work multiple times. These measures should also be taken in any sized project, as checking your work is always a great thing to do.

Creating These Solutions

Creating a fallback component depends on your needs and expectations of how it should function. It can be a complex solution and can automatically detect the input type and sanitize accordingly, or it can be a simple solution implementing a standard sanitization or security method throughout. You should remember that these fallback solutions create temporary security patches to certain security flaws until you can get in and create a permanent patch, thus, you should not rely on this component as your only means of sanitization and security.

When creating these solutions, creating classes is generally a good idea as they act as an interface handler for each of your solutions. In order to better understand and grip this idea I will briefly walk through a simple form handler class that takes a default sanitization method throughout.

Let us dive right in to the way this form handler class was structured and the way it functions. This class was designed to replace creating your own forms with its own infrastructure to assure that the form is handled securely. However, this class lacks auto detection of deciding what security measures to take based on the user inputted data, nevertheless, it does take basic security precautions to assure that the data being handled is not abrasive.

Examples and Best Practices

Let us look at one of its methods, the text area handler:

...
//begin a foreach to grab 'em values
foreach($array as $key => $value)
{
//begin the switch case to identify the values
switch($key)
{
Case 'name':
$name = $value;
Break;

Case 'class':
$class = $value;
Break;

Case 'id':
$id = $value;
Break;

Case 'value':
$i_value = $sanatize->specialTrim($value);
Break;

Case 'required':
$required = $value;
Break;

Case 'label':
$label = $value;
Break;

Case 'hint':
$hint = $value;
Break;
}
...

As you may have noticed, it automatically sanitized the user-inputted value, it is simple, however effective. In the code snippet above, it is running a check on all the possible fields available for a textarea box; this is designed to assure that unwanted fields are filtered out.

Another key aspect to this form handler class is the way it handles some of the superglobals mentioned earlier:

public function post($parameter)
{
$cleanup = @$this->stripBreak($parameter);
$post = @$_POST[$cleanup];
return $post;
}

/******
* @method public
* @return $_REQUEST
* @param string the $_REQUEST param which is sanatized
* This handles the $_REQUEST variable which also sanatizes its value
*/

public function request($parameter)
{
$cleanup = @$this->stripTags($parameter);

  •   
  • Copyright © 1996-2010 BlogmyQuery - BMQ. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress