2013-12-25

Product review: A portable computer for people that don't like laptops

I don't like laptops: the screen isn't big enough and is too low down to look at for long, the keyboard isn't ergonomic, the mouse pad is located in an awkward position instead of at the side and until a few years ago laptops were too weak for me.

However...

I do like portability. I like having a small computer that I can easily take with me and... connect to a full size screen, keyboard and mouse.

The solution: Intel NUC D54250WYK. A small computer with a Core i5 processor, built in HD graphics, 4 USB 3.0 ports, Giga LAN and you can choose your own storage, RAM, WAN. Cost ~400-550 USD. Windows 7 score 6.9 for CPU (without overclocking) and 6.8 for GPU (2D and 3D without overclocking).

Why this one and not one of the competitors? This mini-computer has the best specs - it comes a brand new processor (CPU/GPU) with good specs, including  the best graphics specs (well, Intel does have a few better processors, but they don't come as an option in any existing mini-computer configuration).

What parts to choose?

RAM

For compatibility and to get the best performance, you'll want SO-DIMM DDR3L-1600 RAM (maximum supported clock rate) with an extended CAS latency of 9-9-9-24 (minimum available latency).

I chose Corsair CMSX16GX3M2B1600C9, because it was the cheapest available with these specs and consists of two 8GB DIMMS (16GB total) which is the maximum supported by the processor. Cost ~200 USD. Windows 7 score 7.5.

Internal Storage

Internally, you can fit a mSATA storage card into the computer. The largest SSD I found was Crucial CT480M500SSD3 which is officially 480GB and should be more enough for OS and all your installed programs. Cost ~300 USB. Windows 7 score 7.9.

Off-to-password-screen time 19sec. (Windows 7 SP1, after installing programs, pre firewall, anti-virus).

External Storage

I wanted to able to connect my existing 3.5" HDDs via either USB 3.0 to this computer or eSATA to my old computer, so I searched and found this solution which costs ~120 USD. I haven't received this yet, so no comments yet regarding how it works.

Wireless

The computer comes with an additional PCIe mini card slot and two built in antennas. The only officially supported cards are made by Intel and the only one that supports the new 802.11ac standard is Intel Dual Band Wireless AC 7260. Cost ~25-30 USD.

Keyboard

Thanks to this not having a built in keyboard, I get to use my trusty old Microsoft Natural Ergonomic Keyboard 4000. Cost ~20-40 USD. This is the top choice for programmers.

Mouse

Any mouse you have, I haven't decided on a specific one to recommend as of yet.

Google+, Google accounts, UX and Privacy

A couple of years ago I joined the Google+ trial.

I hoped the circles would solve the issue I have with Facebook - one account for all your networking instead of one site with multiple accounts, each for a different networking environment. The circles wasn't what I had hoped for, but I decided to give G+ a chance.
A few months later I noticed that anyone searching for me had visibility of my G+ contacts (I wasn't signed in when I checked this) so I removed Google+ from my account.

Around the same time, the sign in for GMail, Blogger, YouTube and etc were unified, leaving users with the necessity to sign out and then sign in when switching site, or open the different sites in different browsers.

Recently, Google play was changed to only enable rating for accounts with Google+, forcing me to open yet another account, for rating apps.

If Google would let me choose which sites to log into for which accounts and let me log in to those accounts simultaneously (there was such a trial with limited site-support a while back) and would do more to protect my privacy by default, I would remain a happy user.

2013-12-19

UX concept: Making mobile phones' more ergonomic (or mobile keyboards)

About a year and half ago I responded to a question on ux.stackexchange.com titled "How to improve the smartphone keyboard layout?" with a non-standard answer...

Don't be satisfied with a better application, instead make the keyboard more ergonomic by placing physical buttons behind the phone, thus enabling you to type with four finger while holding the phone in the same hand or to type with eight fingers while holding the phone in two hands. This prevents stress to your thumb while using it to type or gesture while holding the phone in the same hand or stress to your index finger while using it to type or gesture while holding the phone in the other hand. In addition, change the roll of the buttons dynamically depending on the orientation of the phone (portrait or landscape) and on the hand holding the phone (detectable using an optical sensor), so that the QWERTY-like layout changes according to how the phone is held, enabling each finger to access more or less the same buttons as on a regular keyboard, no matter how the phone is held.

I have recently heard of the new transparent phones. With these new phones, instead of only visualizing a keyboard on the screen and pressing on the equivalent buttons behind the phone, you could display semi-transparent keys above the application and see your fingers below these keys,
thus perhaps making the concept easier to learn for beginners, yet still enabling the alternative mode of displaying a miniature keyboard at the bottom of the screen to users that have already got a hand of the (qwerty-like) key placement behind the phone.



Update:

It seems like someone has actual made one of these:
http://edition.cnn.com/2014/01/06/tech/web/ces-unveiled/index.html

Lecture review: A truly great perspective on Software Architecture

My impressions of lectures given by Juval Lowy, Hayim Makabee and how they relate to my own experience


I had the fortune today to sit in a lecture given by Juval Lowy on Software Architecture (Zen of Architecture). This lecture was eye opening, because it showed both what is wrong with the common methods and why and how to do things right while drawing from examples from both the software domain and other domain, all in a humoristic manner including expected reactions from management.

The highlights of the lecture are do not design per requirement or per feature, instead identify the truths of the domain, what is constant, what will change and design a solution that is open to changes that are likely to happen while closed to changes that are irrelevant.

This lecture also reminds me of a lecture I've been to in the past by Hayim Makabee (Adaptable Design Up Front), which also discussed the open/closed design principle and the quantity of design necessary up front.

Both Lowy and Makabee give advise for how to identify points for change and see the wider requirements. Lowy's advise included identifying the age-old truths, that are not likely to change vs. the latest trends that are likely to change and to look at the business' competitors as test cases for your design, as if the design can't easily be adapted to work for them, then it isn't flexible enough. Lowy also added that practicing these principles on both past and present and even non-software related problems can help you master this skill. Makabee's advise included looking not at the product you need to design, but instead at the product line to which this product belongs when designing the architecture.

Will these approaches make the architecture process take longer? Probably. Will these approaches make the implementation take longer? No, since you do not need to implement all the options at once, or usually at all, until they are needed. Will these approaches enable your architecture adapt to changes and enable the implementation to accommodate to changes rapidly? Yes. If your architecture is designed to accept changes, then the implementation of changes should be local and not system wide.

From my own experience, do these approaches hold out in the real world? Yes. While my experience is definitely not be as vast as Lowy's, all of the architectures I designed or have seen that took into account both what the product should do and what similar products do and probably will need to do ended up adapting quickly to the vast changes in requirements, enabling both high reuse and rapid replacement of components with new components when the current requirements justified a replacement. Whereas, all the products I have been involved in or have seen that assumed a set reality that was set by current requirements and not the truth of the domain ended up either being completely replaced after they failed to be changed to keep up with the changing reality or ended up crippling the business, if management refused to commit to their replacement.

I highly recommend you attend the lecture "Zen of Architecture" if possible, as it can provide you with a toolset for analyzing the domain and coming up with a good architecture.

2013-11-16

Product review: A search for the best keyboard app for Android phones and tablets.

If you like typing quickly on your touch-screen phone or tablet and don't like over stressing your fingers, then you need a good sliding (gesture+dictionary) based keyboard. One where you can slide your finger over the letter in the word, without raising it, and the keyboard knows which word you meant.

Some of the more popular keyboards for Android that support sliding based typing are Google Keyboard, Swype, SwiftKey and Kii Keyboard.

The criterias of my comparison of these keyboards are as following:
  • Prediction accuracy
  • Spacing
  • Keyboard layout
  • Multilanguage support
  • Themes
  • Additonal features (e.g. handwriting)

Total scores are rounded up.


Google keyboard

Total score 2/5.
This keyboard by Google is free and is the default for Android 4.3, but can be downloaded and installed on previous versions e.g. Android 4.2.
  • Prediction accuracy - 5/5 - great for English.
  • Spacing  - 1/5 - automatically inserts spaces between words - good for text, obstructive for usernames and URLs.
  • Keyboard layout - 1/5 - only digits are available via long press, 2 numbers/symbols screens.
  • Multilanguage support - 1/5 - doesn't support sliding in other languages, can change languages via language key.
  • Themes - 2/5 - single theme, however, the theme blends in the the OS and has high enough contrast.
  • Additonal features (e.g. handwriting) - 0/5 - none.

Swype (+ Dragon)

Total score 5/5.
This keyboard costs about 4 USD.
  • Prediction accuracy - 5/5 - great for English and other languages.
  • Spacing  - 4/5 - can be turned on or off via settings, no guesture for fast change of this setting.
  • Keyboard layout - 4/5 - digits and many symbols are available via long press, however, symbol order isn't the same as in desktop keyboard, 2 number/symbol screens.
  • Multilanguage support - 5/5 - supports sliding in other languages, can change language via long space click or guesture.
  • Themes - 5/5 - multiple themes, including themes that blend in the the OS and have high contrast and themes with larger buttons (less gaps between buttons).
  • Additonal features (e.g. handwriting) - 5/5 - handwriting, change previously typed word's capitalization via slide from Swype key to Shift key, change language via slide from Sype key to space, close keyboard via slide from Swype key to Enter/Backspace keys, select all/copy/cut/paste via slide from Swype to a/c/x/v.

ShiftKey

Total score 4/5.
This keyboard costs about 3 USD.
  • Prediction accuracy - 5/5 - great for English and other languages.
  • Spacing  - 4/5 - can be turned on or off via settings, no guesture for fast change of this setting.
  • Keyboard layout - 4/5 - digits and many symbols are available via long press, however, symbol order isn't the same as in desktop keyboard, 2 number/symbol screens.
  • Multilanguage support - 5/5 - supports sliding in other languages, can change language via slide sideways on spacebar.
  • Themes - 4/5 - multiple themes, including themes that have high contrast and themes with larger buttons (less gaps between buttons).
  • Additonal features (e.g. handwriting) - 1/5 - change previously typed word's capitalization via long click on Shift key (after backspace to get to it).

Kii Keyboard

Total score 3.5/5.
This keyboard is free.
  • Prediction accuracy - 5/5 - great for English and other languages.
  • Spacing  - 1/5 - automatically inserts spaces between words - good for text, obstructive for usernames and URLs.
  • Keyboard layout - 4/5 - digits and many symbols are available via long press, however, symbol order isn't the same as in desktop keyboard, 2 number/symbol screens.
  • Multilanguage support - 5/5 - supports sliding in other languages, can change language via click on language button or long click on spacebar.
  • Themes - 4/5 - multiple themes, including themes that blend in the the OS and have high contrast.
  • Additonal features (e.g. handwriting) - 1/5 - slide from key to space for alternative symbol (as faster alternative to long click).

2013-11-14

Site review: Shopping sites and UX (User eXperience)

Do the major sites still have anything to learn?


Amazon.com

Amazon is one of the most known online shopping sites, a giant the started as a bookstore then expanded into a market place for books and almost anything and later for its vast cloud services. Amazon is well known for its 1-click ordering, enabling users to order a single item with first adding it to its cart and then checking out.

What could Amazon improve?
  • Don't limit functionality - Try searching for a product, e.g. "iPhone", you'll get a list of results, but not option to sort until you have limited your search to a single category (department). This may seem reasonable to the designers, however, in some cases it isn't clear which "department" the product would be under, especially since, unlike in physical depart stores, each item may be offered by a different seller, each with a different view of which department the product belongs to, and sometimes the same product may be under multiple departments simultaneously.
  • Basic sorting - Once you have chosen a department and you want to sort by price, there is no option to consider the shipping costs in the sorting.
  • Straightforward costs - Choose a product, if you don't live in the US, the shopping costs aren't relevant to you, even though you are logged in and have a registered shipping address. In fact, to find out how much it actually costs, including shipping, you have to add only that single item to your cart, then either click on estimate shipping costs, or, as before this shortcut was offered, click on purchase, then discover the actual costs only when you have to confirm your payment.
  • Location aware search - An option to filter out items that can't be shipped to your location.
  • More effective search - An option to filter out results based on specifications e.g. battery capacity.



eBay.com

eBay is one probably the most well known online market place.

What could eBay improve?
  • Location aware search - eBay has a lot of useful sorting and filtering options, but no option to filter out items that can't be shipped to your location.
  • Product reviews - Reviews, recommendations and feedback on items that are sold commercially (with a quantity of more than one available).
  • Advanced automatic bidding -  if there are multiple similar items that you want to bid for, an option to bid for an item only if you don't win another bid could be useful.


DX.com

Deal eXtreme is known as cheap store for buying Chinese products, its variety isn't large, but its cheap prices and buyer feedback per product makes it a convenient site to use.

What could DX improve?
  • More effective search - An option to filter out results based on specifications e.g. battery capacity.


AliExpress.com

Alibaba Express is a store where you can order a large variety of products (sometimes only in small lots and not single pieces) from China for cheap prices. AliExpress is a spin-off of its mother site, Alibaba, where many products can only be purchased in larger lots.

What could AliExpress improve?
  • Security - If you have yet to sign up to AliExpress or Alibaba, you may notice, that despite the fact the login page is secure (https), the signup page is not, therefore, you will be sending your name, email and password unencrypted over the Internet, from anyone on the way to see (e.g. anyone connected to the same public Wifi).
  • Trust - If you try to contact AliExpress support, you get a page with a small variety of questions you can ask, if your question isn't on the list or the answers don't help you, you can use the automated response system. If it doesn't suggest useful questions and answers that may be related to yours or the answer isn't useful, you can't ask to be forwarded to a human being, in fact, the only way to contact actual people is via the "community" forums, which require you to register and log-in first.

    2013-11-13

    Product review: BLU Dash 4.5

    BLU's new Dash 4.5 is cheap (approx. 120-150 USD) and includes a Quad core processor, 4GB ROM, 512MB RAM, 5M pixel camera and it's a dual SIM phone.

    It may sound too good to be true to some of you.


    These are my conclusions after using this phone for a few weeks...



    Initial setup

    It is very hard to remove the back cover, the cover doesn't disconnect very well from the area surrounding the earphone socket. In fact, you might want to use a pair of tweezers to help remove the cover. You might want to keep the tweezers handy if you want to remove your SIM card(s) or SD card, as everything fits in tightly.

    Accessories

    The only accessory, currently available is a screen guard. My phone came with a complimentary screen guard, however, it was stuck poorly to the outside of its package, resulting in a screen guard covered in dust which wouldn't attach to the phone without loads of bubbles and didn't stay on the phone for more than a day.

    Dual SIM and mobile frequencies

    The Dash 4.5 comes in a few versions including the D310a and the D310i. According to gsmarena.com the phone supports:

    GSM 850 / 900 / 1800 / 1900 for both SIMs

    HSDPA (3G) 850 / 1900 for the D310a model

    HSDPA (3G) 850 / 2100 for the D310i model.

    Attempts to find out whether the 3G was for both SIMs or only one prior to purchase failed, I kept getting the gsmarena.com quote/link and no reply to further inqueries.


    After a few weeks of owning this phone, I decided to borrow a second SIM and test this for myself and the result is that the second SIM can not connect via 3G, which limits you to connecting to providers that support 2G GSM for the 2nd SIM. Connection via 2G worked fine and via settings you can choose which SIM is used for default for calls, messages and data and the phone accepts calls from both SIMs.



    Reception and call quality

    The phone has a suprizingly good reception, I can pick up the carrier signal 3 floors underground (in parking lots), whereas my previous phone couldn't pick up the signal 1 floor underground. The call quality is good too, both during regular usage and via bluetooth.


    Responsiveness

    The phone reacts quickly, you can not feel the processor crawling during most uses (calls, emails, calendar, navigation, browsing).


    Camera

    The time to capture is slow, mainly due to the time it takes focus. The picture is pretty clear in both stills and video. There is an electronic stabilization mode for the video, however, I haven't played with that enough to comment on it.


    Operating System

    The phone comes with Android 4.2.1. The default browser is pretty bad, it goes mad if you try to switch Google account and it just doesn't come near the Firefox or Chrome for Android experience. Luckily you can download and install Firefox and Chrome. The system comes with various pre-installed apps such as a behind the scenes task manager, which has no UI, a battery thermal monitor (apparently BLU wants to make sure your phone doesn't blow up in your face) and a few others. Also the calendar it comes with isn't the same one Google published in the play store, however, it looks identical, other than the widget colors and the icon and you can download the Google app (and disable the old one, once you root the phone).


    System-apps interaction

    Unless you root your phone, using widgets to turn on your mobile data connection won't work (but they will be able to disable it), most apps seem to run smoothly, one by one, on the phone.


    Memory and Multitasking

    The phone officially comes with 512MB of RAM and 1GB ROM, however, task/files managers see 469MB of RAM and 0.98GB ROM (labelled internal storage) + another 1.8GB built in SD (labelled phone storage).


    Available memory
    Practially, there is only about 110-130MB of RAM available when you turn the phone on, this quickly drops to about 70MB of RAM. If you don't root your phone and remove a few system apps from the startup, you may end up with 60MB, 50MB or even only 40MB of RAM available, which means some apps won't run without crashing, when you load one app it will cause previous app to be killed, meaning you can't talk on the phone while navigating or use the keyboard while browsing!

    Is the phone usable?

    It can be, if you customize it a bit (by rooting it) and perhaps install a memory swapping app (which requires root) and a notification power control that will let you reset your phone now and then to clear up more memory.

    How can you root your phone?

    The only working reference I found for rooting this phone is this video in Spanish: http://www.youtube.com/watch?v=NgVCjyGPRTA

    It contains a link to a site in Chineese, where, using Google translate for Chrome, I found this page: http://www.mgyun.com/vroot where there is a big blue button for downloading a rooting application (for Windows) which is in Chinese.

    The Spanish instructions show you that you have to, as in all rooting procedures, enable USB debugging, then connect your phone to your computer and follow the steps in the video which are basically: click on buttons that probably say "Next" until you see it finishes a long process, then click on the other button (probably "Exit") because the default button will probably either repeat the process or unroot your phone.

    You'll end up with a chinese admin app on your phone, however, the "yes" and "no" buttons for enabling root access to other apps are in English, so it is usable.

    Summary

    If you aren't a heavy app user and you don't mind rooting your phone and messing with the system defaults, then this phone can be a reasonable option for a great price. I would, however, recommend trying a model with higher specs (e.g. more memory) instead e.g. BLU Life Play.