Posted: September 16th, 2011 | Author: irv | Filed under: chess, nc3bb4 | Tags: chess, chrome, chrome os, chromebook, html5, nc3bb4 | 2 Comments »
Other than being Knight to c3, Bishop to b4, and a move from a variation of the French Defense, it is now my hobby HTML5 chess project. Based on the engine of garbochess, it uses web workers to factor and rank the moves in a map/reduce way. I used to play chess for an hour and a half every day when I was a kid, and I hadn’t realized how much I missed it until I started playing with my 4 year old recently. Then when I got onto my Chromebook, there didn’t seem to be any local storage using, HTML5 based apps just for Chrome. Incidentally, an awesome resource for getting started with chess programming is the chessprogramming wiki. Check it out if you have an interest as well.
Being a programmer, and starting out looking at map/reduce, I was seduced by the chess bug. Boy chess programming is fun! For now, the project is in an MVP state. I intend to modify garbochess such that the machine will learn how to play better against you by weighting the ranking of moves for successes and failures during the evaluation. It is going to be tricky to modify it in such a way so as the machine learning algorithm doesn’t get stupid with a simple mod, and that I use a markov chain to make sure to consider the state as a basis for each move down the line. My current thought is to weight endgame moves logarithmically higher or worse depending on the outcome of the game, however my thinking is likely to change as I learn more.
I do intend to create an online component to this, but I am torn between connecting to freechess.org, and building my own service to facilitate games using XMPP and / or node.js. I am leaning toward building my own, because freechess’ api is non-existent, however the community over there is awesome. I guess that since it is a hobby, having a bit of NIH syndrome is probably O.K. If you like it, please drop me a comment, likewise if you don’t like it, please drop me a comment.
Posted: July 30th, 2011 | Author: irv | Filed under: android, Apple, Companies, Google, iPhone, Lifestyle, Media | Tags: android, chromebook, Honeycomb, iOS, iPad, mobile, netbook | No Comments »
The tablet entered with a huge bang a few years ago. It was staggering, Apple sold in an incredible number of iPads and forced all of the netbook manufacturers and Google to scramble to produce and release a tablet OS, namely Honeycomb, that was arguably not ready for release.
The result with both the iOS and Honeycomb are two excellent tablet OSs, and Ice Cream Sandwich promises to be a stellar tablet and smartphone OS. What I have been discovering over the past year plus using both versions of the iPad and the Galaxy Tab 10.1 is that I don’t really need a tablet for general computing.
This is surprising to me. I built an IDE for the iPad and iPhone after all, and found myself using my own product more on the iPhone for quick edits than I did on the iPad.
I watch an awful lot of netflix on the iPad, and I play games most of the time that I am using it. I have found that with the Galaxy Tab, my patterns are much the same gaming, watching videos, occasionally reading ( although I still prefer my Kindle hardware to the tablet versions ).
So I am coming to the conclusion that the pundits were right initially, tablets are clearly for content consumption, not content creation. The reason, however that these devices are not suitable for content creation is worthy of debate, and is an issue that I’d like to take up now.
Natural User Interfaces
The user interaction that most tablets sport as the default is something that is being called a natural user interface, that is an interaction that uses some of the users other senses, such as motion, to perform an on screen action. The current crop of tablets mainly use touch instead of a dedicated hardware component to facilitate user interaction with the interface.
This lends itself obviously to gaming, and a “kick back” experience of sorts. The user can use touch, or the gyroscopes to control a character on the screen, this makes logical sense to just about any user.
As an example, many role playing games have a 3/4 view of the game board, that is, the camera is typically at 5 o’clock high, or somewhere thereabouts. The control scheme for most of these types of games is to touch a place on the screen to send the character to that location. Role playing games work particularly well on tablets for this reason, they are almost better with a touch interface than a controller.
As another example, car racing games use the accelerometer in the tablets to control an on-screen car. This works well, unless you are in a position in which your motion is constrained, such as the bed, most of these games provide some sort of alternate touch based interaction that replaces the accelerometer based input.
The problem with using on screen touch points in auto and first person shooter games is that the controller now covers part of the screen, or your hands end up covering important parts of the game world, causing the player to miss part of what is happening. I know that in my case, it takes away from the FPS experience and makes it so that I typically don’t buy those sorts of games on tablets, but instead prefer to play them on a console.
Natural user interfaces only work when the content is modified such that the user can interact with it sensibly using the available sensors, gyroscope, touch screen, microphone, et cetera. In a famously bad case of using a natural user interface to interact with content from a platform that uses traditional input, Numbers presents the user with a typical spreadsheet like the one you would find in Excel for your Mac or PC. The issue here is that Apple didn’t modify the presentation of the content such that it matches the platform. Arguably there is no way to do this in a form that makes sense.
The interface for Numbers features beautiful graphic design elements, and is generally pleasant, but when you tap on a grid element, a virtual keyboard pops up and you are invited to type into the fields. Apple has made a numeric keyboard interface which is pretty nice, but anytime you display the virtual keyboard, you haven’t thought hard enough about the problem. Displaying a grid of content is not useful on this device, it is amazingly useful on the desktop, but it just doesn’t work here. Inputting large amounts of data is frustrating, and the virtual keyboard makes mistakes all to common, either because of mistyping or the misguided autocorrect.
Modifying Content for the Natural Interface
Most of the people who are buying tablets today appear to be tolerating these issues, my belief is that they are doing this because tablet computers feel like a piece of the future they were promised when they were children, useful or not. Eventually, they will likely stop using their tablets at all in favor of ultralight laptop computers, or they will relegate the tablet to the living room table as a movie watching and game playing platform.
It is possible to make significant user input acceptable on a tablet, perhaps even pleasurable, by using a bit of creativity. First, they keyboard is a complete failure. It has its place, but in most cases it can be replaced by effective gesture (non touch ) and speech recognition. This is the only viable way for bringing large amounts of content.
On the visualization front, using our example in Numbers, perhaps a flat grid is not something that makes sense on the tablet, maybe we should send the data to a server for analysis and present it as a series of graphs that can be changed by the user, manipulating the graph directly with touch actions, or with spoken commands. The result of the changes would flow back into the spreadsheet, updating the numbers behind the visualization.
Many would argue that this would not be a rich enough interaction for some of the complex spreadsheets, pivot tables, etc… that they work with, indeed, it likely would not. Most of these users would not perform these actions on the tablet, instead they would use a MacBook Air, or other lightweight laptop computer. It takes a huge amount of creativity and intelligence, as well as significant amounts of computer power to manipulate data in this way.
Imagine a speech interface for a word processor that could use the camera to track your facial expressions to augment its speech accuracy. It could, and should, track your eyes to move the cursor and ask you to correct it when you make a bad face at a misinterpreted sentence. An application like this could make word processing on a tablet a wonderful experience.
The technology to do most of these things is here. It is either fragmented with each part patented by a different company, some without any sort of tablet such as the Microsoft with the Kinect. Or the effort to produce a piece of software to utilize the features of tablet computers to best effect is too great to justify the investment. For example, doing that sort of work for a word processor doesn’t make sense when people will just jump over to their laptop to use Word. Would anyone pay $100 up front for an iPad word processing application? I don’t think so. Would anyone pay $25 per month for the same application as a service on the iPad? Its equally doubtful.
What you come to eventually is that, for interacting with content that either naturally lends itself to, or can be easily modified for, the tablet, it is fantastic. Currently, however it is severely overpriced for how it is being used. After all, you can get a fairly cheap notebook that can play Netflix and casual games for $200, or 1/3 the price of most tablets. If you have to carry your laptop anyway, why would you have a tablet at all. Why wouldn’t you take the Air with you and leave your tablet at home. It can do everything the tablet can do, and it also can handle any of the content creation that you care to try.
Thinking about the situation, we need to find better business models that will allow for the development of applications that can handle the modifications to content that we need for tablets to be generally useful. This will take a while, and in the interim it is likely that some companies will produce tablet hybrids, the ASUS Eee Transformer is one tablet that comes to mind. It is very popular, runs a mobile tablet operating system, but becomes a keyboard wielding notebook in a second.
The Google Chromebook is another example of a lightweight, even in software, laptop that can do most of what a tablet can do, as well as most of what the typical laptop does. In my own use, excluding building applications for tablets, I always reach for my Chromebook instead of my tablets. All of this is excluding the huge difference in the difficulty of building applications on the platforms.
Writing applications for tablets is extremely hard with a doubtful return on investment, unless you are making a media or gaming title. While writing applications for the web is easy and potentially extremely lucrative with many variations on possible business models, and little interference from device manufacturers.
I am starting to think that Ray Ozzie was right when he said that Chrome OS was the future. It feels more like the near future than the iPad at this point. The tablet will always have its place, and perhaps with significant advances in natural user interface technology, with accordant price reductions it will start to take over from the laptop. I am fairly bullish on the natural user interface over the long term, but at the same time I pragmatically understand that we aren’t there yet. The devices, software, and consumers have a lot of work to do for us to really enter the era of the computerless computing experience. I am committed to getting there, but I think that the current crop of tablets might be a false start.