For those of you still following our blog, we're moving our Halloween-related content to a new location. This feed should still work, but the new home for our Halloween efforts will be at http://carnivalofsoulsnm.com. I've updated the site with our 2008, 2009, and 2010 content, so if you haven't seen what we've been up to, now is the time to check it out - there's some great stuff we've added about our first walk-through haunts.
In addition, we've updated our ImaginEERIEing.com site.
Enjoy!
Saturday, March 24, 2012
Wednesday, October 27, 2010
Adobe wakes up
THIS should have been Adobe's first public response to Apple dropping Flash support. It's an HTML5 animation editor (in the prototype stage) called "Edge".
If they had announced this when Apple publicly declared they were going to drop Flash support, instead of posting petulant rants about how Apple is doomed as a result, Adobe would have looked forward-thinking, professional, capable, and supportive of their users with whatever technology they choose to deliver to. It would have saved them a lot of bad press, and it wouldn't have fostered an Apple vs. Adobe mindset (or a "dang it, I'm going to have to choose or double my work, aren't I?" mindset) among its customers.
This is the first thing to come along in years that has given me hope for Adobe's product strategy. With the standout exception of the excellent Photoshop, Adobe has been nothing but disappointing with its product decisions of late. But this is smart; it's going where the web developers are going instead of trying to drop anchor and keep us where we are for as long as possible.
Gotta give kudos to Adobe on this one; I'm already a customer of this product, if they can deliver it before a compelling alternative emerges.
Tuesday, October 12, 2010
The Rosetta Dongle
I just rage quit Lightwave before even getting it installed.
All I wanted to do was use Lightwave on my OSX laptop without installing Rosetta. Not such an outrageous request, given that OSX is a supported platform, right? I have a registered copy that ran fine before updating my system software, but now I don't want to install Rosetta - I want to run it under straight-up OSX. So I download the updater files, and I'm all paid up and everything, and I've even got my hardware dongle plugged in. (Seriously, what is this, 1996?) I run the installer. It installs the OSX version. Almost there!
Then I get this message: "Donglecheck requires Rosetta to run. Want to install it now?"
You know, if I wanted to install Rosetta, I wouldn't bother downloading the OS X update, now would I?
NewTek, if you're going to make my life difficult and use separate programs to enforce and/or unlock your clumsy, draconian DRM, at least keep them up to date. Don't make me install Rosetta for the sole purpose of unlocking your software (that I've already unlocked!) so that I don't have to run it under Rosetta.
That's worse than having no OSX version at all - at least then, I'd be installing Rosetta for some real purpose.
Sadly, this is not an isolated frustration - it is indicative of the software NewTek ships: haphazard, buggy, obtuse, nonsensical, poorly-thought-out software running on the fumes of long-passed greatness, all protected by paranoid, burdensome DRM disproportionate to the value of the software it protects.
I make purchasing decisions about 3D software for our multimedia studio. I'm going to be making a different choice for 2011.
All I wanted to do was use Lightwave on my OSX laptop without installing Rosetta. Not such an outrageous request, given that OSX is a supported platform, right? I have a registered copy that ran fine before updating my system software, but now I don't want to install Rosetta - I want to run it under straight-up OSX. So I download the updater files, and I'm all paid up and everything, and I've even got my hardware dongle plugged in. (Seriously, what is this, 1996?) I run the installer. It installs the OSX version. Almost there!
Then I get this message: "Donglecheck requires Rosetta to run. Want to install it now?"
You know, if I wanted to install Rosetta, I wouldn't bother downloading the OS X update, now would I?
NewTek, if you're going to make my life difficult and use separate programs to enforce and/or unlock your clumsy, draconian DRM, at least keep them up to date. Don't make me install Rosetta for the sole purpose of unlocking your software (that I've already unlocked!) so that I don't have to run it under Rosetta.
That's worse than having no OSX version at all - at least then, I'd be installing Rosetta for some real purpose.
Sadly, this is not an isolated frustration - it is indicative of the software NewTek ships: haphazard, buggy, obtuse, nonsensical, poorly-thought-out software running on the fumes of long-passed greatness, all protected by paranoid, burdensome DRM disproportionate to the value of the software it protects.
I make purchasing decisions about 3D software for our multimedia studio. I'm going to be making a different choice for 2011.
Monday, August 23, 2010
Okay, this is the geekiest thing I've ever done
I've done some geeky things in my day, but then there's today.
Today, in my sci-fi tabletop roleplaying game I'm refereeing, that I wrote the rules to myself, I let my players use their iPads or iPhones to connect to a web application I wrote which emulated the actual sci-fi personal data assistant their characters use in the game world.
Let me reiterate this so it sinks in. I wrote a web application for fictional people to use on fictional devices. For a sci-fi tabletop roleplaying game. I am geek.
Here's the thing, though - it was a hit! The campaign is about unraveling a mystery about a murdered friend in a dystopian future, and this allows the players to investigate, analyze, and explore on their own, in a way that evokes the setting. The web app tracks the leads that the characters can follow up on, provides background information about the game world, and gives them a way to "receive data files" from characters. For instance, I was able to drop in new leads on-the-fly using my own iPad as they appeared in the story. It worked really well; the players were using it practically the entire time.
In fact, they're requesting new features for their in-the-game-world PDA. I'm about to get even more geeky - I'm going to be a fictional software developer responding to in-game-world software update requests... Gah!
Today, in my sci-fi tabletop roleplaying game I'm refereeing, that I wrote the rules to myself, I let my players use their iPads or iPhones to connect to a web application I wrote which emulated the actual sci-fi personal data assistant their characters use in the game world.
Let me reiterate this so it sinks in. I wrote a web application for fictional people to use on fictional devices. For a sci-fi tabletop roleplaying game. I am geek.
Here's the thing, though - it was a hit! The campaign is about unraveling a mystery about a murdered friend in a dystopian future, and this allows the players to investigate, analyze, and explore on their own, in a way that evokes the setting. The web app tracks the leads that the characters can follow up on, provides background information about the game world, and gives them a way to "receive data files" from characters. For instance, I was able to drop in new leads on-the-fly using my own iPad as they appeared in the story. It worked really well; the players were using it practically the entire time.
In fact, they're requesting new features for their in-the-game-world PDA. I'm about to get even more geeky - I'm going to be a fictional software developer responding to in-game-world software update requests... Gah!
Monday, August 16, 2010
New Sci-Fi Campaign
I started refereeing our usual Monday night game tonight, picking up where we left off at the beginning of summer.
Unlike my usual medieval fantasy fare, I'm branching out into new, unfamiliar territory: sci-fi. Thinking back on my refereeing history, I cannot remember running a campaign in an original sci-fi world, and I certainly never refereed sci-fi of the stripe I'm running now: "hard" sci-fi with a dark edge to it. Back in the day, I played Metamorphosis Alpha, Gamma World, and Star Frontiers (sadly, I never tried Traveller), but to be honest, these are just fantasy games with sci-fi trappings. They don't cleave closely to what sci-fi is really about: exploring who we are and where we are going as a society. Those other games just replace orcs with aliens and dragons with bugblatter beasts, and call it a day.
I'm going for realism, plausibility, and social commentary with this campaign, and even though we've only played one session, I think I'm off to a good start, but man, is it difficult. I'm way out of my comfort zone here. Even though both fantasy and sci-fi worlds are fictive and require answering questions on the fly about geography, social norms, economics, technology, etc., the bar is higher when it comes to sci-fi, because if it's going to be believable, there has to be two things that you don't need in fantasy: (a) a plausible path from "now" to the time the game world is set in, and (b) enough creative looking ahead to make it sci-fi without becoming ridiculous. Magic in a fantasy setting, it turns out, provides the would-be referee with a lot of crutches, because you can literally get away with anything when magic is in the mix. To a certain extent, you can do that with sci-fi technology, but the bullshit detectors of the players is a lot harder to get around when you're trying to achieve realistic technology.
I may have bitten off more than I can chew. The fictive universe of this new campaign is not Star Wars or Star Trek. It's as realistic as I could make it while still allowing some of the sci-fi tropes I wanted to bring in, such as visiting other star systems on some kind of reasonable time scale for telling stories. There are no alien intelligences in this game world - humans are all there are. Life, it turns out, is (relatively) abundant in the universe, but the vast majority of it is bacteria, algae, and the like, with a rare planet boasting more complex forms. I felt good about taking this approach, thanks to recent discoveries in Astronomy, but it still omits a LOT of the standard sci-fi storylines. Mars needs women, but it's just in the usual way that Earth needs women, because humans live there now.
So your typical space opera is out, which begs the question: what are the details of what is in? I'm having to flesh out a game universe that is a lot more detailed than I usually create. Already, in this first session, even with all the thinking and prep work I did, I ran into a whole slew of questions that needed adjudication on the spot. How do people back up their data in the future? How do people share contact information? What do peoples' living quarters look like? How has law enforcement technology changed over the years? How much surveillance is there? How do people go to the bathroom (do we still use paper, or are there the "three seashells")? How has religion changed?
Ultimately, though, that stuff doesn't matter. My players are smart and in it for fun, so if I screw something up, they can handle me retroactively changing stuff if I really have to. What matters is setting a compelling challenge at the players' feet, and that, thankfully, is the same task as in any system or game world. Even with all the starfaring and high technology that is available in this new universe, it's a human story they'll be exploring: understanding the death of a beloved friend. Emotion is the hook. Hopefully, that will make the story worth experiencing for me and for my players.
We'll see if I can pull it off. Wish me luck.
Thursday, July 22, 2010
ADDED_TO_STAGE doesn't always fire
Flash development geekery ahead. This is mainly so I can remember the solution to this problem in the future, but maybe this will help someone else, too...
I was struggling with a problem in Actionscript 3 for two hours trying to figure out why some ADDED_TO_STAGE events weren't firing on some MovieClips I had added to some MovieClip symbols I was instantiating.
I had four identical symbols, all the same class inherited from MovieClip, added to another MovieClip symbol in the library. Each would register for an ADDED_TO_STAGE event in itself in the constructor, but when the parent MovieClip was instantiated and added to the stage, only the first of the four MovieClip would actually fire.
The solution? Instead of registering for the ADDED_TO_STAGE event in themselves, I registered in "this.parent", i.e., I would watch for when the parent MovieClip gets added instead of the MovieClip itself. It works, but doesn't seem right. What if I need to make the parent MovieClip a sub-clip of another MovieClip? Will it break again? And how do I remove the listener if the parent changes?
I like the concept of Actionscript 3, but in practice, I'm finding lots of gotchas that make development seem harder than it should be.
I was struggling with a problem in Actionscript 3 for two hours trying to figure out why some ADDED_TO_STAGE events weren't firing on some MovieClips I had added to some MovieClip symbols I was instantiating.
I had four identical symbols, all the same class inherited from MovieClip, added to another MovieClip symbol in the library. Each would register for an ADDED_TO_STAGE event in itself in the constructor, but when the parent MovieClip was instantiated and added to the stage, only the first of the four MovieClip would actually fire.
The solution? Instead of registering for the ADDED_TO_STAGE event in themselves, I registered in "this.parent", i.e., I would watch for when the parent MovieClip gets added instead of the MovieClip itself. It works, but doesn't seem right. What if I need to make the parent MovieClip a sub-clip of another MovieClip? Will it break again? And how do I remove the listener if the parent changes?
I like the concept of Actionscript 3, but in practice, I'm finding lots of gotchas that make development seem harder than it should be.
Wednesday, July 07, 2010
Treadsylvania is live!
Finally, the ATV safety game we created for National 4-H is live and available for the general public to play. It's called Treadsylvania, and features some fun monster-fighting action! Check it out.
Monday, June 14, 2010
This is exactly what I was afraid of
I remember the first time I heard the idea floated about "microtransactions" in gaming, the so-called "freemium" model, where instead of paying $20-$50 up front for a game, you get it for free, and then pay for small bits of content or on an as-you-go basis.
I remember thinking, "yeah, that's going to suck." Why? Because it sets up a situation where the developer's goals and the gamer's goals are at odds.
In the traditional model, the goal of the developer is to maximize fun for the gamer - the more fun the game, the more the gamer is willing to pay for it, and once the game is purchased, there is nothing standing in the way of the game developer trying to make everything as fun as possible.
In the "freemium" model, the goal of the developer is to not maximize fun for the player, but instead maximize the frustration of the player, without having them quit the game altogether, so that they are willing to pay as much as possible.
I remember trying to make this point with some fellow gamers, and being told, no, no, I've got it all wrong - it will just be used to deliver more content. In other words, it's the same model, but the framework for delivering content is free.
Well, some games may follow that model, but those weren't the ones I was worried about.
Lo and behold, I was bitten by the freemium model recently. GodFinger, by Ngmoco, for the iPad, was a casual little game with charming graphics and some fun, toy-like mechanics. My boys enjoyed watching over my shoulder as I played it. At its core, it is a "grinding" game, namely, it takes exactly zero skill to play; instead, you advance by patiently and dutifully issuing commands to your units, buying new resources for them with the in-game money they amass, etc.
Now, as with most "freemium" games, GodFinger also allowed you to buy "Awe points" with real money to skip over the things that require patience. "Instantly recharge your mana!" "Build this building now instead of waiting 24 hours!" And so on. But for the time being, I was willing to patiently grind away without buying Awe points. I saved up for a long time to buy a Deluxe Tavern, which would allow me to refresh four units at a time AND earn income while doing it. It was an expensive item, and took a long time to save up for, but after getting it into operation, it was working well.
Then a game update hit. Suddenly, all money-generating buildings began giving less money, and instead of yielding gold multiple times before needing to be recharged, would only yield gold once, and would not start on this process until they were fully charged. Moreover, you could no longer "top off" buildings, so you had to let them fully drain before recharging them, which not only made your time spent between playing inefficient, but also removed a fun gameplay mechanic wherein you could place multiple buildings together and recharge the next building with the over-charge from the first.
But worst of all, my new Deluxe Tavern now only refreshes three units, and it no longer yields income. My $2400 Deluxe Tavern now does the same thing as a $400 tent.
Now, I can see no way this update, nerfing players across the board, was done with the players' interests in mind. The effect of this update, across many changes, is to slow everything down and make mana less productiv, presumably to get people to buy more "Awe Points" with real-world cash. Heck, they even added in-game goals to award experience points for spending Awe points. This was nothing but a transparent, deliberate change to add frustration to all players to wring money out of them.
Now, lest you accuse me of being a freeloader, consider this: Awe points add nothing to the game. All they do is allow you to not wait for something to happen. The rate at which things happen in the game is arbitrary, is set by the developers, and may be changed at a whim on system updates. This is not paying for new scenarios, new gameplay capabilities, new fun. This is pure and simple throttling back the gameplay to extort money out of people. (There are a few buildings which can only be bought with Awe, but each of them has a nearly identical alternative that can be purchased with the in-game currency, so I am not counting these.) Ngmoco is not really offering anything content-wise for the money you give them; only a different speed at which things happen.
And what if I had invested some real-world cash in Awe points to buy that Deluxe Tavern instead of grinding for it? That Deluxe Tavern would have cost me $5 in real world money to purchase in Awe points. Days later, its capabilities - that which I was buying, essentially, would have been arbitrarily removed without warning or recourse. It's one thing to hold back some special premium-only game features, but it's an entirely different thing to offer players cool new in-game gadgets they can buy with real-world dollars, and then after they buy them, remove the capabilities that prompted you to buy the gadget in the first place. At this point, I'm glad I didn't buy any Awe points, and I feel sorry for anyone who did, because every dollar they spent was turned into a fraction of its in-game value with this last update.
It's also relevant to note that while the value of mana and gold you buy with Awe points has gone down, because they can do a lot less now than before, the cost of Awe points has not gone down proportionally to the value of what it can buy. All of the above might be excused if it was balancing everything across the board, even Awe, but that is clearly not the case.
Basically, this has all been a very telling (and sadly, predictable) experience with the "freemium" game model. Ngmoco is "freemium" at its worst - starting a game on false pretenses, and then slowly throttling back the fun to frustrate the poor saps who have been playing the game into buying Awe just to get an approximation of their old experience back. This is why I like to own my game instead of rent my game.
The sad thing is: this game was actually very nice. In other circumstances, I'd have given it five stars. It had excellent interface elements, beautiful graphics, a unique tone, and high production values. I'd gladly have picked it up as a for-pay game in the App Store. And I would have even dropped money on Awe points if the for-pay model was to use it to provide new content like a story mode or scenarios. But this nickel-and-dime model feels like money-grubbing, and is antithetical to the relationship between developer and player wherein both are pulling for the best overall experience.
Okay, I've ranted a lot. I do want to say that there are a few developers who "get it." I'm still convinced that a scrupulous developer can make the "freemium" model work. Examples include:
Sadly, these seem to the the exception rather than the rule.
I remember thinking, "yeah, that's going to suck." Why? Because it sets up a situation where the developer's goals and the gamer's goals are at odds.
In the traditional model, the goal of the developer is to maximize fun for the gamer - the more fun the game, the more the gamer is willing to pay for it, and once the game is purchased, there is nothing standing in the way of the game developer trying to make everything as fun as possible.
In the "freemium" model, the goal of the developer is to not maximize fun for the player, but instead maximize the frustration of the player, without having them quit the game altogether, so that they are willing to pay as much as possible.
I remember trying to make this point with some fellow gamers, and being told, no, no, I've got it all wrong - it will just be used to deliver more content. In other words, it's the same model, but the framework for delivering content is free.
Well, some games may follow that model, but those weren't the ones I was worried about.
Lo and behold, I was bitten by the freemium model recently. GodFinger, by Ngmoco, for the iPad, was a casual little game with charming graphics and some fun, toy-like mechanics. My boys enjoyed watching over my shoulder as I played it. At its core, it is a "grinding" game, namely, it takes exactly zero skill to play; instead, you advance by patiently and dutifully issuing commands to your units, buying new resources for them with the in-game money they amass, etc.
Now, as with most "freemium" games, GodFinger also allowed you to buy "Awe points" with real money to skip over the things that require patience. "Instantly recharge your mana!" "Build this building now instead of waiting 24 hours!" And so on. But for the time being, I was willing to patiently grind away without buying Awe points. I saved up for a long time to buy a Deluxe Tavern, which would allow me to refresh four units at a time AND earn income while doing it. It was an expensive item, and took a long time to save up for, but after getting it into operation, it was working well.
Then a game update hit. Suddenly, all money-generating buildings began giving less money, and instead of yielding gold multiple times before needing to be recharged, would only yield gold once, and would not start on this process until they were fully charged. Moreover, you could no longer "top off" buildings, so you had to let them fully drain before recharging them, which not only made your time spent between playing inefficient, but also removed a fun gameplay mechanic wherein you could place multiple buildings together and recharge the next building with the over-charge from the first.
But worst of all, my new Deluxe Tavern now only refreshes three units, and it no longer yields income. My $2400 Deluxe Tavern now does the same thing as a $400 tent.
Now, I can see no way this update, nerfing players across the board, was done with the players' interests in mind. The effect of this update, across many changes, is to slow everything down and make mana less productiv, presumably to get people to buy more "Awe Points" with real-world cash. Heck, they even added in-game goals to award experience points for spending Awe points. This was nothing but a transparent, deliberate change to add frustration to all players to wring money out of them.
Now, lest you accuse me of being a freeloader, consider this: Awe points add nothing to the game. All they do is allow you to not wait for something to happen. The rate at which things happen in the game is arbitrary, is set by the developers, and may be changed at a whim on system updates. This is not paying for new scenarios, new gameplay capabilities, new fun. This is pure and simple throttling back the gameplay to extort money out of people. (There are a few buildings which can only be bought with Awe, but each of them has a nearly identical alternative that can be purchased with the in-game currency, so I am not counting these.) Ngmoco is not really offering anything content-wise for the money you give them; only a different speed at which things happen.
And what if I had invested some real-world cash in Awe points to buy that Deluxe Tavern instead of grinding for it? That Deluxe Tavern would have cost me $5 in real world money to purchase in Awe points. Days later, its capabilities - that which I was buying, essentially, would have been arbitrarily removed without warning or recourse. It's one thing to hold back some special premium-only game features, but it's an entirely different thing to offer players cool new in-game gadgets they can buy with real-world dollars, and then after they buy them, remove the capabilities that prompted you to buy the gadget in the first place. At this point, I'm glad I didn't buy any Awe points, and I feel sorry for anyone who did, because every dollar they spent was turned into a fraction of its in-game value with this last update.
It's also relevant to note that while the value of mana and gold you buy with Awe points has gone down, because they can do a lot less now than before, the cost of Awe points has not gone down proportionally to the value of what it can buy. All of the above might be excused if it was balancing everything across the board, even Awe, but that is clearly not the case.
Basically, this has all been a very telling (and sadly, predictable) experience with the "freemium" game model. Ngmoco is "freemium" at its worst - starting a game on false pretenses, and then slowly throttling back the fun to frustrate the poor saps who have been playing the game into buying Awe just to get an approximation of their old experience back. This is why I like to own my game instead of rent my game.
The sad thing is: this game was actually very nice. In other circumstances, I'd have given it five stars. It had excellent interface elements, beautiful graphics, a unique tone, and high production values. I'd gladly have picked it up as a for-pay game in the App Store. And I would have even dropped money on Awe points if the for-pay model was to use it to provide new content like a story mode or scenarios. But this nickel-and-dime model feels like money-grubbing, and is antithetical to the relationship between developer and player wherein both are pulling for the best overall experience.
Okay, I've ranted a lot. I do want to say that there are a few developers who "get it." I'm still convinced that a scrupulous developer can make the "freemium" model work. Examples include:
- Ramp Champ by the IconFactory, wherein you get honest-to-god new content, artwork, challenges, and other ancillary benefits when you buy a new ramp pack.
- WarpGate HD by FreeVerse, which does let you "buy forward" in the game by purchasing a big, pointy ship, but they don't also run down the fun of the "normal" gameplay to make you want to buy it out of frustration
- Crosswords by Standalone, which lets you subscribe to premium crossword puzzle providers in exchange for honest-to-god core content. Here, the payments go to the crossword puzzle provider and not Standalone, but the pay-for-play model is still there, and offers real, tangible value aligned with the interests of the player.
Sadly, these seem to the the exception rather than the rule.
Easy Depth Sorting in Actionscript 3
I'm working on an ActionScript 3 project, and I needed a way to height-sort objects on the screen (so that elements further down the screen are drawn on top of elements further back). Thanks to a little web searching and my own hacking, here's an easy solution to the problem. It's called "DepthSort Space", and it's a movie clip that depth sorts all its children each frame. Currently, it uses bubble sort on the list, but if speed is of the essence, you could probably use some other sorting mechanism.
To use this, just make a new symbol, and set its class to DepthSortSpace (or subclass DepthSortSpace as your movie clip if you're already adding custom code for it). Then, add any objects you want to depth sort as children of this movie clip. It will handle it automatically.
package {
import flash.display.*;
import flash.events.*;
public class DepthSortSpace extends MovieClip {
public function DepthSortSpace() {
super();
this.addEventListener( Event.ADDED_TO_STAGE, this.addedToStage, false, 0, true );
}
private function addedToStage( e:Event ) {
this.stage.addEventListener( Event.ENTER_FRAME, this.enterFrame, false, 0, true );
}
private function sortDisplayList():void {
var len:uint = numChildren;
var i,j;
for( i=0; i < len-1; i++ )
for (j=i+1; j < len; j++)
if ( getChildAt(i).y > getChildAt(j).y ) this.swapChildrenAt( i, j );
}
private function enterFrame(e:Event) {
this.sortDisplayList();
}
}
}
To use this, just make a new symbol, and set its class to DepthSortSpace (or subclass DepthSortSpace as your movie clip if you're already adding custom code for it). Then, add any objects you want to depth sort as children of this movie clip. It will handle it automatically.
Thursday, June 10, 2010
Safari 5's New Feature
While Safari 5's new extensions feature is getting a lot of buzz, I can already tell you what my favorite new feature is: Safari reader.
Basically, when you're presented with a site that has something interesting to read, but it's all crufted up with horrible layout, ads, navigation, banners, tiny type, etc., a button appears in the URL bar. Click it, and the page fades to black, and the article, presented with nice, clean CSS, slides up for easy reading.
Predictably, some people are up in arms over this feature because it hides their precious ads. These people should listen to Lukas Mathis, who argues that if you're upset about Safari reader, then you've only got yourself to blame for it - if your site was readable, people wouldn't need to click a button to make it so.
In particular, I don't feel the need to click the reader button on Lukas' site. It would be redundant, because his site is so readable. But I've used the feature already today on a different site.
Basically, when you're presented with a site that has something interesting to read, but it's all crufted up with horrible layout, ads, navigation, banners, tiny type, etc., a button appears in the URL bar. Click it, and the page fades to black, and the article, presented with nice, clean CSS, slides up for easy reading.
Predictably, some people are up in arms over this feature because it hides their precious ads. These people should listen to Lukas Mathis, who argues that if you're upset about Safari reader, then you've only got yourself to blame for it - if your site was readable, people wouldn't need to click a button to make it so.
In particular, I don't feel the need to click the reader button on Lukas' site. It would be redundant, because his site is so readable. But I've used the feature already today on a different site.
Subscribe to:
Posts (Atom)