Posts in the "" Category

“More money”

Today I officially dub Friday the off-topic day, i.e. the day when my post won’t be about web developing. Fridays will contain different anecdotes, maybe some general opinion about something or so, but no web techniques discussed. Let me know if you think off-topic Fridays are a good idea!

Three years ago, my girlfriend and I went on a long trip around the world. We were away for almost five months, and pictures can be seen in our travel web site documenting it. Unfortunately for you non-Swedish speakers, the accompanying diary extracts are in Swedish, but if we meet one day I’ll be happy to tell you all about it!

Just the other day, I told a short story from that trip to a couple of my colleauges at work, and since I like the story, I thought this would be a good place to re-tell it.

We were in Santiago, Chile, for a couple of days, mostly just waiting for our flight to Easter Island. Since we had some non-scheduled time and being that close to the Andes, the vast mountain range that is stretching across the majority of South America’s west coast, we thought: “Why don’t we go see them”. Trying to get around on my extremely simple knowledge of Spanish, we started to ask people how to get to the Andes. Surprisingly enough, no one understood us. At all. But finally, someone we spoke to nodded and said: “Ah, los Andes!”. And I thought: “Well, los is plural and Andes sounds fine, so yes, we must talk about the same place here”. We got directions to the bus terminal from where we were supposed to take a bus.

Once at the bus terminal, we eventually found out what bus to get on, and boarded it. The system they have there for tickets is a conductor on the bus that asks you where you’re going and charges you accordingly. So when the conductor came up to us and told us the price, naturally, we didn’t understand him at all. The Spanish got a bit too complicated and their currency isn’t worth too much, so the number he gave us was too high to understand (once you’re past “cinco”, which means five in Spanish, you’ve lost me). We tried to ask him in English, but his knowledge in the English language was, shall we say, somewhat limited. He just kept on saying: “More money, more money” in a thick accent.

But then I came up with a brilliant idea: “Let’s give him some paper and a pencil, and then he can write the figure down for us”. So I handed it to him, thinking the problem was solved. He accepted it, jotted something down on the paper, and gave it back to me. I turned the paper over, and it literally read: “More money”…

Anyway, after (probably) paying the correct fare, we eventually got going with the bus. After a two hour bus ride we were finally at our destination. Or were we? I looked out of the bus’ window, and saw a village sign that read: “Los Andes”. It was the name of a small pueblo (village in Spanish), not the actual mountain range. But the village was located at the foot of the actual mountains, so it was close enough. Unfortunately, though, it wasn’t actually up in the mountains, where we wanted to go. So after talking to the (not one, but the) woman in a small tourist information office, she advised us to take a local bus to something called Rio Blanco.

After one hour on the local bus, which was so overheated the bus driver’s son had to fill water into the engine all the time, he announced to us that we had reached our destination. We got off the bus and realized that Rio Blanco basically just consisted of a gas station and a river (guess the river’s name…). We took a short stroll up in the mountains, looked around and got back down to take the local bus back half an hour later. Three hours later, we were back in Santiago, after having spent a total of 6 hours on buses that day.

 

Interestingly enough (maybe some subconcious connection), I’m going to have a salary negotiation today with my boss, and what the heading reads comes to mind…

 

PS. Have a nice weekend, next post will be on Monday! DS.

Once you go Mac…?

Recently, I confessed about my flirting with Mac, and right after that I got the chance to go all the way. An Art Director in the company I work for resigned, and I got (read:took) the opportunity to take over his Power Mac G5 with the Panther OS installed and 1,5 GB RAM. In short, a very competent computer.

Some more cynical people would say that it is a case of “knowing your enemy”, but that’s definitely not the way I see it, I was just very interested.
However, the things that bothered me was:

Dialogs
Since I’m really a keyboard shortcut freak, not being able to tab in dialogs beween “Save”, “Don’t save” and “Cancel” was really annoying.
The keyboard
I really like the look of the white keyboard, and it’s as nice to touch as patting a puppy, but in the long run I didn’t like typing on it. This might be because I normally use the ergonomic Microsoft Natural MultiMedia Keyboard.
The necessary connection to a PC
I have the need to develop things in Visual Studio.Net, and using the Remote Desktop Connection Client for Mac to connect to my PC proved to be to too slow (over a 100 Mbit LAN), definitely a lot more sluggish than the equivalent Remote Desktop Connection built in to Windows XP.
It also resulted in other keyboard combinations to write characters like >, {, [ etc, which just became utterly confusing in the long run.
Why I didn’t use Virtual PC for Mac is because I already had the development environment I wanted on my PC, and that I didn’t want to compile things in an emulated environment.
Developing tools
Except for Visual Studio.Net, I really think Macromedia HomeSite is superior to BBEdit for writing web interface code.
Maximizing windows
To the contrary belief that PC users have their application windows maximized just because they don’t know how to change it, I really prefer having them maximized. It helps me keep focused on the thing I’m doing for the moment, and then I just use Alt + Tab to swith to any other programs I need to work with.
Closing of windows
I just find it weird behavior to keep the application running when I close the last window in it.
What’s up with the Command key (the one with the apple on it)?
Is it really necessary to have this key? Isn’t Ctrl, Alt and others sufficient? Or is to make up for the lack of an Alt Grip key?

 

All in all, it didn’t suit me for developing purposes, but I would have nothing against using a Mac for entertainment purposes at home.
Now when I’m back with Windows XP, and now sporting the silver color scheme, it feels just right! 🙂

 

PS. Thanks to Per Zimmerman at Gamepepper for helping me finding where different characters actually were on the keyboard, as well as the discussions about a real environment vs. an emulated one. DS.

HTML 5

The WHATWG are working on the draft for Web Applications 1.0, which is about “extensions to HTML to make it more suitable for application development” and it “…represents a new version of HTML4 and XHTML1, along with a new version of the associated DOM2 HTML API“.

First, what is WHATWG?

It is a loose unofficial collaboration of Web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web.

Second, it will be interesting to see if the W3C will acknowlede it.

Third, I’m not sure that HTML 5, as Anne calls it, is a good name for, it feels more competent than just a newer version of HTML.
However, maybe that name is only referring to the HTML part of it?

So, is this a good initiative? Or should we just stay with the current W3C recommendations about XHTML 1 and XHTML 2?
I don’t know.
What do you think?

 

PS. A nod to Anne for pointing me to this in the first place. DS.

IE 7, beta 1 – first details

Ok, trying something new here. Two(!) posts, albeit shorter than the usual ones. I though I’d try and sometimes write the normal slightly longer posts, and some days, shorter ones with important links. Please let me know what you think about this!

So… On to the topic in the heading:
The team behind IE have the IE blog where they periodically write about the development of IE. Chris Wilson tries to address the big focus issues like upcoming standards support in version 7 of IE. I think he’s doing a commendable job so far, and it is very important that they gain the same relation with developers as the Mozilla team and Dave Hyatt developing Safari have.

Last Friday, Chris disclosed the first real details about the upcoming version. First, they will support the alpha channel in PNG images. Second, they will address CSS bugs, and the ones declared fixed are the peekabo bug and the guillotine bug.

Great, but still obvious that they had to do it. Also, it’s just a small small part of what they have to do.
But they seem to be on the right track, I hope they don’t stray from it and that they continue be as open as Chris has about what’s going on.

Tommy interviewed by the Web Standards Group

Tommy has been asked the famous Ten questions by the WSG. Although I don’t necessarily agree a 100% with all of what Tommy says (for instance, about the benefits of, or lack of, using XHTML), he’s full of knowledge and it is a very good read.

Regarding coding semantically correct and using a strict doctype, be it HTML or XHTML, we’re definitely on the same page.

But when it comes to using the ABBR or the ACRONYM element for abbreviations, I think the discussion about different layers of presentation is far more important.
Personally, I use the ACRONYM element because I want the IE users to able to see it as well.

All in all, I recommend reading the interview.

Three separated layers, capisce?

Si, capisco. But many people don’t understand. Or they don’t want to. Or both.
Interface code is supposed to consist of three layers:

  • Content (HTML)
  • Layout and looks (CSS)
  • Behavior/interaction(JavaScript)

This is so basic, just like using semantics. However, as Jeremy Keith writes in his excellent piece Gotta keep ’em separated (:hover Considered Harmful is also a recommended read), a common problem is that many, many developers use pseudo-classes in CSS for interaction effects.
Hence, of course they then complain about IE‘s incomplete support for CSS 2 (which is a very sad thing, I agree), since there are a lot more pseudo-classes available in it that are supported by web browsers like Firefox, Opera and others.

But pseudo-classes aren’t the way to go, and I don’t know what they’re doing in the CSS specification in the first place.
So why do developers use them? Like Jeremy, I believe that it is because it’s easier to do it that way, and not all of them are accustomed with JavaScript. Peter-Paul Koch also wrote about this (amongst other things) almost a year ago, where he concludes:

However, everyone’s personal preference seems to be CSS these days, and that’s what bothers me. The balance is lost. People seem to be afraid of JavaScript.

And Jeremy wonderfully states:

There is a gap in your skill set that needs to be filled.

That’s all to say, really. Do it right or don’t use it. Many developers (including my Interface Developer colleague at the company where I work) argue:

But it’s so easy to have it in the CSS file.

But what kind of an argument is that? As easy as using tables instead of CSS? As easy as having FONT tags? As easy as using DIV tags for every element on the page and then style them?
It shouldn’t be easy, it should be correct.

There are two cases to argue this, that are semi-valid points that should be answered:

  1. Accessibility
    True. There might be cases where the visiting web browser has JavaScript deactivated/doesn’t support it, but supports CSS.
    But as always, the page should be usable for visitors that doesn’t support script. Not a valid excuse. Another factor to this is that DOM scripting is more widely supported than CSS 2, which means that you will probably be able to target more users with an onfocus event than the corresponding :focus pseudo-class in CSS.
  2. Hover effects on A tags
    Having a numerous amount of links in a page would end up in massive code if you were to add onmouseover and onmouseout attributes to every A tag. But that’s not the way I’d do it, and not the way I’d recommend. Luckily, Mark has written the code for display, so I don’t have to put it here.

 

Now that we’ve finally managed to separate content and presentation, the risk is that the CSS file will just be the new replacement bulk file, with interaction in it as well. Please, please don’t let us repeat the mistakes we did with the HTML files in the beginning. Let’s separate things into where they belong.

Ode to bloggers

This won’t be the normal kind of off-topic Friday post. It’ll be a post of gratitude towards the people that have inspired and helped me in my blogging.
First, I’d really like to thank Roger Johansson and Tommy Olsson who have been an immense help and source of ideas, both in comments and off-the-blog in other kinds of conversation. Their writing is truly spectacular,well-balanced between important information and teaching while keeping a respectful relationship and attitude towards the people they mention in their posts.

Something else that has been extraordinary inspiring is when people whose material I frequently read and have been strongly affected by, have come here and read and commented on my posts! To have had visitors/commenters like Molly, Milan Negovan, Faruk Ates, Jeroen Mulder and their likes have been truly amazing!

Also, an extra thank you to frequent commenters Dejan and Box.

Naturally, I’m really very grateful for all you other visitors and commenters too, that haven’t been mentioned above, and for the people that have linked to my web site.
Don’t hesitate to contact me if you have tips and/or opinions!

 

PS. Next (probably less sentimental) post will be on Monday. Have a nice weekend! DS.

Web Accessibility Initiative (WAI)

When developing web sites, making them as accessible as possible is crucial, both to people with different kinds of disabilities as well as to all kinds of different devices, web browsers and screen readers etc.
Why? Out of respect for the user, while making the web site available to as many users as possible.

You need to be aware of the fact that the web site will not look the same to all visitors, not all UAs handle CSS and other things. The solution isn’t to code in HTML 3.2 and avoid using CSS and JavaScript, since that’s just plain dumb. The most important thing is to code semantically correct, and use HTML 4 Strict or XHTML Strict. If you use JavaScript, make sure that there’s some option for those who have it turned off or a web browser that doesn’t support it.

Edward Clarke has written two things that I liked: Why your business benefits from adhering to the web standards and the Why WAI-AAA and W3 code validation don’t equal accessibility post at webdeveloper.com.

W3C‘s WAI group released in 1999 the 1.0 guidelines for creating accessible web sites (version 2.0 is still a working draft). They consist of three priorities:

  • Priority 1
    Things the web content developer must satisfy. Fulfilling this leads to the Conformance Level “A”.
  •  
  • Priority 2
    Things the web content developer should satisfy. Fulfilling this leads to the Conformance Level “AA”.
  •  
  • Priority 3
    Things the web content developer may address. Fulfilling this leads to the Conformance Level “AAA”.

 

There are certain checkpoints for helping you know what to live up to. There are also HTML Techniques, CSS Techniques and information about the accessibility features of CSS available at the W3C web site, as well as information about the accessibility improvements in HTML 4.
There are also links and information about alternate web browsers there.

Amongst others, Joe Clark thinks the WCAG 1.0 guidelines have too little bearing in the real world, and he is eager to get people involved in the WCAG 2.0 guidelines in his How to Save Web Accessibility from Itself.
Matt May has written a short and concise piece about Accessibility From The Ground Up.

 

Eager to test you code now? You can check color contrasts with this tool that Roger gave me a tip about, there’s a colorblind filter service available, but most of all I recommend the excellent tool for checking accessibility: Bobby.

Firefox and its extensions

Since many of my visitors are Firefox users, I want to introduce extensions to you (if you’re not already aware of them). They are a wonderful thing and offers great add-on functionality, not just for doing personalization and customization (which are two very different things), but they are also very competent tools I use in my day-to-day work.

The extensions I use are (in favorite order):

  • Web Developer
    Absolutely mandatory when developing web sites. My managers should pay the developer of this program for the time it saves me and the accuracy it leads me to in designing my code.
  • Html Validator
    This is a close runner-up giving you the possibility to get your code automatically validated when you choose View Page Source. With its new look showing the code validation errors in the statusbar, I wonder if this one should be in spot number one.
    Unfortunately, it is for Windows only, so I think that’s what knocks it down to second place.
  • Tabbrowser Preferences
    Amongst other things, automatically opens links from other applications, bookmarks and those who have target=”_blank” in a new tab/new tabs. Brilliant!
  • Sage
    For reading RSS feeds in the sidebar without the need of changing to another program or navigating away from the current web page (I’m a RSS junkie).
  • ColorZilla
    A tool for instantly seeing the hexadecimal color of the element you hover in the current web page, displayed in the status bar.
  • GooglePreview
    A nifty extension showing (if available) thumbnails for each search result when doing a search on Google.

 

And these are two other extensions I found out about while doing research for this post, that I just have to try:

  • JavaScript Console Status
    Displays a statusbar icon for JavaScript errors. I guess it will be similar to the one in the Web Developer extension, but maybe positioned in a place where it’s easier to notice it?
  • Fangs Screen Reader Emulator
    Renders a text version of the current web page, to see how a screen reader would show it.

 

Amazing things for an amazing browsers! Extensions are just one of many reasons why I don’t understand why IE users persist in having it as their default browser.

 

Naturally, after I decided to write this post, I became aware of the fact that my friend Roger has written a very similar post. I hope they complement each other, and also that what you don’t find in my post you will find in his.

 

Happy extension downloading!

Adobe buys Macromedia

On Monday, it was disclosed that Adobe acquires Macromedia. I have mixed feelings about this. I like most of Adobe’s software and some of Macromedia’s. And I definitely prefer the different Adobe GUIs over Dreamweaver’s.

What I (amongst with others) fear is that the competition in the market will diminish. The well-needed competitive balance was needed between those two. And what programs will they choose to move on with?
Photoshop will, undoubtly, still be the there. As will Acrobat. But what will happen with Illustrator and Freehand? Adobe SVG Viewer and Flash? GoLive and Dreamweaver?
And what will they do to my beloved editing program, HomeSite?

My Tip:

Adobe Illustrator
Adobe Flash
Adobe Dreamweaver

Remember where you read it first (I hope)! 🙂

Blogging community reactions: Ethan is worried about what will happen with SVG, Kottke is (almost) speechless.

What do you think? Is this good or bad? Will it be to our gain or is it as if Microsoft would buy Apple (well, they did save Apple financially in the past, but let’s not go there…)?

Semantics

I have sinned. I confess. I’ve had the div-itis.
But now I’m cured (I hope)!

What is semantics about then? Basically, it’s about using the correct elements for the corresponding purpose.
This means using H1 to H6 elements for headings, P elements for paragraphs of text, UL/OL combined with LI elements for all kinds of lists and so on.
What you should not do is using DIV or SPAN elements for it all and then just style it up in your CSS file.

For example, this is not semantically correct:

<div class="heading">Title</div>
<div class="text-paragraph">
	Some text in <span class="bold">a paragraph</span>...
</div>
<div class="list-container">
	<div class="list-item">Item one</div>
	<div class="list-item">Item two</div>
	<div class="list-item">Item three</div>
</div>

As opposed to this, that is semantically correct:

<h1>Title</h1>
<p>
	Some text in <strong>a paragraph</strong>...
</p>
<ul>
	<li>Item one</li>
	<li>Item two</li>
	<li>Item three</li>
</ul>

Some normal objections are a) “What’s the gain” and b) “But H1 elements don’t look good/have different margins in different web browsers”.
The answers:

a) The code will be easier to read when you can instantly see what the purpose of each element is. Another important factor is that for web browsers that don’t support CSS, it will still be readable, for instance, in PDAs, cell phones etc.

This leads to the point of being able to say that the web site will work in any web browser, instead of saying that the users have to have IE 5.0+, Firefox and so on.
Of course, this point only applies when the web site doesn’t require that kind of support for scripting and similar. Generally, what it’s all about is a question of accessibility. It should be possible to read and see the contents of web site, even if one’s web browser doesn’t support CSS.

b) That doesn’t matter at all. I’m not preaching that you have to/should use the default look of those elements. The display and layout of elements should be taken care of in CSS, not in HTML (at all). The HTML should only be about structure and data. A brilliant example of this is the css Zen Garden, where all the different designs use the same HTML file, and only apply different CSS to it.

Of course, no one can explain it as good as Molly.
Another good piece is Semantics, HTML, XHTML, and Structure by Shirley.

PS. I promise not to disclose any information about my visitors. But I just have to tell you this one thing: there is life out there! My blog has had a visitor from NASA. They put people on the moon, I write about developing web sites… Same, same. 😉 DS.

New York stint

New York, New York.

Absolut New York commercial sign

During the midst of the IT hype companies offered a recruitment bonus, if one could find other skilled (or non-skilled, that didn’t really matter…) developers that wanted to start working in your company. So did the company I worked for back then too, and their bonus would be some kind of trip. We ended up going to NYC in February 2000.

I hadn’t really had a crush on new York before this, but it was a great trip, and we did and saw many things during those days. After this, I fell in love in the city. Given the business climate back then, pretty much everything was possible, so I decided I wanted to get a job in NYC.

I got in touch with Razorfish who got very interested. We discussed back and forth and I got an offer that was, in my eyes, unbelievably good. I still haven’t earned as much before tax in Sweden, than I did in NYC after tax. Needless to say, life was gooooood.
There were going to be some problems getting me visa, though, but after a lot of hassle I flew over June 2nd 2000 (as a normal tourist visit, one was allowed to stay in the country three months without a visa) and the plan was to sort those things out while I was there, on location.

Still terribly sun-burned from a kick-off trip with Razorfish Sweden to Ukraine, of all places, I took a cab to the city and checked in into my Holiday Inn in ChinaTown. Sleeping the sleep of the jet-lagged, I woke up around 6 AM the following Saturday, and got myself to Central Park, watching some kids play baseball while having a bottle of water and an ice-cream.

Razorfish were supposed to get me a place to stay, but, how should I put it… It wasn’t the firsth thing on their list, so to say. After my initial stay in Holiday Inn I stayed a week in the company apartment in Battery Park City with two other guys, then back to Holiday Inn again.

Finally, after presenting myself in a company meeting in the main office, a girl came up to me afterwards. Her name was Lisa and she was originally from Sweden, but they had moved to the US when she was four years old (although her Swedish was still almost impeccable) and her father was a professor at Stanford University. She told me that her room-mate had just moved out and that she had a spare room, if I was interested. We talked for a while and it turned out that she was going away for business for a week, but that I could live in the apartment during that time, and if things worked out, we could prolong my stay.

I went by a couple of days before she was leaving and picked up the key. Sitting around in my Holiday Inn room, I eagerly packed my things (again) and waited for moving day. Her apartment was located in Greenwich Village in West 12th St, which was a golden location. It was on the top floor (5th), but it was actually 8 stairs and with at least 30° Celsius and about 100% humidity, it took some effort to climb them.
From the living room the view overlooked WTC, and I liked those towers even more than the Empire State Building and the Chrysler building. When my brother came to visit, we went up on the roof of one of the towers, and standing up there really felt like being on top of the world!

I moved there and the week went by and I was as happy and content as can be, when I realized that she would be coming home the next day. I scavenged the apartment for cleaning tools, but to my disappointment I only found a handheld vacuum cleaner, aptly named Dirt Devil.

I crawled around the apartment for what seemed like forever, and cleaned every inch and corner that could be found. I mean, I just had to be allowed to stay in that apartment. Luckily for me, she was really easy-going and I got to stay there for the remaining time of my visit.
Lisa’s boyfriend was a professor at MIT, working with AI. The funny thing is, one day when he was visiting her, he saw my JavaScript – The Definitive Guide book lying around. He turned to me, and said: “Wow, I’d really like to learn JavaScript one day”. And the thing is, it didn’t sound as he was mocking me, it sounded like he actually meant it! 🙂
Once during my stay, I found a picture of her father and the Swedish King, during a trip they did to Africa.

Not for bragging purposes, but just to describe what will happen during a stay in NYC:

One day when I was sitting in the office, Michael Stipe of REM just walked in. As it turns out, he was a friend of one of the Razorfish founders and had just decided to stop by…
Other things were:

and so on…
Amazing things in an amazing city.

I also really enjoyed the American Museum of Natural History wich has such fantastic displays that I was speechless. One of my favorite things of theirs are the different fossils and remnants of dinosaurs and other unthinkable creatures.
A thing that was a really inconceivable and unbelievable event was going to the The New York Public Library, where they had the actual notes and sketches from Galileo Galilei, Johannes Kepler and Tyco Brahe among others. I mean, their actual work! I was baffled.

Being in NYC, going to Broadway shows is also mandatory. I went and saw The Phantom of the Opera, Miss Saigon and Jekyll & Hyde, where the former vocalist of Skid Row, Sebastian Bach, played the leading the character (after I went home to Sweden, we was replaced with, lo and behold, David Hasselhof!).

So many other things happened too, but there will be another time and place to tell about them.

In the end, things didn’t work out with getting a work permit and visa, so I had to go home to Sweden again. But I had three amazing months!

PS. I’ll write more on Monday, take care of yourselves and have a nice weekend! DS.
PS2. Markus, aka wobbler, is unfortunately leaving the company I work for today. Sad, but life goes on. Good luck, Markus! DS.

SVG

I really don’t understand why vector graphics haven’t taken off more. The power of vectors, to have lossless quality no matter what size something is and smaller code seem to me to be the saviour of GUIs. A long time ago, at the end of the year 2000, I created a prototype web site for a client that contained very advanced graphs and other vector-based elements based on VML (an introduction to VML), which was very exciting! For once, I’m going to say something nice about IE and that is that I really like the built-in support for VML.
This, of course, led me to believe that instead of using old bitmaps on web sites, we’d have vector graphics all over, graphics whose content could be updated on-the-fly with scripting. Vector graphics that would also dramatically decrease the size of all web pages.

Sure, Macromedia Flash has gotten more and more popular, and Adobe have their SVG Viewer, but these two need plug-ins to work. I’m amazed that vector graphics still aren’t an integral part of the current web browsers. The SVG recommendation was released in January 2003 (also incredible that it didn’t happen sooner) and Mozilla are working on implementing built-in support in future versions and Opera plan to have it in Opera 8.

Another interesting thing is the upcoming Avalon rendering engine in the upcoming version of Windows, which will be vector-based.

I’m just baffled that it took so long for companies to realize the strength of it.

Apple – the way to go

I just have to say that Apple‘s image, design and software really seem to be the way to go. Don’t get me wrong, I’m a PC user and I’m not about to change, given certain developing tools, more software available etc for a system with Microsoft Windows (some of the reasons in Why Windows Users Won’t Switch To The Mac may also be applicable). Also, I find it terribly pricey.
However, I have been flirting with Macs for some time now since they seem to have some kind of attraction power trying to lure me in.

First of all, when it comes to the hardware design there’s, in my humble opinion, no one that even comes close to it. I find it unbelievable that no other company has ever been near Apple when it comes to design. How hard can it be?
I’m not saying that design is easy, but what I’m going for is that I can’t believe that no other company can match the Apple design. The main reason they’re so popular is their design, so it really should be desirable for other companies to beat Apple in their own playing field. I mean, compare this with these (and I really do like Dell‘s computers, but design-wise compared to Apple: come on!).

I also think the Mac mini is a great design idea, although its performance isn’t really spectacular.

With the gargantuan success of iPod, which has even been appointed to be one of 5 inventions to change your life by CNN Money, it has had an enormous effect on the market. I own one myself and love it. Plus it’s probably the closest I’ll get to owning a Mac. But many other users have taken the plunge, it seems:

The survey, which polled 400 consumers, found that 19% of PC iPod owners have purchased a Mac in the past year

When it comes to software, I really like the look and feel of Mac OS X, and I wish I didn’t need Apple hardware to use it. The interface just seems more intuitive than, for example, Windows and it’s also good for the world to see that something can look good and be functional.

I think it’s great if Apple gets more popular, I would have no problem seeing them having a 10% or 20% market share. Just as with web browsers, I’d really like to see several actors with about as much users as the other, for a level playing field and more incentive through competition to be better.

XHTML – a follow-up on big companies stance

Just as a short follow-up to Why XHTML?, I thought I’d give you some read-worthy links to posts about it, and also bring up companies’ attitude towards it.

Lachy muses about the future and how it might be, and Tommy has written a very good piece in Doctype Declarations and Content-Type Headers, where he explains what really matters.

What I wonder is if companies really care about the level and quality of interface code they deliver, no matter if it’s HTML or XHTML.
As long as it doesn’t break miserably, it doesn’t matter. I used the Blogger service before swithcing to WordPress, and Blogger were always very quick to answer support mails, and during outages they seemed to work hard and efficiently to fix it.

With that said, I got a little saddened by something they wrote in a reply to my question about that the comment interface didn’t generate valid XHTML. The thing is, their templates (at least the ones I used) were coded using XHTML 1.0 Strict, so naturally I wanted my pages containing comments to be well-formed too.

Their reply:

However, unless it
is actually breaking functionality somewhere in Blogger or causing true
accessibility issues, it will likely be treated with a low-priority.

I think this symbolizes the general attitude of many companies: if it doesn’t break, it isn’t really that important if it is correct.
Let’s fall back on forgiving web browsers instead. But this might turn into a problem if browsers in the future will demand correct code to render it correctly.

What do you think? Are the companies right when it comes to this prioritizing, or is this exactly the attitude that holds the web back from evolving?

The launch of robertnyman.com!

So finally I have my own domain! A big thank you to Henrik Box at southside.se who has been hosting my different projects during a long time!
This move will, except for an easier domain name, mean enchanced stability and functionality. I’ve left Blogger and started using WordPress. Blogger was a bit shaky and couldn’t offer all of the functionality that I was looking for, so a switch of blogging tool was due.

Search functionality is available in the sidebar to the right and all posts are categorized. I guess many of them will be labeled General, but still I hope it will distinguish certain posts from the rest, e.g. posts about XHTML.

The new commenting system requires of you to enter your e-mail adress, however it’s just for my sake and will not be publicly displayed nor given out to anyone.
It’s stability is a vast improvement from the previous one, and the color coding will hopefully make it more easy on the eye to read.

There are also a number of RSS feeds available:

RSS 2.0 at http://www.robertnyman.com/feed/
RSS 2.0 (just the comments) at http://www.robertnyman.com/comments/feed/
RSS .92 at http://www.robertnyman.com/feed/rss/
Atom 0.3 at http://www.robertnyman.com/feed/atom/

Given the discussion in Why XHTML?, this page is using content negotiation, which means that it serves XHTML 1.0 Strict as application/xhtml+xml to those web browsers who are capable of handling that, and HTML 4.01 Strict to those who aren’t.

Want to know more about me?

Please let me know what you think about the new design, functionality and, of course, the content. If you find anything that doesn’t work, please let me know.

Happy reading and welcome!

AJAX

My friend Dejan said to me the other day: “Great, now I have one more abbreviation to add to my resumé”. What he was talking about? AJAX
(Asynchronous JavaScript + XML), which basically means loading data in
the background and then show/update it on-the-fly using scripting. This
is something that I (and many others) have personally done for years,
but now it’s got a brand new name to describe it and a hype to go with
it.

Since it consists of already existing teqhniques, it’s just
a matter of branding. I think it’s good that it gets hyped and has
gotten a new name to market. Used the correct way and during suitable
circumstances, it can certainly enhance the user experience.

Some high-attention web sites have been built like this (although not all of these use the XML part). I also read a very-well written article about AJAX on Quirksmode, and he brings the attention to a very important part of this: accessibility.

I
do think it is an interesting way of doing it, and I hope the hype
makes it easier to persuade/convince project managers to allow its
usage in appropriate web sites.
What do you think?

PS. Have a nice weekend, I’ll write more on Monday. DS.

Music and developing (a day of mood swings)

During my day-to-day work as a developer, I go through a
number of moods (maybe more moods than what’s good for me), and I
thought I’d explain them with references to songs:

My day kind of starts with I hurt myself today (and some days end with it as well):

“I hurt myself today
To see if I still feel
I focus on the pain
The only thing that’s real”

Then, commuting to work:

“No stop signs, speedin’ limit
Nobody’s gonna slow me down”

Walk into the office:

“Standing on the gallows with my head in a noose
Any minute now I’m expecting all hell to break loose”

“This place ain’t doing me any good”

“I used to care, but things have changed”

Then I get to my desk, and I feel like this:

“There must be some way out of here, said the joker to the thief,
There’s too much confusion, I can’t get no relief”

“There are many here among us who feel that life is but a joke”

Code something, and run into trouble:

“I once believed
I wouldn’t bleed”

Trouble that makes me go out of my mind:

“I feel my world shake
I can’t look away
Hard to see clear
Is it me
Or is it fear?”

But then I find the solution:

“God Gave Me Everything I Want”

An occasional moment of despair, that eventually turns into solving the problem:

“Fight and pray”

“Oh happy day”

And then I go home… 🙂

“I improve design”

As I’ve mentioned before, in my previous company we worked with offshore developing located in Serbia. Given the fact that we were sitting in different countries, different levels of knowledge of the English language, different skills and such, sometimes we didn’t work seamlessy together.

The phrase in the heading came from one of the system developers in Serbia, when he had (less knowingly) changed my interface code, followed up by the jokingly said comment “I improve design”.
Needless to say, in my eyes, it wasn’t improved (however, if you’re reading this, Aleks, no hard feelings from my side. It was an entertaining ride :-)).

I tend to be very though when it comes to the structure of my code, which leads me to how to set up the structure of one’s CSS file(s).
Earlier on, I used to order my CSS in the order things were rendered in the page. However, I soon realized that with additions and changes all the time, fixes and so on, this wasn’t really useful as soon as I got to build bigger web sites.

So nowadays, I structure my CSS this way:

First, tag-specific CSS:
a{
color:#FFF;
}

body{
margin:0px;
}

Then ID-specific CSS, in alphabetical order where the tag name is the separator:
div#containerDiv{
width:800px;
margin:20px auto;
}

img#artImg{
border:0px;
}

img#userImg{
margin-left:20px;
}

Followed by class-specific CSS for specific tags, in alphabetical order where the tag name is the separator:

div.contentDiv{
width:400px;
background:#F00;
}

img.linkArrowImg{
float:right;
}

And finally class-specific CSS for any kind of tag, in alphabetical order where the tag name is the separator:

.bold{
font-weight:bold;
}

.preAmble{
font:1.2em/1.6em Verdana, Arial, Helvetica, sans-serif;
}

This works just fine for me. Does it look good? How do you do?

Posted in CSS

Peak!

My blog peaked yesterday, with roughly 1100 unique visitors. It may or may not sound a lot to you, but it’s an amount of visitors that I’m very happy with (especially since I’ve only blogged for about a month).

So thank you everyone for visiting, commenting and linking to my web site!

Hopefully I’ll keep on writing about things that interest you and that makes you think it’s worth coming back here again.

PS. Kudos to one of my colleagues that used his brand new PSP through W-LAN to navigate to and read my blog! DS.

Google Firefox?

So, just to spice up the rumour about a Google/Firefox web browser: Google has introduced functionality that will enhance searching
with Firefox and Mozilla browsers. Is this just a result of a good
collaboration of the two, or that they unite in their struggle against
Microsoft? Or is it maybe some preparation before an upcoming launch of
a special Google browser, based on Firefox with lots of extra Google
functionality.

For obvious reasons, people speculate what Google’s and Firefox secret fling is.

I was also pondering about this in The future of Google.

What is Google cooking with Firefox?
Will there be a Google Firefox?

Why XHTML?

This is a well-discussed and very important topic. Personally, presently I write XHTML for my web interface code, but lately I’ve started to stagger in my standpoint. For normal general web page design, what’s the gain? If you don’t extend the code with namespaces, use MathML, have your own DTDs and so on, why would you want to use XHTML?

Many people answer that question with: “It makes me write leaner code, code that has to validate and be more semantic correct”. Martin In Swedish wrote a post In Swedish recently why he uses XHTML (unfortunately, it’s in Swedish).

But I don’t agree with the argument that it has to be XHTML to achieve that particular goal. I think it’s more of a developer standpoint than using XHTML. If you’re really dedicated to what you do, you use the correct tags for the correct purposes (H1 for headings etc), you write as lean and minimal code as possible and you close all optional tags like LI, P and so on.
Basically, you can live up to that with using the HTML 4 Strict Doctype, and separating content (HTML) from layout/look (CSS) and interactivity (JavaScript).

Another reason people use it is that they might think it makes them better programmers, that they code ‘the real deal’. It might also be as a selling point, for the project manager or his/her like, to tell the customer that: “Yes, we know what we do, we code XHTML”.
But, unfortunately, very few do it all the way. As mentioned in Anne‘s Quick quide to XHTML about Evan Goer’s test, 89% of the web sites tested didn’t validate and 99% used the incorrect MIME type!

Which leads to the MIME type issue. In a very talked-about piece, Ian Hickson writes that if you use XHTML it should be delivered as application/xhtml+xml (which, surprise, Internet Explorer doesn’t support) to the web browser, otherwise it will be perceived as ‘tag soup’ (however, not everyone agrees that it should be called ‘tag soup’). But what has happened is that people have gone to such length that they use something called content negotiation, which basically boils down to serving XHTML as application/xhtml+xml to those web browsers who support it, and HTML 4 as text/html to those who don’t.

When you deliver XHTML as application/xhtml+xml to a browser that supports it, it won’t even render the page if it’s incorrect, but instead throw an error. Generally, I think this is a good thing that forces the developer to write correct code. Alas, speaking from my point of view, working in projects where Content Management Systems don’t deliver correct XHTML, where the .NET Framework doesn’t deliver correct XHTML etc, serving it as application/xhtml+xml is impossible for me.

Yes, Content Management System manufacturers are getting more aware of this, ASP.NET 2.0 is supposed to deliver XHTML the way it should be delivered, but it’s still a long way ahead in the future.
So what are my (and many other developers’) options? To deliver XHTML that doesn’t validate (although the errors might be minor/make no difference to how it will be rendered) as text/html, or should we deliver plain old HTML?

One point is also that this will not affect the end users, as long as you write valid code in its context, be it XHTML or HTML.
An interesting sidenote to this is that MSN Search serves valid XHTML 1.0 Strict which validates, while Google serves a non-Doctype page which generates 242 errors

Conclusively, to go back to my initial question: why use XHTML if I only use it for standard HTML? Why go through the hassle if I don’t use any of the XHTML-specific features?
Anne brought up an interesting thing from Mozilla’s Web Author FAQ about how to serve HTML (and the thing that Mozilla, nor any other browser, loads XHTML incrementally, as opposed to HTML), and he comes to the conclusion that one should switch to HTML.

Also, Tommy made the statement a couple of weeks ago that XHTML Is Dead.

And these are two very talented persons that just don’t believe in XHTML anymore, and that saddens me and makes me think:
Are they right? Should I go back to writing HTML?

PS. Let me know what you think! Is XHTML or HTML the way to go? Write a comment and I’ll send you an invitation to use Google’s Gmail service (2 GB inbox(!), POP3 access etc). DS.

iTunes for film

Regarding the problem the movie industry faces with more and
more people having broadband internet access, learning to download
movies etc, it seems like they have finally reacted in the right way. They want to create the movie equivalent of Apple‘s iTunes.

Personally,
I don’t think the witch hunt for people that download movies (or music,
for that matter) is the way to go. They gravely underestimate the sheer
amount and power of the downloading community. I don’t think they’ll
ever be able to eliminate illegal downloading that way, all they gain
is disrespect and hate for their actions that are overly tainted with
greed.

Of course they want to make money, of course they don’t
like when people download their movies without paying for it. Totally
understandable.
But I think the only way for them to “win the
battle” or at least turn it around a bit, is to offer really good
downloading services for a really good price.
And given the money they save on distribution, staff costs etc they will still make money, trust me.

Another
thing that might happen is that the younger generation that grows up
now/will grow up soon, is that they never really have paid for
movies/music ever. And if we get a whole generation without paying,
what will happen then? Will Hollywood only produce their extremely (disgusting) cliché movies, and stop making great movies like Sideways altogether?

PS. Next post will be on Monday. Have a nice weekend! DS.