What follows is an email I sent to the Enligthenment Developer list today. For some time I have wondered if the project has lost it’s way and I finally decided it’s time to make a move – and announce my new project at http://fyne.io! I know there are others who are thinking about what the future might hold in desktop software – if you want to try something new please get in touch!
I’ve been following the Enlightenment project for 15 years having got involved originally due to the catchy graphics, innovative approach and friendly community. We’ve had up times and down times as some may remember but right now I have serious concerns about the future of this project.
When I joined the Enlightenment team it felt like we were building something shiny and new for those that wanted a slick, beautiful alternative desktop. After many years of development we got E17 and the EFL, but who was EFL for? It enables E but why are we building it (for whom)? Over time this question has become harder to answer and with commercial support came additional confusion as to its purpose. Take Elementary for example. It is documented as being light and minimal, but it isn’t. We encourage developers to build desktop apps despite it not being built for purpose and we allow widget contributions from people who don’t even test with the standard theme.
In addition are the technical issues with our (EFL) codebase. It has evolved organically since the beginning and we have had various namespace changes, splitting and re-combining that brings with it a significant legacy. The Eo/Interfaces project was a chance to leave that behind and build things “the right way” but unfortunately it’s implementation is being heavily shaped by legacy choices or restrictions that are bleeding out through the new API as complexity or confusion. The type of change that we are attempting cannot be completed effectively without up front planning, guiding vision and regular releases to our target audience.
And finally I have observed over the last few years our community becoming less friendly – at times even hostile – towards developers both new and established. When I started Edi to help get new developers on board our mailing list and IRC channel welcomed inquisitive, questioning minds but now I often see contrary thought being beaten back. I don’t know the cause of this change but I do see it damaging our chances of success.
Unfortunately I don’t think these problems can be fixed within the current project and community. Therefore I have decided to work on something new and separate so that I can avoid these shortcomings.
This new project aims to provide a great API for application developers to quickly create beautiful, usable, lightweight applications for desktop and mobile. Driven by design and usability principles it is a chance to break from current desktop app drudgery to create something joyous akin to material design and iOS’s interface simplicity.
Ideally it will be built on top of EFL, leveraging the great work that exists here but abstracting it away from the user so that internal changes and object lifecycle never bother API users. The development environment will be polished such that new developers can easily get up and running using the same tools as the development team. It will be built using modern tooling and platforms that reduce the barrier to entry and allow any potential developers or collaborators to see what we are working towards, how we are doing and how they can get involved.
If anyone reading these posts is interested in getting involved then please check out our current status at the fyne repo wiki. I am excited about what can be created if we are not stuck with a significant legacy of old code and negative thinking :).
It’s cold outside and we need warming up – so I started work on updating the flame module. Flame is the second Enlightenment 0.17 modules that I have brought back to life. It should find a proper home in due course but for now you can build it by downloading directly from the Enlightenment git server. […]
Yup it’s winter time and the temperature is dropping – but no snow outside. So I decided to let it snow indoors instead :). The Snow module is the first of a series of Enlightenment 0.17 modules that I am bringing back to life. It should find a proper home in due course but for […]
At FOSDEM yesterday I was demoing the Enlightenment IDE that I have been working on. My laptop is a touchscreen and I had it in tablet mode for the demo, so far so good. Until a couple of sharp attendees noted that there was no multi-touch. Huh, neither it does.
Enter rasterman – “Did you enable xinput2.2?”, erm no, no I didn’t…
Passing –enable-xinput22 to the efl ./configure fixed it! magic 🙂 The image above shows 2 taps simultaneously in the elementary_test Gesture Layer 2 demo.
Job done. Now to fix a couple of multi-touch gesture bugs I have found :(.
It’s been quite some time so I wanted to provide an update on the EDI project. The aim was to make getting into Linux development as easy as possible, and to help developers learn how to builds apps using the EFL. Clearly that’s a grand plan and along the way there was a lot of challenges to overcome.
The first major hurdle, beyond actually creating a vision, project definition and basic application, was to make an editor that was powerful but easy to use. None of the available components at this time met the challenge (the early pre-releases were built on existing editor components as best we could), so a new editor needed to be built.
Elm_Code is this new component – it’s been in development for around 6 months now (since early planning began at the E Dev Day alongside LinuxCon Europe 2014) and it’s shaping up nicely. We have highlighting support, inline error overlays and great performance (a few leaks aside…) – and it fits into EDI like this:
As it’s all under heavy development there aren’t many releases just now, but it’s moving forward really fast. We’re more tightly coupled to the EFL development at this time so our next exciting release will be alongside their 1.15 release in August.
In the meantime I’d love to leave you with this excellent snippet from an Enlightenment user who recently tried out EDI.
Lastly for this post I wanted to thank raster for the great new icon he made for the app earlier this week – it looks much better and fits well with the Enlightenment suite of apps. We also created a page on the main web site to give a more refined summary of the project.
Another year another E developer day right? Almost. This time was different – I was up to present… Showing the guys how my IDE project was going and why they should all get involved in helping me out. This fitted the theme of the event quite well – Raster started the day by showing how much faster the EFL is growing than GTK+ or Qt and calling to our attention that we needed more developers to support that growth.
I proposed that a great way to encourage more developers is to provide an integrated tooling environment that practically teaches you the EFL way of doing things. Linux has a great many text editors, some of which understand code. If what you want is just to create a project and get coding however there is a significant lack.
Step in EDI – it will be the complete development environment for EFL / Linux and hopefully match the style and polish we all love in Enlightenment too. Lots more exciting things to come on this topic but feel free to grab it now (from source) it’s got the basic functionality in already!
Shortly it will be moved to the main E apps development space and pick up the pace of development too 🙂
The presentation was recorded and should be online soon – I’ll link to it once it’s available.