shaunrashid.com

Random thoughts of a digital web weaver

NAICS Industry Code for Web Development

If you’re a Canadian web developer that works as a freelancer (or does a few freelancing gigs on the side), you may be in the process of doing your taxes for your business.

On the T2125 – Statement of Business or Professional Activities tax form there is a field for “Industry Code” that you’ll need to fill in. For the 2012 tax season, that code is 541514. If you want more information on the code, you can visit this NAICS page on the Stats Can website.

SVG: Set the right MIME type!

As the next part of my redesign, I created an SVG version of my pretty logo so that I could take advantage of the file format for multi-device use. Everything looked good locally so I pushed the image and code live… only to find out that a) I was getting scrollbars on the <embed> element and b) Firefox was asking for a plugin!

I spent quite a bit of time looking through the HTML, CSS, and SVG code trying to find out what was wrong and searching the Internet came up with a lot older posts regarding a Webkit height miscalculation bug. Since that issue had been fixed and I was having the same problem in Firefox, that wasn’t the issue.

Turns out the issue lay with my web hosting provider. They didn’t have the proper MIME-type set up for SVG images. This came as a surprise to me as I assumed they would have this in place but at least I had access to the .htaccess file. With the following two lines and a file upload, I was off to the races with my responsive SVG logo!

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

So if you come across issues where your SVG isn’t rendering on the server, check to see that the MIME-type is properly set up.

Taking the Plunge

Ever since I read Jen Simmons’ post about sitting down and launching her website in one night, I have been determined to do the same. So here is it. I have taken the plunge, scrapped everything that I did before, and put together a very simple WordPress template. It’s probably more stupid looking and has more stupid HTML than Jen’s site (just kidding, Jen. I like your site a lot) but it’s here. It’s without the SVG logo that for some reason works locally but not on the server (which I will figure out eventually) but I’ve launched the minimum shippable product and now, as Jeffrey Zeldman states as part of his 10 commandments of web design (see An Event Apart), it’s time to iterate.

I like Apple Maps

Ever since the new iPhone was released the Internet has been flooded with harsh criticism and hate for the new Apple Maps. It’s as though the world thinks there is a huge conspiracy by Apple to feed them bad directions so that people end up in the middle of nowhere or on a one way trip to Mars. For me, the backlash is just another example of how society has become impatient and hinges on instant gratification.

Personally, I like the new Apple Maps. I have used it a few times in the Seattle area and the mapping seems accurate so far. The “3D” view looks pretty slick and the graphical aspects are great as well. Having the turn-by-turn navigation has by far been the biggest improvement and if the sticking point between Google and Apple was that Google was unwilling to license their turn-by-turn technology then I am all for Apple going in their own direction as that feature was sorely missing from previous iOS versions.

By no means do I think that the new Apple Maps is perfect. I’m sure there are a ton of things that they need to fix. But I also believe that as they receive more feedback and data that the app will improve (just like Google Maps has improved over time). It is just a matter of being patient and giving Apple time to make those improvements. However, in today’s society where everyone is concerned with getting things “now”, being patient seems to be easier said than done.

No Phishing!

There’s a reason that websites that deal with monetary transactions provide warnings about phishing scams. They happen all the time and the people that commit these crimes are good at it.

I was posting some items up on Kijiji to sell before my move to Seattle, one of which was my storage bed (yes, cheap plug). I received a response from a buyer who said that they would purchase my bed through a PayPal transaction.

Sounds good so far, right?

I thought so too. So I agreed. The next email I got asked for my info and came with an odd request. Apparently the purchaser would get a shipping company to pick up the bed but his credit card wasn’t working so he wanted to send me the money for the shipping cost and have me send a Western Union transfer to the shipping company.

I was suspicious but I thought that if the money came through PayPal then I could use those funds for the shipping. So once again I agreed. What I got next was a set of emails from PayPal telling me that the money was being transferred to my account but it was on hold pending the Western Union transfer.

At a glance the email looked legit. It had the right text, confirmation numbers, the logos, and all the rest. It had me guessing for a second but the whole situation had alarm bells ringing in my head.

A quick check of my PayPal account revealed that there were no transactions, pending or otherwise and money was not transferred to my account. Secondly, a closer look at the email revealed that it didn’t come from PayPal but from “enquiry@emailaccount.com”. At this point I knew it was fraud. I decided to do one last check. I popped the address for the Western Union transfer into Google Maps which led me to a nice residential street in the UK. Suffice it to say, that was the end of the line for me.

Moral of the story, be careful of phishing scams! They’re out there and the people behind them are pretty smart. I consider myself pretty aware of online dangers and they got me to the point where they can spam my email now.

Here are a few tips relating to my experience:

  • If anyone wants to send you money but depends on you to complete another transaction for it (i.e. Western Union), decline the offer.
  • Don’t use Western Union for purchases/transactions. It’s great for money transfers to people you know but there is no fraud protection!
  • Always check the full email address on emails regarding accounts or transactions. Don’t just rely on the name! I can’t stress this one enough. In my case, the name said service@intl.paypal.com but the actual address was enquiry@emailaccount.com
  • If you’re using PayPal, check your account if you get an email saying that there was a transfer/transaction. There should be some record of it in your account. Just don’t click on any links in the email to do it!
  • Trust No One. Well, at the very least be vigilant and pay close attention.

There are many reputable companies out there on the web but there are also a lot of people looking to use those reputations to scam you out of your money. Be careful!

IE Auto-Updates – What’s the Big Deal?

I was reading through the comments on Jeffrey Zeldman’s blog post about MSIE auto-updates and noticed that a fair number of people complained that the announcement by Microsoft means nothing in terms of getting users to upgrade. While they have a point that people and/or organizations can still decide to forego upgrading, I believe that announcements like this are more important from an education/informational standpoint than a technical one.

There is no guarantee that people will upgrade. But if you are a web professional in an organization, you can make your case for it. I believe it is up to you to bring up issues like upgrading from archaic browsers. As an expert in your field, you have the ability to collect information and present your it to decision makers. Announcements like Microsoft’s which are “straight from the horse’s mouth” give credibility to your recommendations.

It may be difficult for them to drop everything and upgrade (especially in a corporation with legacy systems) so they may still decide against upgrading at this time but at least you have made them aware that even MS is trying to get away from old versions of it’s browser. When they realize the direction in which their “go-to” web browser is going, hopefully it will get them thinking about what they need to do to make the switch.

Like I said, there is no guarantee. But every little step helps.

CSS Wishlist: Extendible CSS

With more people viewing the web over high-speed connections and through mobile devices across cellular networks, bandwidth has become a major consideration when designing/developing websites.

While the bandwidth usage of CSS files tend to pale in comparison to the obvious big guns such as video, images, and other media, CSS bloat is still a problem. There are methods out there to organize/reduce the amount of CSS we create but it would be wonderful to have a mechanism that would allow us to reuse CSS rules without having to add classes to markup.

For example, if you have a site that uses links that are styled like buttons, you may have some HTML like this:

<a href="sign-in.html" class="btn">Sign In</a>

And some CSS like this:

.btn {
background: #f00;
border: 1px solid #900;
display: block;
padding: 8px;
width: 100px;
}

This gives you some CSS to create a basic red button. If you want to create a new button for “Sign Up” which is green, you can add an ID and style that:

<a href="sign-up.html" class="btn" id="sign-up">Sign Up</a>

#sign-up { background: #0f0; border: 1px solid #090; }

Pretty simple. As your site grows, you may want other green buttons. So what do you do then? Do you add another selector to your styles like:

#sign-up, #next-step { background: #0f0; border: 1px solid #090; }

or do you go in favor of declaring a separate class for all of your green buttons like this:

.btn-green { background: #0f0; border: 1px solid #090; }

and add the class to your markup?

<a href="sign-up.html" class="btn btn-green" id="sign-up">Sign Up</a>
<a href="logout.html" class="btn btn-green" id="log-out">Log Out</a>

The class route seems like a good way to go until you decide to change the color of the button to blue. Then you would have to create a new .btn-blue CSS class AND change your markup.

I wish there was something we could use that would import the properties of other classes and apply them. The way I’ve been thinking that it would work is something like this:

.btn { border: 1px solid #000; padding: 4px; background: #0f0; }
.red-btn { background: #f00; border-color: #600; }
.join-btn { inherit: .btn .red-btn; color: #fff; font-size: 20px; }

By inheriting a class, you could apply the properties to your new class. You could then inherit additional classes and/or apply additional CSS. This would allow you to quickly change styles without having to add to/change your mark up. It would also cut down on code and help keep your markup free of presentational attributes.

We have seen a huge increase in the capabilities of CSS with the implementation/support of CSS3 and I’d love to see something similar to what I propose above come down the pipeline because I think it would be a great benefit to designers.

Voting Needs to Jump to the Web

So another Ontario provincial election is in the books and Dalton McGuinty’s Liberal government has emerged the victor. The big story coming out of the election besides the collapse of Tim Hudak’s campaign is the record low voter turnout.

I think the reason for this is a combination of voter apathy and a decrease in the willingness to take time to find and travel to voting polls in order to put a little check mark on a piece of paper.

The second issue is the easiest of the two to solve. Implement online voting. People against it start ranting about concerns over fraud and security yet every day millions of people give out financial information to shop and bank online. The government even offers various services through their website that require personal information.

I don’t believe it is a huge stretch enable voting online. I can already go to a government website to put in my information to find my nearest polling station. With a few more steps, it could be extended out to create a website that allows citizens to vote. I have no doubt in my mind that voter turn out would skyrocket. If the move to the mobile web is any indication, putting something at a user’s fingertips will encourage them to use it.

A website like that may also help with voter apathy. I think part of that problem lies in the fact that people are uneducated about issues and what’s at stake. They feel disconnected from politics. For many, the political process only pops into their head every four years when the media plasters election campaigns all over. If the user goes to the voting website and is provided with information on election issues and party platforms, they may feel more informed and inclined to vote because they are aware of what they are voting on.

Now I’m not advocating the removal of traditional polling stations. They have their place. But if you want to encourage more people to vote in this digital age, you need to embrace the technology and give them the choice on how they want to vote. I believe that technology is at a level where this can happen and given this year’s low voter turnout it may be time to seriously consider the jump.