June 25th, 2011
I had this thought a number of years ago, that companies can freely use any iconography they like within their branding. For instance, they could use a kiwi or a lion in their logo or as a character. There’s little ethical consideration to this – the main concern is legal as existing trademarks. But there’s no cultural motivation to check this with anyone, which is quite different to using indigenous cultural symbolism (ok, there are no laws about this, but unconsidered use doesn’t do you any favours). So I thought, how ethical is this?
Human activity has instigated a new era of extinction and most of the world’s charismatic mega-fauna are threatened… well, it’s not just them – the world’s biodiversity is threatened. (We had the pleasure of helping DOC out with some of their Year of Biodiversity promotion.) So who pays the costs of conservation? Governments, environmental preservation agencies? So why not businesses who extract symbolic value from an animal?
This was the exact idea that motivated Save Your Logo, which set itself up to help involve companies to contribute and support actions of biodiversity. Neat! Of course, they have a general focus on key endangered species – not everything is covered.
The ideal would be for companies to be aware of – and grateful for – the cultural symbolic value that supports their business proposition. So, if you’re a business, or a designer, have a think about the ethical implications and find a way to support appropriate preservation initiatives. No doubt there are PR benefits, but the real benefit is that you are not just thinking of your own fate but acknowledging the relationship and shared fate you have with another entity in the web of life that connects us all.
Posted in Branding, design, justin | No Comments »
June 13th, 2011
We’ve produced communications materials for a wide range of non-profit organisations (that’s the kind of work we do!). It always surprises me how disorganised their identities are – often poorly supplied logo files and poor visual documentation. Sure, we understand that many non-profits have tight budgets, but a little invested in the organisation’s key visual indicator can pay off dividends. It’s not just about looking good though – it’s about communicating effectively – something that has become increasingly important for non-profits in a message-saturated mediascape.
Three key ways to support your organisation’s image through brand use are:
Keep it consistent. Inconsistency looks messy and projects an image of a disorganised organisation. Consistency is about knowing what you’re communicating and to whom, and keeping the message on-target – and the same each time. If you’re not keeping your message clear and consistent you end up diluting its impact and confusing your audience.
Use a style guide. This is simply a document that acts as a template for how your logo, fonts, colours, images and application should be used. It helps keep things looking consistent. Many clients we’ve worked for had a logo but no information on how it should – and shouldn’t – be used. The result is often a random array of application. Developing a style guide is not difficult and will help you be more effective in the long run. Download an example of a simplified style guide.
Know when to DIY and when not to. A style guide can also include templates for basic in-house production of items. This means you can still do it yourself AND keep it consistent (great!). However, we see clients trying to produce important external communications themselves – often in Word! If it’s important, believe me, you’re better to hire an expert and get in done right – using the right tools. The end result is going to be much more effective in looking good, getting the message across – and getting the intended results.
Tags: branding, design, non-profit
Posted in Branding, Non-profit, design, justin | No Comments »
September 23rd, 2010
http://www.wolfpil.de/v3/map-in-a-box.html
Wolfgang Pichler has made a map canvas that is draggable and resizable. Cursor movement is detected and drag or resize is implemented depending on where the click originated.
Tags: api v3, google maps
Posted in Google Maps v3 | No Comments »
September 16th, 2010
In v2, polylines had a getBounds() method, but (currently – Sept 2010) that doesn’t exist for v3 polylines. Similarly for polygons.
Fortunately there is code in the extensions library to add the method to polygons by prototyping.
see http://code.google.com/p/google-maps-extensions/source/browse/google.maps.Polygon.getBounds.js
Pretty simple – it just creates a new bounds object, gets the paths for the polygon, and iterates through those to get each path (in case its a complex polygon). At each point in each path, it extends the bounds.
For some reason, they didn’t also write the code for polylines. Its similar, but polylines don’t have multiple paths so its easier. Here’s my adaption:
// polyline getBounds extension – adapted from: google-maps-extensions by stu sontier
// http://code.google.com/p/google-maps-extensions/source/browse/google.maps.Polygon.getBounds.js
if (!google.maps.Polyline.prototype.getBounds) {
google.maps.Polyline.prototype.getBounds = function(latLng) {
var bounds = new google.maps.LatLngBounds();
var path = this.getPath();
for (var i = 0; i < path.getLength(); i++) {
bounds.extend(path.getAt(i));
}
return bounds;
}
}
Tags: api v3, bounds, google maps, polygon, polyline
Posted in Google Maps v3 | No Comments »
September 13th, 2010
Route boxer is a class in Googles utility library, that “generates a set of LatLngBounds objects that are guaranteed to cover every point within a specified distance of a path”.
The documentation includes a good example and a great overview of the way it works.
The source code is well documented too.
For a current project, I need to take a journey, plotted with DirectionsResult, and find out if any parts of that journey intersect with one or more (previously inputted and stored) routes.
Detecting this intersection may be a job for RouteBoxer, or for parts of it. RouteBoxer starts by creating a grid of cells across the bounds of the given polyline, and then determines which cell each vertex is in. This gives a cell mapping of the polyline. RouteBoxer goes on to further analyse the cells, ending up with a series of boxes outlining the line by up to ~3x the given distance.
Using the example, but changing the ‘box within’ distance from the default 20 miles, to 0.1 miles, RouteBoxer took a pretty long time to complete. But on the short journeys that I’ll be analysing, RouteBoxer handled 0.01 miles (16 metres) fairly well.
But in my project, it may be enough to do the first steps, create an array of cells of a given size that contain the journey, and compare that array against a similarly derived array for the stored routes. Any cells that appear in both arrays are indications of intersection (as long as the given distance is small enough for the result to be a good approximation.)
Will report back after experimentation.
Tags: api v3, contains, directions, directionsresult, google maps, polyline, proximity
Posted in Google Maps v3 | No Comments »
September 10th, 2010
http://www.geocodezip.com/v3_directions_custom_iconsC.html
Larrys example shows how to iterate through the DirectionsResult legs and steps. He does this so that he can go through what is returned from a DirectionsRequest, and use his own start and end markers. If he went with the default google markers he could get away with using DirectionsRenderer to show the route and the instructions.
This code is a good intro to understanding the inner contents of the DirectionsResult, right down to the points in the path of a step.
Tags: api v3, directions, directionsresult, google maps, leg, path, polyline, route, step
Posted in Google Maps v3 | No Comments »
September 9th, 2010
maps api v3 has introduced circle and rectangle overlay objects which make it easy to create circle and simple polygons.
Detecting a point within a standard google.maps.Polygon can be done by analysing the points with the Ray Cast Algorithm (see blog item Point in Polygon checking … ), but there doesn’t seem to be any way to access points directly with the overlay objects, so detecting a point within circle and rectangle overlays doesn’t seem to be possible.
As far as I can see, the best way to have a circle drawn on the map and then do point detection within, is to fake a circle with google.maps.Polygon so that matt williamsons containsLatLng method can be used.
And the following page shows how to draw a circle with 100 points and google.maps.Polygon
http://www.subtlysimple.com/projects/circleoverlay/
Tags: api v3, circle, contains, polygon
Posted in Google Maps v3 | No Comments »
September 9th, 2010
In maps api v2 we had the ability to enable editing on polylines and polygons. This allowed points on the object to be dragged, deleted etc, and also put draggable mid-points on the line, allowing entry of additional midpoints (and dragging of these).
The best simple example of this [v2] was the mymapstoolbar (emulating mymaps functionality)
http://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.html
So far, api v3 does not have enable editing method on any objects, but several people have had a go at replicating the functionality:
http://www.shanetomlinson.com/static/gmapV3EditablePolys/html/test.html
By Shane Tomlinson. Simple v3 version that allows markers on an existing polyline to be dragged, new points to be added, and line colour changed. Code posted in github
http://gmaps-samples-v3.googlecode.com/svn/trunk/poly/poly_edit.html
This one is for polygons only and allows point-drag and new points to be added, removed. It works by using an MVCarray to hold each point, and creates marker click listeners for click (remove point) and dragend (at point at this position), and map click listener to add a point.
http://nettique.free.fr/gmap/toolbar.html
An api v3 implementation of mymapstoolbar giving very similar look and usage
http://nettique.free.fr/maps/OpenLayersEditingToolbar.html
Similar edit toolbar for OpenLayers
http://ekelschot.eu/maps/enableEditing.html
And another, from peckham. code posted in snipplr
Tags: api v3, google maps, polyline
Posted in Google Maps v3 | No Comments »
September 8th, 2010
http://appdelegateinc.com/blog/2010/05/16/point-in-polygon-checking/
App Delegate ( mattwilliamson) adds the method containsLatLng to polygon object. Properly done, with Ray Cast Algorithm.
Note that this will not work on the Circle and Rectangle objects, only if circles/rectangles are drawn as polygon objects
Tags: api v3, contains, google maps, polygon, proximity
Posted in Google Maps v3 | No Comments »
September 8th, 2010
http://www.birdtheme.org/useful/v3tool.html
Implements drawing of polylines, polygons, polygons with holes etc on the map. Coordinates are given so they can be used to draw the shapes on other maps. Also will output javascript or Bing code
Borrows/implements an ‘edit polyline’ for API v3 (as this is not available directly in v3 as it was in v2)
Tags: api v3, google maps, polygon, polyline
Posted in Google Maps v3 | No Comments »