Categories
Blog News

Roborock 2.4Ghz Wifi issues and some solutions

Roborock S6 Pure vacuum cleaner and it's charging station.

I just bought a Roborock S6 Pure vacuum robot. Having 2 cats and plenty of hair every day lying around we needed something that could do a quick clean every day.

While I’m vary happy with it’s performance, there is a WIFI connection issue that has been plaguing all Roborock S5 and S6 vacuum robots.

The Problem

The problem I encountered was that it was not that hard to get the Roborock S6 connected to the WIFI.

Just make sure that your WIFI password does not have any weird characters in them (symbols) as apparently your vacuum cleaners’ wifi programming can’t handle that.

However, once it was connected, I couldn’t really control it from my phone – it worked, but only infrequently. If I was further away, on the other side of the house, then it worked, maps got loaded. But only sometimes, with frequent timeouts and slow internet errors. Weird, but it got me thinking…

As officially stated in the manual, Roborock does not support the 5Ghz Wifi spectrum. And nowadays that is becoming more and more standard in routers. Most routers still support both though, sometimes separately, sometimes transparant for the user. Some of the new ones only support 5Ghz, although for your own comfort, you are better off with one that supports both.

At home I have got a router that supports both, and automatically chooses how to connect to a device depending on the throughput – I have the same network name for both radio networks, so my phone only sees the one network name, but depending on distance it’ll be the 2.4Ghz or the 5Ghz network (the higher the frequency, the faster the connection, but the harder it is to penetrate walls with the signal; so the further away you are, the better it is to use 2.4Ghz).

And that caused the problems : when I was farther away from the robot and the router, I got notifications; I could access the amp, etc… because my phone automatically used the 2.4Ghz radio network. But when I wanted to change settings I automatically went close to the Roborock. And closer to the router, so the phone switched again to the better 5Ghz connection. All without me knowing it. And normally that’s not a problem. However, when you are communicating with a 2.4Ghz device, that IS a problem…

Solutions

Here are some solutions to your problems :

  • First, check that your WIFI password does not contain any strange symbols.
  • Set your encryption scheme from WEP to WPA. Honestly, if you are still running WEP, you’re asking for troubles. WPA or WPA/2 is better protection as WEP nowadays is eminently hackable.
  • If you only have a 5Ghz network router : you’re out of luck. You can still use your Roborock, but without the smartphone interface. But…
    Do check in your router that your router perhaps DOES have 2.4Ghz, but it is turned off. For that you will need to access the router’s administrative interface, which is different for each type of router and how it has been setup… Time to start searching for that router installation manual ! If it is turned off, turn it on, and then setup that network and connect your Roborock to it.
  • You have a router that supports both frequencies, and both are active but using different network names : eg. “RadioGagoo24Ghz” and “RadioGagaa5Ghz” – make certain to use the 2.4Ghz network name and *not* the 5Ghz.
    Additionally, the device you are controlling may need to use 2.4Ghz network as well. I’ve read reports from people that did not manage to control their Roborock using their recent iPhones, but did manage to do that with an (older) Android phone (one which probably only has a 2.4Ghz radio).
  • For those dual router, you could, if you want to, disable the 5Ghz network and force everyone to use the old network. But you are losing out on high-speed downloads, and some devices nowadays like USB network antenna’s (for plugging into pc’s without a wifi card) only support 5Ghz…
  • You have a router that supports both frequencies and meshes them into one network name (which is what I have) – and you want to keep on using that solution for whatever reason : what worked for me was to enable the 2.4Ghz GUEST network (and only that one) and link the Roborock to that. I also allowed devices on that network to connect to my network.
    Afterwards I set my mobile phone back to my regular network, but I can still control the Roborock ! This works because
    a) the Roborock now has a dedicated 2.4Ghz network and can save information like maps. And because it can talk to my internal network,
    b) my phone can see it and communicate with it.

I hope you manage to get your Roborock working. And honestly, Xiaomi, if you are reading this, an upgrade on your next model to 5ghz is something that you really need to consider. The problems selling this to European and/or American customers will only get bigger staying on just the 2.4Ghz network.

Categories
Blog News

Installing HDX Media engine on Mac

This is a post to quickly detail a solution to the problem of installing the Citrix HDX media engine plugin for the Citrix Workspace app on your Mac.

If it keeps insisting that No, your workspace app is not installed while it IS installed (because, you know, you are actually using it!) then the problem might be that the script inside the installation package is not executed.

Why is it not executed ? Because the script is stored with a typo that only shows up on a case-sensitive file-system. And most Mac files systems are NOT case-sensitive.

Here’s how to fix it :

~ pkgutil --expand /Volumes/HDXRealTimeMediaEngine/Install\ HDXRealTimeMediaEngine.pkg Install\ HDXRealTimeMediaEngine.pkg                                                 
~ mv Install\ HDXRealTimeMediaEngine.pkg/Scripts/RTMEconfig Install\ HDXRealTimeMediaEngine.pkg/Scripts/RTMEConfig             
~ pkgutil --flatten Install\ HDXRealTimeMediaEngine.pkg Downloads/Install\ HDXRealTimeMediaEngine_custom.pkg  
~ open Downloads/Install\ HDXRealTimeMediaEngine_custom.pkg

Basically, it unzips the .pkg file (similar to .zip) , unzipping it, renaming a file in there by using the unix mv (move) command so that the script will run correctly, and then zipping it up again under another name.

Running that custom package (in the script above it’s saved in Downloads) will normally allow you to get this to work.

I found this in an online bulletin board from the HDX version 3 versions back. Apparently it’s still not fixed.

Categories
Hardware

Using the Fritz!Wlan 1160 repeater to increase my wifi range [review]

Why I need a repeater and perhaps you as well

Recently with the hot weather we wanted to sit in our garden, but nowadays we take a tablet with us instead of a book.

Unfortunately the telenet router is all the way on the other side of the house, so the range is about nil and zilch once you go 2 meter further than our backdoor. So I needed a repeater, which is basically an extension for your wifi and is normally totally transparant to your tablet or laptop or smartphone.

In detail: your router talks to the wifi repeater (via wifi, no develo in sight here!) and the repeater is just a client on the network.
The repeater broadcasts the exact same wifi access name as your router (hence the name of the thing), and as it is closer to the devices that want to connect to the wifi, those devices use the more powerful radio of the repeater. Invisible to them, the repeater relays all those requests back to the router.

This is of course not optimal for speed but at least a slower connectivity is better than no connectivity. And it really depends on where you put the repeaters (yes, you can install multiple ones that connect to each other!). One caveat is that they need to be somewhere close enough to the router so that there still is a reasonable connection, but far enough that your devices farther away can still reach them.

So I recently purchased the Fritz!WLAN Repeater 1160, which I read some good comments about on tweakers and can be had for about 70 euros or slightly less.

It’s a stylish flat box with some red on it and some symbols so it is not the most un-noticable item in your room. If you can tuck it away in some powersocket nobody is using but still have good wifi connectivity, the better. On the box it says “Gigabit Wifi” but that all depends on how you configure it and how far away it is from the router (see above for more detail).

The front is actually quite well thought out.

You have a WLAN symbol, with below it the WPS button and under that status lights for power, WLAN and info.

The WLAN symbol lights up bars according to how strong the connection is to the router. In my case, I get about 3 bars, which is very good.
As such it gives you a rough estimation of how good the repeater can reach the router.

SETUP

Setup was so easy that I was actually doubtful that I done it :
1) plug it in somewhere close to the router
2) press the WPS button on your router
3) press the WPS button for 5 seconds on the repeater
4) done !

Connections can be either on 2.4Ghz or 5Ghz, or a combination of both, where you receive 2.4 and send on the 5 Ghz. This can help with the throughput speed, if you set it up right.

You can configure it manually if you don’t have a router with WPS, but for me WPS worked immediately. I actually reset it to factory settings just so I could try the other way as well. There are actually only 3 actions you can do with the device without going into the config screen :
– press the WPS button for 1s to turn the WIFI on or off
– hold the WPS button for more than 5 seconds : start the WPS handshake sequence
– hold the WPS button for more than 15 seconds : reset to factory settings

There was one problem that I had : once connected via wps to the router, I could not connect to the local fritz.repeater admin page that is described in the manual for further configuration. The only way I could access it was right after resetting it to factory settings. Once connected to the router the page was no longer accessible.

Performance

Surprinsingly good performance, and very stable. Both in seamlessly connecting to it and in the throughput to the router.
Absolutely no problem to watch youtube on the tablet all the way in the back of the garden !

So I heartily recommend this device if you want to extend your wifi for a low price !

Categories
Hardware

G-Sync setup not showing in your menu ? Colors on your Dell S2716DG not right ?

I just bought this sweet, sweet new DELL monitor : the S2716DG monitor with G-Sync. This monitor has a TN panel that’s very good and can run at 144hz in G-Sync mode with selected nvidia cards like my GTX970.

G-Sync mode allows your card and your monitor to synchronize display refresh rates to the GPU in your GeForce GTX-powered PC, eliminating screen tearing and minimizing display stutter and input lag. The result in a game is no tear or blurry images, just buttery smooth gaming experience with crisp detail. I’ve tried Battlefield 1 before and after G-Sync and the experience is incredible.

One thing that bothered me was that when I initially searched on how to enable G-Sync, I could not find the menu entry in the nvdia control panel. I reinstalled all drivers and did a clean install of them just to be certain, but nothing changed. No “Set up G-SYNC” menu option. This really vexed me.

The solution seems to be a simple one, too simple really : just take out the displayport cable out of your screen or graphics card (you did use the dp cable to connect your screen, right?), then wait a moment, and plug it back in. After a second of hesitation, the “Set up G-Sync” menu option suddenly appears in the nvidia control panel. Problem solved !

The build of the screen itself is great, with small bezels, and can easely be lifted or lowered to the correct setting, as well as tilted or turned. The foot it connects to is solid and has a quick-release button.

But the default factory settings make the screen somewhat bright and harder to read than it should be. And the menu panel of the monitor doesn’t allow you to change the gamma settings, however with the nvidia control panel you can set it up correctly.

I found some settings on Reddit that I tried and quite liked. They are here for my own recall and perhaps your help should you want to try them out :

Nvidia Control Panel>Adjust desktop color settings:

  • Brightness-50% SAME
  • Contrast-50% SAME
  • Gamma-0.75% DIFFERENT
  • Digital vibrance-60% DIFFERENT
  • Hue-0 SAME

Click APPLY to save the settings.

DELL Monitor settings:

  • Brightness-30% DIFFERENT
  • Contrast-75% SAME
  • Color > Custom Color: R-97% G-99% B-96%

This definitely made the screen colors more vibrant and noticeable. The screen is a bit pricey, but not as much as the others, and the results are very good.

Categories
Blog News

So true. How we get older…

“We do not grow absolutely, chronologically. We grow sometimes in one dimension, and not in another; unevenly.
We grow partially.
We are relative.
We are mature in one realm, childish in another.

The past, present, and future mingle and pull us backward, forward, or fix us in the present. We are made up of layers, cells, constellations.”
 ― Anaïs Nin

Categories
UX Prototyping

How to integrate an Axure prototype with a live chat application using Flask and SocketIO.

I recently created a prototype sales flow in Axure that contained a dummy chat button. One of the next requests for prototyping that I received was on testing the actual activation of the chat button and the subsequent screens after. However, I went slightly further than only prototyping the chat button interaction.

Why not add live chat to it so you can test end-to-end ?

Since participating on a few U-lab sessions organised by my colleague, I firmly believe that the more realistic your environment, the better the tester can focus on the actual proces that is being tested. It doesn’t need to look exactly right (although that’s fine too) as long as most or all of the functionality is there. Otherwise a tester can become focused on an missing element and not on the actual prototype.

For instance, the sales flow I previously created contains a general conditions text. At first I just added a page to the prototype so the user could at least click on the general conditions link, but I left the actual page empty.

One or two test users found the empty page, and remarked on it repeatedly – it clearly bugged them, even though it was only a very small part of the flow they were asked to test. So I quickly added the beginning of the actual text to the page. Subsequently there were no more remarks.

So instead of using pre made ‘fake’ speech bubbles to ‘make pretend’ that there was a chat session going on, I got to thinking about my previous experiences with Python and Flask and the way you can use those tools to create a website with very little effort.

Wouldn’t there already exist a way to easily setup a live chat server and integrate it with the Axure sales flow prototype ?

A quick google search later I had found a simple tutorial (made by the wonderful knowledgeable Flask-guru Miguel Grinberg) on using websockets with Flask and Flask-SocketIO, setting up a simple chat application server that could be reached by surfing to the page, allowing actual client-server communication using a javascript socket.io library for the webclient.

The backend : live chat application using the Flask micro-framework

Let’s first describe the ‘backend’ : I used Flask together with some extra libraries like Flask-SocketIO to create the chat server.

[Flask is what is called a framework, written in Python, that allows you to code a web application using only a few tools and templating languages that have been configured to work together. It’s called a micro framework because it allows you to work fairly freely, not confining you too much. A full framework is much more rigid in using databases, templating languages, etc]

Soon after, I had a chat server running that allowed you to start up a browser, enter a room and type in a line of text, hit enter, and have it displayed on two different sessions that were in the same ‘chatroom’.

As long as you are on the same (wireless) network, you can visit the server and chat together in a room. So the U-lab organiser or a third party can run the ‘server’ on his mac, and the tester can use a browser on another device to visit the server url (using another id) and we have a live chat going between the two parties.

As I wanted to test the mobile view of it, I modified the provided example to use Bootstrap and css-styled it so that the chat lines are not shown as simple text but as speech bubbles, similar to Messenger. If the user entering the chat line is the same as the user it is being shown to, it is shown on the right side of the screen, else it is shown on the left.

Also, I removed the first ‘login’ screen from the example provided so I could call the chat screen up from within the Axure prototype based on url parameters so the user does not have to login any more.

Obviously this had an impact on using sessions (which is being used by the socket emitters to know who is emitting what), as these sessions were established in the separate login screen.

As I didn’t want to rewrite the whole code and only had a few days to set this up, I made it so that the sessions are actually created by the url parameters when the chat page is called.

The result is something that I consider to be unsafe for real live applications, but is ‘Good Enough’ to use for testing a prototype in a U-Lab.

The frontend : Integrating the Axure prototype with the chat app

The integration with the Axure prototype is fairly easy if you want to link on the desktop : you can code up an action to call an external url when clicking on an element, and decide wether to call this up in a new window or in the current window.

I first tried integrating the chat directly into an inline frame that was inside a dynamic panel, however once you use an inline frame you then lose all the session information and you can no longer chat. So it needs to open in a new window/tab.

However, I wanted to test a mobile prototype, and coupled with the above, this caused some fairly unique problems :

  • the user is in the middle of a sales flow, so if (s)he needs to ask for help, (s)he should be able to get back to what (s)he was doing, without restarting the sales flow – so I need to open up the chat application in another mobile window
  • we usually install such a web app onto the home screen, so that Mobile Safari opens up full-screen. However, doing that makes it so that a new window created from there cannot be closed – you can only ‘return to the app’ which restarts the app, which is not what we want
  • using the javascript command window.close() on IOS to close a chat window and return to the prototype is problematic and not something that works consistently. Some browsers for example restart the whole prototype, or refuse to close the window at all. In the end, I could only use it with the ‘Brave’ browser, a fairly new browser for IOS

In the end, to keep everything on the same server, I published an export of the Axure prototype to html and stored those pages in the local chat server under the static directory (flask can easily serve static files as well).

Conclusion

My prototype can call up the chat in a new window, and the user can be returned to it. It is a worthwhile addition to actually see people start up, use, and end the chat.

Templating the chat page itself is fairly easy, it’s just bootstrap css that you can edit.

The chat server is however more finicky than it should be – if the computer hosting the chat server goes to sleep, it is best to restart the chat server. Plus caching by browsers means that if you do make any changes, you need to make sure that the cache in the (desktop) browser is refreshed. Or you keep wondering why your changes do not become visible…

The actual integration with the prototype was more difficult because I was integrating with a mobile prototype. I’ll have to look into this on how to do a better integration next time.

Categories
Apple Blog News Hardware

Moving from Android to iPhone 6S : First Impressions

I recently moved back from using a Samsung Note 2 for almost 3 years to a brand new iPhone 6S plus phone. Before my Note 2 I had a iPhone going back all the way to the original iPhone.

Why did I originally move to Android ?

Mainly because of the big screen and me being a voracious ‘binge sf reader’. iPhones didn’t offer large size screens at that time, and my eyes are having more and more difficulty reading tiny texts. Using a large screen and larger sized fonts on the Kindle app solved that problem for me and converted me to the big phablet phones.

Also, I became bored with my iPhone. Everything I could want was in there, but all the settings have been pre-selected by someone else. I wanted to see what I could do more with an Android.

While I definitely enjoyed tinkering with every Android setting possible, there came a time when I wanted to move back, especially when the iPhone 6 came out with the large screen variant.

The reasons why I moved back to an iPhone 6S Plus

  • The slowness of my existing phone: After using my android phone for almost 3 years, it became so very slow that I wanted to throw it at the wall. Having your phone ring and not being able to answer the call because the swipe you make takes 20 seconds to be recognised (and the caller has already hung up) is a major issue for me. Starting up your camera and waiting 10 seconds for it to come up ? Too much. I know that I could get some speed back by reinstalling, but really, this is not how it should work.
  • Not getting the 4G network: only 3G was possible. This is slowwww when you know that 4G is out there if you have the right phone.
  • No upgrade : almost every iphone gets an upgrade to the latest iOS for several years after. Not so with Samsung phones, which, due to the extra stuffing Samsung puts in, gets -maybe- one OS upgrade, and then almost a year after the upgrade originally came out. Then they promise another one, but never deliver. Anybody wanting to go for an Android phone, take a Motorola or Nexus phone, they upgrade easily.

Things that I noticed immediately on my iPhone

I’ve put a positive or negative score next to each item, to indicate how ‘bad’ I feel this is.

  • (–) No individual sound levels for sounds are available (eg. the alarm clock and the ringer share the same volume) !
  • (—) Worse, a bug that makes it that when you select ‘no sound’ for the alarm, only vibrate, the vibrate does not work!
  • (+++) The blazing speed of the new A9 chip !!
  • (+) Using 4G instead of 3G is nice, but to my surprise it is only a little bit smoother.
  • (+++) Integration with iTunes and Mac OS X in general is just so smooth and it. just. works. Photos sync, music syncs…
  • (-) Still no sd card integration, you must pay a premium for using the integrated memory, but I knew this already
  • (+) “Hey siri” works, but I don’t use it too much, not yet integrated in my old mind.
  • (++) Logging into your phone with the touch of your finger – nice !
  • (+++) Quickly checking the picture you have just taken – bliss !

Honestly, the thing that I could hardly believe was the alarm clock volume that is not separate from the ringer volume.

This new phone of mine can do just about anything, yet the alarm clock sound is stupidly fixed to the same volume as the ringer sound ! I kept looking for a setting that I missed, but no, forums confirm that this is not possible with the default alarm clock. It’s linked to the ringer volume.

I’m definitely not the only one having this problem… and meanwhile, in Android each app has it’s own volume setting.

Sure, there are plenty of third party apps out there that do, as well as workarounds. But really, for this expensive piece of integrated hardware and software to not have a user-optimised ‘John Ive’-fixed-it-for-you-way of doing this is beyond the pale.

Conclusion

I’m quite happy with my new iPhone 6S, it has wondrous new features and incomparable speed to my old phone, yet at the same time I’m stumped that basic things like individual sound volume didn’t get fixed or better said, *still* haven’t been fixed. All in all, it’s still a big improvement over my old phone and I enjoy using it every day, hopefully for the next few years !

Categories
Hardware

Comparing the speed of a Devolo / TP-Link homeplug versus a RJ-45 cable

Procrastination can sometimes be measured in years.

In this particular case, 15 years passed between asking the electrician to run a CAT-5 RJ-45 cable to the first floor when building our house and today when I actually crimped the cable with ethernet plugs and made use of it. And boy, the speed difference is enormous !

There were of course a few years that I could not use the cable, due to the room being used for other things than intended. But the last five years or so I have used homeplug appliances like devolo and tp-link instead of connecting the network cable. The speed was okay, but not great, and I sometimes had network interrupts or slowdowns that I suspected originated from the homeplugs.

This weekend I finally bought the necessary tools to crimp the cable and perform a few speed tests. I used dslreports.com with my Safari browser, as this is an HTML5 test. Most of the other tests still seem to require flash, which I no longer wish to use.

Here is the short and sweet result of the speed test when using the homeplugs – you can get more results when clicking on the image :

And here is the result when I switched to using ethernet cable :

As you can see, the download speed of the connection is roughly 6 times faster by cable than via the electrical home network while the upload speed is only slightly higher. I redid the test with the cable using the Chrome browser to make sure that there was no caching from previous tests, and got just about the same results.

Wow. That’s a very, very big difference in download speed… I do wonder why the upload speed did not change significantly ?

Conclusion : while the homeplugs are certainly a viable solution for many houses where ethernet cable is not usable (old house, renting,…) you are certainly better of speed-wise in using a RJ-45 cat5 ethernet cable.

Categories
Blog News

UP24 and why I will buy a Fitbit next time

TL;DR The design flaw of the UP24 makes for a product that breaks easily and cannot be repaired. It is too expensive for what it delivers.

Last year, the second of July 2014, I bought an activity tracker from Jawbone, called the UP24. It was very stylishly made in matt black plastic. It performed well and has made me realise I need to move more. So far so good.

But now, less than a year later it is broken. The plastic is deforming at both ends, the small status light no longer works, battery charging is nearly impossible because the connector is loose and the button on the other end no longer works.

It has become just a piece of dark plastic that I will probably have to throw away. 150 euros down the drain (it currently sells for 129 euros, fyi).

My colleague, who has a Fitbit, recently broke his plastic bracelet. Rather than buying a new activity tracker, he just bought a new bracelet for about 30 euros. Still a lot of money for a plastic bracelet, but a whole lot cheaper than buying a new Fitbit.

The Fitbit itself is just a small device inside the bracelet, so he transfered it into his new bracelet. While he paid 30 euros for the bracelet, at least his is still functioning. At least he had the choice to replace it whole or in part.

I love the app, I love the functionality. But I don’t like throwing money away.

The next activity tracker will need to be sturdier, and/or be able to be repaired or have similar functionality like the Fitbit. So the next activity tracker unfortunately for Jawbone, won’t be anything from them.

Categories
Blog News

Surface Pro 3 Review

I’ve been using a Microsoft Surface Pro 3 ( a 2in1 hybrid tablet/laptop pc ) for a few months now, and I thought this would be a good time to share some feedback.

The Surface Pro 3 I bought is equipped with an Intel Core i5 CPU, 256 GB SSD and 8 GB ram. I chose this version because I wanted a good CPU that will last me a year or 3, and enough disk space to comfortably store stuff. It’s the laptop that I tote with me just about everywhere.

Here are some bullet points that capture my feelings towards it:

– WEIGHT : it’s incredibly light, my backpack feels almost empty, especially compared to when I take my (2011) Apple Macbook Pro. The current Macbook Pro weighs a lot less, and against a Macbook Air the weight difference is almost negligible ( Surface 3 is 2.42 pounds (with keyboard) against the Air’s 2.96 pounds). It’s a handy carrying size.

– SCREEN : the screen is big enough and with a high enough DPI to really make your pictures and movies ‘pop’. I love it.

– DRAWING : I originally bought the Surface Pro 3 for the included N-Trig pen, as I wanted to take notes, and I always wanted to learn how to properly draw. I’ve found out that I’m not using it as much as I want to, although note taking works fine it’s something that I will have to get used to. I’ve bought Clip Studio Paint to draw with, which works fine if you want to freeform draw. But what I’m really looking for is a ‘webdesigner’ vector drawing program that is usable with gestures and touch. On the mac I would go for iDraw, Artboard or Sketch. On Windows 8 I can’t really find a similar program except for Inkscape and the now-defunct Microsoft Design which isn’t fully touch-compliant. Adobe Illustrator or the now defunct Fireworks seem good alternatives, but they cost too much for my limited usage of them.

– WINDOWS 8.1 : using it with Touch it now makes sense. Suddenly everything is much more intuitive. I didn’t really understand how to work Windows 8.1 until I started using it on a touch-capable laptop. It all makes sense : the charms, the swipe up or down, swipe from left to get to your previous app – it all works beautifully. I even started swiping the screen on my mac (to my great frustration). Touch really adds an intuitive dimension, and I for one am waiting for Apple to add it to their laptops.

– HARDDISK SIZE : 256GB for an SSD is plenty of space. Although it is filled up for about half of it’s size already, now that most programs are installed, there should not be a lot of extra disk space needed, bar a few games now and then. I’ve bought a Sandisk 128 GB memory card from amazon on which I store music, movies and some less-frequently used software. If I need the soft I move it first to the SSD – launching from there is very slow, but that is probably more due to the micro sd card.

– PERFORMANCE : I really can’t fault the performance of the Surface, there are no hiccups, everything runs smoothly, even QGIS and a few games on it. The i5 Surface has a Intel 4400 graphics card. While some older graphic-intensive games do work (Fallout 3, Divinity Original Sin), in general they make the fan go on and the Surface gets really hot. You can certainly play games (a few of the best can be found in the Windows store AND are adapted for touch), but it’s best to limit yourself to some less graphic intensive games.

– KEYBOARD : the clip-on keyboard really should be integrated in the price – without one, you are buying an over-priced tablet. With one, the ensemble of tablet + keyboard is still pricey but you suddenly have a good laptop as well. The keyboard is ok, the keys have a bit of a good give and I would not want to work on this keyboard day and night like I would with my macbook pro, but they suffice well for travelling.

– BUGS: there were some initial bugs (not sleeping, not waking, iffy wifi connectivity) that were not immediately solved which garnered quite a bad press. Since then there have been several firmware releases that have solved the majority of the bugs. I only experienced the limited wifi issue in the beginning, but after an update this bug went away. However, it still (very infrequently) comes up and the only solution is to reboot the system (which goes fairly fast, but is still a hassle for such a pricey beast as this one).

My current conclusion :

All in all, I’m very happy with my purchase. It is a very fine fully featured travelling computer with enough space to store all your stuff in. I absolutely love the intuitive way of working with a touch display and hope that Windows 10 will keep this functionality (or I won’t be upgrading). I like Windows 8.1 in it’s Touch-enabled version quite a lot more than on a regular laptop, but in all honesty I still prefer the Apple desktop as I have more experience with that and it makes more sense to me.

If Apple would add a touch screen to their new or future macbook (one that I can draw or write upon with a pen) that would probably be my next buy instead of a Surface 4. Since that won’t be the case for quite some time or maybe for ever, I will continue using my very nice 2-in-1 hybrid tablet / laptop.