Showing posts with label thinking. Show all posts
Showing posts with label thinking. Show all posts

Friday, 1 April 2016

Should April Fools Day Go The Way Of Software Easter Eggs?


When Microsoft brought in their trustworthy computing initiative, one of the first visible effects was the discontinuation of Easter Eggs in Windows and Office.  These hidden functions, while fun, violated the idea that software should only work the way that is documented and expected.  Hidden functionality and behaviour is undesirable if software is to be trusted, so they had to go.
One morning as I looked though a gallery of April foods jokes there were some, such as the phone glove, that I could see as possible products similar to ones that I would expect at a conference like CES.  In addition, as ZDNet pointed out, the hoax twenty-five years ago from apple was that it had a network that worked through power lines, something that is common today.  In an industry that prides itself on thinking outside the box and is highly competitive, odd new products should be expected. 
The problem can also be seen from the other side.  Who would expect after reading all the negative news on BlackBerry that they would be able to stop an accessory for the iPhone from being sold?  I can easily imagine an April Fool's article declaring that courts rule that BlackBerry owns the QWERTY keyboard.  If I found out about the ban on April Fool's Day, I might wonder whether it was a hoax as the headline screams April Fools’ joke.
This makes me think that while I enjoy these fun ideas and even think they might be valuable in creating future products, they should they be clearly marked as humor.  WestJet ended KargoKids with an April Fools message, to the dismay of many viewers.  In this case the April Fool's message greatly improved the joke but even if it didn't would it ever harm a joke if it was clearly identified as such?
We rely on the press and other websites for accurate news and to have false information, even if it is on a widely published day of hoax, degrades the ability of these media to convey information.  All one has to do is think of the all the legitimate news published today that is in doubt simply because they released on April 1st.

Wednesday, 10 February 2016

C-3PO and R2-D2 Are Not Different UX Philosophies

When discussing the future of robotic and artificial intelligent technology, C-3PO and R2-D2 are often used as an attempt to illustrate the choice between designing humanoid robots and non-humanoid robots.  However, these comparisons are often superficial and overlook the fact that C-3PO's humanoid design and R2-D2's non-humanoid design is very much tied to their function rather then arbitrary design decisions.

C-3PO exists as a translator or liaison between people, droids and maybe equipment of difference species and makes.  For example, he translated what Jabba the Hut said to Luke in Return of the Jedi and often translates R2-D2's beeps.  His knowledge of six million forms of communication means he is much better at this then a person could be in the same position and having a humanoid form ensures that there is no sacrifice in usability by using a droid.  If C-3PO looked like R2-D2 then the conversations would be more awkward as the addition of a droid would be much more obvious.

R2-D2 exists as a replacement for a humanoid engineer and thus he is essentially an intelligent toolbox. His design and unique non-humanoid features reflect and support this role including the ability to conduct maintenance with a variety of built in tools and the ability to do his job while rolling around on the hull of ship in space.  A versatile droid such as R2-D2 would be difficult to create if he looked like C-3PO.  In addition to the practical issues of putting R2-D2's features on a humanoid form consider the confusion that would happen in a frantic battle where crew members are getting blowing into space and a medical droid sees a humanoid form clinging to the side of a ship.

The reason that C-3PO looks humanoid while R2-D2 looks like a rolling toolbox is not arbitrary or due to superficial reasons such as friendliness. Their respective forms are required to provide the best user experience and ensure that they are each fulfilling their unique purpose.

Tuesday, 19 January 2016

Idea: How Smart Kitchens Should Work

Why would someone want to configure their blender for Wi-Fi?  Or upgrade the firmware of their toaster over? Or replace their perfectly working microwave because their refrigerator does not support it anymore? It is unlikely that someone would want to do these things but this seems to be  the direction where smart kitchen appliances are heading with the Internet of Things. 

For the "Internet of Things" many of these "things" are just low powered computers put in a device and then connected to the user's home network.  This means that they have the same basic needs as a computer, tablet, smartphone, etc. in that they need to be:

  • Authenticated so they have a secure connection
  • Able to protect themselves against malicious traffic
  • Patched when flaws or vulnerabilities are discovered
  • Upgraded to support new features

These are very important tasks but they are not something users like to think about and probably not something they want to do with their blender, toaster oven, microwave, etc..  Despite all the benefits of smart appliances one does not want to wait for their smoothie to blend because of an installing patch or have that new game on their tablet decide that their baked potato should be very, very well done. To solve this problem I suggest the creating a smart kitchen instead.

Rather then having each appliance on the home network individually, have only a dedicated computer in the kitchen on that network.  This computer could then treat the other appliances like a private network and would be the only interface between them and devices on the other network.  It alone would need to be configured and would also have a firewall just like a regular computer in addition to managing all the patching to ensure that the kitchen operates smoothly. 

A critical benefit is also that the computer can be the primary point of interaction.  Therefore, when cooking a roast when the user opens up the their recipe the oven would preheat, the timers would automatically be set and anything else they need would be configured and ready to go.  Also as it is a standard computer it would be possible to install new kitchen applications to increase functionality as well as browsing the Internet, using email, etc. when additional information is needed.

The main hurtle is that standards need to be established to ensure compatibility among vendors but I imagine that would be easier convincing people to enter a WPA2 password on their blender, toaster oven, microwave, etc..

Thursday, 7 January 2016

The Third Generation of Autonomous Vehicles

Currently several companies, especially Google, are working on the first generation of autonomous self-driving vehicles.  These seem to do a good job of driving and hopefully once on in production they will be better then people driving themselves.  That is in fact the main selling point, a vehicle that can avoid accidents because it is relentlessly watching the road. However, based on the current laws for these vehicles there still needs to be a licenced driver that is ready to quickly take control if needed.  In other words, the first generation will really be an autopilot.

The second generation is going to be what we see on television and in movies: vehicles driving themselves with passengers not even bothering to pay attention to what is happening around them.  It will be like the best driver imaginable is at wheel. Accidents should be cut down to nil due to the computer's literally split second response when avoiding an obstacle, be it a jaywalker or a child chasing after a ball.  However, when not exceptionally avoiding accidents one would expect them to still mimic current driving patterns.

However, we need to consider not just how the cars will evolve, but also how people will.  Due to issues with people driven vehicles we got used to the derogatory term Jaywalker and related laws  were created to prevent people from getting injured or killed by walking into traffic.  Children were taught not to run into the street for the same reason.  However, people still randomly run across the street at their own peril and once the danger is removed, why would society continue with the probation?

While getting rid a crosswalks the thought will turn to controlled intersections and speed limits.  Current intersections are to allow people driven traffic to cross paths and inconveniently stops all flow of traffic in certain directions to allow the other directions to safely proceed.  Speed limits are designed to ensure that the driver can keep control of their vehicle.  This leads to the slowing of traffic and in extreme cases, Gridlock.  However, with a computer in control, speeding down the road or crossing a lane of traffic would be no more dangerous then walking down a sidewalk or crossing the flow of people.

These social changes will bring about the third generation of autonomous vehicles, designed to find a path from point A to point B as fast as possible while preventing accidents by  intelligently predicting and dodging around or between obstacles.  Stoplights will have gone the way of the milkman and just people waking into the street would be normal. 

I imagine these vehicles would look similar to the spherically wheeled vehicles in I,Robot or maybe the domed vehicles in The Jetsons.  They will be able to accelerate in any direction and rotate freely.  The occupants might prefer to be laying back watching the sky as it moves and twirls if they become too dizzy watching the road.  The computer would have to accommodate inertia to ensure the occupants are not injured while food and drink would also be impossible, as would anything requiring hand-eye coordination, except for perhaps a mounted or worn electronic device.

If a  person from today woke up in this future it might be a beautiful site to see someone or even be the person that runs into traffic for the elegant ballet that will ensue ensuring the safety of all.  For others, it could be horrifying, like the legend of the people who saw that train coming at them from the movie screen and ran for their lives.

Perhaps even both.



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.

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.