Auscillate.com |
Notes on HTML 5Posted Thu, January 24, 2008, 2:52am EST I remember when Netscape 1.1 came out. Background colors were the big new thing. You could suddenly change the background color of your web page. Red. Blue. Black. Amazing. I remember when "tables" first came about: 1996 — about the same time I landed my first big web contract. HTML 3 hit soon thereafter. Then in 1998, HTML 4. 1998. XHTML 1.0 came about a few years later, but the changes were negligible (especially compared to the craziness of the mid-to-late 90s). So in a very real sense the most basic technology of the World Wide Web — the HTML specification itself — has remained essentially unchanged for about ten years. CSS has become widely used, which is great. And "dynamic web" techniques with Javascript, AJAX, and such have become quite popular. So the web has changed. But HTML itself remains a bunch of <body> tags and <div> tags and <p> tags and <a> tags, etc... The same old pig underneath all of that fancy new make-up. So here comes HTML 5, a new draft specification from the W3C. (I'm specifically looking at this document.) Okay. Cool. Just hearing the term "HTML 5" brings to mind changing the way HTML works to fit the way we make and use the web today. So much of the day-to-day of web development involves awkwardly fitting new ideas into the increasingly creaky structures of HTML 4 and XHTML, even if most web people have become so used to this that they don't even really consider it an issue anymore. Think, for example, of how one makes navigation on a web site. A developer must either appropriate <p> or <li> — for tasks they were not designed for — or they must use completely vague semantic tags such as <div> or <span>. Clunky. To say the least. (Using the <table> tag for layout purposes is another prime example, even though most web developers no longer do this. The <table> tag was designed for displaying tabular data.) Five years ago I wrote up my impressions of the XHTML 2.0 working draft. That document included many suggestions, including a navigation link tag (<nl>) and a new <section> tag to make page organization easier. And these (and other ideas in the draft) were great. But. They were merely incremental changes and fixes from the previous specifications. They didn't address the semantic web very deeply and the specification has stalled. XHTML 2.0 is still just a working draft. It has changed quite a bit since I wrote about it, but doesn't appear to have been touched much since the middle of 2006. Semantic HTML and MoreHTML 5 attempts to take semantic layout to all sorts of new extremes. (I'm looking at this doc about the differences between HTML 4 and HTML 5.) Look at all of the new structural elements:
Wow. Now we're getting somewhere. The only major thing that seems to be missing as I look at it now is an <advertisement> tag. Imagine how easy it would be to automate translating web pages for mobile devices (for example) if they were all properly marked-up with tags such as these? (Interesting to note: They reached this list in part by looking at Google's web authoring stats, which Ian Hickson (quoted below) also developed, and seeing what people were already using. Clever!) Besides the <advertisement> tag, what this collection appears to miss are structures that would be used with web applications. These are great for articles and papers. But now we're all very used to apps like Facebook or Basecamp or Gmail which are most definitely not about presenting info that way. They're dashboards and data views. A List Apart further discusses and explains these semantic changes. HTML 5 also appears to want to make life easier for developers. Take, as a quick example, the "ping" attribute for a link. This is an amazingly great idea. It invisibly (to the user) tells the browser to "ping" (notify) another script or page when the user clicks through a link. This could make tracking user activity much easier and save us from the obnoxiousness of all of those click-through and redirect URLs that we have to go through when clicking off of sites like Fark that want to know where we're going. It also saves us the headache of that silly image or iframe trick for keeping track of web usage stats. Good. The draft also describes much more flexible forms, scoped CSS styles (finally), and upgrades to the DOM (document object model) which would made dynamic Javascripting somewhat easier and more intuitive. Wonderful. There's also some repetition and event-handling stuff in there which I don't fully understand. I also haven't read up fully on the new APIs for client-side storage, drawing, networking, and media playback — although integrating these elements more tightly into HTML seems like a good step for standards. The easier it becomes to do these things, the more people will play with them and make cool(er) stuff with them. Another interesting addition are the <audio> and <video> tags for embedding media. If they can streamline the still amazingly clunky way we embed media, then make it so, Number One. Slimming DownThe HTML 5 draft also strips away some fairly major parts of HTML 4. Including (drumroll, please) frames — the decade-old bane of usability and accessibility designers. I have a hard time believing that this will end the use of frames entirely, though. They're still quite common they do have their use. And iframes will stick around, it appears. The draft also drops some other tags (and attributes) I'd basically forgotten about such as <big> and <dir> (directory). Additionally, they are stripping everything having to do with presentation. No more "align" attribute. Not more "background" in your <body> tag. "Height" and "width" attributes look like they'll also basically disappear. Bam. Good! Frankly. If we're going to split the content and presentation once and for all, then let's just do it. We've been talking about it for over a decade. Although, again, I think breaking developers of their habits will be difficult enough — even those who want to write HTML 5-compliant mark-up — that browsers will still have to pay attention to those attributes. The same way browsers still know the <font> and tags. (Yeah, that's right: I used a blink tag. I went there. And I loved it.) And, again, I'm all in favor of seeing the HTML part of a web site become a very slim, streamlined, and very semantic sort of affair. The less crap, the better. Everything in it's right place. Design in CSS. Content in HTML. It'll make data portability much easier and will allow services such as Google which rely on semantic parsing to do a better job or what they do. You get the idea. If you want to know the fine details, go read the docs. Coming Soon?So. XHTML 2.0 has been floating around in draft mode for at least five years. But today it seems relatively dull and incremental. HTML 5 has some exciting new ideas, though we have a wait before we see an HTML 5 web. WHATWG, the group spearheading HTML 5, say: "It is estimated by the editor that HTML5 will reach the W3C Candidate Recommendation stage during 2012. That doesn't mean you can't start using it yet, though. Different parts of the specification are at different maturity levels. Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. <canvas>). But other sections are still being actively worked on and changed regularly, or not even written yet." - WHATWG (source) And: "It is estimated, again by the editor, that HTML5 will reach a W3C recommendation in the year 2022 or later. This will be approximately 18-20 years of development, since beginning in mid-2004. That's actually not that crazy, though. Work on HTML4 started in the mid 90s, and HTML4 still, more than ten years later, hasn't reached the level that we want to reach with HTML5." - WHATWG (source) Heavens to Mergatroid. 2022. Or later? Holy crap. But it sounds like it's coming it bits and pieces — and parts are already implemented in some browsers.
"We're trying a new spec design model with HTML 5, where certain parts of the spec can be considered "done" before others. This is because we have parts of the spec that are very mature, with multiple implementations, test suites, and active use, and we have others that are very new, and very much in flux." - Ian Hickman (source) At any rate, HTML 5 will slowly creep along. Maybe it'll become a full specification, maybe not. But hopefully HTML will continue to evolve and become more useful. For a field that changes so much and so rapidly, it's amazing that's we're still stuck with such (relatively) ancient specs as the foundation of everything webby. Blogging at the Nokia Nseries WorkshopPosted Fri, January 18, 2008, 1:29am EST
So. In addition to blogging here (sort of), I'm now on the blogging team over at the sleek-and-shiny new Nokia Nseries Workshop site. (I love the official Nokia Sans font, just to note.) Anyway. I write about mobile technology and about how to do cool things with Nokia phones and other Nokia tech. Since I've been slow about blogging on this site, I figured I would post a collection of links to my articles over there every once in a while. So you could see what I'm up to. And maybe learn a thing or two if you're getting into mobile application design yourself. So here we are — my four most recent articles for the Nseries site. (I've added extra notes after some of them.) They're all about writing software for your Nseries phone. Enjoy. How to write and run Python scripts on your N800 [internet tablet]"Put your N800 into developer mode and you'll be able to write and run your own Python scripts. Here's a step-by-step guide to how it works." The N800 is a funny little device. I won one at the MobileBarCamp a couple of months ago as a part of some jokey business plan pitch competition. (My group came up with something involving the remote torture of pets.) It's not a phone at all — it's a hand-sized Debian Linux box. It can run Apache. Ruby on Rails. PHP. It doesn't seem to want to run Java, but whatever. Anyway, it's probably been getting the most use as a video player on flights. And it's good for small games. I'd call it an iPod Touch for the Linux crowd. What it lacks in sex appeal it makes up in hackability. And though I haven't yet tried it as such, I could see inexpensive N800s being used for applications in which you need a bit of computing power but not much. Like as a Tivo for your radio (see next article). How to script the FM radio tuner on your N800"The Nokia N800 internet tablet has a feature you may not know about: a built-in FM radio tuner that you can script using Python. Here's how it works." Now — finally — I own a radio in New York City. Turns out radio kind of sucks. How to get started with Python on the N95 [phone]"Find out what it takes to install Python, run a basic "Hello World!" script and get started with your own scripts on the N95." I've had the N95 for about a month as a development unit. It's fun. It's so easy to write J2ME apps for, which is my big thing right now. And it's nice to have access to the GPS, as well. A few of us have a clever new idea we're fleshing out at the moment for the N95 (and other GPS-friendly phones) — I'll share more about that later. I've been using it as an iPod lately, as well, but I've kind of decided I don't like having my phone and iPod as the same device. I get so bothered when people call me while I'm listening to music — especially if I'm jogging. First, it stops the music and rings in the earphones. Yack. And then I have to fumble around to ignore the call and get back to what I was listening to. No good. Otherwise, though, it's a lovely device. Maybe I just need to get used to shutting off the phone part when I don't want to be disturbed listening to music or watching something. How to write apps with Mobile Processing on your N95"Mobile Processing is a great application that makes writing Java (or, more specifically, J2ME) apps for your N95 simple. Learn how to set up Mobile Processing and write your first application." And more coming soon...Yup. So that's them. Let me know what you think! Either here or over there, though if you comment over there you're more likely to get discussion. Flying with MarkPosted Fri, December 21, 2007, 5:06pm EST
I hate flying. I have expressed it many times before. And, I mean, I hate commercial flying. Although I am getting better: I've got five travel days in December alone and in order to maintain health and sanity I just can't freak out each time I get into an aircraft. So. It was a bit of a personal challenge to get it together to fly with Mark out in Alabama. The last time I had been in a prop plane, I jumped out of it (with a parachute). That was back before the Fear set in, though — I think I was 19. Anyway. I did it! Last Friday afternoon, December 14th, Mark took me for a short spin around Huntsville, Alabama. It was a beautiful day — mostly clear (as you'll see) with a nice evening sun casting shadows and really throwing everything into a nice relief. Between moments of feeling extreme peril, I managed to get off a few shots. (Note: Mark did an excellent job flying — any sense of danger came from my own miswired brain.)
Here's another shot of the plane. Mark owns a 2007 Diamond Star XL, apparently the plane in its class with the highest safety rating. And a nice looking vehicle, to boot. It's a four-seater, but it seemed like three is really the practical limit.
This surprised me. Maybe it shouldn't have. It shouldn't have surprised me. But the majority of the instrumentation existed on two flat-screen monitors — one had the artificial horizon and various metrics, the other a GPS-tracked map of the area showing landmarks and, optionally, weather. There were redundant analogue gauges, as well, in case of problems with the digital systems. I mentioned to Mark that it made the whole thing feel kind of like playing a video game — you really could do basically the entire flight just by watching those screens. And pilots do. It's called "IFR" — "instrument flight rules." If you're in a cloud or something, that's what you use. (As a novice, even what's probably extremely entry-level information is still pretty novel.) The opposite of IFR is VFR: "visual flight rules." Anyhoo.
Here's Mark talking to the tower. We both wore big headphones with mics to speak to one another and to the ground.
The Digium building is the L-shaped building about 3/4 of the way down and 1/3 of the way from the right. It's angled like a "V" in the shot. You can also see a Saturn V rocket in the distance. NASA has a large research facility in Huntsville and there is quite a bit of aerospace business happening.
A nice sunset out of the side window.
Okay. So Mark buzzed his Farm so I could take some shots, but the tilting of the airplane really freaked me out. 30 degrees really does seem like a lot, especially if you're more-or-less encased in a glass bubble. I tried to get good shots, but, well, I was hanging on for dear life. You can see Mark's barn in the far lower left-hand corner, poking out of the trees. We could see the rest of the property quite nicely — the main house, the ravine, the open patches where we rode ATVs — but I just couldn't get a good photograph off. D'oh.
Heading home, now. This is a shot just straight forward out of the cockpit.
And, finally, the Tennessee River. So. I had a really good time and would probably go up again if invited. Though it spooked me, it really did feel more comfortable than your average commercial flight. A couple things probably contributed to this: 1) Mark sat there and gave me the play-by-play as things happened. So no surprises. 2) Flying slower, lower, and in such an open cockpit just felt generally more relaxed and pleasant than being wedged into a small seat with a foot-wide window to look through. Very nice. Thanks, Mark! Newfoundland TripPosted Wed, November 14, 2007, 4:21pm EST
Life got hectic, so I haven't had a chance to blog about my trip to Newfoundland, Canada in August. It's been almost three months — wow. Regardless I thought it'd be worth sharing a bit about it. Newfoundland? Yeah. So. Many Americans of my generation have a shared experience of grandparents who served in or had other direct experiences of World War II. WWII was intense and surprisingly poetic, especially upon reflection — I think explaining and relating how you as an individual fit into this huge, overwhelming narrative became an important part of the identities of, especially, people who were young during that time. And as people such as my grandfather related their experiences of World War II, their stories became Stories that became cemented over time into legend. My grandfather on my mom's side was stationed in Gander, Newfoundland during most of the War. And my mom and I have both heard stories of his time there for the the entirety of our lives, so the area has a bit of mythic significance, exaggerated somewhat by the remoteness of the place and the fact that (as far I know) know one I know has been anywhere near rural Newfoundland.
So my parents — Texans — took a trip up to Newfoundland for the first time a couple of years ago. Just to look around. Besides the grandfather connection, they also like remote places. Alaska. Kenya. Wilderness. And then they decided to buy a place to spend half of their year in (the Summer half). They got a place in Elliston, a hamlet of maybe thirty people out on the end of a peninsula up the east side of the island, just miles away from where John Cabot became the first Englishman to reach the New World in 1497. (St. John's, the capitol and largest city in Newfoundland is the oldest English settlement in North America.) And not too far, actually, from Gander.
I got to go out August 16th through 21st. I stayed with my parents in St. John's (above) on the first and last nights and in their place in Elliston over the weekend.
The bay in Elliston. My parents' place is on the far coast a bit to the left on the waterfront. Apparently icebergs float along here until the late spring. Those buildings on the far left are downtown Elliston.
Foggy cliffs near where my parents live. Also home of a huge puffin population. Every summer Elliston has a Puffin Festival to celebrate these goofy little birds.
Puffin rock during a sunnier day. You can see puffins speckled about. This is, by the way, in the bay from the photo above.
One surprise about the area: Blueberries were everywhere. On the sides of trails. In the yard. By the road. Everywhere. My mom carried around a little container and grabs handfuls here and there which wound up in pancakes and cobblers.
My dad picked berries, as well.
This is an old boat (or replica) in Bonavista, where John Cabot landed.
Newfoundland is very rocky and craggy, not unlike Ireland or Iceland.
Lobster's big.
Above is a lighthouse at King's Cove, on the north side of the penninsula. Below is a church in the same town.
I could go on. But I won't. For something interesting, read about the collapse of the cod fishing industry. It's a good "tragedy of the commons" sort of story. Video: Slow Day (2007)Posted Wed, November 7, 2007, 4:08pm EST Slow Day (2007) from Josh Knowles on Vimeo Here's another video. It was shot using an Apple iSight camera trained out the window of my bedroom in the Lower East Side of Manhattan. You can see a few famous buildings out there in the haze. I caught one frame each fifteen or thirty seconds (I forget which) and then composited those into this video! The audio track is an old one of mine from around 2003. The video says it's called "Game Over." It's not. The name escapes my mind at the moment, but I rendered the video with a different audio track that didn't really fit. So I switched music later. Anyway, I put this video together for the ITP end-of-semester video screening in May. Video: Winterforms (2006)Posted Tue, November 6, 2007, 5:45pm EST Winterforms (2006) from Josh Knowles on Vimeo I have a collection of videos I've made for various reasons over the years which have been languishing on my laptop's hard drive for too long. So. They're going online. I've never used a video sharing site to host my own videos. I don't use image sharing sites (like Flickr) to host my images because, well, they're my images. And I can put them online just fine, thank you. It's not complicated to share a .jpg. Video, though, is a bit different. It's not as trivial a process to share a video as you would an image. Too many codecs to worry about and, I, at least, have to fight the desire to encode everything into gigantic files no one would ever download. Blah. I poked around a few video sharing sites. YouTube is horrible — the MySpace of these sorts of sites. Ugly. Crap community. Vimeo I kind of liked, though. It's simple. Not too many frills. But it appears to work with the least amount of hassle. And that's what I want: The least amount of hassle. And a bit of good interface design. My criteria. (They also support full HD, to note.) So I've posted a few videos there, and I'll embed some here on occasion, as well. So, this video. This is my final project for two classes at NYU's ITP, Dan Shiffman's Nature of Code and Luke DuBois' Algorithmic Composition. Fall 2006. They both dealt with the same sorts of concepts centering on the algorithmic creation of art. Nature of Code tended to be more visual-conceptual. Algorithmic Comp was about music. Both great classes, by the way. The visuals are forms created using math that models the natural development of plants. Phyllotaxis. L-systems. And such. (Much good info came from Algorithmic Botany.) The audio is based on temperature data during the winter of 2005. You'll hear it slowly cascade downward and get darker in the middle and then brighten at the end as the temperatures rose and fell. So that's it. Enjoy! |
MORE INSIDERECENT COMMENTSPAST POSTSLatest entries at the top...
|