I’m just about ready to package up the latest update to the Ryuzine webapps and upload them over to the Ryu Maru website.
This will be version 0.9.6.5 Beta and, in and of itself, doesn’t represent any big changes. The primary motivator behind this update was actually the launch of iOS 7 by Apple for the iPhone and iPad. The Ryuzine webapps, of course, are theme-able and the main themes are what I’ve called “OS Integration” themes. The one called “mobilefruit” was actually the first one and with this project dates back to the very first version – when it didn’t have a theme system and was targeting only iPad and iPhone. The idea of breaking the button and toolbar styles out into a theme came later, when Ryuzine was targeted to other platforms as well. So this latest update includes an iOS 7ish theme called “mobilefruit7” (of course).
The other main change is support for version 5 of the “iScroll” add-on script. That one isn’t my project, by the way. It’s by a guy named Matteo Spinelli (and others contributing to his GitHub repository). Technically version 5 is still in “beta” and has moved along quite nicely just in the time I’ve been working with it, but as a “beta” (and just like Ryuzine in general) that means there are some issues with it – particularly on Windows 8 touch devices and Android. Which is why I didn’t remove any of the code for iScroll 4. Ryuzine Reader also had some minor work done to the way in-page (aka “anchor”) links to other page sections and to lightbox/gallery content are handled. Basically they are now just declared as normal anchor links (for example <a href=”page4″>p4</a>) without having to add any inline event handlers. I frankly should’ve done that a long time ago, but it’s a minor thing and there were bigger bugs to squash.
Ryuzine Writer got a little love too. Mainly for the “Add-On” system, which had the tiny little problem that, if you enabled three add-ons that create custom workspaces, only the first two would be accessible from the Tab Bar with the third and the “?” Help button pushed onto an inaccessible toolbar. Inaccessible because the script wasn’t handling the creation of additional “More >” buttons properly.
The last thing to do is update Ryuzine Press (the WordPress plugin) so the configuration section allows you to choose between “iScroll 4,” “iScroll 5,” or neither. Again, a very minor update.
The reason to push out an update with such minor fixes, though, is that it may be the “current version” for an unknown amount of time. Not that the Ryuzine webapps are on any kind of rapid release schedule (as if!), but what is in the pipeline is probably going to take me a while to finish, as I’m the sole developer of all four Ryuzine webapps (yes I know open-sourcing them might bring more hands on deck and it IS being seriously considered, but it’s not the case right now).
. . .and beyond
As I finish up this release I’m already starting work on version 0.9.7.0. Yes, there is going to be a skip from 0.9.6.5 directly to 0.9.7.0 because this next one is going to be a MAJOR revision. Big enough that backwards compatibility is being sacrificed and support for more older platforms is being dropped. This is the roadmap:
- Complete overhaul to the User Interface. Over the revisions the Ryuzine webapps have picked up a ton of buttons and it’s time to do some weeding in that garden, clean-up, combine, and whatever else is needed to make the User Interface a better User Experience.
- The overhaul to the UI will require new theme files. The focus of the themes will be color schemes rather than OS integration. The simple fact is that operating systems now have appearances and effects that cannot be duplicated with web code and “best practices” actually discourage the notion of making webapps try to mimic native apps. The option will still be available for those who want it, but the main focus will be on creating a robust “default” theme that’s pretty enough people won’t WANT to theme it (aside from changing the color scheme).
- Speaking of those theme files, they have historically contained just a single “theme.css” file that handled the theming for all the Ryuzine webapps. Frankly some of these have become rather cumbersome and difficult to maintain, and require far too many “!important” over-rides for my liking. At the very least the themes will be broken into one for Ryuzine Writer (the main culprit for adding lots of coding overhead to the themes) and another for Ryuzine Reader/Rack/Press. Coupled with the UI revamp these stylesheets should end up being much lighter weight than what is being used now, which will reduce browser cache usage and speed up CSS reflows.
- The elimination of code accommodating legacy (read: outdated) platforms/browsers will make the Ryuzine scripts lighter and hopefully faster as well. Dropping support just means I’m going to stop wasting my time TESTING the webapps in those browsers and on those platforms. The webapps may still function (or mostly function) in them, but I’m not going to FIX anything anymore to expressly work in those browser or on those platforms for which support is being dropped. So what’s on the chopping block? Most likely:
- Internet Explorer 9 and earlier. Windows XP is no longer going to be a target either, but newer browsers that ARE compatible will still be supported (the OS is usually not as important as the browser)
- Android 3.x and earlier. Adoption rates for Android 4+ has actually been pretty good, and while there are still some old devices out there running Android “Gingerbread” (I own one of them) there have always been problems on the older versions and they aren’t going to be fixed (well, technically, they are if you could update to a newer version of Android, but the only reason I and others still have devices stuck on old versions is because cellular carriers and device manufactures often do not release firmware updates).
- Safari 4.x and earlier. I’d already dropped Safari 3 a while ago, now it’s slightly younger sibling is getting kicked to the curb too.
- iOS 4.x and earlier. iOS 5.1 will become the oldest version of Apples mobile operating system on which I test the Ryuzine apps.
- Elimination of legacy Ryuzine format code from the Reader webapp. Presently the Reader webapp attempts to rewrite legacy format Ryuzine files into the current format (this doesn’t always work properly). It also attempts to inject newer features – such as the iScroll script – into older files created before Ryuzine had support for those features (again, this doesn’t always work properly). It’s actually a good chunk of code just to accommodate a situation that should have been resolved by now, since Writer can pull in the old file and rebuild it for the newer format.
- The plan is for the Writer webapp to continue resolving legacy files into the editor so they can be rebuilt as Ryuzine publications in the new format – in fact this will be the only update process available for converting existing publications to the new format (i.e. they won’t auto-update anymore, see previous list item).
Update: The Ryuzine 0.9.6.5 webapps are now available for download over at Ryu Maru!