I've been working on a new hosting project that will be supported by Clay 2. I've had the idea for a long time, but someone recently beat me to it so I'm joing their project. Some of the features I had thought of weren't previously being considered and vice versa, so it's going to be even more amazing. I'm in the process of setting up a local version with distributed storage on a NAS I built with a Raspberry Pi. I can't go into too many details, as usual, but the web wont be the same if it's all successful.
I recently blogged about Clay2 and I've been working on it when I have time. Another tidbit I haven't mentioned, at least in a while, is Clay2 isn't only going to be developed in PHP. It's going to use other languages, where PHP falls short. Clay2 is more of a server suite, than just a CMS, using node.js and other languages to provide features Clay1 can only dream about. Clay2 will even be able to function as a headless CMS, by providing realtime data that can be plugged in anywhere, while maintaining all of it's security and role-based access. The privileges system is even being extended into a new installer, which means users can (if given access) create Clay2 sites or data stores on demand. Many developers hate data and treat it like a second rate citizen, but Clay2 is being built for data.
Everyone seems to have a youtube channel...so I'm going to have one. It'll be boring, obviously. I'll add a link when I start uploading.
I've been building the Clay 2 installer, which is quite different from Clay 1. Clay 2's new structure allows the installer to be a Clay app, instead of a separate instance of the Clay framework. The framework and cms will be merged and allow you to build installations where you select which modules and apps are considered to be a part of the core. This was previously done through packages in the installer, but required duplicating processes.
The processes are no longer duplicated, as each instance will have a lower level of control over the code base. Higher level functionality will require a range of compatibility, but that is taken care of by using traits for libraries and allowing modules and apps to extend classes as needed. Many former libraries have been converted to modules.
Clay 2 will also adhere more to widely accepted coding standards, utilize a file structure based autoloader, feature a new template system (separate from the app object), and use fewer static classes. I say will, but most of that is already started or implemented.
You may have heard of the Beaker Browser, which is based on Chromium and supports an alternate HTTP protocol named DAT. I have read about DAT and found Beaker while reading into it. The idea behind DAT is to allow you to share data P2P, whether it's files or a web page. Beaker has taken that idea a step further and incorporated seeding, so your data can persist without you to be shared.
This is right up my alley and something I'd like to push even further. I've always been a proponent of distributed systems and giving the internet power to the people.
...I swear. I had shoulder surgery in July so I've been out of commission for a while. I'm slowly trying to work in some dev and have some new ideas I'm working on. I will be diving back into Clay 2 soon as well, but I can't code for hours on end yet so it'll be slow for a while. What I have been working on is a desktop app and I plan to do a mobile version as well. The app is different from anything else I've seen and targets a few specific markets. It will use a lot of web api functionality that will pull from Clay 2 and Clay's transaction server (which I've never put into production use). Clay 2 will be quite a bit different and the desktop app is the first test for it.
I've moved all of my private repos. It's not because I don't trust Microsoft... it's because I don't trust their developers. I don't think Microsoft would do anything to jeopardize their new love with the FOSS community. On the other hand, in a world of quotas and time restraints, I dont want my software in the hands of another software company as big as Microsoft. Eventually I'll host my own private repos.
I've been working on a few things in Clay 1.3 and getting ready to shift gears for a stretch of Clay 2 development. In Clay 1, I'm working on DataObjects (DO) and a Forum app. DO is a way to group features by objects and allow apps to use them as if they were native to the app. At least that's the abstract description. The Forum app is just a simple message board, which uses the Comments app for threads.
The Clay 2 work will mostly be rebuilding the installer to be an app within Clay, rather than a separate entity using the Clay Framework.
Microsoft has announced it has acquired GitHub for $7.5B and a lot of people aren't happy about it. I've been looking into alternatives for my private repositories, but I may leave the public ones on GitHub. The problem is I can see some other corporations reacting by making similar moves.
I've been evaluating new services, both by quality features and potential acquisition cost to determine if I should move or if I'll just be looking for a new service again soon. I predict an explosion of growth (at GitHub's expense) soon for a few services, so I can see how one service in particular could exceed $10B in the potential acquisition cost in the near future.
I may have to take my private repos off the grid. I don't want to, because sites like GitHub are cheaper to use than hosting the projects myself. There are also few choices on the open source front for direct GitHub alternatives. Is Microsoft trustworthy? Unsure if I want to find out.
One of the tools Clay has been missing is an analytics system. I'm working toward adding one, but I don't want to use Google or any of the big corps. I have some simple pieces in place, but nothing competitive. I may go with an integrated version of an open source tool, which means I'll probably contribute some ideas to it. I'm still looking for the right one. I'd rather not fork one, but that's a possibility as well.
I've been working on DataObjects for Clay. It's an extensible library that helps you build apps faster, by giving you a unified api to handle data and relationships. It's like scaffolding, but better. I had been reserving Clay 2.0 for it, but I decided to begin implementing a light version for 1.x to aid in the upgrade process in thr future. I don't plan on building it into every Clay 1.x app. In the future I plan to replace the plugins system with DataObjects, but for now it will use hooks to and from plugins as an interface into apps. I'm liking the direction so far.