open source

Back home at CodeBase

Although it feels like only yesterday I realised this week that I moved out of CodeBase pretty much a year ago. In that time I have missed the community spirit and light-hearted competitiveness of the various individuals and teams working to build the next big thing. Whilst I have enjoyed my time working on various coding contracts and technical leadership consultancy placements (most recently through Intuitus) it seemed time to push myself to start a new venture.

And so here I am again! The kind folks at CodeBase managed to find me a desk in their co-working space which plays host to many companies, most of which I had never met before. While I guess I was never too far away (I tried to keep the CTO group running during the last year) it is great to officially be back in the building, bootstrapping and learning alongside some of Edinburgh’s brightest young business sparks.

If you’d like to know more about my plans then you can watch this space, or that of the brand that I’m developing named FossFish. The plan is to do something big in the open-source-meets-business arena which I’m excited to share more about soon. In the meantime we are working on some enabling technologies including Fyne and others which will be announced later.

If you’re in the neighbourhood please stop by and say hi 🙂

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

Desktop ablaze

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. […]

Snowing like it’s E17

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 […]

If technology is the future and computers are ubiquitous then software must be the building blocks of our society. Don’t we owe it to ourselves and to each other to make that freely available to everyone?

Can you crowd fund open source software?

The open source movement is quite something – people spending their own precious spare time to make the world a better place. Software that is everywhere and quite literally runs the web has it’s source code freely available to be examined, modified and learned from (even duplicated or repackaged!).

In an environment where it’s people’s spare time alone, building a team to cover usability, design and testing becomes a lot harder. It’s typical that a project in the OSS ecosystem starts as an engineer scratching an itch – building what’s interesting to them – so how does that transition to a published application of top quality and polish?

With funding – that seems how. But with typical models of funding that hand controlling rights to the donor then the software can take a different turn. What if the developers and end users were able to agree on a feature set / direction and chip in to make it happen?

Enter crowd funding. A growing phenomenon where young groups or companies can pitch their product or idea to raise money from their future customers, who in return get perks such as early access or stylish accessories. But compare tangible product creation to software where the goal is to release both the finished product as well as the source code it is built with. Will people really part with money for a product that they will be able to obtain for free at some future date?

Let me know what you think in the comments. If there is enough interest then I have an experiment in mind 😉