The Future of Web Applications
I’ve been thinking about web applications and where they are heading over the past few months. I’ve become a big proponent of progressive enhancement in the last year since finally leaving behind the basics of PHP to learn more about JavaScript, CSS, XForms, Ruby on Rails and ASP.NET. Since then I’ve been learning more about semantic HTML, the separation of concerns and how they help web site optimization, and the role of technologies like Adobe’s Flash/Flex and Microsoft’s Silverlight.
I recently listened to Douglas Crockford’s State of Ajax presentation and thought he made excellent points:
- JavaScript is a terrific language, it’s just misunderstood
- CSS is probably the weakest link because it was designed to layout print documents and has been made to fit flow documents (not sure I agree wholly with this, but it is a challenge)
- HTML has reached a point of confusion with the competing improvements from the W3C (XHTML2) and WHAT-WG (HTML5)
I certainly agree with point #1, that JavaScript is a terrific language. CSS… well, I’m okay with it. I fully realize I don’t understand it all that well (see the state of my current design), but I’m learning and I like it. I just don’t really understand why it’s not an XML language. (I do like that it’s not because it’s easier to write, but consistency is at least nice.)
With regards to HTML, I also fully agree, but almost for different reasons. HTML is a great platform for creating documents. However, all the extensions being added by WHAT-WG seem to miss the point and muddy the waters further. XHTML2 just realigns everything and adds some better links to other technologies like XForms, which is itself more a web form application language, not a document language. Thus, all the new versions make HTML more of a combination document/application platform. If that comes to pass, HTML will no longer really be good for anything in terms of semantics. It will have none and will instead lead to a new form of tag-soup: namespace soup.
Now, before anyone goes crazy on me, I don’t think all “web applications” break HTML. For instance, Google Maps is a great application, and I can appreciate making web-based documents (like maps) interactive, just as you might find a real map. I draw and mark up maps in real-life, so why not on the web? That makes perfect sense. A blog is also a great web app when I can edit it right there on the screen, just as though I were able to go back in my journal and either cross out or erase parts and re-write them. In some cases, web apps can be even better.
The part where all this breaks down, though, is admin screens and other forms. Sure, you can look at a web form as a document that needs to be submitted once complete, just like in real-life. But to then add all the javascript additions to auto-save frequently and refresh parts of the document? That’s no longer a document-style form; that is now an application, and I think that an application should be an application, not a hodge-podge of document and script.
I see Adobe Flash/Flex and Microsoft Silverlight (and maybe XForms, but I’ve recently lost a lot of interest there for many reasons to be explained in a bit) fitting in here well. If you’ve got an application you want to place online, you probably don’t need it to be spread across several pages. If you do, it’s not really an application but related pages. Also, if you need bookmark-ability, you can always add favorites to an application or allow the application to interpret parameters sent to the hosting web page’s address to load the application in a certain spot. Any way you swing it, your application has the following benefits:
- It’s source is protected by default (if you desire that sort of thing)
- The hosting HTML page can describe the application, which keeps the HTML full of solid, semantic meaning
- The application is self-contained and therefore provides a rich, responsive user-interface for the user
- The application can use other documents or resources on the web instead of both being the document and the application, again increasing the semantic meaning
- A self-contained application doesn’t pollute the web with excess semantic markup (as would XForms) but allows the hosting HTML document to provide the semantic meaning for the application
I’m still thinking about all this, but with all the struggle over the future of HTML, JavaScript, and CSS, I don’t think we’ll see many innovations there (at least not cross-browser) any time soon, and I also don’t think they are really all that necessary. We’ve already got a superb foundation for building web applications. We should instead focus more on tying our applications to existing documents and resources on the web and increasing the semantic meaning of everything we do, without adding too much meaningless meaning. And we can do that today.
Tagged as CSS, Flash, Flex, future, JavaScript, semantic web, Silverlight, web 3.0, web applications, XForms, XHTML, XSLT + Categorized as Software
2 Comments
Trackbacks & Pingbacks
-
Too Much “Semantic” in the Semantic Web? | Panes of Glass
[...] you read my previous post on the Future of Web Applications, you may think I already thought this. Well, I wish I had, but at the time I hadn’t quite [...]
Hey Ryan, this is Bryan Juneau. Remember me? Apparently our moms ran into each other recently. I hear you are living in the same neck of the woods I am. It took a little searching, but I tracked down your blog. Aside from catching up, I’d like to talk a little business with you. I see you’re into software development these days. I took a similar path through the finance / accounting world and picked up dev work along the way. I’m now Senior VP of Finance for a small business lending division. Part of my responsibilities are the technology aspects of the company. I’ve been designing and overseeing development of a lending software platform for the last few years. Some recent organizational changes now have me out looking for a new team to contract (which is a good thing). I’d really like to discuss all of this with you in more detail. When you get a chance, shoot me an email at bjuneau@firstheritagecapital.com.