Thursday, January 29, 2009

The (not so well thought out) case against Web apps

See The (not so well thought out) case against Web apps at its new home on bradley-holt.com.

I just read Neil McAllister's post: The case against Web apps. I couldn't resist sharing my thoughts on what he had to say (and I wonder now if his article was intended as a troll).

"1. It's client-server all over again... Scaling small server farms to meet demand can be a real challenge -- just ask Twitter."

Twitter is a bad example, Neil. By its nature Twitter requires a client-server architecture. Unless, of course, he's suggesting re-architecting Twitter as peer-to-peer application. Interesting idea, but probably more complicated than scaling server farms.

"Furthermore, security vulnerabilities abound in networked applications, and the complexity of the browser itself seemingly makes bugs inevitable. Why saddle your apps with that much baggage?"

The first part of that statement is mostly meaningless. Sure, unplug most applications from the network and you'll instantly have less security vulnerabilities! Is Neil suggesting that developers will have less bugs if they build the whole stack themselves? Doubtful. Having a large part of the stack maintained separately is a nice benefit of web applications. Developers can focus on getting their part right, and let other people worry about getting the other parts right.

"2. Web UIs are a mess... Buttons, controls, and widgets vary from app to app. Sometimes the menus are along the top, other times they're off to the side. Sometimes they pop down when you roll over them, and sometimes you have to click. That inconsistency hurts your development budget, but it hurts usability more."

Desktop applications are just as guilty of having inconsitent UIs. Programmers break the rules all the time regardless of the platform. We need more UI experts and we need to stop making programmers responsible for the UI.

"3. Browser technologies are too limiting."

So? The web has its own advantages that I will not enumerate here as they are (mostly) well known. It's a different platform. People need to stop trying to build web applications as if they were desktop applications (hint: REST).

"4. The big vendors call the shots... Increasingly, the evolution of Web standards is being driven by major browser vendors -- new features are implemented first and standardized later. Independent developers have little genuine input into the future direction of the Web. And that's to say nothing of the ongoing bickering between the various vendors. Does it make sense to rely on client-side software that's such a moving target?"

No one's claiming the standardization process is perfect. But, at least it happens mostly in the open. All it takes to solve this problem is for more people to step up and get involved in promoting web standards. Stop complaining and get involved!

"5. Should every employee have a browser? ... You could make a case that it's unwise to allow employees unfettered access to the Web if your company values productivity, particularly in high-turnover environments such as help desks and call centers. But if your internal applications are Web-based, you'll need to either host them onsite or maintain careful router or firewall rules to prevent abuse of your Internet services."

I'm not even sure what Neil's point is here. This is a company-by-company decision. If it's important for a company to block web access, then surely they can figure out how to write the appropriate firewall rules to allow their own web apps to work? Overall I thought this piece was not very well researched and had some major logic gaps. If its goal was to be flamebait then it did a good job.

Saturday, January 17, 2009

CSS for Web Developers

See CSS for Web Developers at its new home on bradley-holt.com.

The Burlington, VT PHP Users Group will be meeting Thursday January 22nd from from 6:00 pm to 8:00 pm. Since we (Found Line) recently had some demolition - I mean renovations - done we've got a bit more space so thought we'd finally host the meeting. Here's a description of the presentation, "CSS for Web Developers", that Jason will be giving:

Most web developers don't consider themselves designers—and shouldn't. The reality of working on a website or web app, however, is that developers must either wear the designer hat or must interface with a designer/design team. Having a solid understanding of design best practices makes for a more efficient process and a higher quality product. Come hear more about web design and CSS from a designer's perspective. We'll cover semantic markup and its influence on CSS implementation, reset and debug stylesheets, tools for creating and debugging CSS, coding standards, and maybe even microformats if time allows. The goal isn't to convert developers into design experts, but rather to give an overview of an effective design process that works for designers and developers alike.

Jason Pelletier is Creative Director and Web Designer for Found Line. The Burlington-based creative firm develops standards-based websites, product packaging and marketing strategies for growing businesses. Clients include Seventh Generation, Vermont Public Radio, EatingWell and True Body Products. Prior to co-founding Found Line, he managed creative resources for Seventh Generation, and was a designer for Stonyfield Farm.
More details here. Please pass this on to others you think might be interested. Pizza will be provided and we will be giving away a "please don't hurt the web - use open standards" t-shirt as well as a copy of Jeffrey Zeldman's book "Designing With Web Standards". Hope to see you there!