Don’t get me wrong – it’s not like web applications have solved all our woes…far from it!
But let’s consider the state of IT around, say early 2000 (when this whole “web thing” was starting to become big in corporate land). It’s a Windows NT 4 / Windows 2000 type world – XP around the corner. This list is, by no means, comprehensive, but just a dump off-the-top-of-my-head Deploying apps: - Hard, but doable. But most tools were pretty primitive – we could have been on SMS 2.0 at the time. ActiveX was around. Some people were even using Group Policy based deployments. - And then there was the network – huge sets of FW rules to get DCOM/RPC etc. working. - Maybe your users were on the end of a 128kbps leased line ISDN connection – pushing stuff out there is not easy, and low priority compared to actually running your business! Managing dependencies and pre-requisites - Really hard. With 500+ applications, a bunch which were “off the shelf”, trying to manage pre-requisites and dependencies was a PITA, especially when there were incompatibilities between libraries etc. Remember .dll hell? Remember the extra software we had to buy to get two versions of Acrobat running side-by-side. Or two versions of Sun’s JVM? Upgrading apps - Doable, but no real palatable options. Did you upgrade an app when someone logged on (e.g. the GPO option), whilst the user twiddled their thumbs for an hour? Or when they tried to use an app? Or somehow in the background (in which case their app might not work because you already upgrade the backend)? License compliance - Really hard. Trying to know what was installed, and being used, was really, really hard. Even today, big enterprises spend a fortune deploying software asset management tools that scan you network/hosts looking for software that’s installed, to work out what we need to pay for, and what we need to be aware of when we make changes/upgrades. Upgrading OS - And this is where it got really painful. Who has what installed? And what versions? And then testing all these apps against a new SOE. Really, really expensive. All of the above leads to a distinct loss of agility and flexibility. In order to keep the end-user estate manageable, we ended up with huge standards and processes that everyone had to jump through to get applications into the environment, and keep the managed. And that’s partly the reason why VBA, Access, Excel etc. became sooooo popular – end users could become their own “shadow IT” departments, running their own little apps because everything else was too slow and too expensive to deploy through official channels. Even though it just added up to more tech debt that had to be “paid for” later when the next upgrade of Office or Windows rolled through. Then a bright spark comes along and said – “we can solve all this” - All your apps runs inside a single app – your web browser! Just one app (the browser) to test against your web apps when upgrading! - It all runs over a single TCP port! And it has built-in over-the-wire encryption and identity (SSL, now TLS!) - All dependency management moved to a central place, where it’s easy to get visibility of what’s in use and test! - You can upgrade everything overnight! Just replace the software in your data centre! No need to touch tens of thousands of end-user devices! - Licensing gets really simple – vendors will have new models where you can see/track users at the server – don’t worry about end-device licenses/deployments because these don’t exist anymore. - Users get mobility – use any PC (and now, any device) anywhere – no more requirement to have a client deployed to the device beforehand, in order for the user to be productive - All heavy data movements are contained within the data centre – just the presentation is sent to the end-user Sounds like some kind of nirvana, right? Of course we know that’s not really the case. The underlying problems of building applications in an ecosystem haven’t gone away. They’ve just moved from one spot to another ☺ From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of Greg Low (??????) Sent: Tuesday, 22 November 2016 12:25 PM To: ozDotNet <ozdotnet@ozdotnet.com> Subject: RE: [OT] node.js and express What do you see as the key drivers Ken? I can guess as I spend my life in these environments but I’m left wondering if we could have solved them a much better way. We simply haven’t achieved productivity. And I’ll bet if someone is starting to build something new today, they can’t even work out what to use. How did we get to this? Regards, Greg Dr Greg Low 1300SQLSQL (1300 775 775) office | +61 419201410 mobile│ +61 3 8676 4913 fax SQL Down Under | Web: www.sqldownunder.com<http://www.sqldownunder.com/> | http://greglow.me<http://greglow.me/> From: ozdotnet-boun...@ozdotnet.com<mailto:ozdotnet-boun...@ozdotnet.com> [mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of Ken Schaefer Sent: Tuesday, 22 November 2016 12:15 PM To: ozDotNet <ozdotnet@ozdotnet.com<mailto:ozdotnet@ozdotnet.com>> Subject: RE: [OT] node.js and express Typical Devs – all they talk about is how much faster/quicker they can write an app in one tech vs. another. As if that’s the only thing that matters. ☺☺ (note, smiley faces!) Development time/cost/effort is generally a small fraction of the cost of supporting an app, let alone the cost of supporting a large environment. Maybe thick-client deployment works well in small(er) environments. It doesn’t scale in larger ones. As David alluded too, there were many drivers to moving towards web-based applications Cheers Ken From: ozdotnet-boun...@ozdotnet.com<mailto:ozdotnet-boun...@ozdotnet.com> [mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of DotNet Dude Sent: Tuesday, 22 November 2016 9:15 AM To: ozDotNet <ozdotnet@ozdotnet.com<mailto:ozdotnet@ozdotnet.com>> Subject: Re: [OT] node.js and express Totally agree Greg. About 80% of what we are currently building could be done in 1/10 of the time using winforms or mvc. Some of our clients are even TELLING us how to build it using whatever technology they've recently heard of. One customer recently asked us to use Electron. Did they need cross platform? No. Why force javascript down my team's throat when it can be avoided altogether and we can have it done in a week with wpf or winforms?! Many years ago we just did a winforms app and deployed via clickonce. Worked well and no complaints in the Intranet environments. I've yet to see a case where not using winforms (or wpf) or webforms (or mvc) is worth it in Intranet situations. Internet facing apps is a whole different thing obviously.