Multi-touch on Enlightenment

Standard

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

Accelerating the return to enlightenment (With linux on a Yoga 2 Pro)

Standard

“If you want to succeed then you need to immerse yourself in the problem” – wise advice from a business mentor of mine… My long serving Apple Macs run everything – work, media, side project coding and now VMs filled with Linux and Enlightenment. They are shiny and solid but have strange keyboard layouts, nonstandard hardware and a bad implementation of virtual desktops that get in the way of desktop virtualisation. So for the first time in nearly 10 years I bought not-a-mac.

This new PC laptop (note not a “windows PC”, I hate that term – it came with windows but that’s not a defining feature…) should be a great device for pushing the limits of modern display and input software. I wanted something light, thin and powerful with at least a 13″ screen. Essentially a competitor to the MacBook Air, but more modern and without the Mac downsides – also avoiding a lookalike, something that’s cool in its own right.

Let’s face it there aren’t a lot of devices in this class but I settled (after some time) on the Lenovo Yoga 2 Pro. This is a solid core i7 device with a decent amount of RAM and SSD storage. The screen is an impressive 13.3″ that has more pixels than my retina 15″ MacBook Pro – as well as being a touch screen too! Couple that with the fact that it inverts to become a tablet. All of those features are packed into a bright orange shell that is no heavier or larger (at the thickest point) than a MacBook Air. Impressive!

So after a short trial of windows 8.1 (yuck! What a confused system) I installed arch Linux (details in a different post – to follow) and it went very smoothly. Out of the box it was up and running with full res video and complete audio in & out. The keyboard (including all the special function keys), trackpad and touchscreen also worked perfectly. After installing the wpa_gui wi-fi was complete too (a little config juggling was required to connect to my secured wifi and download the packages but nothing too taxing). And most surprising when the keyboard is folded back on the screen it is disabled as you expect – though I think this may be a hardware feature. As of now all that is not working is automatic screen rotation (the gyroscope seems non-standard) and the windows icon/button on the screen which I had not realised was a button.

The only issue with the machine so far has been the insanely high pixel density. You can work around it by telling Xorg to scale 2x but you lose the quality so I didn’t want to do that. Thankfully Enlightenment has built-in support for output scaling so I went right ahead and installed the latest version from their source. As with any large compiling from source task it took a while to get all the dependencies but I put that in a script for future use. The compile and install went well – grab EFL, Elementary, Enlightenment and Entrance for a good base experience. Git master is really stable and I really enjoy being on the cutting edge but if you don’t have that thirst then you should probably grab release tarballs instead.

This new machine has given me a great platform to immerse myself in Linux and Enlightenment. Scaling and touch interfaces are things that need a little work still but I’m helping out with that. Next I’m going to be further developing the Enlightenment IDE (EDI) which is already a good place to be working on EFL based code. It’s a work heavily in progress but I’m hoping to get some more contributors soon and start pulling in cool new features to get more Software Engineers into creating apps for Enlightenment.

Want to know more about my E install or Linux on the Yoga 2 Pro? Drop a comment below or hit the contact page.

Creating the perfect office

Standard

It is with a significant amount of excitement that myself and some colleagues at Kotikan are creating our very first office space. We’ve spent the last 4 years in shared offices kindly provided by Edinburgh University and some Regus serviced offices but for the first time in nearly 6 months we will be back together under one roof. And we want to make the space awesome.

Open plan spaces, breakout working areas and lots of glass panels to let the light in – that’s a great start but what next? How do you make an office a great place to be and somewhere people want to spend their time? We’re lucky to have a great team of people – it’s one of the most important aspects of the company, so we thought about what activities are enjoyed by members of the team. Gaming (consoles and cards), socialising over a drink, sitting out in the sun and playing with the latest technologies all came high up on the list. As great design and solid engineering are important to the company we wanted to create an inspirational atmosphere that would also support close working together within teams. A long shopping list of requirements! Put on top of that space for 50 people to work and attend company meetings or presentations and it was a tough challenge.

Fitting 50 staff in 1 room is more than we have tried by a long way – we’ve been pretty successful at maximising usage of our space but this time we wanted it to feel less crowded. Purchasing larger desks and adding more space between them was an obvious start but we didn’t want to have teams further apart than before. Careful planning was the key here – considering what project each person was involved with at the same time as which department they were in. By taking all the variables into account we can keep teams together and shorten desire lines to reduce the feeling of walking past lines of desks that is familiar to many open plan offices.

Following a brand update last year we concentrated on 6 bold, bright colours to bring the office to life. Moderation is the key here – grey / black soft furnishings with white clean edges were used for most furniture. Colour is carefully added across the office space by picking colourful chairs, painted wall sections and the occasional dividers which also helped reduce noise from the kitchen etc.

As well as a place to work this had to be a social office so we took a completely different approach for the kitchen. Hidden away as you enter is a kitchen that’s themed as a city park or beer garden, it’s inspired by “The Meadows” that anyone who’s been to Edinburgh in the summer will have enjoyed. Picnic benches with thick grass coloured carpet underfoot adds an element of fun and our mural of the cityscape (to be added) completes the feel nicely. Our meeting rooms which will be stylishly themed (voting on which theme soon) all double up as gaming destinations with many consoles from various times in gaming history available – from the Atari 2600 up to the latest xbox one!

Common areas and breakout spaces are also important in how we work – giving small groups the chance to catch up on the day, their latest Pokemon or important work topics away from the desk. We already provide everyone with laptops so the flexibility is there but we added sofas and coffee tables for breakout conversations and a tucked away quiet spot for those hard to concentrate on tasks.

We haven’t forgotten the need to fuel people too – a selection of soft drinks, teas and coffee are always available and we have a beer fridge at the ready for our monthly company meetings. If you just need a break from the work, some random inspiration or you want to fill an idle hour then we’ve got it covered. Besides the games consoles there is also a great selection of card, dice and board games along with various LEGO sets and other geek toys!

What more could you want? Let me know in the comments…