#Poseidon:...
Explore tagged Tumblr posts
Text
Revisiting Image Maps
New Post has been published on https://thedigitalinsider.com/revisiting-image-maps/
Revisiting Image Maps
I mentioned last time that I’ve been working on a new website for Emmy-award-winning game composer Mike Worth. He hired me to create a highly graphical design that showcases his work.
Mike loves ’90s animation, particularly Disney’s Duck Tales and other animated series. He challenged me to find a way to incorporate their retro ’90s style into his design without making it a pastiche. But that wasn’t my only challenge. I also needed to achieve that ’90s feel by using up-to-the-minute code to maintain accessibility, performance, responsiveness, and semantics.
Designing for Mike was like a trip back to when mainstream website design seemed more spontaneous and less governed by conventions and best practices. Some people describe these designs as “whimsical”:
adjective
spontaneously fanciful or playful
given to whims; capricious
quaint, unusual, or fantastic
— Collins English Dictionary
But I’m not so sure that’s entirely accurate. “Playful?” Definitely. “Fanciful?” Possibly. But “fantastic?” That depends. “Whimsy” sounds superfluous, so I call it “expressive” instead.
Studying design from way back, I remembered how websites often included graphics that combined branding, content, and navigation. Pretty much every reference to web design in the ’90s — when I designed my first website — talks about Warner Brothers’ Space Jam from 1996.
Warner Brothers’ Space Jam (1996)
So, I’m not going to do that.
Brands like Nintendo used their home pages to direct people to their content while making branded visual statements. Cheestrings combined graphics with navigation, making me wonder why we don’t see designs like this today. Goosebumps typified this approach, combining cartoon illustrations with brightly colored shapes into a functional and visually rich banner, proving that being useful doesn’t mean being boring.
Left to right: Nintendo, Cheestrings, Goosebumps.
In the ’90s, when I developed graphics for websites like these, I either sliced them up and put their parts in tables or used mostly forgotten image maps.
A brief overview of properties and values
Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements. They were popular for graphics, maps, and navigation, but their use declined with the rise of CSS, SVG, and JavaScript.
<map> adds clickable areas to a bitmap or vector image.
<map name="projects"> ... </map>
That <map> is linked to an image using the usemap attribute:
<img usemap="#projects" ...>
Those elements can have separate href and alt attributes and can be enhanced with ARIA to improve accessibility:
<map name="projects"> <area href="" alt="" … /> ... </map>
The shape attribute specifies an area’s shape. It can be a primitive circle or rect or a polygon defined by a set of absolute x and y coordinates:
<area shape="circle" coords="..." ... /> <area shape="rect" coords="..." ... /> <area shape="poly" coords="..." ... />
Despite their age, image maps still offer plenty of benefits. They’re lightweight and need (almost) no JavaScript. More on that in just a minute. They’re accessible and semantic when used with alt, ARIA, and title attributes. Despite being from a different era, even modern mobile browsers support image maps.
Design by Andy Clarke, Stuff & Nonsense. Mike Worth’s website will launch in April 2025, but you can see examples from this article on CodePen.
My design for Mike Worth includes several graphic navigation elements, which made me wonder if image maps might still be an appropriate solution.
Image maps in action
Mike wants his website to showcase his past work and the projects he’d like to do. To make this aspect of his design discoverable and fun, I created a map for people to explore by pressing on areas of the map to open modals. This map contains numbered circles, and pressing one pops up its modal.
My first thought was to embed anchors into the external map SVG:
<img src="projects.svg" alt="Projects"> <svg ...> ... <a href="..."> <circle cx="35" cy="35" r="35" fill="#941B2F"/> <path fill="#FFF" d="..."/> </a> </svg>
This approach is problematic. Those anchors are only active when SVG is inline and don’t work with an <img> element. But image maps work perfectly, even though specifying their coordinates can be laborious. Fortunately, plenty of tools are available, which make defining coordinates less tedious. Upload an image, choose shape types, draw the shapes, and copy the markup:
<img src="projects.svg" usemap="#projects-map.svg"> <map name="projects-map.svg"> <area href="" alt="" coords="..." shape="circle"> <area href="" alt="" coords="..." shape="circle"> ... </map>
Image maps work well when images are fixed sizes, but flexible images present a problem because map coordinates are absolute, not relative to an image’s dimensions. Making image maps responsive needs a little JavaScript to recalculate those coordinates when the image changes size:
function resizeMap() ["load", "resize"].forEach(event => window.addEventListener(event, resizeMap) );
I still wasn’t happy with this implementation as I wanted someone to be able to press on much larger map areas, not just the numbered circles.
Every <path> has coordinates which define how it’s drawn, and they’re relative to the SVG viewBox:
<svg width="1024" height="1024"> <path fill="#BFBFBF" d="…"/> </svg>
On the other hand, a map’s <area> coordinates are absolute to the top-left of an image, so <path> values need to be converted. Fortunately, Raphael Monnerat has written PathToPoints, a tool which does precisely that. Upload an SVG, choose the point frequency, copy the coordinates for each path, and add them to a map area’s coords:
<map> <area href="" shape="poly" coords="..."> <area href="" shape="poly" coords="..."> <area href="" shape="poly" coords="..."> ... </map>
More issues with image maps
Image maps are hard-coded and time-consuming to create without tools. Even with tools for generating image maps, converting paths to points, and then recalculating them using JavaScript, they could be challenging to maintain at scale.
<area> elements aren’t visible, and except for a change in the cursor, they provide no visual feedback when someone hovers over or presses a link. Plus, there’s no easy way to add animations or interaction effects.
But the deal-breaker for me was that an image map’s pixel-based values are unresponsive by default. So, what might be an alternative solution for implementing my map using CSS, HTML, and SVG?
Anchors positioned absolutely over my map wouldn’t solve the pixel-based positioning problem or give me the irregular-shaped clickable areas I wanted. Anchors within an external SVG wouldn’t work either.
But the solution was staring me in the face. I realized I needed to:
Create a new SVG path for each clickable area.
Make those paths invisible.
Wrap each path inside an anchor.
Place the anchors below other elements at the end of my SVG source.
Replace that external file with inline SVG.
I created a set of six much larger paths which define the clickable areas, each with its own fill to match its numbered circle. I placed each anchor at the end of my SVG source:
<svg … viewBox="0 0 1024 1024"> <!-- Visible content --> <g>...</g> <!-- Clickable areas -->` <g id="links">` <a href="..."><path fill="#B48F4C" d="..."/></a>` <a href="..."><path fill="#6FA676" d="..."/></a>` <a href="..."><path fill="#30201D" d="..."/></a>` ... </g> </svg>
Then, I reduced those anchors’ opacity to 0 and added a short transition to their full-opacity hover state:
#links a opacity: 0; transition: all .25s ease-in-out; #links a:hover opacity: 1;
While using an image map’s <area> sadly provides no visual feedback, embedded anchors and their content can respond to someone’s action, hint at what’s to come, and add detail and depth to a design.
I might add gloss to those numbered circles to be consistent with the branding I’ve designed for Mike. Or, I could include images, titles, or other content to preview the pop-up modals:
<g id="links"> <a href="…"> <path fill="#B48F4C" d="..."/> <image href="..." ... /> </a> </g>
Try it for yourself:
Expressive design, modern techniques
Designing Mike Worth’s website gave me a chance to blend expressive design with modern development techniques, and revisiting image maps reminded me just how important a tool image maps were during the period Mike loves so much.
Ultimately, image maps weren’t the right tool for Mike’s website. But exploring them helped me understand what I really needed: a way to recapture the expressiveness and personality of ’90s website design using modern techniques that are accessible, lightweight, responsive, and semantic. That’s what design’s about: choosing the right tool for a job, even if that sometimes means looking back to move forward.
Biography: Andy Clarke
Often referred to as one of the pioneers of web design, Andy Clarke has been instrumental in pushing the boundaries of web design and is known for his creative and visually stunning designs. His work has inspired countless designers to explore the full potential of product and website design.
Andy’s written several industry-leading books, including Transcending CSS, Hardboiled Web Design, and Art Direction for the Web. He’s also worked with businesses of all sizes and industries to achieve their goals through design.
Visit Andy’s studio, Stuff & Nonsense, and check out his Contract Killer, the popular web design contract template trusted by thousands of web designers and developers.
#2025#Accessibility#ADD#amp#animation#animations#approach#aria#Art#Article#Articles#attributes#Books#Branding#brands#challenge#change#circles#code#content#CSS#css-tricks#CX#deal#Design#designers#developers#development#dimensions#direction
1 note
·
View note
Text
This would kill the main act of the Odyssey, but can you imagine for a moment that Ody King of Ithica didn't have his whole: "Here's my name, address, social security number, date of birth -" moment with the Cyclops.
Can you imagine how fucking funny those prayers would've been to Poseidon?
"Dear Father I beg of you, exact my revenge on Nobody."
"Father, please hunt Nobody down for the sake of your son."
"Poseidon, Father, please make sure Nobody never makes it home."
"Dad can you go kill Nobody, please."
And Poseidon's checking his unread messages like: Whaaaat is happening???
#Thousands of sailors return home safely because Polyphemus is praying SO hard Poseidon's just like... okay ig#Everyone's gonna make it home and I won't hunt anybody down#Guess I won't kill anybody today either#Hope you all appreciate how much I love my children#And Polyphemus is blindly praying like: There's no way my father is this fucking stupid -#odysseus#the odyssey#epic the musical#inspired#polyphemus#Poseidon#One day Polyphemus changes it up and is like: PLEASE AVENGE MY SHEEP#And Poseidon's like: FINALLY something fun! Who killed your sheep?#Polyphemus: Nobody#Poseidon:...#I... wtf am I supposed to do? Kill Nobody?#Polyphemus: YES
141 notes
·
View notes
Text
a quick psa to anyone recently getting into greek mythology and is a victim of tumblr and/or tiktok misconceptions:
-there is no shame in being introduced to mytholgy from something like percy jackson, epic the musical or anything like that, but keep in mind that actual myths are going to be VERY different from modern retellings
-the myth of medusa you probably know (her being a victim of poseidon and being cursed by athena) isn't 100% accurate to GREEK mythology (look up ovid)
-there is no version of persephone's abduction in which persephone willingly stays with hades, that's a tumblr invention (look up homeric hymn to demeter)
-as much as i would like it, no, cerberus' name does not mean "spot" (probably a misunderstanding from this wikipedia article)
-zeus isn't the only god who does terrible things to women, your fav male god probably has done the same
-on that note, your fav greek hero has probably done some heinous shit as well
-gods are more complicated than simply being "god of [insert thing]", many titles overlap between gods and some may even change depending on where they were worshipped
-also, apollo and artemis being the gods of the sun and the moon isn't 100% accurate, their main aspects as deities originally were music and the hunt
-titans and gods aren't two wholly different concepts, titan is just the word used to decribe the generation of gods before the olympians
-hector isn't the villain some people make him out to be
-hephaestus WAS married to aphrodite. they divorced. yes, divorce was a thing in ancient greece. hephaestus' wife is aglaia
-ancient greek society didn't have the same concepts of sexuality that we have now, it's incorrect to describe virgin goddesses like artemis and athena as lesbians, BUT it's also not wholly accurate to describe them as aromantic/asexual, it's more complex than that
-you can never fully understand certain myths if you don't understand the societal context in which they were told
-myths have lots and lots of retellings, there isn't one singular "canon", but we can try to distinguish between older and newer versions and bewteen greek and roman versions
-most of what you know about sparta is probably incorrect
-reading/waching retellings is not a substitute to reading the original myths, read the iliad! read the odyssey! i know they may seem intimidating, but they're much more entertaining than you may think
greek mythology is so complex and interesting, don't go into it with preconcieved notions! try to be open to learn!
#tagamemnon#the iliad#the odyssey#homeric epics#homer#greek mythology#greek myth retellings#greek gods#ancient greece#zeus#poseidon#athena#medusa#trojan war#epic the musical#percy jackson#pjo#the song of achilles#circe#lore olympus#hector of troy#odysseus#odysseus of ithaca#read the odyssey i beg you
35K notes
·
View notes
Text
I have delivered🫡
Based on my HC from… literally half a day ago blasting 600 strikes on repeat can do wonders apparently
#Odysseus turning Poseidon into sashimi#ares god of war#HES LOOKING OUT FOR HIS SISTER#odyseuss#epic the musical#epic musical#artists on tumblr#greek mythology#vengence saga
26K notes
·
View notes
Text
for those who know me, you know that I am a big fan of greek mythology, so when the epic saga by Jorege Rivera-Herrans came out I couldn't help but fall madly in love with it, his music accompanied and inspired me while I was working, and now that this long journey is about to end I couldn't help but leave a tribute to thank him for all the work he has done. he couldn't have left us a better christmas present under the tree! thanks again for everything.
ps: I already know that with the last song I will cry like a fountain!!
#epic the musical#epic odysseus#epic ithaca saga#fanart#digitalart#poseidon#athena#epic penelope#epic musical#thelemacus#greek gods fanart
18K notes
·
View notes
Text
"You must be Star Guardian, Guardian of the Stars." *cues Vine flashbacks*
Pretty Pretty Please I Don't Want to Be a Magical Girl by @kianamaiart
Absolutely loved the pilot and was gobsmacked when that kid dropped an F-bomb in the canteen.
#fan art#art#my art#myart#manga#funny#cute#parody#pretty pretty please i don't want to be a magical girl#aika idwtbamg#idwtbamg#vtncomics#aika#hoshi#vine#i am the sand guardian guardian of the sand#poseidon quivers before him#magical girl#mahou shoujo#idwtbamg fanart
14K notes
·
View notes
Text
What do you do when faced with the God of the Sea?? You flirt mercilessly
11K notes
·
View notes
Text
Ok I did the thing
Don't look at it too hard
#ikol art#epic the musical#epic the vengeance saga#epic odysseus#epic poseidon#epic telemachus#odysseus#epic fanart#600 strike#ruthlessness is mercy upon ourselves
20K notes
·
View notes
Text
I did this for the final part of my animatic but i loved it so much i wanted to post it
He would definitely own a Blåhaj and take care of it like it was his son
10K notes
·
View notes
Text
#bigsischats#meme#epic the musical#epic the ithaca saga#epic the vengeance saga#epic the wisdom saga#epic the thunder saga#epic the circe saga#epic the troy saga#epic the ocean saga#epic the cyclops saga#epic the underworld saga#epic athena#epic odysseus#epic telemachus#epic penelope#epic eurylochus#epic polites#epic poseidon#epic zeus#epic hermes#epic fandom#epic the musical fandom#greek mythology#tagamemnon#epic musical#the odyssey#jorge rivera herrans
18K notes
·
View notes
Text
POSEIDON (and Jay) part 2
Ody!Jay AU || Part 1
It is from my AU where Jay is the reincarnation of Odysseus and Poseidon is still afraid of him XD
Also inspire by Steven's video and a Jay reel. No me termina de convencer los colores de mi Poseidón, puede que lo cambie.
#epic the musical#epic the musical fanart#jorge rivera herrans#epic poseidon#poseidon#epic odysseus#odyssey#odysseus#o algo así#epic the ithaca saga#Poseidon and Jay#epic livestream#Ody!Jay#Jorgedysseus
14K notes
·
View notes
Text
Antonius: Only the ocean and I will know~
Poseidon: Oh Tartarus nah!
Poseidon: The ocean will snitch! The ocean will snitch so hard!
Poseidon: The ocean will be pulling up to your king with a clipboard, tell him to sit down, and explain in incredible detail everything that happened with bullet points.
Poseidon: The ocean will be showing a PowerPoint presentation of the event.
#epic#epic the musical#epic: the musical#epic the ithaca saga#epic: the ithaca saga#ithica saga#the ithica saga#epic the vengeance saga#epic: the vengeance saga#the vengeance saga#vengeance saga#epic antinous#antonius#epic poseidon#poseidon#epic telemachus#epic odysseus#odysseus#hold them down#jorge rivera herrans#odyssey#the odyssey#greek mythology#epic the musical incorrect quotes#incorrect epic the musical quotes#epic incorrect quotes
10K notes
·
View notes
Text
From the ithaca live, I’m sorry Steven but i need to draw this one
11K notes
·
View notes
Text
i just think the difference is funny (plus new hermes design!!!)
#odysseus#epic#epic the musical#hermes#poseidon#OOC.#SKY DRAWS.#ODYSSEUS. / fc.#POSEIDON. / fc.#HERMES. / fc.
11K notes
·
View notes
Text
What killed Odysseus's crew? A comprehensive list
Poseidon: 550
Zeus: 36
Polyphemus: 7
Scylla: 6
Gravity: 1
12K notes
·
View notes