“The Golden Rule of Platforms, “Eat Your Own Dogfood”, can be rephrased as “Start with a Platform, and Then Use it for Everything.” You can’t just bolt it on later. Certainly not easily at any rate — ask anyone who worked on platformizing MS Office. Or anyone who worked on platformizing Amazon. If you delay it, it’ll be ten times as much work as just doing it correctly up front. You can’t cheat. You can’t have secret back doors for internal apps to get special priority access, not for ANY reason. You need to solve the hard problems up front.” -Steve Yegge, from his now famous accidentally public-facing Google+ rant on platforms
For some time, I have argued that spending the time to do a good service-oriented architecture is the right thing to do, especially in the identity management space. It takes a very long time to do this right, and the QA, health checks and iteration become more time-consuming than defining and writing the initial service. The monitoring for a good SOA becomes the unit tests, mocks, etc, and you end up doing right by your customers by eating your own dogfood. The problem is, in academic higher ed, a lot of time, there seems to be no extra time to spend. You have to do what you can with the time and resources you have. So you try to do the best job you can, and you try to use exiting service frameworks where you can, and make your own where none exist, if you can find the time to do it. That’s one of the reasons I like working where I do- I think people get why services and platforms are good, which you might think is truly amazing to find in a state-funded higher ed institution. The more amazing thing is that I think a lot of state-funded R1 universities get this, and they are getting it more all the time. See: Shibboleth, Grouper and COmanage.
It’s interesting that Google, Facebook, Amazon, Apple and even Microsoft seem to be doing “sexy” things that get a lot of attention. But the academic research institutions are doing a ton of work here, too, and while it’s not glamorous, it’s changing the world for the better.
Good post and the right approach … we look at designing learning environments in the same way — if you get the foundation right it is easy to extend and build upon the goals and objectives. I’ve long watched (and even participated in) the use of special side doors into ANGEL (as an example) to grab roster information, teams, and other things stored and managed there, but not properly exposed. One of the things I loved about the conversation yesterday was that we have a team of people thinking about doing this right today with tomorrow in a focal position.