microsoft

The coming revolt against Apple

Over the last few years, Apple has solidified itself as the cool kid’s legitimate alternative to the Microsoft mainstream. They have excelled at packaging hardware and software together in sexy ways with usability that has put all the first-movers on defense, scrambling to catch up. The iPhone has been a smash hit and helped them expand their Mac market share substantially. broken-iphoneBut when you’re at the top of the cool mountain, it becomes increasingly difficult to keep your footing. There are storm clouds on the horizon, and there’s a revolution brewing.

The torches are being lit over in iPhone land. The iPhone has been a cult success in spite of itself in many ways. Other phones had better hardware and more features, and the iPhone was missing long standard features like MMS. But nothing matched the allure of the all touch screen form factor and the brilliant iPhone OS. When the App store was released, that made up for many of the (still persistent) feature deficiencies. But now that App Store is becoming a real problem for users and developers alike.

No soup for you!

The biggest issue is that the App Store is the only way to get your software on an iPhone without hacking it. Apple is the gatekeeper, and decides what goes in and what doesn’t. They claim it’s to maintain quality standards, and phone stability, which is a noble goal. The problem is that there are some gray areas as well. For example, applications that contain profanity are regularly rejected (including dictionaries). Ok, maybe we can overlook that. Then there are apps that are rejected because they might use too much of AT&T’s bandwidth, like the sling player. Other phones on AT&T have the sling player, but fine, maybe we can overlook that too. Then there are apps that “replicate existing iPhone functionality”, like competing browsers such as Opera, or most recently, Google’s Voice app. Now it’s getting harder to overlook.

Our phones are less appliances, and more specialized and miniaturized PCs.

Many people, especially techies like me, don’t really see much distinction between our phones and our computers. Our phones are less appliances, and more specialized and miniaturized PCs. My iPhone basically has the same hardware as the Pentium III PC I took to college a decade ago, only it doesn’t weigh 20lbs. It runs a proper operating system (a stripped down version of OS X in fact), and has much of the same software and applications that I use on my desktop. For all intents and purposes, it is a PC in an ultra mobile form factor (PC here being the general term for a ‘personal computer’, not necessarily a Windows computer).

So imagine if Microsoft said “you can create any app you want for Windows, but it has to go through us first for Quality Assurance.” And then imagine that MS rejected Firefox because it duplicated the built in functionality of IE, or it rejected violent games due to ‘morality standards’, or it rejected applications because they might use too much of your ‘unlimited’ DSL bandwidth, or in some cases, arbitrarily rejected your app for vague and unexplained reasons? It’s hard to imagine that going over well, but that’s exactly what Apple is doing with the iPhone App Store.

A lot of developers have poured a ton of money into development for the iPhone, and a lot of cool apps have been released (I’m raving about the USAA banking app today). But the recent decisions by Apple must be giving developers serious pause.

g1-hpp

Google Android (G1)

It’s one thing to invest a couple hundred thousand dollars into an app and then not have it sell well, it’s a whole other issues to invest that kind of money and not be able to sell it at all because Apple won’t allow it into the store.

Meanwhile, Google has built their own mobile OS, Android, on open source principals. Anyone can develop any app for it, no different from a desktop computer. Android runs on a variety of different devices, across multiple carriers, and compared to the iPhone is looking like a much more free environment.

Certainly AT&T is a big part of the problem – and is taking it’s fair share of heat as well. But Apple should be holding the cards here – their exclusivity contract is nearly up, and they don’t have to play by AT&T’s rules.

Solutions

Developers can then submit their apps for review to get into Tier 1, but know that they can always fall back to Tier 2 if there’s a problem.

I don’t like to be critical without a proposed solution, so here is what I would propose Apple do to calm the revolt. First, don’t renew the exclusivity contract with AT&T. If they’re influencing decisions here, give users the option to use a carrier who won’t. Second, create a tiered App Store. Tier 1 is what we have today – verified software by Apple, no adult content, low risk, with extra functionality like push notifications. Tier 2 is what is available on the black market of jailbroken iPhones today – lacking certification and quality assurance, but providing users and developers the freedom to connect as they should in the computing world, without a middleman. Enable parental controls so that parents can configure phones for their children that only access Tier 1, but we adults can assume the risks of Tier 2. Developers can then submit their apps for review to get into Tier 1, but know that they can always fall back to Tier 2 if there’s a problem.

Apple is exposing a soft underbelly here that you can bet Google and Microsoft will be aiming for. Google’s alliance with Apple is all but dissolved at this point, with Google going it alone with their own devices. Microsoft has some new things cooking with Windows Mobile 7 as well, and it’s getting harder to arbitrarily hate everything Microsoft. Apple needs to get it’s act together or they will find themselves as the anti-competitive villain they claimed to be fighting against.

Tips and Best Practices for HTML Emails in Outlook 2007, 2010.

While office_2010_outlook_startupMicrosoft has been making great improvements on the web standards front in IE, they’ve been seemingly rolling backwards with HTML support in Outlook. For the 2007 version they switched from the IE rendering engine to the Word engine (apparently for security reasons), which is completely crippled compared to IE. For anyone who does email marketing and designs and codes attractive HTML emails, this decision has no doubt had you shaking your fist and cursing Bill Gates’ mother.

We were all hoping that for the upcoming Outlook 2010 release Microsoft would go back to IE, but they have announced that they are sticking with Word. The pitchforks and torches are waving, but it looks like we’ll be dealing with the Word engine for emails for many years. Even if they switch to IE for 2012, we’ll have clients using 2007 and 2010 for years. So if you haven’t yet learned the ins and outs of designing emails for Outlook, now’s the time to learn!

Forget all your best practices for CSS – go back to 2001 coding practices for an idea of where your head should be.

Mural does a lot of HTML email work for some of our bread and butter clients, and we literally have thousands of campaigns in our archive dating back many years, so we have a lot of experience testing for lots of different clients and learning the various techniques needed for each. With Outlook 2007 we have our most challenging client, and in general if your email works well in Outlook it’s probably working well everywhere.

Limitations

The first thing you need to understand when designing and coding for Outlook is that the usual rules do not apply. Forget all your best practices for CSS – go back to 2001 coding practices for an idea of where your head should be. Note that some of these things might work in Outlook, but I advise against them because in my experience they do not work consistently, and it’s embarrassing to get an email back from your client asking why it broke when they sent it, so just trust me.

General “best practices” for Outlook 2007:

  • Forget about separating content from design with CSS. Build your emails with tables and spacer gifs. No divs. See example below…
  • No background images, only background colors. If you want to have HTML text over an image area, you’ll have to make the area behind it a solid color so you can slice it out of the layout.
  • You can use basic styles, but use them inline attached to each tag, not in the header. Don’t get fancy – a lot of what works in a browser will not work in Outlook.
  • Don’t use padding, only margins. Padding does not work properly.
  • Keep your code as simple as possible.
  • Optimize your email for ‘images off’ mode, which is likely to be default for your recipients. If you don’t define a height for images, they’ll collapse vertically, moving your text content up. Do specify width though.

Lets take a look at a sample email:

webmetrics-email

View the HTML version for code.

Lets take a look at the first paragraph of HTML text for an example of how the email should be coded for outlook.

webmetrics-zoom

<tr>
<td width=”20″>
<img src=”http://client.muralconsulting.com/neustar/7ways/spacer.gif” width=”20″ height=”1″ border=”0″ alt=”" />
</td>
<td bgcolor=”#ffffff” width=”530″>
<p style=”font: 14px/20px Arial, Helvetica, sans-serif; color: #002765; margin-bottom:10px;”>
<strong>Budgets are tight, yet your customers’ demands for high performance from your online service are growing.</strong> The good news is that you don’t need to spend a lot of money to make your web applications faster&hellip; if you know where to look!</p>
</td>
<td width=”20″>
<img src=”http://client.muralconsulting.com/neustar/7ways/spacer.gif” width=”20″ height=”1″ border=”0″ alt=”" />
</td>
</tr>

Note that we’re using tables to define the layout, not css, and we’re reinforcing cells with spacer gifs. All the styling is attached inline to the individual <p> tag itself, and not as a global p. Also note that we’re controlling vertical space with margins, not padding.

While many web designers and coders frown on tools like Dreamweaver for not providing accurate design modes for advanced CSS, Dreamweaver is actually a really good tool for emails, and can display them quite accurately. It was originally designed for building websites before the semantic web was popular, so it does old-school well. It definitely helps when building tables, so don’t be afraid to use it.

Testing your emails

There are three ways to test your emails: Sending it to yourself on a lot of different computers and clients, using a testing service like Litmus, and the ‘send page as email’ trick (Windows/IE only). While I don’t really recommend the former for practical reasons, the latter two are essential.

If you’re  using windows and have Outlook on your machine, the quick and dirty way to test is to open your email in IE, and then go to File > Send > Page by email. This will open a new Outlook email and insert the code faithfully into it. Don’t trust the compose view though, send it to yourself, and then you can see how it will appear when it arrives.

If you’re a Mac user, that will not work for you, and you’ll probably want to use a browser testing service that includes email testing. We use Litmus, which lets you test emails in a dozen web and desktop clients to ensure that it works properly. It also lets you test things like the fold, and turning images on and off. It’s expensive, but if you do this a lot it’s worthwhile. HTML clients can have even more compatibility issues than their browser counterparts, and can require just as much testing.

Certainly this is not an exhaustive article about all the ins and outs of Outlook emails, but it should give you a good working foundation. Like anything on the web, you’re bound to find more quirks, but following the guidelines here should get you 90% there.

Why IE6 isn’t dead yet, and how you can twist the knife.

The web is abuzz lately with mounting campaigns against IE6. Web designers and producers have been moaning about it for years, but the reality has been that 20%+ of internet users have still used the old browser, avoiding the upgrade to 7 for whatever reason. There’s a reason it’s stuck around so long, even now, 8 years later, and a twitter campaign is not going to kill it. I do have a suggestion for easing development pain, though, and ultimately ending the bane of IE6.

IE6 Must Die

"IE6 Must Die"

Before we can kill IE6, we need to understand why it’s still alive. Your mother already upgraded, she’s not the problem anymore. The problem is IT managers at really big companies. For the sake of personification, we’ll call them ‘Chet.’ Many years ago when IE6 was released, Microsoft added a lot of proprietary features that turned the browser into a development platform. Netscape had been defeated, and IE had over 90% browsershare. A lot of IT departments took great advantage of this, building custom software for their companies, intranets, and so on. But then we had a bit of a revolution on the internet – a huge shift toward open source and standards based development practices that would work across all browsers. The rise of alternative browsers like Firefox and Safari has fueled this trend, forcing developers to take other browsers into consideration. Even Microsoft has joined the game, abandoning their proprietary code in favor of standards.

The remaining IE6 users are not voluntary IE6 users, but shackled IE6 users. Thanks, Chet.

Unfortunately, Chet has been a bit oblivious to this trend. Chet is old-school, and he expects the software that his team developed to last a long time. It’s expensive to rebuild these things, especially after they have years of additional code stacked on top of them. Chet wasn’t really forward looking, and didn’t expect the browser world to leave him behind. No problem though – as long as we mandate IE6 for all users in the company and never upgrade, nothing breaks. Nice thinking, Chet.

I have first hand experience with these companies, and there’s more of them than you think. And they’re really big ones,  with tens of thousands of employees, all using outdated legacy software built on top of archaic software, virtualized and VPN’d. The remaining IE6 users are not voluntary IE6 users, but shackled IE6 users (as Digg recently discovered). Thanks, Chet.

So what can we do about it?

At Mural, we would love to drop support for IE6, but when your clients are companies where Chet works, you can’t build a site for them that nobody at their office can use. I was working on a proposal today in fact for a certain giant internet retailer, and of course we get to estimating production and have to start thinking about how much time we expect we’ll need for IE6 debugging. We had been toying with the idea of leaving IE6 out of our SOW, thinking that the main audience for this site probably would be on IE7 or greater. But instead of just leaving it out and having the inevitable conversation about it later when they insist they need it, we decided to take another approach: make it a line item.

Instead of a line item for all development/production, make another line item for ‘legacy IE6 compatibility.’… For clients, it forces them to consider exactly how much that 5-10% is worth.

The reason most clients insist they want their sites to cater to the remaining 5-10% of users using IE6 is that they don’t really know how much development time that adds to their project. So make it real for them. Instead of a line item for all development/production, make another line item for ‘legacy IE6 compatibility.’ If you’re anything like us, that line item probably adds 30% or more to the cost. For clients, it forces them to consider exactly how much that 5-10% is worth. More importantly, it creates awareness inside those companies that Chet is costing them money, and is going to continue to cost them money as long as his systems are dependent on IE6. It helps build an ROI case for updating their systems.

So complain all you want on blogs. Add an anti-IE icon to  your twitter avatar. But if you really want to help make a difference in the campaign against IE6, it’s up to you (agencies, designers, developers) to make the case to your clients to move forward, and it’s up to you (clients and employees at large companies) to go tell Chet how much he’s costing you.

Update: TechCrunch points out a new campaign pointed at IT managers, Hey IT!

Is Microsoft kinda cool now?

Windows 7 pre-orders are flying off virtual shelves. Sony’s PlayStation 3 has lost the market to the Xbox 360. Some Microsoft commercials are being pulled because they’re too racy, and Apple is demanding they pull others. The ZuneHD actually looks cool. Natal is hailed as revolutionary. What the hell is going on?

Is Microsoft cool all of a sudden?

It’s been good sport for years to pick on M$ for being incompetent, for failing to be innovative, for being the makers of software that we didn’t really want, but reluctantly were forced to use for one reason or another. Apple wins creatives, Linux wins nerds, and Microsoft wins those that don’t know any better.

A designer on my team who has always been a Mac user installed Windows 7 on his PC this week, and conceded that it “blew him away” and had him considering a switch to Windows.

But there’s mounting evidence that that’s changed. Microsoft has had a string of wins lately. It’s been a long fight – for example, only recently has it become socially acceptable to have a Zune. But we have at least two years without any Bob-level catastrophes (those who would argue Vista qualifies probably have never used it). I had a chance to visit the Microsoft Technology Center in Las Colinas recently, where they had a Surface computer among other toys, and it drew lots of positive attention. People really loved playing with it. A designer on my team who has always been a Mac user installed Windows 7 on his PC this week, and conceded that it “blew him away” and had him considering a switch to Windows. That is a big time shift.

So maybe Microsoft has proved again that you should never bet against them. Despite their size, they have managed to be a real leader in the technology industry, pushing us in directions that hip little startups haven’t been able to.

So what say you?