Blog

More news from around the web
Posted by Lawrence Krubner in Programming on 11.28.06


Sam Ruby and Leonard Richardson are writing a book comparing Web Services to RESTful services
.

We want to restore the World Wide Web to its rightful place as a respected architecture for distributed programming. We want to shift the focus of “web service” programming from a method-based Service-Oriented Architecture that just happens to use HTTP as a transfer protocol, to a URI-based Resource-Oriented Architecture that uses the technologies of the web to their fullest.

Our project has technical aspects but it’s mainly a job of evangelizing: spreading the good news. Currently the REST philosophy is typecast as sloppy or unserious. This despite the fact that:

* Most of the web services the public actually uses are URI-based.
* Most Ajax applications are nothing but browser clients for URI-based web services.
* Most of the world’s biggest web applications are technically indistinguishable from URI-based web services.

If REST doesn’t work or doesn’t “scale”, then neither does the World Wide Web.

REST is typecast because its practices are folklore. It’s got no canonical documentation beyond a doctoral thesis which, like most holy texts, says little about how to apply its teachings to everyday life. Its technologies are so old and heavily-used they seem undocumented and unsupported when their true power is revealed. It’s like finding out you can pick a lock with a paperclip.

Sam Ruby on Web Services versus REST:

This should sound familiar. These are forms of remote procedure calls, implemented using HTML over HTTP. Request parameters, and even the action selected, may be included in either the URI itself, or in the POST body. Both approaches are common practice, and both are well supported by the various browsers and servers that implement these protocols.

Is using POST for such actions a best practice? Not if you want to be able to bookmark a search result. But given the way that this particular application uses URL rewriting techniques to implement a session, bookmarking isn’t really practical for this service. That’s a trade-off that they can chose to make. After all, using HTTP GET involves a different set of trade-offs.

Anne Zelenka has a new weblog:

You can imagine a monk, or perhaps a nun, sitting lotus position under a tree in blissful nirvana, completely unaware of worldly needs–this is like the blogger who knows and sees the trends but has no plan or interest in taking action based on them or who critiques whatever she sees but offers no better solution. monks holding a rockAlternatively, think of a laborer who completes whatever work appears each day, but fails to understand the larger trends that will make his work obsolete or worthless before too long–this is the software developer who keeps on churning out new offerings that assume that the same old architectures and licensing schemes and business models will continue to bring profit in perpetuity. Pragmatic enlightenment combines both wisdom and action: a working monk or a working nun, an enlightened and aware laborer.

The Docs and Spreadsheet team at Google, formerly of Writerly, have insights on online applications:

Later in the interview, Jen stresses that they’re “not trying to clone desktop apps?. They want to be familiar to people, “but we’re trying to do something that’s actually more native to the Internet, more usable on the Internet.?

Sam says they’ve had a lot of feedback that people like the fact they’re not trying to copy desktop apps. He said “copying the existing stuff just feels irrelevant to us - we’re not trying to copy, we’re trying to re-invent.?

Both Jen and Sam re-affirmed that collaboration and sharing is their main focus with D&S, as well as being web native - rather than trying to compete on features with desktop apps.

Roger Cadenhead says we should not trust Mike Arrington or TechCrunch:

Arrington, who recently lost two of his most vocal critics with the shutdown of Dead 2.0 and the firing of ValleyWag writer Nick Douglas, told the Wall Street Journal that he wants the TechCrunch network of sites to compete with CNET.

If that’s his goal, he needs to adopt the ethics of journalism and stop making sweetheart deals with the subjects he covers. Every week seems to bring news of another company Arrington has become involved in as an investor, consultant or board member.

I suspect objectivity would interfere with his real goal, which was described to the Journal by another one of his peeps…

If Arrington wants to join a world where $1.4 million a year in revenue isn’t “real money,” he’s not going to get there by being a scrupulously ethical journalist.

Christina Wodtke has slowly evolved into an entrepreneur, and she is stunned, nowadays, when she hangs with her old Information Architect friends, to discover that they are ignorant of basic facts about business:

I am not an IA, moreover I haven’t been an IA for at least four years. I know a lot about IA, and that informs a bunch of my choices as an entrapreneur (though not as many as one might suppose, and certainly different ones than you’d guess. For example, the taxonomy control on PS currently stinks. And it’s going to stink for a little while becasue there are more important parts of the ap to make work well.) I say this while liking IA, and liking IAs and wanting to hire them everywhere I go, because I think they add a lot of perspective, insight and design chops. Same goes for designers, and IxDers, and user researchers and the rest of the merry crew.

What resonated with me about Adam’s post is how little I had in common with the lists I was on, and moreover how my intial response was to say to the lists, grow up! But it was me that had to realize I had changed, and that I needed to admit that everybody is who s/he is and not who I wanted them to be. The newbies are new, the masters are masters, and the sideways lunatics are– well, a bit crazy. The day has only so many hours, and the brain seems to have limited shelf-space. You can spend your time filling it with new things, or go deeper in understanding old things and both are fine pursuits and belong in the larger context of a team.


Google, Microsoft and Yahoo are standardizing how they’ll map out your website for you
. Google is offering tools to let you customize how they handle the information.

In alphabetical order, Google, Microsoft and Yahoo have agreed to all support a unified system of submitting web pages through feeds to their crawlers. Called Sitemaps, taking its name from the precursor system that Google launched last year, all three search engines will now support the method.

More about Sitemaps is to be provided through the new Sitemaps.org site. As part of the announcement, the existing sitemaps protocol from Google gets a version upgrade to Sitemaps 0.9. However, no actual changes to the system have taken place. The new version number was simply done to reflect the protocol moving from an exclusive Google system to one that all three search engines now support.

Anyone already using Google Sitemaps needn’t do anything different. The only change is now those sitemaps will be read by Microsoft and Yahoo, as well. More information will either be posted at the Sitemaps.org

Shelley Powers says she’s not a framework person

I’ve never been a ‘framework’ person, preferring control over every aspect of my code. I’ve used frameworks, just never felt a level of comfort. To me for all the advantages of such toolkits, the disadvantage of increased bloat in code, inability to debug, and loss of fine control outweighs the benefits. Which means that I really do need to take a closer look at the tools, before I allow my natural bias to distance me from what could be handy technologies.

It’s going to be interesting to see where this goes. In particular, with the growing partnership between Mozilla and Adobe, we’ll definitely see an impact on Ajax.

The next version of Ruby on Rails will be focused on RESTful development:

CRUD [create, update and delete operations] is great because it’s consistent, simple, expressive and foundational. Every application should be built solely on CRUD operations – and Rails is going to help you construct such applications.. Great, let’s carry on.

If you haven’t noticed, it appears that the next version of Rails will whole heartedly embrace the RESTful model of application development. Not only was it the topic of David’s keynote speech, but we’ve seen a lot of updates into edge rails that support the various aspects of RESTful calls (for instance we’ve seen REST support in the various link helpers and the ability to populate a Hash directly from XML). REST is a great companion to the RAILs style of simple, expressive application development….

ActiveResource provides a large piece of the REST puzzle by basically implementing the client side of a RESTful system – the parts of a decoupled system that consume RESTful services. At its essence, ActiveResource provides a way to utilize model objects as REST-based client proxies to remote services. Ok, sounds impressive, but what does this mean?

Lots of smart people continue to work hard to make Javascript look and act exactly like Ruby:

There was a great deal of talk about Prototype during the conference. Justin Gehtland did a great job covering Prototype in-depth in his three panels, one being script.aculo.us centric. Justin had a very nice presentation style which was engaging and fun. I envy those who look so natural on stage. If you ever get the chance to see Justin give a presentation, you should definitely go!

There is one thing I want to point out for those who did catch his talks. Justin discussed Element.show and Element.hide which he showed some examples that will no longer work in Prototype’s trunk code. You can only pass one argument to these methods now.

//Does not work in Prototype trunk
Element.show(’foo’, ‘bar’);
Element.hide(’bar’, ‘foo’);

//New way to write this
[’foo’, ‘bar’].each(Element.show);
[’bar’, ‘foo’].each(Element.hide);

Anne Zelenka says the fact that Java has just become open source means nothing for web developers:

Does Open Source Java Matter?

If you are a web developer, the answer is almost certainly NO.

I write this knowing it will tweak those people who think that Java still matters to the web development world. But it doesn’t. So sorry.

What technologies do matter for web development?

* HTML and CSS
* JavaScript
* PHP
* MySQL

And perhaps:

* Flash (but not if Adobe keeps being coy about it)

Why do these technologies matter? Because they’re the ones you cannot escape if you find yourself driven to build a web application…

It’s a short step from a web page to PHP to Amazon’s compute cloud, with never a step into the land of Java.

Vanessa Williams recounts the trouble involved in transferring a domain. She raises a good point. Why is this so hard? Is there no way to automate parts of this?

So here’s the basic process for transferring my domain and setting up a new hosting account:

* Open new accounts with the registrar (GoDaddy) and the hosting service (DiscountASP.net)

* Unlock my domain with Network Solutions and verify my contact information

* Enter e-mailed confirmation numbers in GoDaddy’s Web site to confirm that I do, indeed, wish to transfer my domains

* Receive e-mail notification from Network Solutions.

* Wait, wait, and wait. In the meantime, I moved my Web site files to the new host and tested everything. I’m just waiting on Network Solutions.

* Phone Network Solutions to make sure we’re good to go. They tell me they have no record of my transfer request. Panic slightly.

* Phone Network Solutions again after remembering that they sent me an email to confirm the transfer. Oh, suddenly they found the request. The rep informs that I need to click the link in the email to confirm the transfer request. Huh? The email states that I should click the link if I wish to cancel the request. The rep assures me that if I click the link that I can confirm the request, which speeds everything up.

* I click the link. Sure enough. The request goes through immediately. But wait, I’m not ready for the request to go through immediately. Had I known what would happen, I would’ve clicked the link at night after business hours.

* Scramble to update the nameservers with my new registrar and set up new email accounts.

* Test the Web site. It’s up!

* Wait for the changes to propagate throughout the DNS system.

* Test email. Doesn’t work. Wait. Test email. Doesn’t work. Wait. Test email. Works with Gmail, but not Yahoo. Wait. Test. Wait. After about an hour, I seemed to have fully functional email.

Sam Ruby is exploring how to add nodes to any point in a document in XHTML (where document.write is disabled):

I learned something new today. I’ve known for a while that pretty much all the browsers don’t implement document.write when found in the context of XHTML documents — even in the case where both the enclosing document and string are separately well formed. Because Google AdSense depends on document.write, the net result is that I only serve ads to users of browsers that don’t support XHTML, which increasingly means that only IE users see ads.

The solution is to use createElementNS instead. So far, so good. The only piece left to the puzzle is where to append the child that you created. If you simply do a document.appendChild, the new element ends up at the end of the document. There doesn’t seem to be a property which indicates the current node in the tree at the time of the parse. But in cases like adsense, you generally want the widget put in place.

A List Apart defends the important role that difficult clients play in our lives:

There’s a certain breed of clients that lives in the past: web 1.0 clients in a web 2.0 world. They can be a nightmare to work for, and they often end up commissioning horrendous sites that pollute our precious internet. It might seem easy to just pretend they don’t exist, or, worse still, to do as they ask, but—brace yourself—these clients are the stepping stones to enlightenment. It can be frustrating to work for clients who force us to justify our strongly held beliefs, but, budget permitting, it may still be worthwhile….

These clients represent the ultimate test: They require that we explain why frames are bad. Why cross-browser compatibility is a serious issue. Why the use of “click here? is considered inappropriate. Why we now consider the web to be a medium in which vertical scrolling is acceptable. They test our knowledge and they test our patience.

We all know why our methods are best practices, but can we justify them? Because there’s no getting unjustified statements past these clients, and there’s no bamboozling them with buzz phrases and marketing spiel. You have to justify each of your points in plain, simple English, whether it’s a usability concern, a standards issue, or a design choice.

Pete Lacey writes about the history of SOAP and REST:

There has been a long running debate in the Application Platform Services Group here at Burton Group between the REST people on one side and the SOAP people on the other. For the most part it mirrors the external debate. In one recent exchange, while discussing the complexity of SOAP and the web services framework, the SOAP side said, “Before all of the WS-* stuff, SOAP was actually simple. That’s what the ‘S’ stood for.?

Matt at 37 Signals argues for solving big problems by fixing small things. He takes inspiration from the way New York’s crime wave was solved in the 90s.

“If you want to change big things, you pay attention to small things.”
-Rudy Giuliani on C-span talking about the Broken Windows theory

The Broken Windows theory was the catalyst for solving NYC’s crime wave in the 80’s and 90’s. NYC’s administration had been focusing on major crimes, like murder, and overlooking smaller crimes along the way. But it wasn’t working. So the city started going after petty crime that it had been overlooking: turnstyle jumpers, squeegee men, public drunks, etc. The result: All crime rates fell suddenly and continued to drop for the next ten years.

Giuliani says, “The idea of it is that you had to pay attention to small things, otherwise they would get out of control and become much worse.?

In a lot of our approach to crime, quality of life, social programs, we were allowing small things to get worse rather than dealing with them at the earliest possible stage…So we started paying attention to the things that were being ignored. Aggressive panhandling, the squeegee operators that would come up to your car and wash the window of your car whether you wanted it or not — and sometimes smashed people’s cars or tires or windows — the street-level drug-dealing; the prostitution; the graffiti, all these things that were deteriorating the city. So we said, “We’re going to pay attention to that,? and it worked. It worked because we not only got a big reduction in that, and an improvement in the quality of life, but massive reductions in homicide, and New York City turned from the crime capital of America to the safest large city in the country for five, six years in a row.

Building momentum

One key component of Broken Windows is that it shows progress. It’s not about miracles or heroic solutions or solving massive problems overnight. It’s about building momentum. It’s showing your audience that you’re headed in the right direction. It’s making visible changes, even slight ones, that show you’re doing something. Someone is on the case. People know that you haven’t abandoned them. You’re giving them a reason to trust you. You’re building faith.

Jory Des Jardins, at Blogher, talks about the relationship strains introduced by men who can’t handle their partners success.

I found it strange, reading others’ commentary about the split, that Witherspoon’s success was the unspoken clincher in the breakup. No one suggested any insecurity on Phillippe’s part, nor any broken promise to support his spouse through thick and–well–thicker. This had nothing to do with Phillippe’s alleged cheating. Witherspoon deserved her fate, it would seem, because she was ambitious. She made more money. She won the Oscar. She proved her utter lack of commitment to the relationship because she dared to have it all.

Benjamin Smedberg has some simple advice for gettting a valid Atom feed working with WordPress.

The plugin replaces all WordPress feeds. RSS will no longer be available, and Atom 1.0 will be served at most of the generated URLs that previously served RSS. This includes blog?feed=rss and blog/feed/ links. Navigating to blog/wp-rss2.php will still give the RSS feed. Users should edit their theme so that the blog/feed link is labeled as Atom (or Feed), and there is no link to blog/feed/atom/.

Comments

Постоянно обновляемый каталог лучших в интернете казино и лотерей с описанием их особенностей. Бесплатные мгновенная лотерея и игровой автомат с реальными призами! Интеллектуальные игры - соревнования за денежные призы. Новости. Доска объявлений.

casinomy on 07-15-08 at 6:01 pm

I totally agree when it says that you have to fix the small problems to fix the big ones

Jimmy G on 08-14-08 at 3:27 pm

You are right Jimmy. I also totaly agree.

Noclegi Karpacz on 08-20-08 at 2:14 am
Trackbacks


Leave a Reply