The Late but Great Rearchitecture of DevX

t was just about exactly two years ago that DevX changed enough things around that our readers were likely to notice. At that time we were implementing a site-wide navigation bar and putting more links and resources on high-traffic pages. That initiative was very successful but it didn’t solve one of our biggest challenges as an online publisher: that is, how do you help people find the needle in the haystack when the metaphorical haystack is a dynamic, ever-changing imbroglio of converging technologies?

It wasn’t so many years ago that programmers of one stripe had relatively little in common with programmers of another. You had your basic, foundation-level similarities, but on top of that were layer upon layer of system-, language-, platform-, protocol-, etc-specific knowledge, with little overlap between them.

More often than not, these silos of isolation grew up around programming languages. In the early days there were COBOL, FORTRAN, C, and BASIC programmers; later, we had the widespread adoption of object-oriented languages to divide us further and within each of those, new language factions were created with new version and vendor releases.

Then, of course, several things changed.

  • Increasingly, languages provided programmers with a level of abstraction from the hardware, because they could recompile their programs for different chipsets and (sometimes) different platforms, but languages provided less abstraction from the platforms themselves; programming an application for Windows remained very different than programming one for UNIX or for the Macintosh.
  • The Web broke down the high sidewalls of platform isolation and gave developers a way to deliver applications to any platform that could make simple Web requests and parse HTML. Browsers took on the task of abstracting the front-end portion of applications by letting developers use HTML as a common GUI syntax to create controls that developers could program with JavaScript.
  • Java provided a sorely needed platform abstraction and gave developers an easier way to write cross-platform code, simplifying and unifying development for disparate hardware. Java has been nearly as successful in replacing platform-specific back-end programming as browsers have been in replacing and augmenting front-end client applications.
  • XML provided a simple text-based format for describing almost anything, from database records to method calls, to object persistence. Because it’s both self-describing and (with a schema or DTD) self-validating, XML is breaking down all the remaining barriers between programming languages. With a simple (SOAP) XML wrapper, code in any language can consume services written in any other language.
  • The .NET framework and the Java platform are also breaking down barriers, showing that language syntax is often nothing more than a thin wrapper atop a robust class library.

Today, some developers still write in a single language, but many more write in multiple languages; and nearly all developers pay attention to what goes on in the other guys’ camps, a skill they’ve developed not out of curiosity but out of necessity. Further, an entire new IT specialization has been created to address application integration. Enterprise is neither a new word nor an interesting one, but the importance of having “enterprise scope,” as a developer, continues to grow.

For all of these reasons, developers’ most pressing needs today are often not how to solve some minutiae of language-specific syntax, but how to design applications from the ground up to speak the lingua franca of today’s any-client, any-platform, any-datastore, any-location applications; how to abstract data from code dependencies; how to isolate code from platform dependencies; how to design and implement classes rather than how to code yet another sort routine. And it goes without saying that developers’ information and research needs have changed in kind. And for DevX, that means making some changes.

Once it was sufficient?even practical?to distribute information in ways that meshed with the language-specific silos that the programming world had invented. DevX was once defined by a handful of language-centric “zones”?C++, VB, Java, and Web?but more and more what developers need to know is not so obviously defined by the language of their current application. For example, what “zone” is most appropriate for Web services? Web services are not language-specific. They’re not (despite the name) either Web-specific or even Web-dependent, and they’re not platform-specific.

Web services embody the changes that are taking place in programming, and we want DevX to mirror those changes in the way we provide access to programming information. So, while technology-specific zones still compose the navigational core of DevX, we’re working hard to make architectural changes that will help us provide you with the information you need, when you need it, with minimal forethought from you.

This week we deployed the first phase of a major architectural overhaul of DevX: a project that has been neither short nor pretty?nor, regretfully, even finished?but it signifies the first major step in a critical update of our back end architecture. With our new content management system comes new opportunities for more features and more content, and an updated user interface to go with it.

The Promise of Managed Content
Content management systems are not new, so it may surprise you to know that DevX has never had one?until now. Though the site comprises tens of thousands of documents, each one had been either lovingly hand-coded in HTML or generated by making specific database queries and formulating the results with page-specific code. And in that way DevX was several years behind larger publishers, which have been using commercial content management systems for some time.

The lack of a content publishing system was problematic because it limited our ability to make sweeping functionality or design improvements, to recommend related content to our readers, to minimize the negative effects of modifying and moving content, and many other issues. A content management system allows us to easily and immediately provide better contextual linking to our readers, whether that link is to an outside resource, a newsgroup thread, a tip, or a DevX article. And by doing thatwe help fulfill our mission of providing developers with the information they need, whether or not that information exists in the technology-specific zone that they’re initially drawn into.

But the content publishing system goes far beyond simply giving us better ways to make content links. We’re struggling with many of the same problems that you have. For example, how can we deliver information to client types such as handheld devices and phones as well as traditional browser clients? We have an incredible bank of developer resources, and we want to provide more “views” into that information, such as exposing Web services that list the most recently published articles, delivering content in multiple languages, and letting you choose the syntax in which you’d prefer to view examples. And we now have the framework upon which we can build and deploy long overdue features such printer-friendly views and a content rating system. While we haven’t implemented these capabilities yet, at least they’re now possible.

Overview of Changes, Today and Tomorrow
Now that we’ve deployed this foundation, our next job is to go about the business of rolling out as many of these anticipated features as we can as well as bringing more areas of the site under the umbrella of our management system. And that brings me to an important point of clarification about the status of the site: In order to deploy this as quickly as possible, we opted for a phased rollout. And that means certain areas of the site are not yet managed under the CMS. Areas such as the Tip Bank, discussion groups, and older content will take you back a step in our design evolution. We think the impact of this incongruency is negligible. Links throughout these legacy areas will bring you back the managed front end?and the most recent versions?of any page.

Over the next year, you’ll see incremental changes as we bring these areas into the managed system, add their resources to a singular knowledge base, and update their user interface to match the new design. As we do this, we’ll be adding to the functionality and deploying great new interactive features to the various content areas of the site.

One of the most aggressive of these new capabilities will be “Power Browse,” which will allow you to crawl through all of the thousands of pieces of content on DevX by topic. Power Browse will capitalize on the new cascading menu navigation, which you will find in the upper left corner of every page on DevX, whether it is a page managed under the CMS (like this one) or a “legacy” page.

Navigating DevX is very simple and, conceptually, hasn’t changed from the last design. You’ll still find the latest content on the topic-specific Zones (the .NET Zone, Java Zone, Database Zone, Web Dev Zone, C++ Zone, etc.) To go to one of these pages, simply mouse over the “Popular Topics” text in the navigation box (where it says “Browse DevX”), and see the main topical menu fly out, then navigate down one level further to find the Zone and other important pages on the site related to that topic. To visit broad areas of the site without entering by topic, use the “Resource Centers” link on the navigation box, which will bring you to the front door of any area or library on the site. We think this navigation is easy to use and efficient: You’ll no longer need to expand and contract areas of the nav bar multiple times to find the place you want to go.

Tell Us What You Think
A few things to note: The new DevX design does not work in 4.X versions of Netscape Navigator. As a development site we understand well the hypocrisy of teaching one thing and doing another. On the other hand, the numbers of Navigator 4.X users is declining rapidly as the latest version of Netscape?version 7, based on the Gecko engine?is gaining a rapid fan base. We’re working to deconstruct the design issues that give Netscape 4.X the most problems and hope to deploy a modified version of the design that will run in that browser.

Also, like so many sites that pay their bills by accepting advertising, we have elected to introduce a few new advertising units on the site. The largest of these is a 336 by 280-pixel unit, which runs on the first page of many new articles. While we don’t relish the trend of pushing advertising physically closer to the editorial content, we’ve also learned by watching those who went before us, and have thereby steered clear of any aggressive advertising that interferes with site readability and user experience.

Finally, we know that A) things are never perfect and B) what we think is an improvement is subject to the opinion of our readers. We want to hear your comments and solve any problems that we can as quickly as possible. I’ve set up two threads in the talk.editors.devx discussion group. One for broad comments, criticism, and suggestions about the changes we’ve made; another to report any bugs or specific problems that you find that we should solve immediately. A variety of people at DevX (including all the editors) will be checking these groups frequently. If you prefer to use email, please use [email protected], which is monitored by our Customer Service Manager, Christina Ignatius. And you are always free to email me directly at [email protected]. Finally, we put together a very short surveyand we’d be grateful for your participation, once you’ve had a chance to try out the site for a few minutes. We’re eager to receive your feedback.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may

man on floor with data

DevX Quick Guide to Data Ingestion

One of the biggest trends of the 21st century is the massive surge in internet usage. With major innovations such as smart technology, social media, and online shopping sites, the internet has become an essential part of everyday life for a large portion of the population. Due to this internet

payment via phone

7 Ways Technology Has Changed Traditional Payments

In today’s digital world, technology has changed how we make payments. From contactless cards to mobile wallets, it’s now easier to pay for goods and services without carrying cash or using a checkbook. This article will look at seven of the most significant ways technology has transformed traditional payment methods.