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:

Desktop

Settings

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, OpenOffice.org, 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.

Dec 19, 2014

Google Chrome Data Saver extension leaked

Google Chrome for iOS and Android have been using Data Compression Proxy for a while. This feature has been brought to desktop thanks to the open source Data Compression Proxy extension by niu tech. Now Google is developing its own extension entitled Data Saver (codenamed Flywheel Desktop), screenshot of which has recently leaked:


UPDATE: The official extension is now available in Chrome Web Store.

You can also compare Chrome Compression Proxy with Opera Turbo and Mozilla Janus.

Source: crbug.com

Sep 11, 2014

Chrome Data Compression Proxy vs Mozilla Janus vs Opera Turbo

Most of web browser vendors provide a way to speed up browsing by using compression proxy. Opera has long been known for its Turbo/Off-road mode, Google Chrome has the Data Compression Proxy and Mozilla has recently introduced the Janus Proxy, which you can access system-wide using a PAC file at http://janus.allizom.org.

I have tested onload event times of various web pages using all three compression proxies and a direct 5 Mb/s connection over WiFi on my PC. Total times as well as Numion YourSpeed results are shown below:

Chrome DCP Mozilla Janus Opera Turbo Direct
ZDNet 11.5 s 24.5 s 11.4 s 11.1 s
CNN 14.3 s 20.0 s 12.2 s 10.7 s
BBC 7.3 s 27.3 s 11.7 s 6.6 s
NYtimes 6.5 s 10.7 s 6.1 s 5.6 s
eBay 8.7 s 14.5 s 7.8 s 8.1 s
Amazon 5.3 s 10.6 s 3 s 5 s
Pinterest 7.4 s 12 s 9.2 s 7.3 s
Wikipedia 3.8 s 6.3 s 3 s 3 s
Total 64.8 s 125.9 s 64.4 s 57.4 s
Numion YourSpeed 218 kb/s 119 kb/s 216 kb/s 308 kb/s

Surprisingly, the fastest is a direct Internet connection, but this would depend on your local bandwidth. Opera Turbo and Chrome Compression Proxy go head to head, both using WebP image format. The slowest is Janus, using MozJPEG instead.

Jun 23, 2014

Download Chrome Dev Editor developer pre-release

Chrome Dev Editor is a web development environment running as a packaged app inside Google Chrome. It is based on the open source project Spark developed by Google since November 2013 using the Dart language and Polymer elements. Chrome Dev Editor supports building JavaScript & Dart web apps, Chrome apps, Polymer elements and widgets. It is going to be officially announced at Google I/O 2014, but you can download the developer pre-release version 0.13 below. Keep in mind, that you use it at your own risk.

To install Chrome Dev Editor, you would probably need a developer channel of Google Chrome. Go to chrome://extensions, drag and drop the CRX file there. You will be asked to install the packaged app.

On the first run, the app could hang at a splash screen for a while:


 In the main window, you can click the wrench icon to check the settings:


You can create your new project, deploy it or clone the Git repository using the hamburger icon:


You can run the HTML file using the context menu or the play icon:


Chrome Dev Editor provides code autocompletion and highlighting:


It even provides an integrated web server and supports Web Starter Kit out of the box:


Download Chrome Dev Editor packaged app (CRX)



Disclaimer: This is an unofficial developer pre-release. I am not affiliated with Google.

Feb 26, 2014

Opera 21 features Off-Road mode version 2 with video compression

Opera 21.0.1419.0 web browser for Mac and Windows, based on Chromium 34.0.1825.4, has just been released. This Developer release provides many new features: Aura, a hardware-accelerated window manager, an option to show full URL in address bar, full keyboard support for web apps, and so on.

But the most exciting experimental features are hidden under opera://flags page, namely:
  • Off-Road mode, version 2 - a.k.a. Opera Turbo 2, which uses next-generation servers and protocols such as WebP and SPDY for faster web browsing.
  • Video compression in Off-Road mode - which optimizes video in version 2 of Off-Road mode, using Skyfire Rocket Optimizer aquired by Opera.
  • Speed Dial extensions compositing - which enables hardware accelerated compositing for Speed Dial extensions.
  • Enable lazy session loading - which loads only the active tab when restoring browser session. Remaining tabs will be loaded when activated.
  • Extended lazy session loading - which changes mode of operation of lazy session loading so that all tabs are gradually loaded in the background.
  • Synchronization - a.k.a. Opera Link.
  • Tab hibernation - which tells idle background tabs to hibernate.
  • DirectWrite - which enables smooth font rendering (finally!).
  • Experimental QUIC protocol - which speeds up web browsing on supported servers.
  • HTTPS over experimental QUIC protocol - which enables QUIC for HTTPS.
  • SPDY/4 alpha 2 - which is more up-to-date than SPDY/3.
  • HTTP/2 draft 04 - which is a next-generation protocol based on SPDY.
  • Built-in Asynchronous DNS - which is an internal non-blocking DNS client.
  • Enable Experimental JavaScript - a.k.a. ECMAScript Harmony features, such as proxies, weak maps, sets, maps, typeof semantics and block scoping.
  • Enable experimental Web Platform features - such as CSS Shapes, Canvas Blend modes, Canvas Paths and CSS Clip Paths.
As to performance, Off-Road mode version 2 is faster than version 1. The average measured speed in Numion YourSpeed was 375 kbps vs 301 kbps on a slow network. The video compression works by serving files with content type video/skyfire or video/mp4 from Opera Mini servers.


Download Opera Developer

Feb 18, 2014

Speed up your Google Chrome for desktop by using Data Compression Proxy

Google has added a Chrome Data Compression Proxy to its mobile Google Chrome browser for iOS and Android. Like Opera Turbo, it speeds up web browsing by greatly reducing size of transferred HTTP packets, by using a SPDY protocol, compressing resources, optimizing images to WEBP format and tunneling all traffic via secure HTTPS connection. Unfortunately, it has been available only to mobile users. Until now.



Browsing the net, I have just found an experimental Google Chrome extension, which brings Data Compression Proxy to desktop. This is an unofficial add-on, so it could potentially break some web pages or stop working some day, but for now it works great and accelerates web browsing significantly. What is more, it is open source, so anybody can check its source and contribute to it.


UPDATE: Google has released the official Data Saver extension for Chrome.

Download Data Saver from Chrome Web Store

Nov 13, 2013

Liebao (Cheetah) Browser

A Chinese company KingSoft (known best for its free Microsoft Office alternative) has released a good looking web browser Liebao (Cheetah in Chinese). The latest version is 4.3 and it is based on Chromium 29 and Blink engine, with compatibility mode based on Trident engine from IE. Cheetah Browser runs in Chinese by default, but deleting the file: C:\Users\YourName\AppData\Local\Liebao\x.x.x.x\Locales\zh-CN.pak enables English language. The browser chrome was designed by Rigo, a partner of Lenovo and Microsoft.

Have a look at the promo video:


Here is the screenshot of themes gallery:


The new tab page:


The main menu with tools:



Cheetah Browser scores 494 points in HTML5 Test. You can download this browser directly from here (exe file, open at your own risk).

Sep 25, 2013

The best Android browser is... Opera!

I have tested the most popular web browsers on Android Jelly Bean: Stock Android Browser, Google Chrome 29, Opera 16, Opera Mobile Classic 12.1, Mozilla Firefox 24 and Dolphin Browser 10 with Jetpack. While Opera and Opera Classic have an Off-road or Turbo mode, which speeds up loading websites, it was disabled for this test. Here is the comparison table, two best results are green:

BrowserBrowsermarkOctane BenchmarkHTML5 TestCSS3 Test
Stock Browser21321175327 + 1445
Chrome22401951429 + 1160
Opera26502089443 + 1162
Opera Classic1740571406 + 1252
Firefox20712253426 + 1058
Dolphin20081544471 + 357

The best Android web browser, in terms of performance and compliance to web standards, is the new Opera! However, Dolphin has the best support for HTML5 and Chrome with Firefox are almost as fast as Opera.

Sep 19, 2013

Safari in iOS 7 has better performance than iOS 6

As the new Apple iOS 7 has been finally released, I have upgraded an iPad 2 and compared the performance of Safari Mobile browser in iOS 7 to iOS 6. The benchmark results show that iOS 7 has better performance in web browsing and better compliance to web standards. Have a look at the comparison table:

Browser Browsermark Octane Benchmark HTML5 Test CSS3 Test
Safari / iOS7 2288 1479 399 + 9 61%
Safari / iOS6 2022 935 386 + 9 59%
Improvement 13% 58% 3% 2%

For more information about Safari Mobile in iOS 7, read this excellent article on Breaking the Mobile Web.

Jun 23, 2013

How to update Safari for Windows to the latest version of WebKit

If you are still using Safari 5.1 for Windows (e.g. for the excellent font smoothing), you can keep up with modern web browsers by upgrading its WebKit engine to the latest version released by Apple. Just follow these steps:
  1. If you have iTunes already installed, go to step 5.
  2. Download the latest release of iTunes for Windows.
  3. Open the downloaded file iTunesSetup.exe in an archive manager, like 7-Zip or WinRAR.
  4. Extract the file AppleApplicationSupport.msi and run it. Complete the installation.
  5. Copy the folder C:\Program Files (x86)\Common Files\Apple\Apple Application Support (or without (x86) when on 32-bit system) to C:\Program Files (x86)\Safari and merge with the existing Apple Application Support folder.
When you restart Safari, you will notice much better HTML5 & CSS3 support (319 -> 342 points in HTML5 Test) and JavaScript performance. Enjoy!


Apr 26, 2013

Alternatives to Google Instant Previews

A few days ago Google silently disabled Instant Previews in Google Search. It provided small thumbnails of search results, which you could quickly preview before loading the full web page. Here is a list of alternative extensions for Mozilla Firefox, Google Chrome and Opera web browser:
What is your favorite one?

Apr 20, 2013

How to add Google+ Comments to any website

Google+ Comments is a social wigdet from Google, which works similar to Facebook Comments Box or Disqus. For now, it is available only for blogs on the Blogger platform. But here is an unofficial way to embed Google+ Comments on any website or blog:

  1. Edit your website and add this HTML:
    <script src="https://apis.google.com/js/plusone.js">
    </script>
    <g:comments
        href="[URL]"
        width="642"
        first_party_property="BLOGGER"
        view_type="FILTERED_POSTMOD">
    </g:comments>
    or a valid HTML5 version:
    <script src="https://apis.google.com/js/plusone.js">
    </script>
    <div class="g-comments"
        data-href="[URL]"
        data-width="642"
        data-first_party_property="BLOGGER"
        data-view_type="FILTERED_POSTMOD">
    </div>
  2. If you want to insert a comments counter, add this HTML code instead of <g:comments>:
    <g:commentcount href="[URL]"></g:commentcount>
    or a valid HTML5 version instead of <div class="g-comments">:
    <div class="g-commentcount" data-href="[URL]"></div>
  3. Replace [URL] with the URL of your web page and fit the width.
  4. Link your web page to your Google+ profile.
If you prefer to load Google+ Comments dynamically, insert this HTML code:
<div id="comments"></div>
<script>
gapi.comments.render('comments', {
    href: window.location,
    width: '624',
    first_party_property: 'BLOGGER',
    view_type: 'FILTERED_POSTMOD'
});
</script>
Similarly with Google+ Comments Counter:
<div id="commentscounter"></div>
<script>
gapi.commentcount.render('commentscounter', {
    href: window.location
});
</script>
You can see it in action on the Google+ and Facebook Comments page.

Nov 29, 2012

How to use Google Drive as a free web hosting

Do you know that you can host your website for free using Google Drive? There are 4 simple steps you should follow in order to do that:
  1. Go to your Google Drive and create a new folder.
  2. Make this folder public, by selecting it on the list and clicking the Share button. Then choose Public on the web and click Save.
  3. Upload your HTML, CSS, JS files and images to this folder. You can create subfolders too. The file named index.html will become the default page. Note: Google Drive doesn't support PHP, JSP or ASP scripts yet!
  4. Look at the address bar and copy the folder ID, which comes at the end of the URL:

    https://drive.google.com/#folders/0BzEbtMoF6IXbaVN2Qmx1em9qS0k

    Then go to GDriv.es, paste the folder ID there and choose your own short name. After submitting the form, your website will be available under your alias:

    http://gdriv.es/<alias>

    For example:

    http://gdriv.es/cros
The above example is the Cr OS Linux website.

Sep 28, 2012

How to zoom the full page, along with Facebook Comments Box

Ever wanted to zoom in that tiny text in Facebook Comments Box? Ctrl-+ doesn't work in this case, at least in Google Chrome browser. But here is a solution - a nifty bookmarklet, which you can drag to your bookmarks bar and click whenever needed. It uses CSS Transforms and it works in Chrome, Safari, Firefox, IE9+ and Opera.

Drag me to your bookmarks bar: 110%
%

Here is a live demo (change the zoom level first):