May 6, 2018

How to make a DIY 360° Street View camera reusing your old smartphone

Do you have an old smartphone lying around and want to find a creative way to reuse it? Let's make a Do-It-Yourself 360° Street View camera and record your own hyperlapse videos!

DIY 360 degree Street View camera
DIY 360° Street View Camera mounted on the car

What you will need:
  1. Old smartphone - I used iPhone 4s, but any phone with full HD camera should be fine,
  2. Kogeto Dot - dirt cheap 360° smartphone camera lens,
  3. Magnetic sheet - at least 1.5 mm thick (or 60 g/cm³ pull force rating),
  4. Smartphone case - to glue the magnetic sheet to,
  5. Car - to put your camera on.
How to make it:
  1. Install any time-lapse camera app on your old smartphone. I have chosen iMotion, which is free, captures photos every 0.5 s, exports them to the photo library and has a focus lock,
  2. Stick the Kogeto Dot lens onto a rear camera. If you don't have an iPhone 4s, cut the plastic bindings and glue the bare lens to your smartphone so that the ring is fully visible through the camera.
  3. Clip the magnetic sheet to your smartphone's dimensions and glue it to the bottom of a smartphone cover. Cut a window on top of it for the Dot lens.
  4. Start a time-lapse app on your fully-charged smartphone, put it into the case and stick on a clean roof of your car. Now it's time to have a ride!
    Warning: in order not to loose your new Street View camera, do not drive fast or protect it with a duct tape!
  5. After a ride, take off the smartphone, stop the app and export photos to the photo library,
  6. Copy images to your computer using a USB cable,
  7. Unwrap circular 360° images using e.g. the free 0-360 UnWrapper, optionally adjusting the contrast, saturation and sharpness of JPG images.
  8. Create a video from your unwrapped panoramic 360° images using e.g. the open source ffmpeg:
    ffmpeg -framerate 24 -start_number 1 -i IMG_%04d.JPG -vf scale=iw*2:ih*2,pad=iw:ih*2:0:ih/2 -c:v libx264 output.mp4
    What it does: create a 24 FPS MP4 video from a series of images starting with IMG_0001.JPG, upscale by 2x and letterbox by 2x.
  9. Inject 360° metadata to the output MP4 file using Spatial Media Metadata Injector and selecting My video is spherical (360).
  10. Upload the 360° video to YouTube, Vimeo or Facebook.
Have a look at the demo videos below. You can pan the viewport during play using your mouse or W/A/S/D keys. The quality is not the best, but it could be improved using a smartphone with a better resolution camera or the Fishball.

Nov 13, 2016

How to run Epiphany (Web) Browser in Windows 10 with WSL

Epiphany (Web) is a lightweight Linux-only web browser based on the modern WebKit engine, and it is the default web browser in GNOME desktop environment. However, now you can run it natively in Windows 10, thanks to the Windows Subsystem for Linux (WSL) and the Xming X server for Windows.

Here is how to install Epiphany 3.12 in Windows 10:
  1. Install Windows Subsystem for Linux and reboot the computer
  2. Install Xming X server for Windows
  3. Open Windows Command Prompt and run: bash
  4. Run these commands in bash:
    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:gnome3-team/gnome3
    sudo add-apt-repository ppa:gnome3-team/gnome3-staging
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install epiphany-browser gnome-keyring gnome-themes-standard
    sudo sed -i 's/<listen>.*<\/listen>/<listen>tcp:host=localhost,port=0<\/listen>/' /etc/dbus-1/session.conf
    sudo sed -i 's/Ambiance/Adwaita/' /etc/gtk-3.0/settings.ini
  5. Right-click on your desktop and create a new shortcut for the following item:
    bash -c "DISPLAY=:0 NO_AT_BRIDGE=1 epiphany-browser"
    with the following icon (click it to download the ico file):
    Epiphany web browser icon
  6. Check if Xming is running in the system tray and double-click the newly created shortcut. Epiphany window should appear:
Epiphany 3.12 web browser on Windows 10

Epiphany (Web) browser 3.12 on Windows 10 is using WebKitGTK+ 2.4, which scores 318 points in HTML5 Test.

UPDATE: By upgrading the WSL from Ubuntu 14.04 to 16.04, you can have the latest Epiphany 3.20 using WebKitGTK+ 2.14 on Windows 10, which scores 386 points in HTML5 Test:

Epiphany 3.20 web browser on Windows 10

Mar 23, 2016

K-Meleon vs QupZilla vs Otter Browser vs Midori - comparison of lightweight web browsers

Apart from the most popular web browsers for Windows - Google Chrome, Mozilla Firefox, Opera, IE and Edge - there are also more lightweight open source web browsers, which deserve more recognition. This time I am testing the latest versions of four of them: K-Meleon 76.0 beta 3 (based on Gecko), Otter Browser 0.9.10 (based both on QtWebKit and on QtWebEngine), QupZilla 1.8.9 (based on QtWebKit) and Midori 0.5.11 (based on WebKitGTK+), on a PC with Windows 8 and 2 GB RAM. In the comparison test I am focusing on HTML5 features, performance and RAM usage at startup and after loading four big websites in tabs.

Here are the results:

K-Meleon Otter QtWebKit Otter QtWebEngine QupZilla Midori
HTML5 Test 467 pts 399 pts 525 pts 400 pts 341 pts
Octane Benchmark 5915 pts 1222 pts 6653 pts 1285 pts 806 pts
BrowserMark 1590 pts 1165 pts 1926 pts 1052 pts 149 pts
RAM at startup 35 MB 12 MB 54 MB 40 MB 40 MB
RAM at 4 tabs 151 MB 335 MB 236 MB 395 MB 271 MB

The best alternative web browser is Otter Browser with QtWebEngine (based on Chromium), made by a Polish developer Emdek. This is the only multi-process web browser out of them and has a really good performance. The second place goes to K-Meleon. That said, QtWebEngine is still in the works, so it may be buggy, and it uses more memory than Gecko engine used in K-Meleon.

Mar 3, 2016

Ziproxy vs Janus vs PageSpeed Module - comparison of compression proxies

Only 27% of the global population has access to a fast internet (over 10 Mbps) and hundreds of millions of people around the world have a limited Internet connection. This is where a data compression proxy (a.k.a. web accelerator) comes to the rescue. It optimizes loading of web pages by minimizing HTML/CSS/JS, enabling gzip compression, re-encoding images, etc.

Some time ago I was comparing proxies in the cloud: Mozilla Janus, Opera Turbo and Google Compression Proxy. Now I am testing open source HTTP forwarding proxies: Ziproxy, Mozilla Janus and Google PageSpeed Module (mod_pagespeed) for Apache with mod_proxy, all installed on my premise. This time the primary factor is not loading time, but total size of various web pages.

Ziproxy Janus PageSpeed Direct
ZDNet 1026 KB 1117 KB 802 KB 1225 KB
TheNextWeb 3768 KB 3638 KB 3672 KB 4156 KB
New Yorker 4528 KB 4872 KB 4782 KB 5357 KB
AntyWeb 1258 KB 2750 KB 1928 KB 3493 KB
iStockPhoto 2905 KB 3699 KB 3444 KB 3756 KB
Total 13485 KB
(25% saved)
16076 KB
(11% saved)
14628 KB
(19% saved)
17987 KB
The best compressing HTTP proxy is Ziproxy with 25% of data savings. The second place goes to Google PageSpeed with 19%. Mozilla Janus was the worst with only 11% saved.

All the proxies were tested with equal image quality settings (60%).

Jan 18, 2016

Phoenix OS - Android for x86 Desktop PC with Stardust Browser

While everybody is talking about Remix OS, there is another free Chinese Android distribution for a desktop PC based on Android-x86 called Phoenix OS. It is still in the beta stage, although it should run on most of 64-bit x86-compatible machines. Just write the downloaded ZIP file to a USB drive using USBMaker and boot a PC from it. There is also an ARM version of Phoenix OS and a 32-bit version should be available soon.

Phoenix OS is based on Android Lollipop 5.1.1 and Linux kernel 4.0.9 with support for OpenGL ES 3.0. It runs Android packages (APK) and it has a few of them pre-installed, like Stardust Browser based on Chromium 45 and WPS Office. The rest you can download from Google Play Store, F-Droid, Mobogenie or Aptoide.

Here are some screenshots from Phoenix OS 1.0 Beta:



Main Menu 
Stardust Browser scores 495 points in HTML5 Test

Stardust Browser scores 18035 points in Octane Benchmark

My Computer

Notifications Center

WPS Office

Terminal Emulator
Keep in mind that Phoenix OS is made in China, so be careful with providing your sensitive data. The support forum is in Chinese, but there is a dedicated subreddit in English.

Download Phoenix OS 1.0 beta from EU server

May 21, 2015

Slack is so slow! Here are 5 lightweight open source alternatives

Slack is a popular communication soft bloatware for teams. It allows you to chat with other users, groups and in channels (rooms), like good old IRC. However, the main issue with Slack is that is it way too bloated and loads too slowly. It takes 105 requests, 18 MB of data and 30 seconds to load!

So if you are concerned about your data plan, performance, or security of your business correspondence stored on third party servers, you should consider one of the lightweight open source web alternatives for Slack:

Let's Chat - loads in ~5 seconds:

JabbR - loads in ~8 seconds:

Candy - loads in ~5 seconds:

Echoplexus - loads in ~6 seconds:

Shout - finally a web IRC client, loads in ~5 seconds:

Each of them is open source, so you can install it for free on your private server and keep your internal business communication secure.

UPDATE: There is a new project called Mattermost - check it out!

Feb 19, 2015

Run desktop apps, WebKit and Chromium web browser on Firefox OS!

Firefox OS is a fully open source mobile platform, but it lacks many full-featured apps. Starting from today, RollApp provides full desktop apps for Firefox OS, including LibreOffice,, Tomboy, KeePassX and File Roller. The apps are loaded on RollApp cloud servers and are streamed using WebSockets, which make them run smoothly.

You can even run the Web browser, powered by WebKit, which you can start by typing any URL in Tomboy and clicking on it.

The Web browser is really fast, it gets 6568 points in the Octane benchmark.

UPDATE: Now you can run Chromium web browser in Firefox OS! It scores 9677 points in the Octane benchmark.

All RollApp apps can be found in the Firefox Marketplace.