Dlayer, vNext

This is a cross post from the Dlayer.com blog, it is relevant here because their is a good chance I will be releasing new open source libraries related to the tools development.

Development work on Dlayer vNext is deliberately slow; I’m attempting to ensure that any and all of the core architecture issues I noticed developing version 1 get resolved.

I spent a considerable amount of time on the UI and UX for version 1 of Dlayer, very little of that will change for vNext. My issues with version 1 can be summed up in one word, modular, as in, the app wasn’t.

There are two parts to the problem; the designers were not modular, in Zend Framework 1 (modules were a bit of a hack), and two, the tools were not plug-and-play.

Modules

This one is easy, by switching to Zend Framework 3, and being careful as I develop, the modules can behave as real modules, turn them on or off, transfer to different apps, all possible

Plug-and-play

The tools in version 1 of Dlayer had too many hooks into the system; they could be disabled dynamically, but you could not drop a tool into another module or quickly remove the code for a disabled tool.

On paper, I have a new plan; and I am in the middle of prototyping to see if it solves the core issues.

The solution is complicated; it will take time to develop examples of each tool type. However, as soon as I am sure the design is right, it simplifies the rest of the app.

Simpler app

The tools in version 1 were solely data management within the designers, in vNext, this changes.

The tools in vNext are responsible for everything relating to the content item, including, how the content is displayed in the WYSIWYG designer. The app at this point is merely a vehicle to provide access to the tools.

 

 

Dlayer, ZF3 and Composer libraries

I’m cross posting this post on two of my blogs because it is relevant to both sites, my blog and Dlayer.

I started development of the second rewrite of Dlayer using version 1 of the Zend Framework, in the following years I concentrated on building Dlayer rather than the underlying framework. With the EOL of Zend Framework 1, I can’t honestly continue on this path.

I started to move Dlayer over to Zend Framework 2 early last year but never got anywhere; I’m am now in the process of moving it to Zend Framework 3.

What does that mean for Dlayer?

I am in the process of developing v1.17, which will be released, and I will probably release another version of two, however, from this point forward I will focus the majority of my time on the migration.

I am migrating Dlayer; I am not undertaking another rewrite, sure, I will improve a few things along the way, but my goal is to migrate to Zend Framework 3 as quickly as possible,

Composer

While I migrate my code, I am taking the time to review it. If I see a tool or group of functions that is not unique to Dlayer, I will try to pull them out and turn them into a composer package.

So far I have four composer packages in progress, a PHP Quill renderer, Bootstrap 3/4 Zend Framework view helpers, Zend Framework view helper code completion and a random grab bag.

You can check out my composer packages at packagist. I’m going to have a website to showcase all the packages, so far I have only purchased the domain, as soon as the first version of the grab bag is release I will work on the website.

Which rich text editor?

For a while, I have been thinking about which rich text editor to include in Dlayer, after considered review I opted for Quill, in the end, it came down to Quill generating data (deltas) and not HTML.

Unlike the other rich text editors that I reviewed this creates a problem, how do I display the HTML within the designer?

On Saturday I created a PHP Quill HTML renderer, it loops through the inserts and generates the required HTML. The renderer is limited, it only supports bold, italic, strike and underlines at the moment.

Eventually, I will add support for every attribute, for now, though, I am trying to get the renderer and Dlayer working, so I figured supporting those four was a good start. In the short term, I will be adding support for links, images, videos, lists and headings.

The Dlayer MVP, how open sourcing the app helped me

If I ignore the inevitable restarts, I have been working on the minimum viable product (MVP) of Dlayer for a little over three years; it is astonishing how quickly time passes when you have a career and family.

I’ve been working on Dlayer demo, a responsive web development tool, one way or another, for almost a decade. In that period I got married, we have a three-year-old son and have moved half way across the country (small country).

I had an idea for a product, and I plan to realise it.

To say it has been tough would be a massive understatement. Realising Dlayer has been challenging, finding the time and money to work on my projects isn’t simple, it is about balance, you need to ensure you have enough cash flow to ensure your family is safe and comfortable, but on the other hand, you need the time to develop your projects.

I always planned on Dlayer being a private commercial product, 18 months ago I changed direction. After years of solo development and countless more ahead of me, I came to the conclusion that it is not possible to do this alone, I need help, but more importantly, I needed to relieve any stress from attempting to singlehandedly design, build and finance a complex product.

It took 18 months to prepare Dlayer for the official v1.00 Open Source beta release, but I got there, at the tail end of last year I released the first version.

Dlayer isn’t ready for prime time yet; there is still much to do, progress is consistent, and I’m getting my house in order so that the first contributors have a great experience.

As soon as you Open Source a product and realise that the eyes of other developers could be looking at your code you wake up, the quality goes up, standards you aim to adhere to get met and working practices in general improved, thank you.

Productive three weeks

I have had a productive three weeks; I finally released v1.00 of the Dlayer beta on the 22nd of December and didn’t stop there, as of today I will have released five updates, details below:

For the v1.00 release I stripped Dlayer back to the minimum viable product (MVP), this meant removing everything but the Content Manager. I have one more maintenance release planned, v1.06, and then with v1.07 my primary goal is to work towards returning the Form Builder.

The Content Manager was the minimum I wanted to release for v1.00, but, it isn’t the minimum for the MVP, for that, I need the Content Manager, Form Builder, Website Manager and Media Library, here’s to v1.07 and beyond.

Dlayer, v1.00

I’m happy to announce that today, I released v1.00 of my Open Source project, Dlayer.com.

It has taken a lot of work to reach this point, I’ve restarted the project multiple times, got married, had a child but finally, I reached a point where I was happy to release the project officially on GitHub.

The v1.00 release will act as a stable base for all future development; there is a long way to go, please read the release at Dlayer.com try out the demo. If you have any feedback, positive or negative, please let me know, I will also work towards releasing the roadmap at some point next year.

Dlayer Beta v1.00, RSN

I just added a post to G3D Development explaining where I am with Dlayer, short story, I plan on having the beta out before the end of the year, ideally within the next two weeks to given me time to relax during the holidays.

Unless I find a way to create additional stories within Pivotal Tracker, as of today there are only twelve stories left to complete. Back in October, I posted a list of some of the stories still to do, I’ve ticked off a few of those along with lots of additional tasks that I deemed necessary

Dlayer progress, v0.99 next month

I’ve added a post to G3D Development detailing my progress with Dlayer, you can read it here, an extract of the post is below.

After reviewing my project planner (Pivotal Tracker) it looks like I could be ready to release v0.99 of Dlayer just before mid-September, originally it was planned for the end of August but I have been unusually social during the last two weeks…

Dlayer – Open Source

As of the 10th August Dlayer is now an Open Source project, I’ve been thinking through my options for a long time and it just made sense, below is an extract from the new Dlayer website with my two core reasons.

Development began in 2008, up until August 2015 Dlayer was a closed project that I worked on single handled, I took the decision to Open Source Dlayer for the reasons listed below:

I want Dlayer to succeed, to do that it needs to be out there, an app that never ships is no good to anyone.

I want to build up a community around Dlayer and now that I have a solid base in place I can let the community have a say in where the app goes next, I obviously have my own plans but would love to hear from others.

I’m still in the early stages of officially releasing Dlayer as an Open Source project, Dlayer was both an app and a website, I need to separate the two, I’m almost there with the new web site, once that is ready I can start on stripping the redundant parts out of Dlayer.

My main project reaches milestone two

This post was originally posted on G3D Development, I’m cross posting it here because it is just as much a personal post as it is a work related post, I’m proud to have reached milestone two, Dlayer has been a big part of my life for seven years.

Original post:

I started Dlayer in 2008, so much has changed in the last seven years, the internet as a whole, mobile apps and devices, web browsers and my life. I have been married for four years and now have a two year old running around the house causing mayhem, two things that I never expected to happen seven years ago.

There are however two things that have remained constant, the first being my determination to complete the Dlayer alpha and the second being the milestones I set to track the development of Dlayer.

I set five major milestones for Dlayer in 2008, I needed five markers by which I could measure my progress, seven years is a long time, an eternity. On the 26th May 2015 at 12:08 with release v0.75 the second milestone was reached.

It has not taken seven years to get to this point, if you check the ‘History’ page on Dlayer.com or G3D Development you will be able to see that development on the current version didn’t start until 2010. Five years is still a long time but as I have written before, I’m working on this project in my own time at my own cost, under those terms finding development time can be very difficult, especially with a young child.

It will not take two years to hit the next milestone, that I can guarantee, the tasks for the third milestone are all in my short term development plan and according to my planning tool it should be reached within the next four or five iterations assuming my design is solid, obviously I am not going to give a specific timeframe here, anytime you set a date…well, you know what happens.

Listed below are the five major milestones for Dlayer, I don’t know what is going to happen once milestone five is reached, I can only hope, I do however have a suspicion that before anything else, my wife will order me to take a break.

1st Milestone (1st Feb 2014): Modules communicating.

There are many modules, or designers in Dlayer, v0.12 was the first time that more than two of the designers were communicating with each other. A content page is based upon a template created in the Template designer and forms can be imported from the Form builder into the Content manager as content items.

2nd Milestone (May 26th 2015): Images

Although it is possible to create a very nice looking focused web site that does not use any images it is rare, in my opinion, images are a necessity on the web. With v0.75 images became a reality, the basics of an Image library are in place and images can be inserted as simple content items in the Content manager.

3rd Milestone: Dynamic content (Form builder and Simple widgets)

Data, data, data…..this will be the point at which parts of Dlayer consume user data, a major stepping stone to milestone five.

4th Milestone: Simple web site

Dlayer isn’t very capable if it can’t easily link pages together to create a web site.

5th Milestone: Complex widgets

Almost anything is possible with complex widgets.