Startup tool inspiration – what we use

Liip has a fair number of startup customers who often struggle with finding the right set of tools, so I will share here a bit what we are using on a daily basis. We traditionally use a lot of open source tools in our projects. For our infrastructure tooling we also use a fair bit of open source but also an ever increasing amount of SaaS products. Additionally we build some tools internally, some of which we have made open source. One of my holacracy roles is called “Platform Gardener” with the purpose “Provide corporate-wide streamlined digital services and tools”. This role gives me a pretty good overview of the tools we use, which I would like to share below.

Google at Work for email, file exchange and live streams

We are not entirely happy with Google but overall it works quite ok. Some issues we run into are related to how Google Drives deals with changes in large binary files which has resulted in our UX team getting Dropbox. We also frequently run into issues where sharing policies are set too tightly by default when people are sick or on vacation. Finally Google Hangout overall works ok-ish but we preferred a hardware solution for our meeting rooms and the Google Chrome for Meeting device UI is too limited (f.e. it doesn’t integrate with Hangout Live for recording and its quite cumbersome to join calls in other organizations). For this reason we adopted Highfive last year and we are anxiously awaiting their 2.0 release which should provide Linux support and live streaming and recording. Hangouts are therefore only used for our weekly Liiptalks that are streamed to all locations and recorded on Youtube.

Slack for constant exchange information during the day

Slack was chosen via company-wide vote after previously having used Skype. We also tested HipChat and a few others at the time and have taken a look at Mattermost (which might deserve another look). Overall Slack is probably the tool that gets used the most and sees the least criticism and has killed off probably around 80% of emails. To some degree Slack is now also yet another way to exchange files though usually with a more temporary character. That being said Slack search is amazing. The amount of integrations rises continuously and we now have a few bots of our own. For example we have one that integrates with Google Calendar to send a message every morning who in the team is available on that day. Actually this is provided via Presence a open source simple tool we created that allows to group Google accounts into teams. We have another one which is a slack channel recommender, since we have almost 900 channels.

Zebra our custom time tracking solution and data hub various SaaS tools

Zebra is our time tracking tool and much more. Unfortunately its not open source as it build around Liip specifics. Basically all hours are entered there. But there are tools in there for product owners to track time spend on specific tickets (via an integration with Jira), for teams to see who they are impacting company-wide finances (you can see an explanation about them in a talk Tonio and I held last year at DrupalCon), to track which tools are used in which project and who has knowledge in these tools and how much they like them. There is also a tool called Taxi which allows submitting time sheets via the command line. We have integrated Zebra with Run my Accounts for billing and Pipedrive for our CRM needs and we might eventually integrate it with  10000ft for rough capacity planning (especially across team, which we try to minimize but sometimes you still need to load balance between teams). Overall this homegrown solution is a vital tool for sales, scrum masters and product owners and is in many respects the data hub that integrates our various tools.

Jira ticketing and Confluence as our knowledge database and contract generator

Jira is our authentication source for all of our Atlassian products. Otherwise our use of Jira is pretty obvious, not much more to say there. We are moving more and more topics related to other things than projects away from Jira (leads are now in Pipedrive and our recruiting process is in the process of  moving to Greenhouse). Confluence is our key resource for knowledge sharing though with Google Drive and Dropbox things have become more fuzzy. Generally if we do place content outside of the wiki we try and link to it so that it can be found. We have considered adding plugins to the wiki search to span across tools but so far this has not been done. We use to generate all our offers and contracts via a custom integration with Prince XML. We also make use of lots of different plugins that let us pull data from different sources. We actually have 2 separate instances: one for internal use, where we are making increasing use of spaces to separate out the content to make it more searchable (we are also experimenting with the archive plugin to help us get rid of old content) and another one for client projects, where each project gets a separate space.

Gitlab, Gitlab CI and Github for version control and CI

Gitlab and Gitlab CI have become our default tools for git hosting and CI. We still have lots of projects on Github, mostly when customer developers join on the development or if we want to use a specific SaaS tool (like Travis-CI). In most of our projects we use vagrant (increasingly also docker) and with Gitlab CI we can use the same vagrant box for the CI. It runs amazingly smooth and feature set increases steadily.

Holaspirit to manage our holacracy process

We briefly tested Glassfrog but found the UX and feature progress much better on Holaspirit. As such it is becoming kind of mandatory but in theory one could get by without it. We have only been doing holacracy for less than a year now but steadily we will integrate Holaspirit via its API more and more into our internal tools. Like for example we might allow lead links to define time budgets in Holaspirit which then automatically create projects and activities in Zebra.

Closing notes

This was just a quick overview of the most used tools at Liip. The rate of adoption of new SaaS tools is quite high and so is the monthly bill. That being said the costs is still a tiny fraction compared to salaries paid. So generally as a Platform Gardener if someone says a tool will make them more productive, I whip out the credit card and get it for them. If there is interest we can follow up talking a bit more about specific tools. Especially our UX and Analytics teams are using dozens of tools for their specific uses and of course our developers too. Generally for a startup I think SaaS tools are a great way to quickly get functionality without distracting too many resources with setup and maintenance on things which are not the secret sauce.

Data-Journalism and scraping skills – Report of a meet-up

Tuesday 27th September, at Liip Lausanne, we had the pleasure to welcome Barnaby Skinner from SonntagsZeitung and Tages-Anzeiger and Paul Ronga from Tribune de Genève for a meet-up about data-journalism. You’ll find the slides and further readings here.

During the summer I came across a news, written by Barnaby Skinner about a 3 months course at Columbia University in New York, that he was attending with Paul Ronga (from Tribune de Genève) and Mathias Born (from Berner Zeitung). The course was mainly intended for journalists, teaching them to gather data, improve their analytic skills (for example with Python, Panda libraries, SQL, combining the three, scraping with BeautifulSoup and using Selenium for automated scraping).

Finding the theme extremely interesting, I invited both Barnaby Skinner and Paul Ronga, at Liip Lausanne to tell us more on the subject.

Why are Scraping Skills Important, Especially For Swiss (and Other European) Journalists, Researchers or App Developers?

You can find the slides Datajournalism_Presentation.

The US government, data driven US companies, NGOs, Thinktanks make so much data available. At least when you compare it to Swiss and European governments or companies. That’s why scraping skills are all the more valuable for Swiss journalists, researchers, app developers: in so many cases the data is actually there. It’s just not structured in a way that is easily machine readable.
Starting with the basics, we will discuss more elaborate and sophisticated scraping techniques, using examples and, discussing and sharing some sample code.
By Paul Ronga and Barnaby Skinner

Paul and Barnaby started by a brief introduction and a few examples about the difference of data availability between the US and Europe. They showed us however that, even in Switzerland, some data is available. The whole point indeed is to be able to gather and organise it in something usable.

They pursued the presentation by showing us – live – a few tools that we can use for scraping. Then, they explained a few of their past and current researches and how the managed to gather the data.

As a conclusion, Paul and Barnaby questioned the legal aspect of scraping.

I might not – yet – be able to master the researches like they did, but it was highly interesting to see how they proceed. It seems that it is all about trying and maybe failing and being creative with the tools at your disposal.

Further readings and information

Paul Ronga wrote a short text about the main aspects of data-journalism:

  1. Beware of data
  2. Do not rely on your tools
  3. Be cautious about anything interactive
  4. Data-journalism is a type of investigation
    → Read the full text (in French)

Barnaby Skinner proposes further readings on data-journalism in this article.

Thanks again to everyone for joining us, and especially to Paul and Barnaby for their presentation!
Please, contact me if you have any idea or wish to propose an idea for a next meet-up about opendata or data-journalism!

Tags: , , , ,

When Innovation Exceeds the User Need – The iCloud Case Study

Yesterday I saw a video about a talk given by Johnny Chung Lee, a Human Computer Interaction researcher currently working at Google on the Project Tango platform, at Stanford HCI Seminar – «Interface Technologies That Have Not Yet Left the Lab». I was impressed about the amount of extraordinary ideas which still haven’t reached the market. For many of them the time hasn’t yet come. Though as Johnny Lee mentions, one of the reasons why they may fail is the lack of good Experience Design. Interfaces are there to capture the user need. Technologically driven people still tend to ignore the frustration felt by a user when he/she can’t achieve his/her goal. The over-excitement about new technology blinds them and puts the user into second place. That’s why one should always ask oneself – Why should a user use my product?

Continue reading about When Innovation Exceeds the User Need – The iCloud Case Study

Tags: , , , , ,

Lektor Static CMS, put the fun back into Content Management

So yet another static website generator, I hear you saying.

It’s true that there are a lot of static generators, but if you look a bit closer you’ll soon realise that Lektor is really a different beast.
But how different? Before we discover its features, let me briefly step back and give you some context.

How it began

A few months ago, I was in the market for a static website generator for a private project.
Of course, I had already heard about Jekyll, Fabricator and a few others but I wanted to make an “informed buy” so I started to look around and eventually checked out StaticGen,
possibly the biggest listing of static generators.
Now, you know, word of mouth is much more powerful than billions of accurate researches so a colleague of mine, Jean-Christophe, recommended Lektor to me.
I started reading the documentation and after a few minutes I was sold.

Continue reading about Lektor Static CMS, put the fun back into Content Management

Tags: ,

Introducing Swift 3.0

With the new iPhone 7 Apple has released the iOS 10 operating system and with it comes Xcode 8 and a new version of the Swift language for the iOS developer community.

Swift 3.0 is an open source language that has been developed by the community together with Apple Engineers.

 

Swift Logo

 

One of the great things about developing an open source language is that everybody can see the evolution of the language and inspect the code. In the official release notes there is a list of all the changes that have been implemented in the new Swift version.

Continue reading about Introducing Swift 3.0

Tags: , , ,

High level targeting: how Beacons can enhance your customers loyalty

What is a Beacon?

A Beacon is a technology, often looking like a mini square (about 3cm2), able to communicate with mobile apps via Bluetooth. It works on apps running on iOS or Android devices.
Bluetooth (or BLE – Bluetooth Low Energy – to be specific) allows a device to transmit information to another device. For instance, this technology is used to play music on wireless headphones or speakers, over a short distance.

In other words, Beacons will allow a contextual communication between two devices when they are close enough (a few meters up to a few dozens meters) for a Bluetooth connection to be made.

Continue reading about High level targeting: how Beacons can enhance your customers loyalty

Tags: , , , ,

Web Summercamp in Croatia – PHP track

David Buchmann introducing HTTPlug

HTTP client workshop in the PHP track of Web Summer Camp Rovinj

I was invited to do a workshop at Web Summer Camp in Rovinj (yes, last year it was called PHP Summer Camp – it got bigger this year). This year, I did a workshop on building HTTP clients in PHP. I did the workshop together with Márk Sági-Kazár, the lead author of HTTPlug, the HTTP client abstraction on top of PSR-7. We used PSR-7 and HTTPlug to build a client against an example API to manage TODO items. Then we showed how to do a Symfony integration for such a client, and how the HttplugBundle can be used to debug requests that are done in Symfony. The slides are online on slides.com – though note that this was a hands-on workshop, important parts of the workshop are not visible on these slides. The workshop was well received and I hope to teach it again in the future.

Web Summer Camp is unique in being a conference that only consists of 3 hour hands-on workshops and no only talks – aside from a lightning talks session. There are workshops in the morning and in the afternoon, so during the 3 days, you get to do 6 in depth-workshops. This year, there was the PHP track with 2 parallel workshops, and an eZ publish track as well as a UX / agile track. The Summer Camp is a community organized event with a great atmosphere, nice evening activities – and keeping the prices impressively low for what you get. The included boat trip on saturday is another unique and awesome thing. In short, you should strongly consider visiting the Summer Camp next year!

Hacking with Particle server and spark firmware

The particle server

In my previous blog post, I wrote about the concept of my project using particle. Now I will explain what I had to do to increase the data rate transfer of my modules (remember, my goal is to get data  with the closest data transfer of 1 [ms] ).

First, I installed the local Api server (https://github.com/spark/spark-server).

Then I had to register all of my photon’s public key on my server and the server public key on my photons.

Using this command :

Then, I launched the server to see if my photons were responding with something like this :

So from here all was working fine but what I also needed to use there is JS library to get data from OAuth. The thing is that you have to do a lot of configurations if you want to make it works but in this project it was not the goal. I had to test as quickly as possible. So I did what you usually do not have to do with a library installed via npm.

Continue reading about Hacking with Particle server and spark firmware

Tags: , , , , , , , ,

Liip Bern, and why we do it

Liip Bern's Launch TeamA couple of weeks ago we opened our new office in Bern. It’s big, it’s beautiful, but.. necessary? We think it is. So while the team at it’s lovely location in the middle of town is already hard at work on some of the most promising public sector innovation projects, let’s take a look at a core piece of text we worked with deciding to make the commitment to Bern:

Our democratic institutions and public services clustered in Bern all face tremendous challenges facing the digital acceleration businesses and society are experiencing. As digital becomes a key component in actually implementing policies, the ability to deliver solutions that are secure, scalable and sustainable becomes central: a functioning democracy needs policy implementations that work.

We want to provide that capability to deliver. We want to build public interfaces that are simple, beautiful and easy to use. That are open, transparent and inclusive. For that we need to make the important things simple again, we need to be brave enough for radical approaches,  and we need to seriously engage.

This belief, our focus on service and experience design, our commitment to open technologies and capability to innovate across disciplinary boundaries is giving us a unique position in  Bern and its developing civic technology sector.

Our serious commitment to agile methods and individual empowerment enables us to excel in a public sector in which so many digital projects fail tragically. Those projects are rarely underfunded or underplanned. They stall under the weight of too much talk and not enough action, too many strong presentations, not enough strong implementations. So we will be builders, not talkers: The strategy is delivery. Delivery of citizen-centered technology that works for all, that empowers participation and enables policy.

Life is short. Work on stuff that matters.

That text still resonates with me, and we’ll sure take it out from time to time to remember to focus what matters. If you’d like to join us in this mission: you can. If you’d like to know more, talk about projects, public sector service design, open data, or the next big thing: please get in touch.

 

 

Experimenting with React Create App and Google Sheets API

Since the opening of our Lausanne office, a person who shall remain anonymous collected the most epic — from weirdest to funniest — statements made in the open space to fulfill a constantly growing database of quotes. From post-its to Google Docs to Google Spreadsheets, it definitely deserved a better interface to read, filter and… vote!

Quotes React app

Setting up the development environment

After having done some projects with it, it was clear React would be a good choice. But unlike the previous occasions, I did not want to waste time setting everything up; experiments are about coding right? There’s plenty of React boilerplates out there and whereas some are great, most usually include too many tools and dependencies.

Continue reading about Experimenting with React Create App and Google Sheets API

Tags: , , , , , ,