For my capstone project I've chosen to revamp the university's course catalog. I hope they deploy it into production when it's done...their current version is on the top left, my first draft is on the bottom right.
Q: What does REST mean?
A: REST is an acronym for Representational State Transfer. It refers to the architectural style of the Web and was described by Roy Fielding in his doctoral dissertation.
Start at Google and you'll have that answer in five minutes. But, what is REST in plain english? Here's the for dummies explanation. The web is often used to display information about real-world things. Think of your bank account. You may use your bank's online banking to check you balance from time to time. What is happening when you pull up the page with your balance on it? Well, if your account (the actual account with money in it) is a resource, the HTML page that show some of the account's information is a representation, or view, of that resource. After all, money can't travel over the internet physically and wind up in your hand. Remember trying to "smell" things through the phone as a kid? So that's representation, but what about state and transfer. Well, state refers to the fact that your account is a dynamic, changing thing. Pull it up today, and the representation may show $100 balance. If you're lucky or well paid, tomorrow it may show $10,000. These are different "states" of the resource (account). So that leaves us with transfer. This one needs no explanation. The server sends your browser the html. Transfer. There it is: REST for dummies. Was this useful?
Yesterday's news that Tim Bray had resigned from the W3C TAG led me to this document which is a real treasure trove of industry best practices. You may find some of the topics a bit esoteric, but overall if you're interested in web architecture have yourself a good read. P.S. Tim Bray was one of the principal authors of XML.
No, it's not another diatribe on the Whidbey slip - promise. This past weekend my family and I went out for a nice day on the town. Our first stop was a shoe store where I wanted to buy some flip-flops decent enough to step into public in. We visited a store called Rack Room Shoes, and I quickly found a pair of sandals to try on. I tossed them down on the floor, slipped my feet in them and ahhhhhhhhh. Comfort. So, I strolled over to the mirror to check the look and - a pile of shoe boxes was neatly stacked in front of the waist-high mirror to a height of about 3 feet. So I walked over to another mirror and - same thing. What kind of dolt would block the bottom-most view of every mirror in a shoe store? The stock boy. So here I am in a shoe store, and all I can see is my belt. I bought them elsewhere.
A little while later, we decided we'd go to Bahama Breeze and enjoy the beautiful South Florida weather by eating outside on their patio. We got the stroller out of the trunk, put the infant carrier in it, and made our way to the hostess. When we mentioned we'd like to sit outside, she informed us that they only serve drinks and appetizers on the patio, not entrees. Another bone-headed move. So here's a restaurant with a huge patio that they've already got to bring drinks and plates to and even bus, but depending on what happens to be on the plate, you either can or can't get service. Ate dinner elsewhere.
To cap off the evening, we visited a little place near home called Dr. Desserts to have some coffee and dessert after dinner. My wife ordered something called a "Code Blue" which was basically a slice of pie a la mode. Well, the waitress came back 10 minutes after we placed our order (by which time we were wondering if they were making the pie from scratch) and informed us that they were out of pie -- even though there was a whole pie right in the pies and cakes display case. When we pointed this out to her, she replied that thatpie was only for display even though it was fresh.
In this economy it's hard enough to convince people to part with their money. How can these businesses afford to drive away customers with cash in hand? Most of the time, policies are meant to be guidelines. When management doesn't encourage employee thought, however, the result can be costly.
While I respect Scott Hanselman, I have to disagree with just about everything he writes in his post entitled, "Yukon and Whidbey Slip, and your life goes on. Film at 11."
Let's analyze his arguments.
This just plain sucks. Slips are a part of life, even worse we've all come to expect them from MS, but it's the rationale that kills me:
"According to [Director of Product Management for SQL Server Tom Rizzo], both products are on the same timeframe for shipping for a key reason: Namely, Microsoft wants to release the best of its developer tools with the best of its database technology "to really change the industry," he said. "If you look at Oracle [Corp.] and IBM and other competitors in the open-source space, they don't have releases where new and innovative tools are released with a new and innovative database. Customers want that: the next generation of tools that exploit the next generation of database technology."
What customers asked for Whidbey to ship with Yukon? I love when execs blame the customers. Survey of one real customer: I don't want to wait until mid-2005 (a decade in e-commerce) for a tool refresh. Why should developers looking forward to Generics, Code-based RAD, partial classes, anonymous methods, GridView, OPath, and an IDE THAT PRODUCES VALID XHTML have to wait until mid 2005? Because of Yukon??? WTF does one thing have to do with the other???!
I'd bet the MS developers who worked on this stuff are just as disappointed as those of use who were waiting for the IDE. Everyone loses when boneheaded decisions like this are made. If I were the guy in charge of Whidbey I'd kick Rizzo's ass in the parking lot.