Thursday, 23 July 2015

Texting Smartphone Assistants Works Better

Have you ever walked into a dark room and said "Computer: Lights" to yourself? One of the most iconic parts of Star Trek, as well as other sci-fi, is the characters verbally issuing commands to their computer/robot/android then listening to their response.  However, on the bridge of the Enterprise the viewer rarely saw the crew talking with the computer but rather busily typing commands into their stations.  This is easy to understand as it would be hard for the captain to command the ship or talk to someone through the view screen if he was surrounded by people talking to the computer, much like the experience one would have on a train if everyone around them was asking questions to their smartphones.
This was a problem that quickly developed with cell phones as people becoming annoyed when someone in earshot was talking on their phone.  It has become its own category of bad behavior and has caused cell phone use to be discouraged or banned in certain situations.  In addition, multiple people attempting to talk on the phone together is also disruptive, either to the other callers and to the conversation in general. To solve this people turning to a more private, silent form of communication that still involves words: text messaging.
In addition to the ability to conduct private conversations in public, communicating with written text allows for greater accuracy and a record of what was said.  If someone want to know an address it is much better to be able to repeatedly refer to the original text message then to hear it once or maybe refer to something that had to be transcribed from what the recipient thinks they heard.  This is especially true if there is background noise or they are in a crowd, something that is common when using a smartphone.
Despite the fact that the assistants are responding to commands that can be easily written, many insist or promote the user having to speak the command.  In a restaurant why does someone have to choose between speaking "Add an appointment tomorrow at two PM" and possibly disturbing the other customers or manually entering the appointment?  They should be able to text the assistant the same command, much like they would with a human assistant and have the task completed with any responses texted back.
While it may not be as iconic or fun as saying "Computer: What is my location?", the ability to text "What is my location" to a smartphone assistant is far more useful since it integrates much better into the user's daily life.



Wednesday, 20 May 2015

Ways Virtual Reality Could Help Make People Fit


While writing my entry on the future of eCommerce and thinking about how it could be implemented, one idea that came to mind was to use an omnidirectional treadmill so the user could literally walk around the virtual store. The result would be an online shopping trip  that would provide exercise instead of the user just sitting in their chair exhibiting limited muscle movement. This and the new HoloLens got me thinking about how virtual reality could be integrated with everyday computing tasks in a way that would help make people more fit.  

Fitness games are already common but they are only useful when a user is purposefully playing or exercising. What I am thinking of is situations where the current implementations do not involve much physical activity when done on a computer but could be modified so the user would not only get a fitness component added but also a new level of interaction.

Google Streets View

With Google Streets View people can already wander around a virtual representation of a city almost as if it is a 3D game.  I think Google should work to make the current version  exactly like a 3D game and allow the user to "walk" around freely with the same controls as a game.  As games are one of the main uses of virtual reality technology, its use with streets view would then be a natural evolution.

Files

This could be a full workout as the user could walk around their hard/cloud drive if not run around when they need to find something. When the file or folder is located and they want to move it, they would physically bring it to another location.  In addition, if something could simulate varying weights, the size of the file could be used as a weight and provide extra benefit to the user. For example, if the logarithm of the size is used then a 100 MB file would be equivalent to 2 kg while 10 GB would be equivalent to 4 kg.

News/Social Networking

Rather then scrolling through a list of posts imagine walking through an endless hallway/walkway of  stories, shared items, tweets, photos, etc. lining the walkway like signs.  The user could either stop to read one, pick it up to read a floating version or even start walking through the text itself.  This leads to the last idea...


Text and Books

One of the most time consuming things people do is simply reading and since the documents are linear by nature, a user reading a document as they walk it is a natural fit.  One way this could work is if the document was displayed as if it were painted along a wall the user are passing. Another option would be to put the text on the walkway, although if the user does not want to walk backward they would have to get comfortable reading bottom to top.




Monday, 4 May 2015

The Future of eCommerce

Today shopping on the Internet is essentially the same as shopping with a catalog in that you are simply seeing lists of items with descriptions.  As you shop you add items you want to a "shopping cart" that is essentially just a product list and when you are ready to place the order you fill in your contact and billing information on a form.  While doing this on a website is much more easier and accurate  than using older methods of ordering, such as the telephone, I think that new technologies have the potential to make this a much better experience. Specifically, virtual reality devices like the Microsoft HoloLens could radically change  the online shopping experience and perhaps even bring relief to failing "brick and mortar" stores.

Imagine this scenario: a person wants go shopping online at a technology store that also exists as a brick and mortar chain.  Rather then head to a web browser, they launch their favorite shopping application that works with their virtual reality headset.  They put on the headset and they are standing in front of a virtual simulation of the physical location where they normally go.  After walking through the door a cart is automatically provided and they start their shopping trip by walking around the store.

When they get to a product they are considering, they reach for it and a virtual version of the box appears floating in front of the its peers on the shelf.  After grabbing the floating product, they start examining it, flipping it over to reading the back. They decide to buy this item so they place the product in their cart.  They repeat this with another product but after deciding not to buy it they place the box near the shelf where it was floating and let go.

As they finish their shopping trip and are ready to complete the purchase of their items, they head for the checkout counter.  When they arrive the cart disappears, its contents tallied, and the customer is    prompted for their billing information. After providing it, as well as a shipping address, they receive a receipt and shipping information so they know when their order will be delivered.  They then walk through the exit door and back to the virtual street or virtual mall.

On another visit, as the inventory on the virtual shelves is the same as that stores physical shelves, they remember they really need ink and it looks like the store going to run out again as they were out of luck last time they needed ink.  They are also enthusiastic to look at the new monitors more closely so they decide to take the time to head down to the physical location.  While they have only visited it a handful of times, their hundreds of visits online mean they know the location of every product with their eyes closed.

Is this possible today? There are already technologies available to do the sensing and virtual reality display in addition to screen based first person virtual reality that is as old as first person games.  Moreover, there could be different ways of presenting the virtual store that is familiar to the layout but more efficient then a full simulation, such as an interactive map.  Technology is causing the physical world and the virtual world to move closer and stores will need to respond to ensure customers have the best shopping experience.

Thursday, 19 February 2015

Usability: Red/Green Elevator Up/Down Lights Do Not Make Sense

The traffic light is so common is our society that when red and green are paired it is usually so red means stop and green means go or start.  For example, the new SkyTrain cars use green for the stops that the train will stop at to let passengers get on and off before it continues and it uses red to denote the terminus stop where everyone should leave the train.

I noticed that elevators, another transportation device, also uses the red/green scheme but has confusedly redefined the meaning to a point that it might be better if they were both the same colour.  They denote up with a green arrow and down with a red one despite neither direction having to do with starting or stopping.  Depending on the purpose the building the elevator is in, at best one could think of it as going out and then later stopping your outing when you return.  However, in that case, the colours should be reversed.

A more logical and accessible colouring would be blue for up and green/grey for down. That way the passenger could at a quick glance see it they going toward the sky and or going toward the grassy/concrete ground.

Tuesday, 16 December 2014

Should Humans Learn To Count in Hexadecimal?


Computers use a binary or base-2 counting system for reasons that are beyond this post. Since binary numbers are large to write, programmers adopted larger base systems that could directly represent the bits, namely octal (base-8,3 bits) and hexadecimal (base-16, 4 bits) with hexadecimal more commonly used. Two hexadecimal digits represent a byte and other computer words all have a number of bits that can be divided evenly into bytes.   For example, 32-bit address is 4 bytes or 8 hexadecimal digits. To write these extra digits, A-B-C-D-E-F is used, representing decimal the numbers 10-11-12-13-14-15 and to make the distinction clear numbers are often prefixed with 0x or #.
Decimal numbers, or base-10 is what  humans mostly use and while it seems logical when looking at our hands, unlike computers, using this system is arbitrary.  Humans can use any base system (see below). The result is that computers have to convert the base of numbers that are displayed to the users and also convert numbers that are entered by the user.   While this is not difficult, this extra step itself can create issues that need not be created.
One of these issues is rounding error.  In both systems 1/3 cannot be represented exactly, as the best that can be done in base-10 is 0.33333... and hexadecimal (and convertible to octal and binary), the number is 0x0.5555...  There are also numbers that can be represented in decimal but not hexadecimal.  For example, 0.1 is 0x109999....  While people easily understand the issues with base-10 figures, such as seeing a graph with three 33% and knowing they really add up to 100%, issues with this conversion are often not noticed or create odd numbers such as 0.9999 when people expect to see 1.
Another issue is that many things in computers are limited by the binary system but with base-10 the limitation seems arbitrary.  Take the RGB colour values used by many programs, including photo editors and CSS.  The user can only enter 0 to 255.  There seems no rational reason that they cannot change the third digit 255 to 256 unless the user realises that it really is a two digit hexadecimal number.  Then they would understand clearly that  0xFF + 0x1 = 0x100, a three digit number too big to fit is the two digit space.
A high point is that the cost of learning is minimal because people already have the tools to use hexadecimal numbers.  For example, to calculate 0x4D + 0xC5 using elementary school techniques:
  • Add 0xD + 0x5 to get 0x12
  • Carry the 0x1
  • Add 0x1 + 0x4 + 0xC and you get 0x11
  • Carry the 0x1 again and since it is the only number the first digit becomes 0x1
  • The answer is 0x112
While there is a necessity for new symbols and vocabulary, people also no longer using Roman Numerals (base-1 with compression?) and have also switched to the Metric system.  As computers are now the primary tool used in mathematical calculations, it seem only prudent that humans consider using the native numbering system of computing when doing math themselves.



Wednesday, 3 December 2014

The Desktop Metaphor No Longer Makes Sense


The desktop metaphor is meant to covey to the user that the files and folders on their computer are similar to the files an folders on their desk.  In addition, the work that the user does on their desk is similar to how they work on a file when it is open in an application.  However, when introduced computers were very large (and often on the desk) and monitors were using CRT technology. Even notebooks took up a monitor sized footprint on the desk. As a result the computer was not just another work area, it actually replaced your physical desk with a virtual one.
In the last decade, CRTs were replaced by flat screen monitors, often more then one.  Because of their smaller size they leave useable space on the desk and many can even be directly mounted to a wall (if the desk is against a wall). Therefore, and especially with multiple large monitors, your virtual desktop is less like a desktop and more like an interactive wall above the desk with your physical desktop available for traditional, non-virtual uses.
As a result the concept of the desktop seems to be becoming less relatable then it once was and new form factors like the tablet are making this detachment even worse.   The virtual world seems to be expanding into the physical world as people can now walk around with windows that before were limited to their computer screen. The advent of the cloud and networking has also changed the ways people store and move files, with the expectation that they are simply everywhere.
What is needed is a successor to the desktop metaphor that can capture the new ways of working in this physical/virtual world but still be applicable when applied to the contemporary desktop.

Thursday, 13 November 2014

Idea: Add .localhost,.lan,.vpn,.ian and .wan to the DNS standard


An important part of the IPv4 protocol is that there are ranges of addresses that are reserved and cannot be used on the Internet.  These include the localhost address 127.0.0.1 and the ranges for LANs, such as the address in 192.168/16 that are commonly used with retail Internet routers when assigning LAN addresses.
These addresses are critical in making the Internet work since they allow the Internet to easily coexist with private networks, especially when using standard devices.  For example, every router sold by a company can have an admin address of 192.168.0.1 without interfering with other routers of the same brand. However, while there is support for naming devices on a network, a major problem is that unlike with IP addresses, DNS does any robust conventions to prevent conflicts with internal networks.

This lack of naming rules has caused problems as new top level domains are conflicting with names of internal resources and disrupting access. Before administrators only had to worry about a small set of conflicts, such as “com” or “ca” but now that anything can be a TLD, any name could potentially conflict with something on your network.  In addition, the .local TLD does not seem to be robust enough to help this situation.
To solve this and perhaps promote more consistent naming of resources, network administrators and standard bodies should consider adopting the following TLDs:

.localhost

  • This already exists and would continue to refer to 127.0.0.1 alone.
  • Subdomains could point to 127.0.0.1 or to another 127/8 address, but nowhere else.

.lan (Local Area Network)

  • These would only point to LAN addresses, such as the 192.168/16 addresses.
  • Lookup would only take place within the LAN, never consulting DNS servers on the Internet.
  • “lan” itself could point a designated device, such as one providing DHCP services.
  • A device could be responsible for its own name and can subdomain that name for resources available though that device.
  • There could also be a way to define domain trees that are managed independently of the devices they point to, such as on the device with the DHCP server.

.vpn (Virtual Private Network)

  • As a synonym for .lan, this would exist mainly to make it easier for the user to understand where their resource is located. For example, a computer at a head office named files.mycompany.vpn makes more sense than files.mycompany.lan since the server is might not be in the user`s local area network.

.ian (Internet Area Network/Internal Area Network)

  • This would indicate that the domain namespace is defined using user controlled DNS servers or host computers.
  • The IP addresses can be any valid IP address.
  • Public DNS servers should not return information about a .ian domain unless the .ian address is acting like a proxy server.

.wan (Wide Area Network aka the public Internet)

  • This would explicitly say the address of the resource your want in on the public Internet and not a localhost address, LAN or VPN.
  • This would be a valuable safeguard in some cases, such as security or in the event of overloaded names not named with the above conventions.
  • An administrator could also use this like a telephone outside access code and require all public addresses require .wan, as if “wan” is the name of a proxy server.


In the event there is not an extension the best default would to be assuming an implicit .wan it there is a period in the name and .lan/.vpn/.ian if it is a single name.  For these addresses, it would be up to the administrator or user to determine the best naming scheme to avoid and  resolve addresses issues.
I feel that using this naming scheme would make DNS more robust and  would allow for its future expansion, such as naming devices in the Internet of Things.