Internal Software Development Moves to the Web Browser

Develop Web applications for local use” from IBM developerWorks (via Slashdot) discusses the advantages of moving internal software development from the desktop to the web browser. Intranet Web Applications can be developed much faster than traditional desktop applications because the programmer can forget about learning GUI toolkits, skip over networking dirty work, and get right to business.

Nearly two years ago, I was hired into the I.T. department of a small non-profit organization to solve problems with software, and chose the exact course of action described here. Given a handful of departments with business processes dependent on pencil, paper, and outdated computer systems, it’s been my responsibility to automate and streamline these processes.

There were no legacy systems in place, and I did not have to abide by any precedents set forth by any predecessors — I was the first soul to fill these shoes. With the luxury of building these systems from the ground up on whatever platform I judged most fit, I considered many of the usual suspects: Java, .NET, C++, Python, and the various scripting languages suited for web development. I came very close to using Python because of its powerful capabilities as a programming language applicable to both web development and GUI programming. Ultimately, I chose a 100% web-based solution with PHP and MySQL.

The WAMP platform I’ve put in place has proven to be an excellent fit for the nature of my specific organization. I’ve developed a number of applications used by small departments, often with one or two, and no more than a half-dozen people using each system to manage small to moderate amounts of data. Some of the advantages I’ve enjoyed include:

  • Leaving the technical dirty work to an extremely capable scripting language, and the aesthetic dirty work to the web browser, making rapid application development a breeze.
  • No desktop installation is required. Upgrades are rolled out only once to the web server, instead of many times to numerous workstations.
  • Easy system-wide upgrades make fixing bugs über-simple.
  • End users who are proficient in managing their bank accounts online and checking web-based e-mail at home can quickly adapt to the interfaces I build at work.
  • With a little bit of AJAX, web applications feel more like their desktop counterparts.
  • A standards-based approach to the presentation layer makes for a dependable approach to end-user compatibility.

Desktop programming isn’t dead, but the demands of a situation like my own often make web-based solutions an excellent choice. The emergence of rich web applications the likes of Google Docs & Spreadsheets are further evidence to this trend in software development.

What kinds of advantages and disadvantages do you see in web-based approach to software development?