Welcome!

Java IoT Authors: Pat Romanski, Yeshim Deniz, Liz McMillan, Carmen Gonzalez, Elizabeth White

Related Topics: Java IoT

Java IoT: Article

Java Developer's Journal: 'To Dwell in the Future and Forget About Today'

Some of the words I dread most in a meeting are: 'What if ?'

Some of the words I dread most in a meeting are: "What if ?" They're fine in the present tense of "What if a user tries this option?" or "What if the database read fails mid flight?", but as soon as the future tense is introduced I begin to worry. "What if the database and middleware changes?" or "What if sometime soon we don't just have to run on PCs but need to work on mobile phones?" There is also the future future tense such as "What happens to the UI if the operating system is ported to run on a wrist watch?" or "What if one day the company merges with another whose corporate standard is MAC and SNA?"

My first IT job was building computer systems for Insurance Syndicates to allow them to manage their policies, collect premiums, and pay out claims to the less fortunate of their clients. It's a difficult business arena, with companies either losing or making a ton of money; our job was to provide them with systems to help stack the odds in favor of the latter. As well as supporting an existing 10-year-old application, we were all busy working on the next one, which was an entire rewrite. It suffered from all of the second-system syndrome features that usually plague such projects, where every feature, bell, and whistle that didn't get put into the first one gets incorporated.

What ultimately plagued and doomed the project was the "what if" over-engineering that went into its design. The business analysts tried to soothsay every possible scenario that would occur in the future, including some that would have required wholesale deregulation of the market and acts of parliament before they could ever become reality. Such schemes were happily programmed in with the foresight that if they were needed, a soft-coded switch could be thrown and the application would adapt itself in flight. Database rows had unused columns that, at the throw of a switch, would be activated onto users' screens and reports. The reality, of course, was that none of the scenarios that the analysts predicted ever occurred, and the amount of additional soft coding and layers of abstraction meant the software was slow and bulky. We lost almost all our market share to the competition, which just built lean, focused software. Even when big changes did occur to the market, such as the introduction of the Euro as an accounting currency, this required huge changes to the application because it naturally wasn't one of the future scenarios that had been predicted.

It's not just analysts who suffer from "whatifitis" syndrome. Programmers are just as guilty of using this as the excuse to over-engineer designs and code. The first OO project I worked on had to talk to a relational database back end, and we set about tackling this by creating code that could read and write our business objects. After a while it became apparent that the same logic was being used over and over, so this was refactored into a common set of class libraries, and behold a persistence mapping framework was born. Management got very excited about this, believing we'd built some kind of IT Rosetta stone, and talked to our software vendor who brought in some consultants. They raised the possibility that the database tables beneath our objects might change shape and we had to code for that possibility, as well as the possibility that our company might merge with another with a totally different database vendor and schema, and we should cater for that. There was a lot of buzz at the time about OO databases that just stored objects right onto disk without messy rows and tables, so to be ahead of the game our persistence layer catered to this. More and more layers of indirection were built into the code that now sat between the top-level objects and the database reads and writes. This, by now, had become soft coded to look up in dictionaries and maps to figure out what it was actually supposed to be doing at each decision point. This was a cool idea that would allow a system administrator to merely tweak the soft-coded rules and introduce wholesale change to how and where the beautiful and pure OO system would get and put its data. The system never actually shipped, because after having spent about three years building it, when the company did actually merge with another they decided it was silly to spend so much on our project; they would rather spend time patching the existing system to deal with the challenges resulting from the merger.

I'm fortunate enough now to work for a major IT vendor, yet during a recent presentation was given a reminder that "whatifitis" is still alive and well. This occurred while showing a customer a product that lets them write their code once and have it run on several different clients: green screen, Java Swing, and HTML. The business scenario is for someone who has users of all three interfaces, and while the Web or Java interface we generate isn't going to win usability awards against bespoke AJAX or Swing code, it's a good solution for companies who have hundred of screens and just don't want the hassle of many expensive bespoke interfaces. Halfway through the demo, one of the customer's architects asked, "What about the X-Box?" He'd read an article that said how games consoles were the user interface of the future and wanted to know on which release were we going to support this feature. Meeting customers is always odd because I usually only get to be in a room full of managers and their high-level architects, rather than their coders who actually get the work done. Instead of replying, "What if you stopped worrying about the future and, instead of reading airport newsstand IT magazines full of FUD, you spent some time with your users, solving their day-to-day business problems"; I gave a wishy-washy answer that didn't break my company's business conduct guidelines. Pity, what if...?

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (4) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
JDJ News Desk 05/22/06 09:02:34 AM EDT

Some of the words I dread most in a meeting are: 'What if ?' They're fine in the present tense of 'What if a user tries this option?' or 'What if the database read fails mid flight?', but as soon as the future tense is introduced I begin to worry. 'What if the database and middleware changes?' or 'What if sometime soon we don't just have to run on PCs but need to work on mobile phones?' There is also the future future tense such as 'What happens to the UI if the operating system is ported to run on a wrist watch?' or 'What if one day the company merges with another whose corporate standard is MAC and SNA?'

JDJ News Desk 05/22/06 08:22:55 AM EDT

Some of the words I dread most in a meeting are: 'What if ?' They're fine in the present tense of 'What if a user tries this option?' or 'What if the database read fails mid flight?', but as soon as the future tense is introduced I begin to worry. 'What if the database and middleware changes?' or 'What if sometime soon we don't just have to run on PCs but need to work on mobile phones?' There is also the future future tense such as 'What happens to the UI if the operating system is ported to run on a wrist watch?' or 'What if one day the company merges with another whose corporate standard is MAC and SNA?'

JDJ News Desk 05/21/06 06:08:06 PM EDT

Some of the words I dread most in a meeting are: 'What if ?' They're fine in the present tense of 'What if a user tries this option?' or 'What if the database read fails mid flight?', but as soon as the future tense is introduced I begin to worry. 'What if the database and middleware changes?' or 'What if sometime soon we don't just have to run on PCs but need to work on mobile phones?' There is also the future future tense such as 'What happens to the UI if the operating system is ported to run on a wrist watch?' or 'What if one day the company merges with another whose corporate standard is MAC and SNA?'

JDJ News Desk 05/21/06 05:28:20 PM EDT

Some of the words I dread most in a meeting are: 'What if ?' They're fine in the present tense of 'What if a user tries this option?' or 'What if the database read fails mid flight?', but as soon as the future tense is introduced I begin to worry. 'What if the database and middleware changes?' or 'What if sometime soon we don't just have to run on PCs but need to work on mobile phones?' There is also the future future tense such as 'What happens to the UI if the operating system is ported to run on a wrist watch?' or 'What if one day the company merges with another whose corporate standard is MAC and SNA?'

@ThingsExpo Stories
SYS-CON Events announced today that Juniper Networks (NYSE: JNPR), an industry leader in automated, scalable and secure networks, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Juniper Networks challenges the status quo with products, solutions and services that transform the economics of networking. The company co-innovates with customers and partners to deliver automated, scalable and secure network...
Cognitive Computing is becoming the foundation for a new generation of solutions that have the potential to transform business. Unlike traditional approaches to building solutions, a cognitive computing approach allows the data to help determine the way applications are designed. This contrasts with conventional software development that begins with defining logic based on the current way a business operates. In her session at 18th Cloud Expo, Judith S. Hurwitz, President and CEO of Hurwitz & ...
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
@GonzalezCarmen has been ranked the Number One Influencer and @ThingsExpo has been named the Number One Brand in the “M2M 2016: Top 100 Influencers and Brands” by Analytic. Onalytica analyzed tweets over the last 6 months mentioning the keywords M2M OR “Machine to Machine.” They then identified the top 100 most influential brands and individuals leading the discussion on Twitter.
Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market across the USA and Europe, we work with a variety of customers from emerging startups to Fortune 1000 companies.
New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists will examine how DevOps helps to meet th...
Financial Technology has become a topic of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 20th Cloud Expo at the Javits Center in New York, June 6-8, 2017, will find fresh new content in a new track called FinTech.
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend @CloudExpo | @ThingsExpo, June 6-8, 2017, at the Javits Center in New York City, NY and October 31 - November 2, 2017, Santa Clara Convention Center, CA. Learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
SYS-CON Events announced today that Hitachi, the leading provider the Internet of Things and Digital Transformation, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Hitachi Data Systems, a wholly owned subsidiary of Hitachi, Ltd., offers an integrated portfolio of services and solutions that enable digital transformation through enhanced data management, governance, mobility and analytics. We help globa...
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 20th Cloud Expo, which will take place on June 6-8, 2017 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 add...
The age of Digital Disruption is evolving into the next era – Digital Cohesion, an age in which applications securely self-assemble and deliver predictive services that continuously adapt to user behavior. Information from devices, sensors and applications around us will drive services seamlessly across mobile and fixed devices/infrastructure. This evolution is happening now in software defined services and secure networking. Four key drivers – Performance, Economics, Interoperability and Trust ...
Five years ago development was seen as a dead-end career, now it’s anything but – with an explosion in mobile and IoT initiatives increasing the demand for skilled engineers. But apart from having a ready supply of great coders, what constitutes true ‘DevOps Royalty’? It’ll be the ability to craft resilient architectures, supportability, security everywhere across the software lifecycle. In his keynote at @DevOpsSummit at 20th Cloud Expo, Jeffrey Scheaffer, GM and SVP, Continuous Delivery Busin...
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deli...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
@ThingsExpo has been named the Most Influential ‘Smart Cities - IIoT' Account and @BigDataExpo has been named fourteenth by Right Relevance (RR), which provides curated information and intelligence on approximately 50,000 topics. In addition, Right Relevance provides an Insights offering that combines the above Topics and Influencers information with real time conversations to provide actionable intelligence with visualizations to enable decision making. The Insights service is applicable to eve...
SYS-CON Events announced today that Grape Up will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct. 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company specializing in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market across the U.S. and Europe, Grape Up works with a variety of customers from emergi...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...