␡
- XML Reference Guide
- Overview
- What Is XML?
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Table of Contents
- The Document Object Model
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- DOM and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- Implementations
- DOM and JavaScript
- Using a Repeater
- Repeaters and XML
- Repeater Resources
- DOM and .NET
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Downloads
- DOM and C++
- DOM and C++ Resources
- DOM and Perl
- DOM and Perl Resources
- DOM and PHP
- DOM and PHP Resources
- DOM Level 3
- DOM Level 3 Core
- DOM Level 3 Load and Save
- DOM Level 3 XPath
- DOM Level 3 Validation
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Implementations
- The Simple API for XML (SAX)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- SAX and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- SAX and .NET
- Informit Articles and Sample Chapters
- SAX and Perl
- SAX and Perl Resources
- SAX and PHP
- SAX and PHP Resources
- Validation
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Document Type Definitions (DTDs)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XML Schemas
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- RELAX NG
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Schematron
- Official Documentation and Implementations
- Validation in Applications
- Informit Articles and Sample Chapters
- Books and e-Books
- XSL Transformations (XSLT)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XSLT in Java
- Java in XSLT Resources
- XSLT and RSS in .NET
- XSLT and RSS in .NET Resources
- XSL-FO
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XPath
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XML Base
- Informit Articles and Sample Chapters
- Official Documentation
- XHTML
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XHTML 2.0
- Documentation
- Cascading Style Sheets
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XUL
- XUL References
- XML Events
- XML Events Resources
- XML Data Binding
- Informit Articles and Sample Chapters
- Books and e-Books
- Specifications
- Implementations
- XML and Databases
- Informit Articles and Sample Chapters
- Books and e-Books
- Online Resources
- Official Documentation
- SQL Server and FOR XML
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Implementations
- Service Oriented Architecture
- Web Services
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Creating a Perl Web Service Client
- SOAP::Lite
- Amazon Web Services
- Creating the Movable Type Plug-in
- Perl, Amazon, and Movable Type Resources
- Apache Axis2
- REST
- REST Resources
- SOAP
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- SOAP and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- WSDL
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- UDDI
- UDDI Resources
- XML-RPC
- XML-RPC in PHP
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Ajax
- Asynchronous Javascript
- Client-side XSLT
- SAJAX and PHP
- Ajax Resources
- JSON
- Ruby on Rails
- Creating Objects
- Ruby Basics: Arrays and Other Sundry Bits
- Ruby Basics: Iterators and Persistence
- Starting on the Rails
- Rails and Databases
- Rails: Ajax and Partials
- Rails Resources
- Web Services Security
- Web Services Security Resources
- SAML
- Informit Articles and Sample Chapters
- Books and e-Books
- Specification and Implementation
- XML Digital Signatures
- XML Digital Signatures Resources
- XML Key Management Services
- Resources for XML Key Management Services
- Internationalization
- Resources
- Grid Computing
- Grid Resources
- Web Services Resource Framework
- Web Services Resource Framework Resources
- WS-Addressing
- WS-Addressing Resources
- WS-Notifications
- New Languages: XML in Use
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Google Web Toolkit
- GWT Basic Interactivity
- Google Sitemaps
- Google Sitemaps Resources
- Accessibility
- Web Accessibility
- XML Accessibility
- Accessibility Resources
- The Semantic Web
- Defining a New Ontology
- OWL: Web Ontology Language
- Semantic Web Resources
- Google Base
- Microformats
- StructuredBlogging
- Live Clipboard
- WML
- XHTML-MP
- WML Resources
- Google Web Services
- Google Web Services API
- Google Web Services Resources
- The Yahoo! Web Services Interface
- Yahoo! Web Services and PHP
- Yahoo! Web Services Resources
- eBay REST API
- WordML
- WordML Part 2: Lists
- WordML Part 3: Tables
- WordML Resources
- DocBook
- Articles
- Books and e-Books
- Official Documentation and Implementations
- XML Query
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XForms
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Resource Description Framework (RDF)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Topic Maps
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation, Implementations, and Other Resources
- Rich Site Summary (RSS)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Simple Sharing Extensions (SSE)
- Atom
- Podcasting
- Podcasting Resources
- Scalable Vector Graphics (SVG)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- OPML
- OPML Resources
- Summary
- Projects
- JavaScript TimeTracker: JSON and PHP
- The Javascript Timetracker
- Refactoring to Javascript Objects
- Creating the Yahoo! Widget
- Web Mashup
- Google Maps
- Indeed Mashup
- Mashup Part 3: Putting It All Together
- Additional Resources
- Frequently Asked Questions About XML
- What's XML, and why should I use it?
- What's a well-formed document?
- What's the difference between XML and HTML?
- What's the difference between HTML and XHTML?
- Can I use XML in a browser?
- Should I use elements or attributes for my document?
- What's a namespace?
- Where can I get an XML parser?
- What's the difference between a well-formed document and a valid document?
- What's a validating parser?
- Should I use DOM or SAX for my application?
- How can I stop a SAX parser before it has parsed the entire document?
- 2005 Predictions
- 2006 Predictions
- Nick's Book Picks
Last year, I made my first official predictions. I was a little nervous; it's a little nerve-wracking committing yourself in public, but there it was. So here it is, the beginning of another new year, and time to see how I did, and try again. Let's start with a recap of 2005's predictions:
- XML will begin to cease to be a topic in and of itself, as everyone realizes that when you come right down to it, it's just not that complicated. That will change later in the year as the push for binary XML heats up in response to XML's use for larger and larger solutions, leading to larger and larger documents and more and more bandwidth issues. The W3C will lean towards a solution based on ZIP after the dual realizations that it will help some security problems by enabling easy (if inadequate for the long term) encryption, and also that if they don't get off the stick and do something -- soon - that multiple proprietary solutions will become even more entrenched than they currently are and permanently balkanize the field.
- Well, I was half-right. XML is just assumed; many times, developers don't even know they're using it. But binary XML is still up in the air.
- The industry will finally give in to standard fatigue and it will be very difficult to introduce a new spec -- particularly if it
starts with "WS-" -- without very good justification as to a) why it's needed and b) why it can't be covered in any of the
existing specs. This will be part of the realization that the industry needs to get off its hiney and start making the existing
specs actually work, particularly with regard to security, interoperability, and, as the world shrinks, internationalization.
Look also for a tendency to build now and standardize later as people get sick of waiting for specs to actually get finished.
- Again, a partial hit. While there certainly were some new specs this year, the flow has certainly slowed, but I don't think we're much closer to having things actually working than we were at this time last year.
- People will realize that "service oriented architectures" -- or whatever they wind up being called this year -- have been
around since the beginning of time (OK, since before web services) and that they need to be treated like any other development
project, with proper architectural planning rather than an ad-hoc, let's-throw-this-thing-together-and-see-what-works approach.
SOA and architectural consulting will be the fields to get into if you're looking for that big score.
- Full hit on this one.
- People will also realize that just because it's an SOA doesn't mean you necessarily have to use SOAP, or
even what we loosely call Web Services. Look for the development of systems that integrate different types of SOAs and
serious time and effort devoted to interoperability as vendors discover that they can keep their proprietary systems in place
if they also play nice with everybody else.
- Another full hit.
- 2005 will be the year that lots of hype will begin to fall away. Blogging will reach a peak (if it hasn't already).
That doesn't mean less people will blog; it just means that there will be fewer "serious" bloggers. Those that remain
will continue to try and monetize their blogs but most won't succeed. "Professional" bloggers will increase, but there
will be a rough patch as people find it's not as easy as they thought it was, particularly if they're blogging a particular
topic. Companies will also have to come to grips with how much freedom they give their bloggers, or risk a loss in
credibility.
- Partial hit here; Yes, it's happening, but it's not finished yet.
- On the other hand, "citizen journalists" will start to be more common, particularly in major events such as
natural disasters. News organizations will start to use them, but will try to keep a tight rein on them in order to
maintain credibility.
- As witnessed in Hurricane Katrina, the London bombings, and the elections in Iraq, blogs are definitely gaining a growing place in the news. We haven't, however, seen much of the adoptions by professional organizations, unless you consider professional journalists who now blog.
- This year people will realize the more is not necessarily better and will start to try to filter their lives. RSS and other syndication formats continue their march forward, but aggregators will become a way of life, and better aggregators appear on the scene, providing better control and help with information overload.
- In that same vein, humans will get re-introduced to areas such as content management, as companies realize
that the best content management system on the market can't do as much as one good editor. CMS tools will stick
around, though, as an aid to those editors.
- Not sure I can really count this one as a hit, as this year has seen a proliferation of "Web 2.0" applications that take raw user generated content. But I do claim just a sliver of accuracy, as this year saw the rise of "tagging", in which humans categorize content rather than leaving it to algorithms.
- Also on the subject of filtering our lives, metadata becomes increasingly important, and the push is on for
new ontologies. The Semantic Web, however, doesn't happen yet because there is still resistance from those who are
convinced it's too complicated. (A large portion of those people will have never read the specifications, mostly because
they are too complicated.)
- Definitely a hit, as we've seen initiatives such as microformats and structured blogging. Overall, though, this is still in progress.
- And speaking of things that are too complicated, look for sites that release web services APIs to supplement
their SOAP APIs with REST APIs, which will see more usage. At least one semi-major web services API will be
released in "REST only" form, but a push for credibility -- or possibly, interoperability -- will force the addition of "real"
web services.
- Another partial. Note Yahoo!'s decision to release their API using REST only, but so far they haven't been compelled to add SOAP.
- As the number of web services targets increases, look for attacks on these services to spur implementation of
security standards. Global terrorists probably won't be involved in these attacks, but "the war on terror" will still be used
as an excuse for much of this work.
- Thankfully, this one's a miss.
- Grid will continue to be lumbered with the perception that it's only helpful to academics. It gets integrated into
major products such as Oracle and DB2 -- that's a cheat; it's already happening -- but is considered a semi-useless
perk until a killer app, possibly related to gaming, sets things off with a bang later in the year.
- Another partial. IBM has introduced their "Grid and Grow" solution, but so far it doesn't seem like a killer. We're still waiting for that.
- This is a tie. I can't decide which way it will go. Either:
IBM will realize that they must provide a way for individual developers to use Autonomic Computing without needing a Ph.D in computer science, and will create tools that enable a "plug and play" model for including it in an application. AC begins a slow but steady ascent, as its performance doesn't quite live up to its promise at first.
or
The developer community in general shies away from Autonomic Computing as too much and too complicated for small-to-medium businesses (SMBs), and because it's only the mega-corporations using it, AC goes back to being a proprietary (read: pay lots of money for products and services) proposition. It does, however, do better there than it had in the past, and eventually (a couple of years down the line, perhaps) the performance divide between AC haves and have-nots becomes obvious and AC starts once again to trickle down to smaller businesses.
- Well, I gave myself an out and I still missed this one. Autonomic Computing's definitely progressed, but it's still largely where it was at this time last year.
- Video becomes almost as common as audio online, and both become increasingly searchable, in part --
but not entirely -- due to the increasing use of meta-data. (See number 9.) Podcasting provides a new model for
aggregating your own "tv" station online, ala http://www.blogtelevision.com, as people realize they can pull together
audio and video from different locations without having to actually own the files.
- Miss, Google Video notwithstanding.
- Digital Rights Management becomes a huge issue, but fails to stem the tide of illegal file sharing.
In the meantime, artists continue to take their work directly online, bypassing labels completely.
- Well, when I said "a huge issue", even I wasn't suspecting a disaster on the scale of the Sony rootkit.
- Information becomes more readily available from disparate locations and devices such as phones, Blackberries, and iPods.
- While I hadn't quite anticipated the prevalence of podcasting on iPods, my actual conception here had related to new ways of actually getting to information, so I'm going to call this one a miss.
- Computer addiction will be recognized as an actual problem, but not, unfortunately, dealt with in any kind of effective way.
- Miss. Unfortunately.
Well, I was at least partially right in 12 out of 17. Not too bad. So let's see about my predictions for 2006:
- This year we will see more attempts to create the so-called "two-tier Internet". The same way that 80% of your time is taken up by 20% of your problems, it seems that only are very small percentage of Internet users -- both providers and consumers -- use the majority of bandwidth, and telephone companies and other communications companies that provide that bandwidth are unhappy about it. For example, my web host may charge me extra money if I serve an inordinate amount of traffic, but that doesn't have any effect on the local phone company that is providing your DSL service. Under the two-tiered structure, your phone company could block my web site, or perhaps, provide degraded service, if I don't pay them an extra fee. Now, of course, it is unlikely that individual operators such as myself would be targeted by something like this, but it could work the other way around. In other words, a communications company with a significant interest in a particular property might provide good, fast, access to that property, but provide lousy service to everyone else unless they pay a fee. Whether or not this plan actually succeeds will depend, of course, on Congress. In particular, the phone companies that will be trying to pull this off already have very well-established lobbying organizations.
- Look for more Sony rootkit-like fiascoes in the coming year. Record companies are desperately trying to find some way to keep people from sharing their product without paying for it, and it seems that they don't care who they tick off in the process. Take the new Coldplay album, which, after you buy it, you will discover includes digital rights management software that may prevent you from playing it on anything but your home CD player. Not only may you have difficulty playing it in your computer, you may not even be able to play in your car. How did they manage that? I don't know. But I'm sure it wasn't pretty.
- The term "Web 2.0" will knock around for a while longer, but fails to become the venture-capital magnet people hoped it would be. People will realize that if they would spend less time arguing about what to call it and more time actually using it to do something, everyone would be much better off. On the other hand, the concept of using "user generated content" to increase the relevance of information will remain extremely useful and see some growth as user generated content becomes almost the norm.
- In 2005, people began to realize that they had better get their act together in terms of finding a way to organize all these millions and millions and millions of pages and messages and comments and other pieces of information that are out there on the Internet, or else it was going to become a useless mess. Look for that trend to continue this year, with some actual useful work being accomplished. Initiatives such as the Unstructured Information Management Architecture will make attempts at making some meaning out of all of this data, but I don't expect major progress this year.
- On the other hand, I'm more optimistic about progress in dealing with blogs, podcasts, and other feeds. In fact, the concept's already got a name. It's called newsmastering, and it's the idea of sorting through all of this information in some sort of automated way that provides you with useful information rather than just a three-page list of blogs you read -- when you don't actually read most of them because you don't have time to get through more than one or two a day. Look for microformats and/or structured blogging to play a role in this, but only if someone actually manages to create a plug-in for the major blogging tools that actually works, is easy to use, and is almost ubiquitously available. I say that because in general, as has already been pointed out many times, people are lazy. No matter how much traffic you promise them, unless you make it extremely easy, they will not put extra work into making it easy to sort through their content. But, if you create a plug-in that allows them to easily specify what kind of information it is, they will go for it if they think it will get them more traffic.
- Months ago I said it was the beginning of the end for Google's sweetheart status, and this year we will see it come to fruition. Oh, I'm not saying that the company is going to completely take a tumble and disappear, because that would be ridiculous. But you will begin to see things start to crumble just a little bit. Enough people are starting to grouse about the company that it can't keep this up forever. The stock will drop, but only to more realistic levels. (I should point out that Piper Jaffray says the stock will go to $600 sometime this year. I'm not disputing that. I'm only saying that it will come down.) Its core business, as they say, will be unaffected. But don't be surprised if the company backs off just a little bit from the "don't be evil" slogan, as it realizes that a significant percentage of people worldwide (see below) think it is evil anyway.
- After publicly denying it for months, Google will make a foray into the financial world with its own payment system, which will become a virtual currency tradeable in other areas. How this is received depends on whether it comes before or after the aforementioned tumble. If before, it will take off like wildfire. If after, it will be scorned as a way for Google to take over the world. (But people will still use it.)
- RSS will have become so common that every application for which it makes sense (and probably a few for which it doesn't) will provide an RSS feed for various purposes. Almost everyone we'll have some sort of RSS reader, even if it's Microsoft Outlook, and it will be used so frequently that most people won't even know that that is what they're using, simply choosing to subscribe to some service or other without knowing how it's actually done.
- In the beginning of the year there will be a push to make Web Services interfaces common, but we will suddenly discover that we have a lack of people able to pull this off on such a huge scale. Salaries for "service oriented" engineers will go up, especially compared with the loss of jobs in other IT positions, and some people will actually retrain instead of complaining. Those people provide a pool from which industry can find enough people to actually make web-service-based interfaces the norm rather than the exception. At first companies will do this because they feel they have to, without really knowing why. But then, that's why they do many of these things. Later, however, we will see this come to fruition in the mass of mashup applications that use these services in new and innovative ways. At least, I hope so.
- This year companies will finally start to implement service-oriented architectures in a big way. A lot of companies have had pilot programs in the works but now new development will start to take place as companies realize that you don't have to be using Web services to have a service-oriented architecture.
- Web services will really come into its own this year. If you don't have a web services interface into your application by the end of the year, you'd better have a good reason. This proliferation of Web services is going to feed the growing trend of mashups, or applications that take data from one or more sources and mix it up into something new, such as Taglines, combining data from Flickr, Yahoo, and Yahoo terms. David Berlind calls this trend a move towards the uncomputer, but I fear the creation of a new buzzword.
- On the other hand, look for the addition of expert-moderated user generated content, as a way to try and conquer information overload.
- Ruby on Rails will continue picking up steam, fueled in part by the continuing popularity of web applications. It will also be assisted by its tight integration with Ajax, which even by itself will continue to fuel an interest in web applications as they get closer to the desktop experience. Applications that might have been written using, say, an application server will be prototyped as web applications using a simpler technology and some will discover that the prototype works just fine and doesn't need to be replaced by an immensely complicated piece of software. Not that application servers will go away. However, towards the end of the year some people will be tempted to claim that their prediction of Enterprise becoming the new Legacy has come true. I don't think it will go quite that far. We will, however, find that applications that probably shouldn't habve been written for an application server in the first place now won't be.
- Tagging as a way for users to classify content will continue to be popular, and someone will figure out how to make it more meaningful than it is already. Early in the year we'll begin to see a decline in the amateur podcast as people discover that they have a finite amount of time to listen to things and they will stick with the more professional broadcasts. Note that when I say "amateur" I don't necessarily mean somebody not getting paid, I mean somebody just rambling into a microphone attached to the computer rather than actually producing out a thoughtful radio-like show. Later in the year, however, we will see a resurgence as someone comes up with a way to automatically transcribe the text in podcasts, making them a) indexable by search engines, b) easy to add to a blog, and c) skimmable by readers. Bloggers will discover that they can blog from cell phones just as easily as from anywhere else, and we will see the resurgence of amateur podcasting, this time as a means of production rather than distribution.
So that's my view of 2006. See you next January to tally up!