November, 2009

HTML tag wishlist: Event, Time, Phone, Audio, Video

Posted 7 Years Ago

So I couldn't sleep again and my ever working brain was thinking of things it shouldn't be thinking of at 7 AM.  For some context, I got an iPhone about a month ago and am very impressed with how easy and simple it is to use.  I'm not a big Apple guy (I find some Apple people a little dickish about their love of everything Apple), but with the iPhone I really see how the Apple brands simplicty and intuitivness can be used to great effect.  Everything just seems to work together.  See a phone number on a website, click it and you can call it. See an address, click on it to open it in the Maps app. (Note: I've never used either feature and I don't know of either of these actually exist, but it just seems like they should.)

Now, there could be improvements to this interconnectivity which is what got me thinking this morning in the first place and, as I'm a web guy, I started applying those thoughts more to websites.  What I came up with is a modest list of HTML tags which seem rather obvious to me, but which don't exist.  First, however, let's look at one tag which does exist:



The address tag is a tag I never use, but see the value of.  It lets you specifically define a block of text as an address.  Technically, this is supposed to be the address of the document author/owner (or the aritlce author/owner in HTML 5), but I think of it more as a general way to define addresses. 

I suspect many web developers like me don't use this tag because...well, it doesn't really do much for us or our clients except give us a way to easily style an address via CSS.  Sure, search engines and other fancy things we don't know about probably use this, but we don't see the benefit (or realize it).  The possible value of it, though, seems to me very great indeed now that I think about it.  It seems to me that whenever you click on an address within an address tag (or right click or hover maybe) you should be able to do some basic things like map it, save it to you address book, etc. whether your on an iPhone or browsing via Firefox or Internet Explorer (20 years after everone else has already implemented it).


The first new HTML tag I prupose is the 'event' tag.  This would probably have to have sub tags such as date, time, location, etc. (or probably eventdate, eventtime, eventlocation).  Again, if you clicked on, right clicked, hovered over or did whatever UI people decided was best, you would be able to save this event to your calendar, whether it was your iPhone Calendar App or your default calendar program on you computer much the way opening a mailto: link opens in your default e-mail client.

Now the event tag name may not be the best as it could cause confustion when talking about even handlers such as onchange, onkeyup, etc. so it may be better to use something like calendar or date, but to me event just makes the most sense.

    <eventlocation>Some Cool Place</eventlocation>
    <eventaddress>123 SW 5th Street</eventaddress>
    <eventdate>November 13, 2008 at <time timezone="PST" meridiem="PM">4:00 PM</time></event>


Wikipedia tells me there are 33 standard timezones, which isn't even counting all those wierd timezones (certain counties in certain states don't observe day light savings, etc.).  Not to mention there is both military time and the 12 hour time formats.  In an increasingly global world it can be confusing to know exactly what timezone we're talking about when we list a time value on a website. 

A time tag (which I already used in the previous example) would allow you as the programmer to specifically define both the time and the timezone (using a standardized list of timezone codes of course).  It may alse be required to enter a meridiem value for AM or PM. When a user hovered over the time tag, then, they would see this translated into their own time format (as defined on their computer or smart phone) in a small dialog or tooltip box just above the original time (and would be smart enough to use only the numbers and colon (or even period) to determine the time).

<time timezone="PST" meridiem="AM">7:46</time>
<time timezone="GMT" meridiem="PM">20:12</time>
<time timezone="EDT" meridiem="PM">3:24:13 PM</time>
<time timezone="EST" meridiem="AM">5.21</time>


The iPhone is pretty good at picking out phone numbers on websites which you can simply click on which opens a dialog box asking if you'd like to call that number or not.  That being said it would be even easier for them (and the rest of the computer world) if there was a phone tag in HTML. 

Like time, there are too many phone number formats to count (555 -555-5555, 123.456.7891 ext 24, 08700 100 555, etc.)  Now, apart from saving a phone number into a users contact/address book I can't readily think of a use for this on a computer, but you can't say it wouldn't be useful to implement it now so it could be utitlized later as phones and computers become ever more interconnected.

The name phone probably isn't the best as this isn't a phone, it's a phone number, but that's longer and people might use a space, etc. so I stuck with phone for my example.

<phone>01246 565300</phone>
<phone>(123) 456-7891</phone>



Yes, I know, I know, both audio and video are being implemented in HTML 5 which is exciting in a very nerdy way.  I just wanted to make a note that they could be very easily integrated into a smart phone or computers media player.  Right click an audio or video tag and you could download to your library, play it in your default media player for that file type, maybe even convert it, etc.

This, I know, will never be because of copyright, too many file formats, etc. but I just thought I'd dream.  


Anyway, it's those basic (and simple) things which make the users experience better.  When something is easy to do and is useful, it quickly becomes part of there normal behaivor.

Plus, it's just fun for us programmers to have new stuff to play with.

So, have any ideas for new HTML tags?  Think I'm stupid and want to say so in the most vulgar language you can think of?   Or have you seen examples of websites/software/operating systems which use similar, simple methods of sharing data?  Well, post a comment then and share you knowledge with us all.