Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
Date: 1/31/2018 @ 2 p.m. ET
Today we still use the same basic user interface elements – windows with a mouse – that the original Macintosh introduced in 1984. But the last five years have given us a peek into a different future. The iPhone arrived in April of 2010 and represented a complete re-thinking of how we can use computers. This was followed in 2013 with a magazine-sized screen that puts the world (literally) at your fingertips. Many competitors followed in both markets offering users a broad variety of options. Despite massive popular appeal, pundits claimed that although the tablet was great as a portal for entertainment, it could never be a tool for real creative or productive work. It didn’t take long to prove them wrong.
And now a new child of the touch generation is being born and it promises to break as much new ground as its siblings. And, like its siblings, new development possibilities will come in its wake. In this article I want to introduce you to this platform and explore the development implications.
Big Screen Touch
Phones are pocket sized and ubiquitous, but the screen size limits what’s possible on them. Tablets make a whole new level of app features possible and are still as convenient to carry around as a book. But is there any point in going bigger? If you lose the portability, then what’s the point?
Don’t jump to any hasty conclusions, though. You’ve probably seen the all-in-one, touch-oriented PCs for sale at places like Best Buy. With a big screen tilted at just the right angle they offer up full-blown PC power combined with an intuitive touch interface. But this first generation of all-in-ones only recognize one touch-point. This limits their recognized gestures to touch-for-click and a few swooshes that Windows 8 supports. But even with their limitations they are great for casual home use.
The next generation of all-in-one’s promise more possibilities. First, they have multi-touch – as many as twenty simultaneous touch-points. Second they are very thin. Some are no thicker than the magazine sized tablets. Combine these two features with an often removable stand that allows you to view it at an angle or lay the screen flat on a table. Now you may be looking at a new platform for innovation: the All-in-One “Tabletop PC.”
Whereas the tablet devices have been replacing netbook and notebook computers, the All-in-Ones are now replacing desktop systems. Ironically, some of these All-in-Ones look just like the tablets, only with a supersized screen. Why have a bulky CPU box when you don’t need it?
A Whole Name Gaming Market
The All-in-One Table PCs are still newer technology. There are a lot of new opportunities to grow your skills and explore new types of applications as well as new opportunities in the job market as well. Before talking about what these devices mean to developers, let’s talk about the market and what is being done with the devices already.
Games often blaze new trails for technology. And it’s often at that bleeding edge that you can catch a peek of things to come. In fact, some of the ideas I discuss below are already being implemented in certain tablet games. But right now they are more the exception than the rule and their use is limited in a way it won’t be on a big screen.
Who’s up for Monopoly? Imagine a Tabletop PC edition: you get a standard sized board, but now no one has to be the banker and there’s no tedious making change to pay rent. The game would be fast paced, fun and could be jazzed up with animations like the jail door slamming shut on the unfortunate player who did not pass go nor collect $200. Family game night may never be the same!
And whether your game is rummy, poker, Dungeons and Dragons, Settlers of Catan or Magic the Gathering, the new possibilities are enticing.
The Original Microsoft Surface
As you know, Surface is the name Microsoft gives to their touch-based tablets. What you may not know is that Microsoft Surface used to denote a very different product. The original Microsoft Surface was a 30” multi-touch tabletop computer. It graduated from their research division in 2007 to become a commercial product sold mostly to high-end customers like casinos and luxury hotels, due to its $10,000 price tag. Still, because of the promise that is showed as a new platform, Popular Mechanics dubbed it “a coffee table that will change the world”.
By the way, the original Microsoft Surface isn’t dead. The hardware is now produced by Samsung and it’s known as the SUR40 with Microsoft PixelSense. It’s been upgraded to a 40” screen and the price has dropped to a mere $6,517 at Amazon. You can find out more at the PixelSense website. Of course, you can find All-in-One Table PCs for a much smaller price than this!
The Samsung SUR40.
Settlers of Catan for Microsoft’s original Surface tabletop (see sidebar)
What new possibilities? For starters, there’s no setting up the board. And no putting away those dozens of colored pieces, each color in their own little box. (I’m lookin’ at you, Risk!)
Have you ever been half way through a game when someone bumped the board? No problem now. And if you get interrupted, you can just save the game and pick it up again later. Those games that are fun but can sometimes take a few hours, like Monopoly and Risk, might just see more play if you can easily break up a game over a couple of evenings.
In a Tabletop All-in-One PC game, each player could have their own off-board (but still on-screen) workspace in front of them where virtual money, tokens and cards can be manipulated and moved on or off the board. This is where the multiple multi-touch becomes handy. Each player can be flinging virtual tokens around, drawing/discarding virtual cards or manipulating the board directly with one or two-finger gestures – all at the same time.
Or perhaps you like using real dice or moving your pawn around the board. With some systems, specially made game pieces make it possible for the game to recognize your piece, where it’s placed and even the number you just rolled using real-world dice. And if shuffling, drawing, sorting and discarding cards, money or other pieces is too much of a chore, you can use virtual pieces for those.
Lenovo’s 27” Horizon all-in-one Table PC plays air hockey with a virtual puck but strikers that you can actually hang on to.
Real-time or turn-based war games take on a different dimension with everyone playing on the same map, but without fumbling with little plastic pieces or hex markers (unless you want to). Line-of-sight calculations, purchasing units and other details can be streamlined, freeing you to focus on strategy.
Trivia games become a whole lot more like television game shows with virtual “buzzers” automatic score-keeping and even video clues.
The platform goes beyond board games. A multi-touch big screen would make ice hockey come alive with bumpers that appear and disappear or even bricks that you must break to get the puck through to the other side. How about 4-way ice hockey?
A Whole New Productivity Market
You’ve certainly seen examples of some of the above uses for All-in-One Tabletop PCs , implemented with tablets, kiosks or other high-end, touch-enabled solutions. The crucial difference All-in-One Tabletop PCs bring to the equation is consumer-level pricing. This opens the door to museums, local retailers and everyone else to jump in and add value for their customers using big-screen touch.
What if your Windows desktop... really was a desk top? Windows could be moved around with a flick and zooming/resizing would be second nature. Integrating the company’s document management system would make key information instantly available. Browsing multiple websites at once and comparing products and prices side-by-side would be effortless.
But the All-in-One Tabletop PC provides a whole lot more than that. In fact any time you might sit around a table to discuss your child’s work with a teacher, your taxes with your accountant or the results of your x-rays with your doctor, a Tabletop PC could enhance the experience. By design it encourages experimentation and sharing. Everyone at the table could review the same document at the same time, mark it up, make changes, see the result in real time and undo at will.
Data-rich, interactive kiosks will become much more common using this platform. Everything from making restaurant and show reservations from your hotel lobby to comparing the features of cars at the dealer showroom. This trend began years ago, but with consumer level pricing of Tabletops, kiosks will become ubiquitous. And the features richer, more connected and more collaborative. For example, a company named Stimulant was contracted by Microsoft to develop
“...a touchscreen experience for events [like conferences] that aggregates live Tweets, Facebook posts, images from Flickr, and news stories into a multi-directional animated ‘stream,’ creating a real-time display of relevant social content. This application, called Social Stream, allows multiple users to simultaneously read, rotate, and explore this live data on the selected topics, and to ‘scrub’ the stream itself backwards and forwards.” – stimulant.io
Of course the possibilities for creative professionals and hobbyists are easily apparent. A Tabletop, either in a standing position or lying flat is a much more intuitive for an artist, animator or photographer than using a touchpad with a desktop or using the tiny screen of a tablet. Specially made brushes could be used for applying paint to the virtual canvas.
Now imagine a classroom where every student sits in front of his own Tabletop PC. Educational games as well as images, sound and video can enhance the educational possibilities immensely. Students will spend more time in interactive and cooperative doing and less time in passive listening mode. We already know that all of these elements provide a huge boost to learning speed and retention.
Likewise Tabletop PCs offer museums the opportunity to provide more interactive experiences at much less expensive build costs than they have in the past. They’ll engage children and allow adults to dig deeper on topics related to an exhibit. As an example, ETT Solutions created an application for the Festival of Science that
“...allows visitors to interactively explore the secrets of the Protected Areas of Liguria. Visitors can choose from four professions... geologist, marine biologist, the naturalist and the zoologist.... Each of these professions is represented by a real object that through a Tag - a two-dimensional code placed under the object - allows, once located physically on the screen, to display a variety of information, photos and tips to learn, develop and explore ‘interactively’ Parks in Liguria.”
Now that you’ve explored some of the new applications for the All-in-One Tabletop PC, the question remains: What does this mean to me as a developer. Of course it means new opportunities to grow your skills and explore new types of applications. It may also mean new opportunities in the job market as well.
But what skills will this new platform require to make these applications a reality?
If you haven’t taken the dive into development for touch-oriented platform, now’s the time to do it! There are many new software issues in the phone and tablet market that will still be with us when developing for a Tabletop. Among them:
- Supporting multiple platforms with different OS’s as well as different resolutions and different performance characteristics
- Handling multi-touch input as well as identifying what input to ignore (as in resting your palm on a tablet as you draw with your finger or a stylus)
- Identifying user interface elements and gestures most appropriate for your application
- Integrating with social API’s and other cloud services
The All-in-One Tabletop PC challenges us in new ways, too. Here are a few new challenges to spark your imagination.
- Communicating in real-time with other devices via Bluetooth, Wi-Fi, or NFC – A personal device, like a phone, can provide the perfect complement to the Tabletop’s larger shared space. It can provide a private space that other players can’t see, as with a hand of cards or a tray of Scrabble tiles. Or it can work as a controller to drive objects on the shared display, as in an RPG or an overhead tank-wars style game.
- Recognizing touch input other than fingers – Game pieces, dice and other objects placed directly on a screen can be recognized in different ways depending on the technology the device uses to recognize touch. With capacitive touch as provided by Apple and most other phone/tablet companies, only things that can carry electricity – like your finger or a carrot – are recognized. In order for an object to be recognized it must be made with such a material, at least on the bottom. Further, capacitive touch can’t recognize pinpoint input, which is why styluses for these devices have a rounded end that covers a half centimeter or more of space. However if the object to be recognized has a base that’s 3 centimeters square, for example, a pattern of dots placed on the underside of the object will be recognized as multiple simultaneous touches. With different patterns under various game pieces, the touch device can recognize and respond to the object type and location. This approach has been used with limited success in iPad games. However the necessary size of the base compared to the limited screen size of a tablet doesn’t work well.
- Extending gesture recognition to allow for gestures from different people on the same screen to be recognized and responded to as if each user is independent of the others. One user may be moving and resizing photos while another is entering text on a virtual keyboard and a third is scrolling through a document.
- Screen sizes for All-in-One Table PCs are larger than tablets. Just as you need to reformat information when going from a phone app to a tablet app, it is also equally important to consider whether you need to be responsive when scaling to the even larger size of a Table PC.
- Considering screen orientation also becomes important. Tablets have already brought to the forefront the concept of changing screen orientation using accelerometers. If you are using an All-in-One computer for your desktop on a stand, then you want the screen to work whether in landscape or portrait mode. More importantly, if you lay the Table PC flat, you might actually want your application to work for multiple people, which means a combination of orientations all at once. Ultimately, you’ll want your application to be just as smart about being flat or upright as it is about being in landscape or portrait mode.
All-in-Ones are gaining ground and replacing Desktop PCs. With the ability to remove them from their stands and treat them like oversized tablets, new opportunities are available to developers. There are definitely a few considerations to ponder as building solutions. If you consider these and tap into the added power of All-in-One Table PCs, then you might just find a great opportunity.
Editor’s Note: The following video shows a number of applications running on a Table PC.