About   Slides   Home  

Managed Chaos
Naresh Jain's Random Thoughts on Software Development and Adventure Sports
RSS Feed
Recent Thoughts
Recent Comments

"Innovation", the forgotten noun in the software development dictionary

Have you been wondering, what‘s happening to the software field?
Have you come across any innovation recently in the field of software development, which solved one of the basic problems in developing software?

Everybody used to talk about Software leading the innovation arena and improving people‘s life. Helping people improve the way they do things and help achieve some tasks which were impossible before.

I‘m personally disappointed with the innovation happening in this field. For me innovation is solving one or more important problems in a simple way. By simple I mean simple from a user‘s point of view. The implementation of the solution might be complex, but abstracted away.

Focusing on a narrow stream of things inside the software world

  1. 1991/92 The innovation of Internet : It changed the way we think of the world today, yet a very simple solution
  2. 1995 The Java Virtual Machine [JVM]: “Write once run anywhere”. If you have ever worked on a porting project, you will know what this means to you.
  3. 1996/97 Java embraced the Internet : With all those crazy applets and servlets, Java helped to push Internet to the next level
  4. 1998/99 KVM : Java for devices. Embedded programming with Java helped bringing nice colorful user interfaces for deceives.
  5. 1998 Search Engines : Goggle‘s search engine is surely changed the way we think about internet today.

Since then nothing significant has happened. We had Swing, J2EE, Java Web Start, Web Services, etc come and go. But nothing impressive.

Eclipse plugin architecture, MVC frameworks, .NET‘s CLR, etc are good ideas. But I would not term them as innovations that eased my life as a developer/customer.

I‘m seeing a trend of building a lot of applications, frameworks, language features, libraries, etc. But they are just building on the beaten path. Just trying to overcome some language/technology shortcomings. None of them really reflect directly to real world problems. They don‘t seem to simplify things to me. We are so deep into this maze of technology stack, then we have forgotten to think about the simple real world problems that software development is facing.

We still have security concerns. We still don‘t have a nice way to store and retrieve our data. We have issues with software becoming obsolete because everyday the volume of data is increasing.

Are we at the horizon of something new?

    Licensed under
Creative Commons License