In this issue of “The Next Big Thing”, I’ll talk about something that every software uses and which is always developed again from scratch for every application: Persistence.
Every application needs to load data from “somewhere” (user preferences, config settings, data to process) and after processing the data, it needs to save the results. Persistence is the most important feature of any software. Without it, the code would be useless.
Oddly, the most important area of the software isn’t a shiny skyscraper but a swamp: Muddy, boggy, suffocating.
Therefore, the next big thing in software development must make loading and saving data a bliss. Some features it needs to have:
- Transaction contexts to define which data needs to be rolled back in case of an error. Changes to the data model must be atomic by default. Even if I add 5,000 elements at once, either all or none of them must be added when an error happens.
- Persistence must be transparent. The language should support rules how to transform data for a specific storage (file, database) but these should be generic. I don’t want to poison my data model with thousands of annotations.
- All types must support persistence by default; not being able to be persisted must be the exception.
- Creating a binary file format must be as simple as defining the XML format.
- It must have optimizers (which run in the background like garbage collection runs today) that determine how much of the model graph needs to be loaded from a storage.
Related Articles:
- The Next Best Thing – Series in my blog where I dream about the future of software development
Posted by digulla 
So Nokia’s Dead, Too
16. February, 2011Nokia finally submitted to the dark side. My guess is that the managers at Nokia and Microsoft fail to understand two things:
At work, I get paid (a lot) to use the stuff that Microsoft shells out. That helps to ease the pain. This isn’t true for my own mobile phone. The iPhone blew all the “competition” away is because of a single fact: It’s mind-bogglingly easy to use. A lot of time and effort went into making it a pleasurable experience. When did you feel pleasure last time using something from Microsoft (the software company, not the sex shop)? Or from Nokia?
On the run, I don’t want to think how I can beat my phone into submission. I just want it to do what I have in mind without me having to tell it. Nokia didn’t care, so they have a problem. Microsoft doesn’t care; who cares for such petty details when you rake in one buck for every two you spend?
Being able to install Windows 7 on hundreds of millions of mobile devices doesn’t solve any of the inherited problems. There is a reason why Microsoft failed with their mobile OSs for years. Nokia knows how to build great hardware; only the user experience was always just the top of the reeking pile. When Apple suddenly started with something that didn’t stink, no one wanted to suffer the old crap anymore.
Especially not in two years when the first new phones will come out.
Share this: