June 21st, 2007
Let’s say you’re doing some database work for Mr. T. You need to keep track of the foo’s he pities, so you create table
foo, with columns
You also need to keep track of where the foo’s drink, so you make table
bar, with column
foo that links to
foo. In SQL, the best you can do is create a foreign key that restricts the data and (I think) speeds up some queries.
Now you want to grab some data so you run something like:
SELECT foo.name, bar.name FROM foo, bar WHERE foo.id = bar.foo AND bar.id = @barID
SELECT foo.name, bar.name FROM bar INNER JOIN foo ON foo.id = bar.foo WHERE bar.id = @barID
When you all really want is:
SELECT bar.foo.name, bar.name FROM bar WHERE id = @barID
Not only is this much shorter and easier to write, but it’s far easier to read and understand, and would probably be faster. If bar.foo could be an actual reference to a row in foo, instead of just a constraint, the query wouldn’t need to look through foo and anyone reading the query can immediately see that you’re trying to get a list of the foo’s who visit a particular bar.
June 21st, 2007
Google, struggling to keep up with Yahoo! and Live maps, recently released their street view feature. It’s probably nice for people in the very limited selection of featured cities, but I think they’re one step away from making it a nice feature instead of a novelty: digital removal of people and cars.
So far, I haven’t heard a single review of the usefulness of the street pictures; everyone’s just talking about people caught doing embarrassing things. But once Google takes a few passes with their van, they can combine the pictures from each pass and remove any unwanted clutter. Cars might be hard to get out of heavy traffic areas, but the sidewalks can be cleaned up. Then people might realize, “Hey, there’s a store behind that guy picking his nose”, and find that it can come in handy.
June 20th, 2007
A new Sim City was recently announced, and the SC community has been up in arms. And rightly so. Societies is going in a completely different direction, focusing on “culture” instead of micromanagement.
I’m a SC fan, but I sometimes feel like SC4 is too involved, so I’ve been trying to keep an open mind. But from what I’ve seen, there’s absolutely nothing appealing about Societies.
The really sad thing is that there’s plenty of room for improvement upon SC4 that doesn’t involve more micromanagement.
SC4 introduced diagonal roads, but they without diagonal buildings, they just look wrong.
SC4 also introduced regions, but they were clunky. Other than neighbor deals, they felt like autonomous cities. It would be nice to be able to smoothly go from one city to another, and see traffic maps showing inter-city commutes. Imagine being able to zoom from street view all the way out to a full region view.
This is mostly just aesthetic, but it’s something the modding community has struggled to add since SC4 was released. If you could have a lake up in the mountains that fed a stream down to the ocean, I think the realism would be greatly increased. It’s one of those little things that wouldn’t come up a lot in gameplay, but it makes a difference.
One thing I’ve always disliked about the series is that there’s no advantage to planning ahead. You can always instantly, and cheaply, demolish any building, terraform the terrain, and rezone. It would be nice if changing something actually took time. Like in real life, replacing a two-lane road with a large divided highway should take time, and should require alternate route planning.
I have an idea for an online game that places you as a citizen, but gives you the power to build a city by proposing and voting on development plans. Each player can create plans and votes determine which gets built. Players can also run for office to become more influential and have more power. This allows the hardcore players to keep busy managing the city and the casual players to provide as much feedback and as many ideas and they wish.
Simtropolis also has a long thread full of ideas.
June 11th, 2007
I have three words to describe the Safari beta: bad, bad, bad. I was expecting the usual familiarity issues when dealing with a new piece of software — buttons in different places, different icons — but nothing could prepare me for the usability nightmare that is Safari for Windows.
First off, what’s with Apple’s refusal to obey my display settings? If I wanted a GUI that could be designed by a three-year-old, I would use a Mac. Ignoring the look and feel that every other Windows application uses is flat-out inexcusable and is reason enough to never use Safari again.
But for the sake of a fair trial, I’ll risk retinal bleeding and continue. Here are a few of the usability issues I found within the first minute of use: you can’t get to the address bar by pressing F6; clicking on the address bar doesn’t select any text; pressing escape while in the address bar doesn’t select anything; pressing Ctrl+enter when entering an address essentially freezes the UI until I click the mouse; the back and forward buttons on my mouse do nothing; middle-clicking on a tab doesn’t close the tab; hovering over the resize grabber in the bottom-right doesn’t change the cursor to the resize icon; maximing the window doesn’t prevent it from being resized; windows can not be resized from the edges, only from the corner; and dialog boxes display a separate taskbar icon.
Now, these may seem like petty Windows vs. Mac issues, but they’re not. Mac windows can’t be resized by dragging their edges, but that’s no excuse for Mac programs ported to Windows. Something is usable if it behaves exactly as expected, and Safari clearly doesn’t.
For a deliciouslly scathing review of Safari’s slowness and Apple’s marketing lies, read Joel’s Apple Safari for Windows: The world’s slowest web browser.
Apple is and always has been severely dishonest in all their advertising when it comes to performance. This is the company that spent years telling us that the PowerPC was faster than Intel, only, suddenly, to change their claims midsentence without an explanation when reality caught up with them, in a scene almost exactly like the scene in 1984: “Merely it became known, with extreme suddenness and everywhere at once, that Eastasia and not Eurasia was the enemy.”
This is the company that’s about to release the iPhone on a slow, last-generation data network but is running TV ads that have edited out all downloads and waiting time that network entails.
I’ve considered trying out a Mac in the past because some people won’t shut up about how great they are, but every time I read about how things actually work over there (like the Top 10 Reasons the Apple Dock Still Sucks) I’m glad the world has Microsoft.
June 9th, 2007
I read through the archives of Jensen Harris’s Office UI blog the other day. It talks about things like UI decisions, hidden or non-obvious features, and how Office has changed over the years. I particularly like the Why the new UI? series.
And while I was reading I noticed I was gaining more respect for the product. Not because it’s technically complex, but because of how much effort needs to be put into the design decisions.
All major software products should have developer blogs like this. They’re a great way to raise interest in the product. Microsoft has the best selection, with over 3000 developers blogging (some of my favorites include Coolbeans, Shawn Hargreaves, and The Old New Thing). Google has quite a few but I haven’t found any I like yet (the Reader blog looks promising). And I just discovered Adobe’s blogs; maybe one of them will give me some respect for Acrobat.
Jumping back to the Office UI blog real quick - one of my favorite things is that all the screenshots are in PNG format. It’s good to know that someone gets it.
June 2nd, 2007
echoes is essentially our take on Asteroids & to save anyone else the trouble of making the comparison, yes, it’s also “a bit like Geometry Wars” :)
If you haven’t yet, do yourself a favor and try out echoes from binary zoo studios. It’s an Asteroids clone that just gets it right. The mechanics couldn’t be simpler, like all other Asteroids games, but the little things like the sound and graphics effects really make echoes stand out.