Showing posts with label change. Show all posts
Showing posts with label change. Show all posts

November 09, 2010

Why Web Designers Should Like IE 6

Cascading Style Sheets are what makes the Web not boring. CSS is descended from SGML (Standard Generalized Markup Language), which was created in the 1970s. The first version of the CSS standard was published in 1996, with version 2 being finalized in 1998. Version 3 is still under development.

The first browser to fully support CSS1 was a browser that only one person remembers: Internet Explorer 5 for the Mac. You read that right: The first CSS standards-compliant browser was created by Microsoft. That was in 2000, four years after the standard was first published and two years after CSS2 was released. Other browsers played catch-up in the months following.

The problem with the Internet in the time leading up to the adoption of the CSS standards was that no one had been willing to wait for the standards body to, well, standardize, and so they implemented horrible proprietary things like <blink> and <marquee>. Each new version fought to not only include the newfangled tags that its competitors had introduced, but also to create new features of its own. "Best viewed on <browser x, version y> at <designer's screen resolution>" became all too common.

So who was our knight in shining armor who delivered us from this? Internet Explorer 6.

Indirectly, of course. IE 6 in and of itself was not particularly revolutionary, except for the fact that its Standards Mode hewed more closely to the standards than any other major browser at the time (sorry, Opera, even back then you weren't a major browser). The revolution was its competitors.

See, IE 6 had something called Quirks Mode. Basically, if your HTML document had a certain doctype (or no doctype declared at all), the browser would fall back and render the page like IE 5 would have. This was to keep old pages from breaking. One consequence of this was that the infamous "whitespace bug" was perpetuated. CSS2 support was also not as good as it could have been. Mozilla and others jumped into the fray at this point, reigniting the browser wars. The result? Today, because IE 6 was so bad, we have Firefox, Opera, Chrome, and IE 9 (which will supposedly implement the standards way better than any previous version of IE).

Thank you, IE 6.

November 01, 2010

Instant Results and Spin

After reading the transcript of the SpoolCast episode Luke Wroblewski and Innovations in Web Input, I decided to write about two subjects they brought up. It's a double post! What does it mean?!*

*Yes. This joke is stale.

Isn't Google Instant Awesome?


I mean, really! You start typing and (as long as you're not using Opera) results just pop up (unless your connection's too slow)! It's like magic! It makes Amazon's search suggestions look quaint and your public library's catalog search look positively archaic! Why can't they do magic like that, too?

Well, Google has approximately one quadrillion times the resources of your public library, for one thing. Something like Google Instant takes a lot of resources. If a company tries to implement something like that without the required resources, the resulting performance hit (and probably downtime) is as bad as or worse than not having search at all. Yahoo! actually tried to implement something similar to this in 2005, but they ended up ditching it because they were concerned about server load.

This does put smaller organizations at a bit of a disadvantage, because if people get used to seeing results instantaneously, they start expecting it everywhere. Why should I have to type my entire search query, hit enter, and wait for another page to load? (I guess you could argue that Google is aiding Twitter's nefarious plot to shorten the attention span of the world's population.) Unfortunately, though, businesses have to allocate resources to the activities that will provide them with the most benefit, so Google Instant-esque capabilities are probably going to be fairly low on the list.

Their Numbers Don't Mean As Much As You Think They Do.
I used this analogy recently…there's 160 million iTunes users, and within 48 hours they announce that one million of them were on Ping. So the metaphor I used there was, well if 160 million people are driving down a road, and I put a pile of dog poo on that road, chances are one million will drive through it. — Luke Wroblewski
In a world where Apple can do no wrong, their music social network Ping is a fledgling feature that hasn't yet reached its full potential. In the real world, well, it's been compared to a pile of dog poo. "One million" is a useless measure without context. I'd love if one million people read my blog. Facebook would probably kill a new feature that only attracted one million users. For the iTunes Store, one million is less than 0.7% of their users.

On the other hand, one could argue, for the time period mentioned in this anecdote, maybe 160 million users isn't the metric we should use to judge Ping's success. Surely, not all 160 million people are trying to buy music at the same time. Maybe only half of them are typically online at any given time. That makes Ping's user base…just over 1%. The point is, a company can spin numbers in a multitude of ways to make themselves sound better.

(Wroblewski goes on to suggest that the reason for Ping's disappointing adoption rate is an uncharacteristic lack of attention to detail on Apple's part. Version 2 might be better.)

September 13, 2010

I Have A Canvas And A JavaScript Paintbrush

One of the biggest problems of the Internet today is an over-reliance on proprietary plugins. Mac users will be especially familiar with the feelings of abject rage as a Flash game bogs down their system, takes over a chunk of memory, and causes the fans in their laptop to whir consistently, due to the lack of hardware acceleration in the Mac version of Flash Player (which was only recently remedied). There's Flash, Silverlight, Java, and whatever proprietary single-use plugin TV networks' websites make you install to watch their shows.

"So what?" you say. "I just install the plugins when I need them. No big deal." Yeah...except each one requires a download, an installation, and a browser restart. It's a hassle. (And we won't get into cross-platform issues.)

Better than that, each plugin introduces its own set of security holes. Flash is notorious for this, but it is not alone in that regard.

Plugins used to be the only way to provide interactivity to a website. Something better is looming on the horizon, though: HTML5, and with it, <canvas>, <video>, and <audio>.

The video and audio tags are fairly self-explanatory. As long as the browser properly implements them, they provide plugin-free playback for videos and sound, respectively. Canvas is an HTML tag that essentially gives you a blank area that you draw on using JavaScript. The code required is fairly similar to creating graphics in a Java applet, for those of you who are familiar with that.

Java Applet Code:
g.setColor(new Color(0x5E, 0x2F, 0x00));
g.fillRect(0, 180, 200, 50);

JavaScript Canvas Code:
ctx.fillStyle = "#5E2F00";
ctx.fillRect(0, 180, 200, 50);

Canvas/JavaScript provides no easy way, however, to draw ovals or rounded shapes. Compare the two methods for drawing a rectangle with rounded corners:

Java Applet Code:
g.setColor(Color.white);
g.fillRoundRect(45, 35, 50, 35, 10, 10);
g.setColor(Color.black);
g.drawRoundRect(45, 35, 50, 35, 10, 10);

JavaScript Canvas Code:
ctx.fillStyle = "#FFFFFF";
ctx.strokeStyle = "#000000";
ctx.beginPath();
ctx.moveTo(45, 45);
ctx.quadraticCurveTo(45, 35, 55, 35);
ctx.lineTo(85, 35);
ctx.quadraticCurveTo(95, 35, 95, 45);
ctx.lineTo(95, 60);
ctx.quadraticCurveTo(95, 70, 85, 70);
ctx.lineTo(55, 70);
ctx.quadraticCurveTo(45, 70, 45, 60);
ctx.lineTo(45, 45);
ctx.fill();
ctx.stroke();
ctx.closePath();

Even with that convoluted code, I still saved approximately 60 lines of code generating this image in JavaScript with canvas than it took to do the same thing in a Java applet. Most of this savings probably came from the fact that JavaScript has both a fillStyle and a strokeStyle, while Java uses setColor() for everything, necessitating more color changes. Plus, the user doesn't have to install a plugin to make it work, it renders pretty much instantaneously in the browser window, and you could copy the generated image and save it if you wanted to, which would be useful if you wanted to code a drawing web app of some sort.

Want to learn more about drawing with <canvas>?

April 25, 2010

A Library for IT Folks

ITIL is the Information Technology Infrastructure Library, a collection of documents describing IT best practices. ITIL was first developed in the late 1980s by the UK's Central Computer and Telecommunications Agency The ITIL philosophy is centered around a Service Strategy, which supports the areas of Service Design, Service Transition, and Service Operation; these processes are continually being improved (image from SUBnet.192):



ITIL has had 3 versions: v1, encompassing 30 books on various aspects of the IT process; v2, with 8 books; and v3, simplified to 5 books. ITIL is in the process of transitioning from version 2 to version 3, though both versions are still widely used by IT companies.

One of the aspects included in v2 -- specifically, the Service Support category of v2 -- is the Service Desk. It is pretty much what it sounds like: the company's tech support function. There are three descriptors for a Service Desk, each with differing levels of actual tech support provided.
  • A Call Center is essentially a relay station for taking customer problems and forwarding them to the appropriate support department. While Call Center employees can solve some basic problems, most of the time they just get information and forward customers to another department that is better equipped to solve their problem.
  • A Help Desk solves problems as quickly as possible. They provide support, but don't handle maintenance-type activities.
  • A Service Desk handles tech support, maintenance, change requests, etc. Pretty much, if it has to do with their system, they handle it.
The Service Desk activity is categorized under the Service Operation banner in ITIL v3.

There are many software solutions for ITIL, spanning programs that cover the entire breadth of ITIL activities and programs that focus on one aspect of it. One more focused product is ServiceDesk Plus, "a web-based help desk software that...[manages] all your communications from a single point". It takes requests via different methods (phone, email, etc.), applies the necessary rules and/or conditions, and routes them to a technician for fulfillment. (Workflow image from ManageEngine.)



There are also several companies that provide ITIL consulting services. One such company is Enterprise Consulting Services, "a boutique consulting firm specializing in IT Service Management consulting, implementation and outsourcing, using the ITIL framework". ECS focuses on translating ITIL best practices into concrete implementations based on a company's needs.

One such client with whom they have worked is Iberdrola USA (formerly Energy East), a multi-state energy corporation. ECS provided training for employees, allowing them to become certified in ITIL. They also redesigned the support and security systems and upgraded their computers (Windows XP, Office 2003, and McAfee security -- in related news, Iberdrola probably just had svchost.exe disappear for a while). These moves resulted in annual savings for Iberdrola of about $1.4 million. That's what applying optimized practices will do for a company.

Quote of the Day:
The Tech Support Glossary:
ID-Ten-T error: the user has just done something inane, like use their DVD drive tray as a cupholder. (Also known as ID10T.)

PEBKAC error: there is nothing wrong with the computer; the problem exists between keyboard and chair.

Layer 8: in the OSI Model, the user layer above the application. (See also ID-Ten-T.)

(from Wikipedia)

December 06, 2009

Enterprise 2.0

Facebook, wikis, blogs, YouTube...what do these have in common? They are all examples of Web 2.0.

Web 2.0 is not like HTML5. It's not a new specification, it's not a specific way of formatting or configuring anything online, it is defined by the behavior of the users interacting with the sites. It is community-driven, dynamic, extendable. It's also everywhere.

So it follows logically that business would want to capitalize on that community, and so Enterprise 2.0 was...well, perhaps "born" isn't the right word; "coined", then. Enterprise 2.0 is merely taking the ideas inherent in the Web 2.0 model and applying them to business situations. (Forrester Research begs to differ slightly; according to them, Enterprise 2.0 does not include anything aimed at consumers. I personally disagree with that statement: how else are businesses going to reach consumers, if they're not using Facebook and Twitter-type technologies?)

Are you in the engineering department and you need to collaborate with your coworkers in design? Set up a wiki to provide a centralized place to put mock-ups, specifications, etc. Need quick bursts of promotion? Fire off Tweets about discounts or product launches.

Sounds great, right? So why aren't all businesses Tweeting and Facebooking and blogging and wiki-ing? Dion Hinchcliffe has compiled a list of 14 reasons why Enterprise 2.0 initiatives fail. In essence, most of the problems boil down to the fact that some managers treat Enterprise 2.0 as an afterthought, something that doesn't need to have many resources allocated to it. After all, one may think, how much effort does it take to Tweet "14-inch widget on sale for 20% off, limited time offer"?

But it's not just about Tweeting, or wikis, or any one thing. It's about collaboration across the organization, destroying barriers to communication, and paying attention to the customers. Only by gaining the acceptance of the entire organization can Enterprise 2.0 initiatives succeed.

Extra reading:

Quote of the Day:
Booth: A prodigy violinist disappears and a month later his skull ends up bouncing off a garbage truck?
Cam: Obviously, we are looking for someone who really, really hates classical music.
--Bones, "The Widow's Son in a Windshield"

September 25, 2009

Stop Reading This Blog.

Seriously. Stop right now. Go watch Dr. Horrible's Sing-Along Blog. And then go watch Firefly and Castle.

Done? Great! Now that you've seen some great shows, let's talk about rich media. Rich media is loosely defined as "pretty stuff that is informative or entertaining in some way". Got a graph showing how Napoleon's army got smaller the closer he got to Moscow? That's rich media, because it has a lot of information packed into one diagram that can be read in many ways. Got a TV show online? That's rich media. Got a website that tells you everything you ever wanted to know about emotions manifesting themselves in blogs? That's rich media, too.

Did you notice anything different about Dr. Horrible's Sing-Along Blog? Instead of showing an air date, Hulu lists it as a "web exclusive". What's really impressive, however, is that it won an Emmy. An Emmy, folks. A television award was given to something that was never shown on the boob tube.

A few years ago, television networks started putting some of their shows up on their websites for viewing (after they aired on TV, of course). Now, most shows are online within 24 hours of their initial air date, which is threatening to invalidate Nielsen ratings and cause a major shift in TV viewers' habits. Since currently online shows have typically only one 30-second commercial at each break instead of two to four minutes' worth, I'd say it's a pretty safe bet that online broadcasts don't generate as much money for the networks as traditional TV.

Still, putting shows online has the potential to expand a show's audience. Maybe someone has a scheduling conflict that prevents them from watching a show when it airs, but they discover it online. Maybe they even go out later and buy the season DVD, which equals money for the network anyway. Networks are already trying to figure out how best to monetize their online content, and I predict that they will continue changing and refining their strategies. Online rich media is here to stay.

Quote of the Day:
Zoe: Cap'n'll have a plan...always does.
Kaylee: That's good, right?
Zoe: It's possible you're not recalling some of the cap'n's previous plans.
--Firefly

September 10, 2009

Saving the Princess, or Why Things Never Change

Special Friday update! Today, I'm going to discuss innovation in the 1980s and how the lessons learned then can be applied now.

Er...actually, I'm just looking for an excuse to discuss The Legend of Zelda.

Rewind to the late 1980s. The NES was the coolest thing ever, with its awesome 8-bit graphics and rockin' sound effects. Nintendo developers were working simultaneously on two game titles: one featuring an Italian plumber saving a princess who was always in another castle, and one featuring a pointy-eared kid saving a princess who was being held hostage inside a mountain. Anyway, both games (Mario and Zelda, respectively, in case you hadn't guessed) went on to become huge successes.

Zelda had simple and intuitive gameplay. You control Link, the protagonist, and use a sword to do away with monsters. It used an overhead view, enabling you to maneuver around creatures you'd rather not fight. There was little strategizing required, just basic hand-eye coordination.

Mario, on the other hand, used a side-scrolling format. Again, relatively simple gameplay, but less ability to avoid "the bad guys".

Nintendo, hoping to maximize the fanbase for Zelda, decided to combine the gameplay methods that had made Super Mario Bros. and The Legend of Zelda popular in the latter's sequel, Zelda II: The Adventure of Link (AoL).

(Oop, my ADD just kicked in. Must correct poorly-worded sentence on Wikipedia. Click section edit link...make change...write edit summary that's longer than my edit...click show preview...looks good...click save...done. Phew. And all done without having to create an account.)

Back to what I was saying. AoL included the best elements of Nintendo's most successful franchises, so it must have been twice as pleasing for fans, right?

Not.

AoL was poorly received, to say the least. Nintendo was derided for abandoning the core format that had made Zelda so popular. They reverted to the old format and have not attempted anything like AoL again.

Let's see...a company has an established product and radically changes it to provide its audience with what it thinks they want. Where have I heard this recently? Microsoft, with Windows Vista. It altered the core functionalities its users were used to, and everyone complained. It thought that these changes would please both new and returning users, but like Zelda, the reaction was "don't fix what ain't broke."

People are creatures of habit. As a developer, if you have a product that is widely accepted, making sweeping changes carries a high risk. You have to decide if the change is beneficial enough to overcome the inertia that exists.

Quote of the Week (Friday Edition):
"After all, a fake is a fake...and no matter how much you dress it up, the real thing always wins!" --Midna, The Legend of Zelda: Twilight Princess