⇥ The story behind TEK·X’s Charter Ticket program

December 29, 2009
No comments
 
⇥ Permalink

Unless you’re living under a particularly large rock, you’ve probably heard that we are doing a special promotion, which we call Charter Ticket Program, that makes it possible to purchase a full-experience TEK·X ticket—valid for both the main conference and tutorial day—for $650. The catch (if you want to call it that) is that the special is only valid until we announce the schedule—so, effectively, you need to put a lot of trust in our ability to attract top speaking talent and stitch together the schedule of a conference that you will want to attend.

Given the incredible response that our call for papers has received—over 9 proposals for each speaking slot—I have no doubt that we will be able to create a schedule rich in variety and topics that are very relevant to PHP developers from all walks of life. If anything, we’ve had a really hard time finding room for all the talks that we wanted to be part of TEK·X and, although I believe that my colleague Keith Casey will have some hopefully welcome news on this subject to share in a few days, we’ve run out of room much sooner than we ran out of good talks to approve.

The reasoning behing the Charter Program is very simple: we recognize that there is a core of attendees for whom our conferences have become an opportunity to meet up with their peers and learn what’s happening in the PHP world. In fact, there are some who have been to all of MTA’s conferences, so we felt that they deserve a little some extra special.

The Charter Program is designed specifically for these folks: at $650, the current price of the tickets is almost half the price of a regular ticket at the door—and $350 less than the lowest early-bird price. It is the lowest price you will be able to secure a spot at TEK for—an opportunity for a great deal if you put a little faith in the folks who have brought so many memorable events to the PHP community.

To take advantage of the Charter Ticket Program and save as much as 45% over the price of a full-experience ticket, you must sign up for TEK·X before January 6th, 2010, when our schedule will be officially announced.

⇥ TAB’s new layout

December 15, 2009
11 comments
 
⇥ Permalink

Over the past few weeks, I have toyed with the idea of giving The Accidental Businessman a new look. I don’t dislike the current theme, but, as I mentioned in an earlier post, it’s a bit too “angular” for my taste.

Over the last few days, therefore, I stole a few minutes of free time here and there to come up with a new design. It turned out to be an interesting experience, both because on this site I have a degree of freedom with experimentation that I can’t really afford anywhere else (not necessarily a good thing) and because of the technical challenges of realizing my vision for the site on current browsers (the site works with IE8, FF3.5 and Safari 4).

Maximum space

My first concern was to maximize the space available on the screen for viewing. Screen reading is quite difficult—ironically because there is usually much more space available than the comfortable reading angle that the human eye can accommodate.

The default solution to this problem is to confine the reading area to a small horizontal section of the screen; this works, but it’s also very inefficient: it’s the physical-world equivalent of printing a sixty-character line of point-10 font on an A2-size sheet: inefficient, wasteful and difficult to handle. The way I see it, the typical web layout works if you like scrolling. Me, I like to open a webpage, lean back on my chair and read.

Speaking of real world, it occurs to me that newspapers have already solved this problem—and, in so doing, have established a number of rules to make the task of as much space available as possible in a manner that is both efficient and aesthetically pleasing. Therefore, the new TAB layout attempts to mimic the look of newsprint as much as possible, keeping in mind that, of course, my blog is not printed on paper (therefore, some concessions to life online—such as leaving some room for comments).

Layout

The new layout makes heavy use of Javascript—according to my statistics, practically all my visitors have a Javascript-capable browser and leave JS enabled, so I have absolutely no problem with taking advantage of a bit of scripting to achieve my goals¹. Through the magic of jQuery, the content is automagically laid out across multiple columns—their number determined based on the site of the browser window—and paginated across multiple screen, which you can navigate without a browser refresh².

I decided to keep a comment area on the right-hand side only so that comments can be visible at all times. I am unsure as to how good this is—on a screen big enough, it seems to work fairly well, but at lower resolutions it robs much of the content area from the rest of the article.

Typography

The proper use of type is as important on the web as it is on paper—even more so on the former, perhaps, because of the limited resolution at which we are forced to view type online. Unfortunately, typography is often completely disregarded by web designers—I’m not sure why this is, but the focus seems to always be on graphical elements that, at the end of the day, have little or no importance: if your header looks colourful and has all sorts of bells and whistles, but people can’t read what in the body of your site, they are unlikely to be very happy.

In choosing a typographical design for TAB, I started from the most excellent Baseline CSS Framework, which, much like newspaper typesetters, uses a simple set of rules to ensure that multi-columnar text will line up properly on the font’s baseline. The framework’s setup is actually fairly simple: each style is an integer multiple of the base font size and line height, resulting in a text flow that lines up perfectly across multiple columns—in fact, as long as every element on a page follows the same rule, images and practically any other type of content can be added to an article and still maintain the same baseline alignment.

The script also support a very basic form of orphan and widow control, so that a heading should never appear either at the end of a column, or (even worse) “broken” across two columns. I am investigating ways to improve on this particular piece of technology to improve paragraph control well beyond the basics, but I fear that some of the calculations required will slow things down too much. Unfortunately, the level of control that CSS affords over sub-paragraph data (at least in CSS2, which is the target here) is not quite as good as it could be.

Finally, you will note that the text in the columns is justified. I usually dislike full justification in a browser because hyphenation is not a possibility and, therefore, there are often unsightly gaps between words that make reading a challenge. However, using the most excellent Hyphenator package by Mathias Nater, I was able to add hyphenation as well, which closes the gaps between words and makes text flow very nicely, providing both a pleasant look and a practical, readable format that should be easy on the eye.

Limitations

The theme is still quite rough around the edges. First of all, the contrast is not quite where I’d like it to be—I feel that the design is easy on the eye, but could probably use a little more punch. I’m not much of an expert on colour theory, so I’ll probably be nagging my good friend Arbi, whose worst day was the day I acquired a copy of Photoshop, for some advice. The layout of pages other than main articles needs some adjustment as well.

From a technical viewpoint, the method used to lay out the columns is a bit brutal—I am essentially cheating by duplicating the content over and over and only showing selected portions of it as appropriate—which works visually, but makes things like cutting and pasting a challenge³. Rendering performance under Internet Explorer is also a problem—although that’s something I think can be fixed by optimizing the Javascript code a bit.

Thus, think of this as an experiment in the works. I welcome your comments, suggestions, bug reports, and so on. I do, at some point, plan on making this an actual WordPress theme—it’s still too “Tabinized” for public consumption at the moment, but feel free to borrow, copy and use at will; none of the code or stylesheets on this site are minized or obscured and they are explicitly released under a BSD-like license (unlike the content itself).

Photo credit: A Stack of Newspapers, by DRB62

¹ Of course, scripting only affects the layout visually and not its functionality or content—thus, if you use an assistive device, such as a screen reader, the site should remain easily accessible.

² This is my idea of “good pagination.” I hate when sites split content across multiple pages as a way to force reloads so they can serve more ads.

³ CSS3 is going to make this type of layout much easier, but support for flowing controls is still a way off in several browsers.

⇥ Microsoft is and Microsoft does

December 9, 2009
4 comments
 
⇥ Permalink
Elephpant does Redmond!

Elephpant does Redmond!

Every year, Microsoft organizes a small event, called Web Development Summit, to which they invite a few members of the PHP community. The WDS is a good opportunity to exchange information with Microsoft, learn about new products they are working on and generally catch up with a number of friends from the community. Several others have already posted their impressions of this year’s meeting, to which I add my own.

Good stuff

Microsoft’s attitude towards open-source has changed considerably over the last few years—a fact that is finally starting to permeate through its historical insistence on vertical integration in favour of more willingness to integrate its products with other platforms. At the end of the day, Microsoft has realized that the key to improving adoption of Windows Server—and, more importantly, stemming the migration away from it—is to play nice with other technologies.

More importantly (at least from my perspective), more people within Microsoft are finally realizing that working within the open-source world requires a shift in the way they establish relationships and position themselves. There are some within the company that have realized this a long time ago and have, as a result, established some strong ties with the PHP community; it’s good to see that this frame of mind is finally permeating through the organization and changing the way it approaches its dealings with us.

The willingness to look beyond its own walls is also making it possible for Microsoft to come up with some truly innovative and useful products. One of the most impressive ones that I saw during the WDS is Expression Web‘s SuperPreview¹, which truly simplifies the process of side-by-side comparison between browsers, including multiple versions of Internet Explorer. I was teaching a seminar of HTML and CSS at a client just yesterday and had an opportunity to show this product to them. It was received with a chorus of wows, followed by significant gnashing of teeth when they realized that their organization’s default Windows install wouldn’t support it.

I also truly appreciated the fact that the evangelists who were at WDS took the time to really drive home the fact that “Microsoft” is not one entity, but, rather, a conglomerate of many different divisions and people—and, therefore, of many different opinions and strategic views that are bound, at times, to be in conflict with one another. To anyone who has had the opportunity to work for (or with) a large organization, this is an obvious fact—but many who are used to smaller work environments don’t fully understand the complexities of interacting with such a large base of coworkers, each with their own priorities and strategies (I always chuckle when I hear someone start a sentence with “You Microsoft guys need to…”).

Finally, I had the pleasure of leading a ten-minute discussion on the status of the PHP community, which, judging from the reactions that it received, was a cathartic experience for some people. I took advantage of the unusual convergence of members from various PHP-related groups, including Drupal, Joomla and WordPress, to point out that it might be opportune for all of these communities to intermingle and work together with the “core” PHP community towards common goals to ensure a good exchange of ideas. After all, what comes down the pipe from core will eventually be of benefit (or not) to anyone whose application lives downstream, so a feedback channel in the form of conversations and participation is going to be essential to the health of the entire PHP ecosystem².

Not so good stuff

The whole point of the WDS was to give Microsoft an opportunity to present their current ideas to a small focus group so that they would have an opportunity to revise and focus their message before presenting it to the world at large; therefore, it would be inappropriate for me to comment specifically on the areas for improvement that we saw.

Suffice it to say that some divisions inside Microsoft are still finding it difficult to let go of the no longer appropriate view of open-source communities are a ragtag group of renegades intent on not-so-subtly subverting the commercial software landscape. By my own guesstimate-based account, the 40 or so people at WDS directly or indirectly represented at least a good $100M of annual sales (the number actually jumped by several hundred millions halfway through, but I’m not counting that), all made possible by the use of open-source software. These people are not trying to make a philosophical point—they are simply trying to achieve specific goals with the best tools at their disposal. Microsoft employees simply need to learn to see us as partners, and not as gifted amateurs with a source-code fetish.

By the same token, if we decide to engage with companies like Microsoft, it’s important to make an effort to understand the unique challenges that they must face, internally and externally, in order to work with us. Obviously, we can’t solve their problems—but if we don’t even bother finding out what they are, we are not being good community citizens, either.

Disclosure: Microsoft is a customer of both MTA and Blue Parabola, and they paid most of my expenses to attend the WDS.


¹ Of course, SuperPreview (which, to me, is the killer feature in Expression Web) is not even listed in the top-three features on the product page. Disconnect, anyone?

² On a personal note, I was happy to see that my ability to drive an entire room full of people up the wall in ten minutes or less has not waned with the years. My intention was to stir emotions—and that’s exactly what I accomplished.

⇥ How to encourage piracy

December 7, 2009
9 comments
 
⇥ Permalink
The copyright industry is somewhere around these parts.
The copyright industry is somewhere around these parts.

As I write this post, I am comfortably slouched on an easy chair in a Seattle area hotel, a guest at Microsoft’s Web Development Summit (about which I shall write more in a future post). Like most visits to the States, this means a stop at Fry’s—a geek’s equivalent of Willy Wonka’s chocolate factory, with wall-to-wall electronic candy, from computers to consoles, from DVDs to floppies (yes, they have some of those, too).

Slave to my own customs, therefore, I joined my friends Eli and Rafael for a trip down to the Electronic Mecca with the idea of finally purchasing an electronic book reader—I’ve wanted one for a while, and now that php|a has an all-new format, we want to focus on supporting these devices, which we think are the way to go looking forward into the future. Translation: I finally had an excuse to get the eReader past my wife (who will probably read this post and promptly strangle me).

I ended up purchasing a Sony eReader Touch Edition. As the name implies, this device combines an ePaper screen and a touch-based interface; I don’t intend to review the device here, other than to say that the screen doesn’t quite have the contrast ratio of decent paper stock (in fact, it’s probably inferior to pulp paper), and the whole user interface seems to always stop one step short of a good UX (plus, the device has no wireless connectivity, which at this point in time is simply inexcusable). Nevertheless, the device does provide a really good reading experience, particularly when you consider that it can go for two weeks between charges and the average fiction book occupies less than half a megabyte.

What I’d like to speak about is the wonderful, wonderful feelings that purchasing content for this device has left me.

The store that almost was… not

I don’t think that you’ll be surprised to hear that the first thing I wanted to do, upon unpacking my new toy, was to get some content for it.

The folks at Sony sure must be falling off their chairs, however, because I simply couldn’t get anything. I had fallen in that DRM Neverland that is purchasing a book from the Canadian store—with a Canadian credit card tied to a Canadian address—while within the United States. In fact, the store told me so—after I had dug my credit card out of my pocket and typed in all my information: “You cannot change your method of payment in a country other than your country of residence.”

There’s a finality, a sort-of “what kind of stupid shenanigans are you trying to pull” attitude to this statement that just drives me up the wall. Why shouldn’t I be able to buy a book from the online store dedicated to my country (which, in itself, is a curious idea to be found on a worldwide network), with a credit card that was issued in the same country and is registered to an address which is, itself, in the same country?

Of course, I understand why this is: rights management. Despite the fact that the US dollar is essentially at par with its Canadian counterpart, we regularly pay much higher prices for books (among other things) than our friends south of the border. Distribution of content in our country is regulated by a government that is intent on ensuring that our cultural heritage is not overrun by Americans—in itself a rather curious attitude, considering that so many Canadians are first-generation immigrants and therefore don’t have a shared heritage to start with. Furthermore, book rights (much like movie rights) are routinely handled by different entities across borders and, obviously, each wants to make sure that it can maximize its ability to take advantage of its captive market.

Of course, I hope that you won’t mind me saying that this line of reasoning has been pulled straight out of the digestive system of a cow by the copyright industry. They are the ones who insist on placing impossible constraints on the management of content rights—and they are the ones who constantly find themselves at odd with simple, plain reality. In other words, they have created a problem—their problem, not my problem—and the only solutions they come up with end up victimizing the law-abiding user—me.

The “to copy is to steal” mantra that the idiots from the copyright lobby continue chanting is so misleading you could put a tail on it and call it a weasel. Here I was, credit card in hand, ready to make a purchase—nay, credit card details already entered on site and purchase already made, as far as I was concerned—and they won’t take my money… why? Because my IP appears to be assigned to another country? It’s the equivalent of walking into a grocery store and being denied the purchase of milk because I look like I might be from out of town. Their legal choice removed, guess what honest people do—and they don’t even feel remotely guilty about it.

I’ll say this: when we removed password protection (which is not a form of DRM, as I have tried to explain multiple times) from our publications, our sales actually went up. I am glad we did. I am glad our customers pushed us to do it and didn’t let us off the hook until we would.

Cost vs. “cost”

As I have said in the past, DRM is an endless battle against an imaginary foe. The content industry is chasing after windmills—and the worst part is that they actually believe they have an enemy.

Not too long ago, I had a brief argument on Twitter with Charles Arthur, the Technology Editor at Britain’s Guardian newspaper. I enjoy reading Mr. Arthur’s work, which, of course, made me all the madder when I saw him reporting this statement:

The Entertainment and Leisure Software Publishers’ Association, ELSPA, which represents the video games industry, says that criminal games copying and other illegal activities cost the industry more than £750m annually.

I challenged this and was frankly disappointed that Mr. Arthur’s answer was that he wasn’t making the claim—rather, the ELSPA was. Technically, that’s clearly correct, but that’s a statement that just begs for some questioning that I would think a journalist should want to undertake.

If you ever happen to be overly bored and decide to look at the financial statements of any public corporation that trades primarily in intellectual property, I challenge you to find a line item that says “costs due to piracy.” Go ahead, try—you won’t find any.

Don’t worry, though; through the magic of common sense, I can tell you exactly how much money piracy costs to the entire industry: zero.

You see, in accounting—which is what companies use to track and report their financial positions—cost is essentially equivalent to expense: the money a company spends to produce or acquire something. Piracy, therefore, is not a cost—because the company cannot spend money that it doesn’t have in the first place. Their claim that piracy costs them hundreds of millions of dollars a year is a bit like me claiming that not getting run over by a truck while crossing the street earlier today cost me hundreds of thousands of dollars in insurance claims.

That’s right—the copyright industry is very cleverly using a concept that is proper in economics—where “cost” is the value of an opportunity that has been discarded in favour of a different alternative—in a context where the subject is accounting. With this clumsy sleight of hand, they have created a financial liability that cannot be reported on their books (not without some serious consequences, at least), but that looks really good in print.

The simple reality is that the industry knows exactly how much piracy costs them: nothing. What they don’t seem to know, however, is what combating it is costing them: it has created a generation of content users that are completely disillusioned with the value of intellectual property because they are constantly presented with a set of facts that have been gracelessly distorted to present a picture that doesn’t stand up to the most basic scrutiny.

Good luck staying relevant.

Photo credit: Jack and Jill Windmills in Sussex by david.nikonvscanon