We are happy to welcome Joel Widmer and Matteo Bossi to our team!
Joel will be reinforcing our Software-Developer section as well as Matteo as our new Software-Developer apprentice.
Encodo was pleased to be able to host and participate in the June 2018 meetup yesterday evening.
We heard about usability and user experience from Luca Honegger of Kleinfach GmbH. He emphasized that projects would be well-served by getting users involved in the process early on. He cautioned that user feedback must be taken with a grain of salt, but that it's always essential—if the target users can't use your application, then it doesn't matter how much you can "prove" that it's good design. Early feedback sessions can also be a great way of refining requirements that users can't formulate without "seeing" something.
Next, we learned about optimizing web-page loading speed from David Gunziger of smoca. He discussed the advantages of HTTP2 as well as aggressive caching, inlining of resources, pipelining requests and tweaking the content to let the browser display content as quickly as possible. He managed to reduce the initial-loading time of his company's web page by over 50%.
Finally, our own Richard Bützer (just started last month!) presented a fun-but-somewhat-sobering quiz about JavaScript conversions. Is an array equal to an array? Is it equal to true? What about 1? It was a wild ride through some very non-intuitive type conversions that led to some rousing discussions about how to prevent these JavaScript weaknesses from getting in the way of producing quality software. Everybody was able to try their hand at answering questions with Kahoot.
Afterwards, there were drinks and snacks and lively conversation. All in all, 25 people attended. Thanks to everybody for coming!
As you can see, Encodo finally has a new web site!
We'd had the same design for many years and it was time for a refresh..
What did we want to change?
We didn't do the design ourselves (because we're not really designers). Instead, we contracted our partners at Ergosign to come up with a design for us and we think they did a great job (as usual).
The previous web site[^1] had the following features:
On top of that, we wanted:
On the server side, we evaluated a bunch of approaches:
After much deliberation and some POCs, we went with Umbraco, a framework written in and for .NET C#.
This approach entailed:
We've come a long way toward our goal, but a web site is an ongoing project.
We've incurred a bit of technical debt on our way to release, so a first step will be to convert some inline JavaScript and CSS to shared TypeScript and LESS. We're also improving our support for mobile devices as we test more.
[^1] We were using the earthli WebCore, a PHP CMS written by Marco.
In late September, Encodo closed out the summer with a four-day weekend at a rented house in Tenero-Contra. We were 300 meters above the valley floor, clinging to the slopes of the Verzasca Valley just under Mergoscia. We had a commanding view of Lago Maggiore, Monte Ceneri and Monte Tamaro.
In addition to all of the pictures and the calendar, there are four short journal entries that describe how we passed the time:
Encodo held its second (and final) networking event of 2017 on November 2nd with Marco presenting Cross-Platform Development for Mobile Apps (slides in English/presentation in Swiss-German).
Thanks to everyone who attended!
The abstract is included below.
This talk starts off discussing a laundry list of requirements and project details that impact on mobile development and can affect which tools, frameworks and libraries you choose to support your work. The second part covers the available frameworks with extra detail where Encodo has experience (many of them). They include: Cordova, PhoneGap, Ionic, Xamarin, Native Development and Flutter.
Encodo held its first networking event of 2017 on June 1st with Marco presenting A Checklist for new Projects (slides in English/presentation in Swiss-German).
Thanks to everyone who attended!
If you missed it and would like to see the talk, Marco will be presenting again at winti web dev/talks on June 19th, 2017. The talk will be in English this time.
The abstract is included below.
This talk discusses a checklist of concepts for writing software. Which ones apply? If so, how will you address them? A must for new projects, but also very useful for ongoing, legacy or inherited projects. We'll quickly skim several groups of concepts, and then focus mainly on "core software components".
If you can't make it, the updated slides are available online.
On a warm spring day, we took an afternoon off for lunch and a Segway Tour of Winterthur with Segway City Tours. After an introduction on a flat plaza by the Zeughaus, we cruised all over the city for hours, stopping on the Goldenberg and at the Oskar Reinhart Museum.
Last year, we sent customers and friends something to drink. This year, we provided some food to go with it: hand-made sausages and an Encodo cutting board!
Not only that, but we also made a 2016 New Year's Puzzle!
As almost every year, we had to get organized early in order to accomplish everything by our projected ship-date. As last year, it was only thanks to the efforts of several people at Encodo that we got everything done well and on time.
Visit the whole photo album to see all of the pictures!
Before we could engrave cutting boards, we had to get them from somewhere. We came up with measurements and Karin ordered 60 boards from Berchtold Holzbau1.
She brought them to the office (pictured left), ready for engraving (preview of a draft version on the right).
The next question was: what should we put on the cutting board? Well, definitely the logo, but what else? We thought about engraving our signatures on it, but ended up with including our names and a minion for each of us. We made the logo ourselves, in Inkscape.
With graphic in hand, we needed to find someplace that would engrave our boards for us. We decided on the FabLab in Winterthur, where we would be able to do it ourselves. Robin Bühler and Remo volunteered to get certified on the 100-watt CO2 laser-engraving machine and we were in business.
We had to visit the FabLab a couple of times to engrave all 60 boards (ca. 4:15 per board.2 We took a video of the whole process. It's not terribly exciting, but you can follow along as the machine grinds out the pattern. In order to get this video shake-free, Pascal and Robin B taped phones to the outside of the machine.
On another front, we went to Das Pure in Wetzikon for a course in sausage-making one morning and then had a lovely apéro and lunch together. We ate a bunch of our self-made sausages that day for lunch, but also had some left over for lunch at the office, grilling on the terrace during a particularly nice fall day.
If you take a closer look at the pattern on the cutting board, you can see that we included a URL in the top right-hand corner. Opening that URL takes you to our 2016 New Year's Puzzle (shown to the right).
We collected ideas inside the company and voted to pick out a single question. We designed the project -- even setting up a Jira for all of the tasks -- and built a small web site with a lightweight JavaScript front-end that talks to a PHP back-end, storing results to a PostgreSql database.
Karin picked up the sausages after six weeks of drying and brought them to the office. The final step was to pack up dozens of boxes with sausages3 and a cutting board and carry it all to the post office.
Visit the whole photo album to see all of the pictures! And even if you don't qualify for a fabulous prize, you can still take a crack at solving our 2016 New Year's Puzzle.
Which is conveniently located in Wetzikon and also where Karin's son had just finished his apprenticeship.↩
We actually had to lug several kilograms of wooden boards back and forth one extra time because the FabLab wireless network wasn't working one evening -- and you can't send a graphic to the machine any other way. Robin's request to connect his laptop directly was firmly denied.↩
Toblerone for our American colleagues because it's illegal to ship meat products to the United States.↩
Encodo celebrated its 10th anniversary as a company this summer in Bussang in the Lorraine region of France.
We'd originally voted on different ideas and a trip to Amsterdam had squeezed by camping by one vote. Planning our weekend in Amsterdam proved difficult. Something called SAIL Amersterdam -- which takes place every five years -- was on the same weekend we'd chosen and all the hotels were full.
So, we improvised and Karin found a lovely place in Bussang, just about an hour over the border in France.
Karin, Remo, Marco and Kath arrived at 09:00 and moved in. Remo, Marco and Kath headed back to Thann, back over the Col du Bussang, to pick up food and drink for 18 people for 21/2 days.
Bonjour, je m'appele Urs.
While we were shopping, the rest of the crew showed up and Karin called us back because the natives were getting extremely restless -- and hungry. They fell on us as we came through the door and (B)Robin had the grill going, Steffi was making dips, vegetables were cut (with terrible, terrible knives) and Urs and Pascal manned the grill.
We all gathered on the outer deck for cut vegetables, dips and a grill packed with sausages and chicken. After lunch, Kath & Marco played Jass against Steffi & Urs while a bunch of others looked on. At the end of the (relatively slow -- I'm looking at you, Urs) first match, we took a break from Jass.
Cards against Humanity: A Card Game for Horrible People
Patrick suggested that we unpack Cards of Humanity (reluctantly packed by Kath) so that more people could play...and also so we could lower the level of discourse significantly. Initially, a handful played while others looked on. By the end of the afternoon, most people were involved in one capacity or another, either teamed up with someone else or simply acting as ad-hoc advisors or judges.
We finally dragged ourselves away from the gaming table and from our very-extended happy hour to get started on dinner. Robin B led a cadre of helpers to make Rahmschnitzel with butter noodles that evening. At the end of the evening, we switched back to Jass from Cards of Humanity. People drifted off relatively early and most of them missed the midnight ice cream.
The next day, Katja, Sebastian and Samuel went into town to get croissants for breakfast while the drone pilots -- Armin, Patrick, Pascal and Urs -- started their training in earnest.
Droney!!!!!
They'd bought some mini quad-copters the week before and were ready to learn how to fly. Urs had an early lead because he'd (A) actually calibrated his 'copter and (B) already practiced flying it. Urs named his Max while Pascal named his Droney. Patrick and Armin refused to name or otherwise anthropomorphize theirs. Pascal's skills were a bit rough at the start and we were regaled with shout after shout of "Droney!!!", announcing that his drone had taken a sharp turn into yet another tree or bush.
For lunch, we had sweet & sour beef with rice, with Urs and Steffi in charge. The induction stove produced a lot of heat and carbonized a good amount of the sauce to the bottom of the large pot -- an accident that would take about a day of soaking, two hours of elbow grease and various ad-hoc implements to rectify.
After lunch, we split up into four groups for the day's activities:
The climbers returned first, followed a couple of hours later by the hikers, then even later by the riders. Dinner was prepared primarily by Patrick and Pascal -- lasagna and apple pie. In the meantime, Marco unpacked the blender and started squeezing fresh limes for margaritas. It took a while, but we managed to make three pitchers by stretching the lime juice with bananas to make something more approaching an ice smoothie (but still infused with plenty of tequila).
We managed for a while on drinks and snacks but the crowd was getting restless and running out of energy by the time the main course showed up on the table. The pilots were encouraged by their margaritas on empty stomachs to try some night flying with their drones. Droney was disemboweled by a bush, dropping his battery into the inky night.
Dinner was worth the wait and inspired spontaneous applause as well as vows from a few people that they would never to try to make their own lasagna again. Apple pie followed as well as a lovely Martinez port from 1967 that Remo brought along.
Best. Lasagna. Ever.
After dinner, some of us started another round of Cards Against Humanity while others went out to search for Pascal's battery. Urs and Steffi set off with a couple of torches we'd lit for the outer deck and Steffi managed to actually find the battery, announcing that she'd found it to those of inside by looming out of the night against the large dining-room window, holding the battery in one hand, the torch in the other and sporting a triumphant and somewhat scary grin on her face. Marco cleaned up at cards that evening, and Tymon wound things up by reminding us that it was 01:30 and some of us had to get up to prepare breakfast.
Tymon, Katja, Kath and Marco prepared pancakes, bacon and scrambled eggs for breakfast the next day. There were no plans for the day, so after breakfast, we relaxed a bit, then started to pack up. Groups drifted off, starting at 13:30 or so, with Marco, Kath, Karin and Remo closing down the house and giving back the key by 15.30. All in all, a very fun and successful team weekend in the Lorraine.
After a long search, we've finally found a first-year apprentice, Robin Henkel. He has already started working for us, doing some practical training throughout the summer until he officially starts his apprenticeship in the fall.
Every year, Encodo tries to do something a little different for an end-of-year gift for colleagues, customers and close friends. Last year, we made Encodo-themed light bulbs with something called the Egg-Bot.
What could we do to top that?
And then, sometime last year, Daniel made a good suggestion: we should totally make our own schnapps!
But it did take us over a year to get there...read on.
So, starting last year, we laid our plans to make our own Williams, a schnapps made from pears. We found a very good local producer -- Zürchers Schnaps-Lädeli -- and made an appointment on September 13th, 2013 to start the fermentation process. The first step was to tell him how many pears we wanted -- we ended up using almost 300kg of pears! To the left, you can see our pile of pears in the the masher/grinder, ready to be pureéd and pumped into a barrel for fermenting.
At this stage, there wasn't much more for us to do but wait a few months for Herr Zürcher to call and let us know the next step.
Three months later, on December 13th, 2013, we returned to the farm to watch our fermented pears enter the distiller. Armin, Remo and Dani were along and documented the process.
Apparently, the distillation process produces alcohol in excess of 80% (160 Proof for the Americans) and is then "thinned" to produce the desired strength in the finished product. At this point, you can adjust the mixture, either sticking with pure Schnapps or adulterating it slightly with a darker, sweeter pear liqueur to make what Herr Zürcher calls "Alte Willi".
The flavor of the pure Williams was so smooth that we elected to make 30L classic and only 5L as Alte Willi.
At this point, the Williams was ready but we still needed a bottle. So we took a few local field trips in Winterthur until we found a bottle that we liked. Instead of a classic label, it has a little slot so you can place a label inside the bottle. We were fascinated at this high-tech marvel and chose that one.
Marco made a little label with our logo and we sent it off to the manufacturer to produce our many little bottles, ready for filling!
Almost all of Encodo showed up on September 15th, 2014 to fill the schnapps into the bottles. We showed up with all of our bottles, complete with labels and were led to a production table. We had more than enough help along to populate all of the stations: filling bottles, putting in corks, heating the plastic seal, wrapping in bubble wrap and storing back in the box.
Everybody took turns at the different stations and had a good time doing it. No Williams was harmed in the process.
We stored the bottles in our server room until we got closer to the end of the year. In the meantime, Fabi worked on a card and had it printed. All that remained was to hook a ribbon through the card and hang it around the neck of the bottle. The finished product is pictured to the right.
Karin spent an afternoon packing bottles and we carried the whole shebang to the post office, where they would greet us with open arms and giant smiles on their faces, like they do every year when we show up with our pile of boxes.1
Visit the whole photo album to see all of the pictures!
For our American colleagues: shipping alcohol to the U.S. is about as difficult as smuggling it into Tehran (I imagine). It is forbidden to ship alcohol on almost all levels, international, federal and state. It can, however, be carried on a person, so a personal delivery is forthcoming at some point. On the bright side, Williams doesn't spoil. :-)↩
Encodo took a three-day weekend in the Bündner alps at Savognin for some sun, sledding, skiing and snowboarding. Also a bit of billiards, jass, lots of good food and a few beverages.
Check out the album to see pictures.
As we do every year, Encodo wanted to give its customers, partners and friends an end-of-year gift that was interesting, relatively unique and at least partially hand-made. This year, we built a machine from a kit that would make our presents for us -- the Egg-Bot.
We put it together from a couple of hundred pieces, ordered Sharpie markers from the States in all colors of the rainbow and tested several different round things in the Egg-Bot before hitting upon the idea of writing on a light bulb.
We built the graphic in InkScape and used a special Egg-Bot InkScape plugin to drive the Egg-Bot. And then we had poor Frank babysit the Egg-Bot as it whirred and whined its way through the production of several dozen custom Encodo light bulbs.
Check out more pictures in the album. Or check out the video of the manufacturing process below,
This past Monday, Encodo had its second networking event of 2013. The topic of the first was also HTML5 and concluded then that web development was better than it ever had been. In the second event, we had a brief presentation on the current drawbacks in HTML5 development and then discussed ways of making HTML5 development better. We had good participation, with developers from seven other companies contributing to the discussion.
The presentation is available online: HTML5: Is it a serious development platform? as are a couple of pictures.
Dani and Marco recently took a business trip to Dallas, Texas for a week. It was a productive week and we had a good time as well. It was Dani's second trip this year and Marco's first. We put up some pictures in the gallery.
We've been hard at work this year and have three new customer references to show for it: F. Hoffmann-La Roche Ltd, Apex Clearing Corporation and Qontis AG. See the full list of references for more details and brief descriptions.
The pictures of our first networking event in 2013 last friday can be found in the gallery by now. Enjoy viewing!
Encodo is pleased to announce that it has a new employee! Frank Baumann (1st-year apprentice in computer science) is a welcome addition to the Encodo development team.
Do you recall what we promised? A reward for anyone who played our game all the way to the end and entered their code. The best of the Encodo Gamers have been acknowledged according to rank. You're all important to us, though, and that's why we spent a whole afternoon pouring, painting and detailing chocolate bunnies for you at a local chocolate-maker's shop.
You can find a bunch of pictures from that afternoon on our events page.
We recently noticed that our Facebook page was a bit chaotic. It consisted mostly of a semi-private group called "Encodo" that we initially created much earlier -- when Facebook didn't offer pages for companies yet. Facebook evolved this page through various incarnations but also offered an ad-hoc, "Encodo Systems AG" page because users had entered that name as their place of employment. Because of this, we had two main problems:
The second point was easy to remedy: we just went to the "Encodo Systems AG" page, clicked the appropriate link and were granted rights to administer and redesign the page. Oddly enough, Facebook didn't ask us to verify that we were really from Encodo, which means that pretty much anyone could have taken over that page before us -- and locked down administrator access.
The first point proved to be a bit trickier: it doesn't look like it's possible to delete a group. Therefore, there was nothing for it but to mark the group as private and let it atrophy in the dark recesses of Facebook's archives.
While we were at it, we also added official Twitter, Google+, XING and LinkedIn pages for Encodo, just to make sure we could get the official page names before anyone else. Google+ also didn't ask us to verify that we were representatives of the company.
We also set up both the Twitter and Facebook pages so that content from our blogs will be automatically cross-posted to those services. We're using Twitterfeed to pump content to Twitter, which works just fine. It also supports cross-posting to Facebook, but the entry isn't very nicely formatted (and never includes a thumbnail, even if one is available). Therefore, we decided on the RSS Grafitti Facebook App, which imports an external newsfeed into Facebook quite nicely. And, lastly, we're still looking for a clean and officially supported way of publishing a newsfeed to Google+. That so few tools are available is entirely due to the fact that Google+ still doesn't provide a decent API for introducing content.
You can find our new pages here:
We are delighted to accept any "Likes", "Followers" und "+1"s you can spare. :-)
At the end of last year, Encodo shipped a little JRPG-style game to customers and partners. JRPG stands for "Japanese Role-Playing Game" and is usually shown in a top-down or isometric view.
Our version uses Jaws, a low-level, open-source, Javascript game engine but, after some research into alternatives, we ended up writing most of the logic and rendering in our own layer on top of it. We tried to keep the code relatively clean and tested it on most desktop and mobile browsers.
Our game takes place in our office here in Winterthur and features all of the Encodo employees. Quoting from the game:
In order to get a surprise this coming spring, there are a few tasks you'll have to perform. Each employee has a piece of the solution that you can earn either by answering their questions or by bringing them an object that they lost or that they would like.
You finish the game when you've collected all of the puzzle pieces that you get by answering each employee's questions -- or by giving them an object that they want. The puzzle pieces fit together to reveal a message.
You can play the game by browsing to the Encodo RPG 2013; it's available in English and German. You're only eligible for a gift if we sent you a card with a code on it, but you can still send us a message at the end if you finish the game.
Once you get past the intro screen and some instructions, you're dropped into the game and can start to look around. In the top-left corner is the table on which you'll find all of the different items that you can use in the game -- and that you can use to "convince" employees to give you their puzzle piece if you can't answer their questions.
As you play, the game keeps track of "points" as well as progress. In order to get 100% progress and complete the game, you have to get each employee's puzzle piece. The number of points you have at the end reflects how efficiently you did this.
And, in case you don't finish it, we'd like to give credit where credit is due:
Marco von Ballmoos
Remo von Ballmoos
Daniel Roth
Armin Bilibani
Stephan Hauser
Daniel Roth
Pascal Stählin
Marco von Ballmoos
Armin Bilibani
Stephan Hauser
Spoiler alert: the items you can use to find secrets are the SSD and the cappuccino. (Select the text to reveal the answer.)↩
Just before Christmas, most of Encodo got together at Chuchiart with some close friends. Cuchiart is a medium-sized kitchen with a dining area for about a dozen people that we rented for the evening. Thomas Spycher is the head chef and he helped us put together a menu (see the menu below) and helped us prepare and cook all the courses ourselves. You can check out the pictures on the events page.
Veal tartar with caramelized cream cheese
Whipped Dijon-mustard soup with smoked duck breast
Roast fillets of beef with a shallot & port-wine sauce
Yorkshire pudding
Cointreau Parfait with orange and yogurt foam
Encodo had two networking events in 2012, both at our offices in Winterthur.
Click the links above for pictures. Better late than never, right?
After many years of faithful service, we've retired our first web-site design and have replaced it with the much more modern version you're looking at right now.
This initial update is mostly about design although we made a few minor content changes as well.
As before, we focused on creating a site that meets our high standards:
We improved Quino's application-server and cloud support with the 1.8.3 and 1.8.4 releases.
The improvements to application-server and cloud support are:
In addition to application-server and cloud support, the latest version of Quino also provides improved support for: