design

The First 10 Days of Fyne

Wow it’s been a busy few days getting the Fyne project up and running. It’s been well received by a large number of people already – gaining more people on our chat channel in 1 week than the Edi IDE project gained in almost 2 years!

To mark the occasion of 10 days I added a blog post (and blog page 🙂 ) to the website summarising what we’ve done so far. If you just want to check out the details then check out the github project.

Go is proving to be a powerful and quick to learn language – check it out!

A different direction for a brighter future

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.

[snip]

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 :).

Photo by Franck Veschi on Unsplash

EDI update and shiny new icon

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:

ss-elm_code-may2015

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.

Screen Shot 2015-05-21 at 16.19.51

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.

Shouldn’t contractors have to take risks?

Last week I wanted to create an exciting new website. The designers I work with were all busy and, as an engineer at heart, I don’t have much of a design following in my network. So based on recommendations I went to 99designs. I set up the contest with what details I had and was delighted at the mock ups that were sent in. Those that took part were helpful, understanding and managed to realise a creative vision I could not even articulate.

So it was with great surprise that I was contacted on Twitter by an individual advising against all speculative work and urging me to spread the word of the NO!SPEC movement. I didn’t know this individual so can only assume they monitor 99dedigns competitions to contact those paying for them.

I read their about page and many of the quotes and I’m still not sure about it. Essentially the argument is that designers should be paid for all time spent pursuing work and that a portfolio should be more than enough to determine if you wish to hire them. I can understand the argument but it simply is not how the business word works. Job interviews have tests, public companies use competitive tendering and private agencies need to compete for work, we all have to demonstrate understanding and fit for the task being offered. 99designs competitions may not be perfect but surely they are not unethical?

Apologies if this seemed a little like a rant but what is really going on here? Are designers that different to other professions or are they truly changing the way work is won for all of us?

Building an Enlightened IDE

So I mentioned before a project called EDI and I’ve been posting some info online but I never really described it here. So – for my faithful followers – what am I up to?

In absence of other active projects (such as growing a company, establishing a software platform or maintaining apps) I decided to get back to some Enlightenment development. After around 8 years off the project a lot had changed – I was struck by how complete the EFL APIs had become but was also surprised that Linux still suffered from a lack of polished development environments.

And so I figured 3 birds with 1 stone –

  1. Learn the new EFL APIs and help with some bug fixing
  2. Create a slick new IDE for Linux
  3. Reduce the barriers for new developers looking to create apps for Enlightenment.

By creating a native IDE application using the Enlightenment libraries we can harness their APIs and render scripts to provide a powerful integrated environment. With any luck we’ll be able to bring in various other E projects to provide graphical editing or version control etc.

I also just completed the icon for the app – see above. I think it works quite well, I hope you guys like it too…

Please stop by the planning page which is kept up to date with progress. I’ll also be posting more updates here as and when there are things to report. Hopefully there will be a great app here for everyone to enjoy soon.

Update on progress with EDI

Here’s the latest screenshot of an IDE i’m putting together using the EFL (Enlightenment Foundation Libraries). You can check it out from http://git.enlightenment.org/devs/ajwillia-ms/edi.git – let me know what you think…

Very impressed by the capabilities of the Writr theme for WordPress. I would like to specify my own colours but I’m not keen on paying $30 to WordPress.com to enable that feature…