Reflection on Ted Neward's Tech Predictions

Ted Neward has posted his predictions for 2007. I thought I would list them here, and add my responses to each. Please go read the original post. My comments will be in red.

  • General: Analysts will call 2007 the Year of the {Something}, where I bet that {Something} will be either "ESB" or "SOA". They will predict that companies adopting {Something} will save millions, if not billions, if only they rush to implement it now. They will tag this with a probability of .8 in order to CYA in case {Something} doesn't pan out. (Yes, I've read far too many of these reports--I'm personally convinced that each of the analyst companies has a template buried away in their basement that they pull out each time they need a new one, and they just do a global search-and-replace of "{Something}" with whatever the technology du jour happens to be.)
  • I couldn't agree more. Analyst companies don't provide any value besides providing a way for a bad excuse for a CIO/CxO to rationalize a big decision. They just need to pick the proper company that backs up their inner wish.

  • .NET: Thousands of developers will horribly abuse WPF in ways that can only be called nightmarish, thus once again proving the old adage that "just because you can doesn't mean you should" still holds. WPF's capabilities with video will prove, in many ways, to be the modern equivalent to the "blink" tag in HTML. This will provide some author with a golden opportunity: "WPF Applications That Suck". Alan Cooper will re-release "About Face", updated to include WPF UI elements.
  • I have been saying for over a year that WPF is a HUGE step forward for desktop app UI. It finally gives the window jockeys the power of web design. Unfortunately, it seems more akin to HTML 4 than to XHTML/CSS, but its a great first step. I also think that the first 12-24 months will be like the early days of web design. Remember those? Gray background, black text, and every client design session started with the 'designer' asking if the client wanted their logo to 'be on fire' or 'rotate'. The dev crowd will skill up and finally the people with great UI's in them will come forward, and finally have the tools to EASILY build them. Between now and then, there is a whole lot of UI bad. Microsoft should make every developer read Cooper's "The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How To Restore The Sanity" before they install the WPF SDK.

  • .NET: Thousands of developers will look to Redmond for an answer to the question, "Which should I use? BizTalk, Windows Workflow, or SQL Server Service Broker?", and get no clear answer.
  • This is where I have to break with Mr. Neward. I think there is clear guidance now, but maybe that is because of my work with the BizTalk product team. Need a raw data shovel? Use SQL Server. Service Broker shouldn't be used at all (see lower down for my reasoning). Need workflow support IN an application or a composed system? Use WF. It's a building block, and a very good one. Need EDI, true EAI, a ESB/SOA platform as a server product? Use BizTalk. MS will of course build great tools, and leave it to the masses to use or misuse them as they will. The dev community will find it's way through this.

  • Windows: Microsoft will try, once again, to kill off the abomination that was called the Windows 95/98/Me line of operating systems, and will once again have to back off as industry outcries of protest (on behalf of little old ladies who are the only ones left running Windows 95/98/Me and probably haven't turned their machine on in months, at least not since the grandkids last visited) go ballistic.
  • Yes. And kill they should. I can't believe people at still using Windows 95. I can accept grandmothers might. And they can still use it. But there is no need to require MS to support it, at all. There are plenty of partners/companies out there that will be willing to support it, for a price. This is a reflection of a problem only Microsoft with OS's, that the other OS vendors don't have. Such a huge install base that they CAN'T move with the agility they would like to, or that others can.

  • Windows: Ditto for Visual Basic 6.0, except now the outcry will be on behalf of developers who aren't capable of learning anything new. Sun will use the resulting PR to announce Project YAVKRWMITT (Yet Another VB Killer Really We Mean It This Time, pronounced "YAV-kermit") on java.net. Meanwhile, efforts to make CLASSPATH into something a VB 6 guy actually has a prayer of understanding will go quietly ignored.
  • We have many clients moving from VB6 to .NET, and need a lot of help moving. I think the longer people wait, the harder for them it will be. Most are taking a life cycle approach. New apps are in .NET, and old apps are only moved to .NET when their lifecycle demands. Of course, maintenance costs need to be taken into account when discussion the lifecycle of a legacy app.

    Another interesting thing, is now that it is is hard to find skilled vb6 developers (most good developers have moved to .NET, and refuse to even pick up vb6 for a small project), that the VB6 bill rate is creaking up. This will rise through 2007, and then start to drop as the last VB6 application holdouts give up and move on to something else.

  • Java: JSR 277 will continue to churn along, and once the next draft ships, publicly nobody will like what we produce, though quietly everybody will admit it's a far cry better than what we have now, and when it ships in JDK 7 will be adopted widely and quietly.
  • I don't know enough about Java to even contemplate this.

  • Java: Thousands of new ideas and proposals to extend the Java language in various ways will flood into the community, now that developers can start hacking on it for themselves thanks to the OpenJDK. Only a small fraction of these will ever get beyond the concept stage, and maybe one or two will actually be finished and released to the Web for consideration by the community and the JCP. Thousands more Java developers craving Alpha-Geek status will stick a "Hello, world" message into the compiler's startup sequence, then claim "experienced with modifying the OpenJDK Java compiler" on their resume and roundly criticize Java in one way or another by saying, "Well, I've looked at the code, and let me tell you....".
  • Again, I don't know crap about Java, or the community, but I imagine that the release of OpenJDK will result in one of two things. It will either be seen as a wondrous move (most OSS monks believe this already) and will re-invigorate the slowing march of Java adoption, or it will splinter and confuse the Java market more than it already is. We do have Java clients, and project (I just don't have a deep understanding of the platform), and they already struggle with multiple application servers, and their differences.

  • .NET: Somewhere, a developer will realize that SQL Server 2005 can be a SOAP/WSDL XML service endpoint, and open it up as a private back-channel for his application to communicate with the database through the firewall "for performance reasons" (meaning, "So I can avoid having to talk to the app server in between my web server and my database"). With any luck, the DBA will kill him and hide the body before anybody can find and exploit it.
  • Yes, Yes, a thousand times Yes! May this be yelled from the rooftops by all developers everywhere. The database is for storing my data. Nothing else. I am surprised the DBAs haven't risen up against the SQL team and complained their wondrous platform has been sullied; no: contaminated, with application server-like features. There is no need for them to be there, and only leads to a waste of MS's money (that dev effort could of been used to actually provide valuable SQL features, or been directed to be part of their app server products instead). I don't even really like the idea of SQL Reporting Services. Great tool. Great use. It shouldn't be part of SQL Server. It should be it's own product, that runs on something else (the app server that isn't here quite yet?).

  • General: Yet Another Virus That's Microsoft's Fault will rip through the Internet, and nobody will notice that the machines affected are the ones that aren't routinely administered or receive updates/patches. Companies will threaten Microsoft with million-dollar lawsuits, yet will fire none of their system administrators who lovingly lavish whole days tuning their Linux IRC servers yet leave the Windows Exchange Server still running Windows NT 4.0.
  • Agreed. It is amazing how the bar MS is held to is different than anyone else. I wonder when malpractice lawsuits will apply to technology consultants? Not that I am looking forward to that, but there are so many dysfunctional teams and IT staff in this industry, that shouldn't be anywhere near technology. If only there was a gene test.

  • General: Interest in JSON will escalate wildly, hyped as the "natural replacement for XML" in building browser-to-server connections, owing to its incredible simplicity in expressing "object" data. Folks, JSON is a useful format, but it's not a replacement for XML (nor is XML a replacement for it, either). What made XML so popular was not is hierarchical format (Lord above, that's probably the worst part of it, from where we as developers sit), nor its HTML-like simplified-SGML syntax. What made XML interesting was the fact that everybody lined up behind it--Microsoft, Sun, BEA, Oracle, IBM, there's not a big vendor that didn't express its undying love and devotion to XML. I sincerely doubt JSON will get that kind of rallying effect. (And if you're going to stand there and suggest that JSON is better because its simpler and therefore more approachable for developers to build support for themselves, quite honestly, I thought we were trying to get out of developers building all this communications infrastructure--isn't that what the app servers and such taught us?)
  • JSON is nice. XML is beautiful. I constantly tell anyone who will listen that we need to get out of the plumbing business, and focus on writing code that provides value to the client. That is why we have BizTalk, WF, WCF, Spring, etc. I think frameworks are powerful, but their design and development should not be part of a normal enterprise development project, but one of their own.

  • General: Interest in Java/.NET interopability will rise as companies start to realize that (a) the WS-* "silver bullet" isn't, (b) ESB, XML, and SOA are just acronyms and won't, in of themselves, solve all the integration problems, and (c) we have lots of code in both Java and .NET that need to talk to each other. This may be a self-serving prediction, but I got a LOT of interest towards the end of this year in the subject, so I'm guessing that this is going to only get bigger as the WS-* hype continues to lose its shine in the coming years.
  • There are several kinds of clients. Those that pick a platform, and for better or worse stick to it ruthlessly. If they are a MS shop, and what they are building could be done better with something else, they will still stick to the MS tools, and vice versa with Java. While there is much to be said for this (fewer platforms == less maintenance and training costs, generally), there are times when it is prudent to use best of breed for solutions. All along there is this other camp that hasn't met a platform they didn't like. Four different platforms, three different J2EE app servers, two integration platforms, and four RDBMS platforms. Aaah, the joy of a spectrum, and helping clients find the right balance.

  • Ruby: Interest in Java/Ruby and .NET/Ruby interoperability is going to start quietly making its presence felt, as people start trying to wire up their quick-to-write "stovepipe" RAILS apps against other systems in their production data center, and find that Ruby really is a platform of its own. RubyCLR or JRuby may be part of the answer here, but there's likely some hidden mines there we haven't seen yet.
  • Not really any comment here. I know, you are shocked.

  • Languages: A new meme will get started: "JavaScript was that thing, that little toy language, that you used to do stuff in the HTML browser. ECMAScript, on the other hand, is a powerful and flexible dynamic programming language suitable for use in all sorts of situations." Pass it on. If you get it, don't tell anybody else. (Don't laugh--it worked for "The Crying Game".) It's the only way JavaScript ECMAScript will gain widespread acceptance and shed the "toy" label that JavaScript has.
  • What Ted is saying, is that like VB, the term 'javascript' has baggage. I think the best thing to ever happen to js is Atlas, and how they turned it into a fully OO language along with the browser normalization layer (much like a HAL). I know there is a movement away from OO, and such, but to me, this has made js so much more useful. Although, and tool/framework that helps minimize the use of js on my part (under the covers is fine) the better. Its a beast to work with and debug.

  • Languages: Interest in functional-object hybrid languages will grow. Scala, Jaskell, F#, and others not-yet-invented will start to capture developers' attention, particularly when they hear the part about functional languages being easier to use in multi-core systems because it encourages immutable objects and discourages side effects (meaning we don't have to worry nearly so much about writing thread-safe code).
  • I presume this will be correct. I don't go looking for other languages like other people. I have to focus most (but not all) of my attention on the tools and platforms my clients need to have their solutions build (based on their environment, and the best tool for the job.) While I feel there is a great amount one can learn from languages and platforms that aren't your own (the reason behind my support and effort helping organize CodeMash), you still need to master the tools that pay the bills. An eye forward, and an eye on what you are doing.

  • Languages: Interest in Domain-specific languages will reach a peak this year, but a small backlash will begin next year. Meanwhile, more and more developers will realize that one man's "DSL" is another man's "little language", something UNIX has been doing since the early 70's. This will immediately take the shine off of DSL's, since anything that we did in the 70's must be bad, somehow. (Remember disco?)
  • I agree that interest in DSLs will rise a great deal this year. I don't like the term peak, as that implies a decline thereafter. I think that interest will rise, and that they will become mainstream (at least on MS platform) due to their inclusion into the toolsets, as well as the rich ecosystem of tools built with DSLs. DSLs will help my team be "Better, Faster, Cheaper" this year. Tools make you more productive, which is important for everyone, and DSLs help you build better tools, quicker.

  • General: Rails will continue to draw developers who want quick-fix solutions/technologies, and largely that community will ignore the underlying power of Ruby itself. The draw will start to die down once Rails-esque feature ideas get folded into Java toolkits. (Rails will largely be a non-issue with the .NET community, owing to the high-productivity nature of the drag-and-drop interface in Visual Studio.)
  • I think, and my opinion should matter much here, that the attention Ruby gets is unhealthy right now. People get excited, there is A LOT of pressure to investigate it and sing its praises, but people are paying attention to the wrong parts of Ruby, and missing what Ruby really has to offer us. I think it is mostly a maturity problem, and as the ecosystem stabilizes and exits the buzzword stage, maturity will set in, and people will start to truly Grok it. How will you know this when it happens? When sessions at conferences about Ruby stop showing off the power from a command prompt, and start talking about real solutions to real problems we need to solve. Until then, while a great thing, it will still be thought of as a plaything. There is more to Ruby. People need to get out of the spinning logo stage though.

  • Java: Interface21 is going to start looking like a "big vendor" alongside BEA and IBM. I was talking with some of the I21 folks in Aarhus, Denmark at JAOO, and one of them casually mentioned that they were looking at a Spring 2.1 release somewhere in mid-2008. Clearly Spring is settling into eighteen-month major-version release cycles like all the big (meaning popular), established software systems have a tendency to do. This is both a good thing and a bad thing--it's good in that it means that Spring is now becoming an established part of the Java landscape and thus more acceptable to use in production environments, but it's bad in that Spring is now going to face the inevitable problem all big vendors face: trying to be all things to all people. This is dangerous, both for Interface21 and the people relying on Spring, largely because it means that Spring faces a very real future of greater complexity (and there are those, myself included, who believe that Spring is too complex already, easily on par with the complexity seen in EJB, POJOs notwithstanding).
  • Java?

  • General: Marc Fleury will get a golden parachute from Red Hat (at their request and to their immense relief), and hopefully will retire to his own small island (might I suggest Elba, la petite corporal?) to quietly enjoy his millions. A shame that the people who did most of the real work on JBoss won't see a commensurate reward, but that's the way the business world works, I guess.
  • Another chapter in the free wheeling, free love OSS movement versus 'The Man'. Can we stop this crap, and focus on building great stuff and helping uses kick ass? These 'camps' are worse than the Dems vs Republicans crap that has swallowed the political landscape.

  • General: Some company will get millions to build an enterprise product on the backs of RSS and/or Atom, thus proving that VCs are just as stupid and just as vulnerable to hype now as they were back in the DotCom era.
  • Again, I don't have a lot of authority in RSS. Its a simple protocol. Big deal. "But Brian," you say, " it allows for such wondrous social change, etc.". Yeah, don't care. I have other stuff to focus on.

  • General: Somebody will attempt to use the phrase "Web 2.0" in a serious discussion, and I will be forced to kill them for attempting to use a vague term in a vain effort to sound intelligent.
  • As soon as we are done flaying the people who use SQL Server as an application server, we should then start on the "Web 2.0" idiots. I will smack the next person who seriously uses that term.

  • Web clients: Ajax will start to lose its luster when developers realize the power of Google Maps isn't in Ajax, but in the fact that it's got some seriously cool graphics and maps. (Or, put another way, when developers realize that Ajax alone won't make their apps as cool as Google Maps, that's it's the same old DHTML from 1998, the hype will start to die down.)
  • Even with Ajax.net, and Atlas, etc, Ajax is still a challenge to build with and debug. It will really help as we focus more on composing systems, as opposed to stove pipe systems. The tooling just needs to catch up.

  • XML: Somebody, somewhere, will realize that REST != HTTP. He will be roundly criticized by hordes of HTTP zealots, and quietly crawl away to go build simpler and more robust systems that use transports other than HTTP.
  • I really don't like using HTTP as a transport for other stuff. It's like hauling around freight in your conversion van. It works, sort of. HTTP is abused. No one will come out with a better transport, because HTTP is baked into so much stuff, and is left so wide open. I think putting all of this stuff on HTTP is a huge security flaw.

  • XML: Somebody, somewhere, will read the SOAP 1.2 specification. H.P. Lovecraft once suggested, loosely paraphrased, the the day Man understands the nature of the universe, he will either be driven into gibbering insanity, or flee back into ignorance in self-preservation. Ditto for the day Man reads the SOAP 1.2 spec and realizes that SOAP is, in fact, RESTful.
  • This just made me LOL. It's true, so very true. I don't even think the people who wrote the spec, read the whole thing. I hear that Dumbledorf dies in the end though.

  • Security: The US Government will continue its unbelievable quest to waste money on "security" by engaging in yet more perimeter security around airports and other indefensible locations, thus proving that none of them have bothered to read Schneier and learn that real security is a three-part tuple: prevention, detection, and response.
  • Agreed. Security doesn't exist. Just a toolbox of ways of defeating known and presumed methods of attack. This goes for terrorism in the physical world, and for hackers in the digital world. The digital world learned years ago that perimeter security is worthless, and that defense in depth is what is important.

  • Security: Thousands of companies will follow in the US Government's footsteps by doing exactly the same thing. (Folks, you can't solve all your problems with cryptography, no matter how big the key size--you just end up with the basic problem of where to store the keys, and no, burying them inside the code isn't going to hide them effectively.)
  • See above.

  • Security: More and more rootkits-shipping-with-a-product will be discovered. We used to call it "getting close to the metal", now it's a "rootkit". With great power comes great responsibility... and, as many consumers have already discovered, with great power also comes a tendency to create greater instability...
  • Funny how rootkits have been around for so long, and now everyone knows, or thinks they know, what they are.

  • General: Parrot will ship a 1.0 release. Oh, wait, hang on, sorry, I bumped into the crystal ball and accidentally set it to 2017.
  • Must be a Java thing.

  • .NET: Microsoft will ship Orcas (NetFX 3.5). (Sorry, crystal ball's still set on 2017. Trying to fix it...)
  • An Orcas CTP was just pushed to MSDN.

  • .NET: Vista will surpass Windows XP in market penetration. (Let's see, almost got it set back to 2007, bear with me... There. Got it.)
  • I actually love Vista. I have been running it through all of the series of beta's/ctp's/rc's, etc. It is truly a great product. Nor perfect, and nor should anyone expect it to be perfect.

  • General: I will blog more than I did this year. (Hell, I couldn't blog less, even if I tried.)
  • I to will try to blog more this year.

  • General: Pragmatic XML Services, Pragmatic .NET Project Automation and Effective .NET will ship. (Wait, is the crystal ball still on 2017...?)
  • If you are familiar with any of my talks, you will know that I favor the pragmatic type of talks, like in my Agile deck. There are some great Agile/XP talks out there about the pillars, believes, etc of Agile. This gets the crowd excited, and they run home to do it, and don't know where to start. I link to take the Hands On approach, and show people how we do it, some concrete examples, and real stories/experiences. I plan on expanding the series to include Hands on ESB/SOA, as well as others. There are so many pie in the sky talks on both ESB and SOA (and I know some of my MVP architect brethren are seething that I even use the term ESB), and I want to show and talk about what we have built, what worked, and what didn't, and what practices we used, and which are just ivory tower pigeon poop. As a side note, the recent publication that talked about the SOE Maturity Model (the MS Architecture Journal? not sure where I read it) was a great read, and put into writing what I feel about SOA architecture and growth/maturity. Its makes a great tool when talking to clients about where they are, and where they do and do not want to head.

    Comments

    Popular posts from this blog

    Farewell

    How does an Architect pack?

    Job security is a myth, and how IT Pros are Thriving