Wednesday, February 20, 2013

Java needs to start again... from BEFORE JavaSE 6

Back in 2006 I wrote a post on why JavaSE 6 wasn't for the Enterprise with all of the cruft that had been added and one comment I made around the inclusion of a Web Server was its potential impact on security.  Well it appears that thanks to this bloatware approach and lack of focus on core stability Java is now one of the number 1 security threats out there.  Apple have been hacked thanks to this and government agencies are saying turn off Java, something I've done myself.

Can anyone in Java land seriously imagine this happening before JavaSE6?  Java was the secure platform, the rock solid, no security issues, bet your business on it.  We'd laugh at Flash, we'd guffaw at Microsoft and chuckle uncontrollably at the script kiddies.  So did JavaSE 6 even meet its aim of keeping Java relevant with Joe Sixpack developer?  Well no, we've seen a massive increase in language fragmentation since JavaSE 6.  Does the current roadmap for Java address the structural and industry trends of things like Android, Big Data, Enterprise Computing?  Again I'd have to say no.

I'm a Java fan, I spent a large bunch of time investing heavily in the Java community and I got a lot out of it.  Its horrible to see how its now a hack and slash platform riddled with security issues.  So lets face it

  1. Java as an in browser solution is dead
  2. Java for the desktop will make it the year after Linux does
Therefore can we please concentrate on the core of Java, both for mobility (remember when Java dominated mobile games and apps?) and for the enterprise computing market... you know where the money is.

Java has, since JavaSE 6, been an unmitigated disaster, its turned strong foundations and principles into a complete and utter mess.   I was on JavaSE 6, I saw it happen before my eyes and I couldn't stop it because (lets be blunt here) I'm no James Gosling.

Java needs to recognise the market and restructure around it or its irrelevance and the massive impact of that on enterprise software and support is assured.  I know I speak for lots of Java guys out there when I say we are up for the challenge and we want to help but that starts by recognising the scale of the mistakes made and drawing up a completely new roadmap based on a clear vision of what enterprise and mobile computing needs today.

Tuesday, February 19, 2013

Big Data and smart maths aren't new, that is the GOOD THING about it

One of the things that annoys me sometimes, and its quite a long list, is when people proclaim something as 'new' when in fact its just a case that its gone mainstream.  The problem I have with this is that it normally means that they've forgotten all of the learnings of previous generations of implementation and are starting from scratch and making the same old mistakes.  We saw this with the rise of the internet which threw 20 years of research into human computer interaction and it took us about 10 years to get to the stage where people started thinking about design in a human rather than media company way (hat tip to Google who seemed to have read their technology history).

Big Data and Predictive Analytics aren't new either.  The UK's Met Office has been a Big Data & Predictive Analytics organisation since its foundation in 1854... 1854 folks.  Now sure you can say 'oh but they didn't have Hadoop' but that doesn't mean that in context it wasn't a preditive analytics organisation from its foundation and what its being doing for the last 30+ years has certainly been 'Big Data' and Predictive Analytics.  Simulations for Nuclear Explosions are pretty Big Data as well, and those clever chaps down at CERN and the LHC are building on decades of work in handling and processing massive data sets.  Remeber SETI@Home?  A project that had a massive data set and farmed out small chunks of it to individual servers for it to be processed then returned... almost Map Reduce like one would say.

What about in-memory data and real-time analytics?  Well have you ever flown on a plane?  Ever wondered just how the Air Traffic Controller sees your flight information, trajectory and warnings if it looks like you might crash into another aircraft?  Strangely this doesn't involve a series of database queries, its a stream of information with some very smart maths which identifies the planes, some other maths which works out their trajectories and then yet more maths which looks for potential collisions.  All of this is done in real real-time, not 'real-time' in a business sense where a second is ok, but if it takes 5 then so what you'll just moan a bit, real-time as in people might die if you don't do all of this in a fixed time.

The point that makes Big Data and Predictive Analytics a REAL trend and one that will have an impact is that we actually know this stuff works.  Its just that now its cheaper for other people to do rather than governments and large scale financial organisations.  We know that stochastic maths and other rather clever approaches can give decent predictions in chaotic systems, we know that you can adjust models in real-time, but only certain types of models and we know that there are limits to what things like Map Reduce can do from an analytics perspective that the in-memory is great but that memory is not infinite (unless you have a Turing Machine).

We do this commoditisation, for that it was it is, of technologies a disservice by claiming its 'new'.  Its power is that it is now a commodity, something available to all, that doesn't make it magic and that doesn't make it bullshit, what it makes it is REAL.

Big Data and Predictive Analytics will work because its built on solid foundations which are proven over decades of use.  It will fail if people don't recognise that and start from scratch because one thing that is true is that Predictive Analytics can be hard, infinitely more so if you don't learn from history. 

Friday, February 15, 2013

Train Delays - why context counts in Big Data

Right now in the UK there are hundreds if not thousands of trains around the UK, all moving at different speeds and going on various routes across millions of rails, switches, points and other things.  This gives billions of pieces of information.

But right here, right now I just want to know why my train is stuck and when I'll get home.

The key to remember in Big Data is that its not the volume that really matters its how you deliver the information and analytics to the right person at the right time to inform their decisions.

Tuesday, February 12, 2013

IT has made its self redundant through technology

There are lots of stats out there about CMOs (Chief Marketing Officers), CFOs and COOs now spending more on IT than the IT department.  Lots of this spend is on SaaS solutions and information centric solutions.  The previously powerful IT department has dropped out of contention in many cases because its not seen as adding any value.

And what is the main reason for that?

Well the IT department, its traditional vendors and analysts really aren't about offering business value, they are about positioning technologies, and of course re-positioning new technologies that do the same things as the old ones but in a 'better' technical way.

But lets look at some business apps for a second and ask some questions

SAP - Is SAP ECC the 'best' technical solution?  I think even the most ardent SAP fans would admit that this isn't the case, but it doesn't matter because what SAP does have is the operational processes the business wants.

SFDC - Is SFDC technically the best?  Is the Force.com development language the best development language?  Are their integration interfaces the very best that they could be...  again I think everyone could point to areas of improvement but again the business doesn't care.

What about the various marketing engines out there?  Indeed what about those things such as AWS or Google AdSense that people point to as technically excellent.  Do business people care about that technical excellence?

No, and No.

The market is changing, people want to get value and that means we need as an industry to concentrate on delivering that value and not on arguing about pieces that no-one cares about.  I talked about this before in Christmas SOA the fact that our job in IT is to deliver the outcome to the business without worrying them about the details of technology otherwise they will buy those outcomes from somewhere else, bleating about the technical imperfection of that other approach carries no weight when you've not demonstrated an ability to understand and deliver the right outcome.

IT needs to switch its focus to the 'I' (Information) and the outcome and stop this obsession with technology.

Monday, February 04, 2013

People are the problem can we stop pretending its technology

A friend of mine the other day said an amazing thing
I like coding in C++
I mean, seriously?  The land of friends, of people writing C code and debugging nightmares, had things got that much better, I mean I know there are some good threading libraries now but seriously, C++ is nice?
All of the idiots code in Java, they don't know C++
And there we have the point.  Its not about what technology is best its about the people using them, I'll guarantee that if the idiots were in C++ he'd be having more problems but because they are scared of it he can get more done in C++ safely as for them its terra-incognita.  This for me is why debates around SOAP v REST are pointless and make me quite angry.  People pontificate on 'REST scales better' or something else that doesn't matter 99.99% of the time (as in yes it might, but if something else scales acceptably then its not an issue), its like the 'Assembler is more efficient' bullshit that those of us who dared to code in C will remember.

The worst piece about the technology marketing community, by which I mean analysts and vendors, is the ability to hype something that doesn't matter because its a new technology.  It isn't that this technology has to make things better, hell it can actually make things worse, but all it needs is to have some technical reason why its better than something else.  'Its faster' in a place where that isn't important, 'Its quicker to develop your first solution' but a bitch to maintain. We've heard them all down the years.

So as part of my desire to see Thinking is Dead proven wrong I'd like to start a simple campaign.  Everything an analyst, vendor, consultant or developer tells you that something is 'better' ask the following three simple questions

  1. How does it reduce the support costs
  2. How does it reduce the salary levels of my developers
  3. How does it have a measurable impact on its own to our top or bottom line
This last point is critical.  I've seen some crackers down the year around integration technologies in particular 'We used technology X and shipped $1bn in products, therefore X delivered $1bn in revenue' no it didn't, the only question is if it cost less to develop and support technology X, the best that a technology in integration can hope for is a cost reduction in integration TCO, it will never on its own deliver the value because the value is about the information or transaction it delivers.  If it does that more cheaply then its a cost saving, but its never a revenue generator.


There are places where technology can have a top-line impact but those are very minimal (Predictive Analytics and HPC are about the only two I can name) everywhere else its an enabler for people to deliver value.  So the goal of technology is to make the people work better, the people work more efficiently.  Having a technology that is 5% better than another technology at technology stuff but 10% worse from a people perspective is like comparing getting the horse with being driven to near extinction for native americans.  Sure its a benefit, but it really doesn't outweigh the costs.