bperrybap:
Simple solution is don't use Due but rather Teensy 3.x instead.
Yes, of course, but when posting on Arduino's forum, I generally try to avoid plugging my own products too heavily.
Both Arduino Due and Teensy 3.1 have a built-in RTC, but things are implemented things quite differently. Both boards have a place for the 32 kHz crystal. I believe Due now ships with the crystal. On Teensy 3.x, you have to add it. Due has no easy way to add a battery and Due has its reset signals connected in such a way that the RTC time is not preserved through a hardware reset, which is a very unfortunate design decision that makes Due's built in RTC nearly useless. On Teensy 3.1, there's a pin to add the 3V coin cell. Teensyduino automatically initializes the RTC with your compile time if it's not already running, so things "just work" very nicely, and of course the time is preserved the way you'd expect from a RTC, through hardware resets and reprogramming.
Here is an option that I think is pretty good that is about the best that can be done
without the major headache of actually changing the object name or requiring the user
to declare the object.
Would you like to take over maintaining this library? The position is open, but it doesn't pay very well.....
(Why the Tiny library deviated so much is beyond me....)
I agree. I saw a comment on Adafruit's site about a desire to make the differences from regular Wire clearer. That sounds amazingly similar to the thinking behind several of Arduino's least popular design decisions.
I believe the keepers of Trinket and other ATTINY-based boards could easily change course, and probably still maintain compatibility with all the stuff that's been built up around "TinyWire", by making a Wire.h that includes the old and supports both names using macros, inherited classes, or some other approach. Like so many things, the technology isn't terribly difficult, if you have the will to make it happen. I'm pretty sure they will come around someday.... In the meantime, I'm not planning to add "TinyWire" support to any libraries I maintain. If they want to make things "just work" with the huge number of libraries build on top of Wire.h, they can. It's really that simple.
My philosophy is similar for Arduino Due, Intel Galileo and of course Teensy 3.x. We're all making boards outside the well worn path of ATMEGA328. But how (or even whether) we handle these compatibility issues is a matter of choice.
I personally make Teensy's compatibility a high priority, to the point where I end up maintaining lots of the abandoned Arduino libraries. Often, in cases such as this DS1307RTC libraries, I end up fixing issues for the other boards that people buy instead of Teensy. Maybe that's not the smartest move on my part?