The First 10 Days of Fyne

Standard

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!

Advertisements

A different direction for a brighter future

Standard

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 core 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

The wrong company can seriously damage your health

Standard

One of my favourite topics is startups – discussions about the benefits of young companies and how innovative workspaces can be a boon to productivity and healthy work life balance. It would be remiss of me, however, to imply that it is always great. There is a lot of hard work involved of course but it is also possible to have negative workplaces amongst all this innovation.

This post is about the importance of identifying a bad workplace, poor cultural fit and how it can impact negatively on your health – mental and physical. And why it is important to identify early and do something about it.

What is bad?

Well beyond the obvious understanding of a bad workplace (abusive staff, tyrannical boss, inappropriate language, sexism etc) there are plenty of things that can lead to a negative environment:

  • Blame culture – when something goes wrong does the team work together to solve the issue or does it focus on who caused the problem (publicly or not) and require them to fix it?
  • Unclear objectives – does everyone on the team know what is expected of them or why they are working on their task? Omission of a clear plan can lead to a drop in morale.
  • Lack of communication – sharing plans, collaborating in decision making and listening to your teams will help everyone to feel supported and understand their role.
  • Dishonesty – it can be assumed that for the most part people you work with are honest, some companies even find the need to list it in their values. But what about the difficult truths or glossing over things that should be addressed? Openness requires real honesty and that can be difficult.
  • Long hours – whilst probably required at some point in most jobs is this used sparingly? Is the decision to put in extra time one of the group or is it mandated?
  • Values failure – in a company that is clear about its values does everyone live by them? Are there times when they are pushed to one side? During times of pressure you often see what a team is really made of.

Of course there are many more potential reasons for a workplace to affect you negatively and they may not be obvious. Some times the thing that brings a company or team down is not obvious at all…

Hiding in plain sight

Sometimes the cause of a bad environment might be hard to spot. It could be that despite best intentions something is not as intended.

In a values based organisation how are these communicated? Does everyone know the company values by the way that people talk, work and collaborate – or is it something that everyone is reminded of in publications, marketing or (even worse) is it painted on the walls? If everyone truly valued the same things then such constant reminders should not be required.

If teams work well during normal operation what happens if an item of work does not go to plan? If an engineering team’s release is being held up by an item of work what is the typical behaviour? The team working together to get it back on track – or individuals being left to figure it out for themselves?

Individual vs company wide

It may even be that everyone is happy but you just don’t fit in. Perhaps the values don’t align or maybe your sense of humour is incompatible. Do you feel comfortable with your workmates and business leaders? A long interview process should allow for a high chance that the match of a candidate to the team is solid but no process is perfect. It may be that you just don’t feel a good fit. If you get to the end of any probation period (usually 3 – 6 months within the company) and you are not happy then this is probably a good sign that the company is not for you.

Making your exit

If you wake up on Monday morning (or even worse, Sunday night) dreading going back to work for the week that might be a sign that it’s not working out. If you think your lunch break should be longer, if you find yourself having no discussions in the office or if you find that chats always turn into arguments or leave you annoyed then it’s probably time.

As soon as you realise that the fit is not there it’s time to start planning your exit. Staying longer may seem like the noble thing to do but you will only get more annoyed at the job, likely bring down your co-workers and possibly damage your health as well. Most people working in startups or technology companies have options, there is huge demand for your skill set – look at alternative companies and maybe go on a few interviews. Also consider sharing your concerns with your boss – if they understand and agree that it’s not working out then they may even help you find the right role elsewhere.

Believe me you don’t want to realise too late that you should have made the move and that it’s deteriorated your health. It’s no fun having to take 6 months out of the fast moving tech world because you don’t have the strength or energy to greet the world. It’s also no fun being in the doctor/nurse’s office twice a week getting vitamin boosters to put your blood levels back in balance! Life is too important and the right balance should mean keeping good health!

Happy New Year to all my readers and may you have an exciting, healthy 2018 :).

Snowing like it’s E17

Image

snow-desktopYup 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 now you can build it by downloading directly from the Enlightenment git server.

And there is now a quick video showing the snowfall 🙂

Happy holidays everyone!

Winter weather means model trains

Standard

Since moving house I’ve not had much time to spend preparing the attic for my model railway. At the weekend I finally finished the flooring necessary to walk around and set up the baseboard (largely thanks to a great mini-saw from Mac Allister).

In preparation for an enjoyable winter getting my trains up and running I decided to gather all of the boxes (moved or purchased) into one corner of the attic. It looks like Christmas has come early!

As you can see from some of the boxes I’m trying to move to DCC – I’ve grabbed a few decoders for the analog trains too so I should have a good fleet of digital controlled trains before the sun returns next year.

Tackle the big problems

Standard

At the ScotlandISDeveloper Conference and Business Forum this year we were treated to a fantastic after dinner close by Sir Frank Dick. As well as amusing and thought provoking anecdotes he had a lot of motivational points that rallied the room to be confident and make the change we want to see in the world.

As I think about my next Business potentially being global this particular point sticks in my mind:

No point of going into the world arena if you don’t intend to win

So go out there and solve the big problems – don’t wait for someone else!