Today Microsoft announced their new console, the Xbox One. The demo relied on heavy integration with cable television, multi-tasking, mobile phones, kinect, and voice commands.
A demo of the product introduced “Snap mode”, a side-by-side multi-tasking type interface that allows the user to simultaneously watch television, play games, have a Skype call, use Internet Explorer, or even look at your fantasy football stats. They spent a lot of time talking about how easy it is to switch between apps, games, and live television. We’ve seen a push in this direction from Nintendo as well with the Wii U TV capabilities. It must all be part of the overall business objective, to own the entire living room. To replace your set-top boxes with one, all-inclusive Xbox One.
Every Xbox One has a new sensor that can respond to your voice, and understand who you are, and the Kinect has been improved to understand even finer inputs such as the movement of individual wrists. It can even read your heart beat for workout games, or so they say. All these things seem to be designed to be the “everything device”, similar to how the iPhone is the everything device for mobile. It’s clear Microsoft’s goal is to do the same for the living room.
There is also a big move towards a much more cloud-based gaming and app environment. Think Steam meets iCloud, except Microsoft is running the servers (which incidentally went down during their presentation)
It’ll be interesting to see how this affects console development, and how nice Microsoft is going to be treating indie developers with this new console. I certainly am eager to learn more and find out if it’s possible to publish my upcoming game Miree on the console.
Most of the people I encounter these days with a tech startup are focusing on the web or mobile. They either have an idea that they want to push out to the app store, or a web service which may or may not have a mobile companion. The tech world as the startup scene sees it is made up of mobile phones and computers. Who could blame them? Every major headline in the tech news is about IPOs, acquisitions, and user growth in iPhone apps and websites.
What is particularly interesting about this is a seemingly willful ignorance of the entire game console world. The app store has set a new standard for digital distribution, and consoles are following that new standard. Open the channel up to indies, make it easy to get distribution, and watch the next Angry Birds come out of nowhere. In particular Nintendo and Sony seem to be opening up their next gen consoles to indie game developers, and incidentally, to app developers.
If you sort through the offering on the PS3 and Wii U, you’ll see almost exclusively games, and then a few apps to accompany video and music services. There seems to be a major lack of thought going in to modern app development targeting these set-top boxes for television, and I think it’s just a matter of time before someone takes advantage of that. That’s when the whole world will follow suit and the TV/App industry will appear.
It’s easier than ever to become a licenses developer with Nintendo or Sony. So the question we need to be asking is, what can we do on those devices that is unique to the fact that they are in the living room?
I had this realization long ago that all new technologies seem to first surface as a lower-key version that exists mostly as a toy.
If you think about the great innovations of our recent history, you may think of things like the internet, computers, or smart phones. But, before you could buy an iPad, you could buy touchscreen toys made for kids. Sure, they were low resolution and didn’t have very sophisticated software, but it was still a portable computer with a touchscreen OS running various apps.
The personal computer itself was an innovation that sprung forth from the ashes of the Atari 2600 and Commodore 64, and those were just an evolution of pong. So in the beginning, the entire reason for the technology revolution, the modern personal computer, was born as a game.
I’m not saying that the invention of pong is what enabled the computer revolution to happen. I think it would’ve happened regardless. But what’s interesting is that this great technology we have today gave us a hint that it was coming with the growth of digital arcade games in the late 70s. Apple was releasing the first personal computers right around this time. Most people didn’t know what a computer was needed for. However, everyone seemed to know what the arcades were for. Gaming is fun! There was a ton of exposure to computer technology through digital arcades.
So when you’re sitting around thinking about what’s on the horizon in the technology field, consider looking at the new high-tech toys first. They may shed a shimmer of light on what someone else somewhere is using that same technology for.
I leave you with this snippet from Paul Graham’s post about ideation:
“Just as trying to think up startup ideas tends to produce bad ones, working on things that could be dismissed as “toys” often produces good ones. When something is described as a toy, that means it has everything an idea needs except being important. It’s cool; users love it; it just doesn’t matter. But if you’re living in the future and you build something cool that users love, it may matter more than outsiders think. Microcomputers seemed like toys when Apple and Microsoft started working on them. I’m old enough to remember that era; the usual term for people with their own microcomputers was “hobbyists.” BackRub seemed like an inconsequential science project. The Facebook was just a way for undergrads to stalk one another.” http://www.paulgraham.com/startupideas.html
Mobile apps designed for children are becoming very popular as a result of the intuitive design of the iOS and Android touch screen operating systems. Never before has software been so accessible for pre schoolers, and elementary school students. However, there are some things that you should take careful consideration of when designing apps for this audience.
I want to share with you all a great resource put out by Sesame Street Workshop that details the best practices, and problems that crop in designing for children. You can find the original PDF by Sesame Street at the end of this post. I will summarize a few points here that I felt were important to discuss in the success of a children’s app.
Using Familiar Faces
The document points to using familiar faces to “guide” children to what it is they need to do. The guides are instructors, teaching the child to use the app in real time through audio narration. The use of familiar characters creates a stronger bond between the child and the app, and leads to increased comprehension of what to do.
It’s easy for Sesame Street to make use of familiar faces, they have a host of great characters to choose from. But, you don’t need to be a big company with lots of popular characters to present familiar faces to your audience. It’s not hard to find familiar faces in the world of public domain. Many of Disney’s best hits are based on public domain. Some examples include Aladdin, Beauty and the Beast, Snow White, and many other famous stories with characters we see time and again. It’s also very popular to hook in to famous cultural or mythological figures such as Hercules, Zeus, or even Saint Nicholas.
Start of with instructions from a voice over, and try to avoid text. Ultimately you want to assume that the child can not read, so make use of video and audio indicators of how to proceed in the app. If you are quizzing the user on some content, or presenting a game, you should be careful to not be too negative when wrong answer selections occur. You want to be motivating the child and give them hints as they continue to answer. Finally you want the app to proceed without a correct answer by simply instructing them exactly what they need to do.
It’s also important to children that they know they did the right thing. Go nuts with the rewards, maybe even as crazy as those guys over at Peggle. Seriously, these are some dramatic “Yeah! you did it!” effects and music here. There is nothing wrong with being extremely over the top with rewards in any app, and especially in a children’s app. Great in-game rewards is motivating and exciting.
The most intuitive input gesture for children is a simple tap. However, typically children rest their arms or hands on the edges of the screen. So, it is important to allow for taps to occur, even when they are touching other components of the screen. I would suggest creating “dead zones” where touches will be ignored around the bottom of the screen. Focus touch interactions for the top half of the iPad, and toward the center.
Children have trouble with most complicated gestures, such as “flicking” objects around the screen with momentum, using tilt or shake controls, double tapping, and anything involving multi-touch. Ideally you want to focus on the most intuitive input mechanisms, which is the tap, drawing, or dragging of objects around. Be careful with dragging though, children tend to lift their finger as they drag around the screen. For this reason it’s important to implement a dragging routine that allows for hiccups along the path where the user may lift their finger for a moment during a drag.
It is important to provide visual clues for any goals in the app, at any given time. Touchable objects should be highlighted or glow, and actions should be delineated with a path or animation of what gestures to use. If a child should drag a character or object along a path, you could create an animation of the path while highlighting the object that needs to be moved to make it clear what they are to do.
Keep in mind that children will accidentally press on lower parts of the screen. So, when implementing features that make major changes to the state of the app, for example quitting, saving photos, and especially any social features, you want to take special care to make sure these actions can not be accidentally done by the child. Usually these interactions are going to be performed by a parents. This is a good opportunity to take advantage of the fact that children are not very good with certain types of gestures.
One way to do this is to have the parent’s controls be hidden away in a menu that requires a multi-touch gesture to open. For example, you could have a menu on the right side of the screen that can be dragged out on to the screen to be made visible, and then a ‘slide to unlock’ display could be used that times out if the gesture is not completed within a few seconds.
So there you have it, my thoughts on this great report by Sesame Street. I hope all of you out there working on children’s apps can make something a little better as a result of this information being available. If you need some help with your app, this kind of thing is right up my alley and I am available for hire, so get in touch!
Today the thought of having a game that looks and feels like those old stop-motion christmas specials might be kind of interesting. I think I’m going to try and come up with some maya renders of what the shaders / world might look like. This is what I’ve got today. It’s mostly randomly scattered triangles in an otherwise plain-old low poly world, like any game from the late 90s.
I’ve scoured the internet looking for great open source iOS apps, and what I determined is that what is really more interesting is the open source iOS components and frameworks. So here’s my list of the most useful open source iOS components.
8. PSCollectionView PSCollectionView is a custom collection view that allows for the easy creation of Pinterest-style image collections in your iOS apps. Source on Github
7. GMGridView This little grid view library allows for the simple creation of highly interaction view sets. You can see a nice video of an example result here. Source on Github
PRTween is an extension of the core animation framework. It is an effort to take the power of core animation, and make it easier to use. The commands available may remind some of the stupid-simple jQuery animation commands like fade, hide, or show. Source on Github
5. iHasApp I recently was asked by a client if we could detect their other apps installed on the device, and if the user didn’t own them if we could have the app present cross-promotional ads. I wasn’t sure what the answer to their question was, it seemed like something that might fall under the dreaded “private api” category. But here this project is an App Store friendly library to detect other apps installed on the user’s phone. Source on Github
4. NUI NUI is a very interesting project that aims to make styling of iOS apps as easy as styling in CSS. Take a look at the syntax on the project’s github page and you’ll see what makes this such an interesting project. Source on Github
3. grabKit If you are writing an iPhone app that involves the user’s photos, one thing that’s always a bit tricky is adding support for all the various social networks that the user might prefer to host their photos on. grabKit makes this easier with this drop-in library that let’s the user import photos from Facebook, Flickr, Instagram, Picasa, or the iOS device itself. Source on Github
This library is great for anyone creating a very touch-centric game, or any app that uses lots of complex gestures. The library is based on the N Multistroke Recognizer which is a great algorithm for detecting very complex touch gestures. If you remember the gestures in the game Black & White, it’s kind of like that. Source on Github
1. Filepicker Similar to grabKit, Filepicker allows for the importing of files from various social networks, but also includes many more services such as Dropbox, Gmail, and even Github. The library is also not limited to only photos but can be used for a range of content types. Source on Github
Honorable mention: cupertino Cupertino is not an iOS library, but rather a ruby gem that allows for administration of your Apple Developer Account. This has been a missing piece of the formula for automating iOS development work for years, so I’m glad to see some hackers have decided to take up the challenge of making a CLI for the Apple Developer Account system.
So I decided to take some time today to experiment with the augmented reality solutions out there and I came across the Qualcomm Developer SDK. It’s pretty simple to use in Unity 3D, they even provide a convenient little .unitypackage file you can just import to get everything set up correctly. I took this video after messing with it for a few hours.
So, pretty cool library. I’m not sure how you could create games using trackers, but the fact that you can use pretty much any picture means we have the opportunity to make interesting games that exists on college campuses, or small communities with shared pinboard space, etc. Or even just releasing an iPhone app that is purchased with a board-game companion could be interesting here.
I know augmented reality is not entirely new any more, but I haven’t seen much done with the concept so far. I think there is a case for brainstorming potential uses with this technology, because no one has quite made the de-facto AR-defining experience for mobile devices yet.
In the online game League of Legends, players need to cooperate with one another to win. One toxic player could ruin the match for anyone in the game. So the way Riot decided to deal with this was to give players the option, at the end of a match, to award their teammates and enemies honor.
It’s basically just a way of saying that player was not trying to ruin the game. On the flip side, if someone is intentionally trying to ruin the game, the player can get reported, and if the player gets reported too often they can actually get banned from the game. It’s kind of like in the old days back when we were kids, when if you swore in class you might get grounded from going out, or in my case, from playing video games. Now, the game itself will “ground” you for a day or so if you are determined by the community to deserve it. The game has an automated in-game system for deciding who gets banned from the game and who doesn’t.
So ok, getting banned from the game sucks, but what’s so interesting about getting positive honor? Who needs some imaginary number?
This is where I think it gets interesting. League of Legends has a few basic ways to make money for Riot:
They sell in-game champions, items, and upgrades
They sell vanity items like custom skins for your characters
They sell meta-boosts like being able to level faster for one day
Much of this stuff can be purchased with real money, but you can also buy items with IP which you earn from playing any match. Wouldn’t it be interesting to link honor and IP? Why wouldn’t Riot allow players to buy items with their honor? I think that’s a huge opportunity to really encourage teamwork. Even if it was just an IP boost from getting positive feedback from other players, I think that could be very powerful. Forgive the hyperbole in the title, honor points are not the greatest thing to happen since ever, but they could be, as Riot has confirmed they are considering allowing in-game rewards in exchange for honor.
If you’ve ever done much multiplayer gaming online you’ll know it’s overrun with people who are too immature to handle anonymity, and go to great efforts to ruin everyone else’s time, mostly for fun, they’re trolls. In League of Legends, the honor system is an anti-troll measure.
The reward system is promoting in-game discipline, because like any school, household, etc, there are going to be children and they need to be conditioned to behave with each other. When the environment is no longer a place, but in some corner of the internet, who is monitoring the interactions? There are always chat filters that can keep players from swearing over chat, but that doesn’t stop them from bullying other players, which I personally think is the bigger problem. So to make their online game a hospitable place, League of Legends incentivized good behavior through the reward system in it’s game.
I think that’s incredibly interesting. One of my biggest struggles I find in evangelizing the art form of video games is finding great examples of how real world lessons can be learned through video games. While ideally we’d like to seek something deeper, basic rule systems for children is a good start in relaying messages through game play mechanics. I think people know this, and it’s why you see so many educational games targeted at children, but not many at adults. This mechanic plants an idea, “if you are nice to others you will be better off in the long run.”
What other kinds of lessons can we recognize in games? What lessons do we get from movies or books? Can video games have rich, deep stories that make us reflect on ourselves?
I think teaching moral lessons for immature audiences is a good start, but how much more possibility is there to expand on that idea? We still have yet to see what can be done with video games, and I for one am looking forward to seeing what’s next.
Side note: for any League of Legends players out there who are interested, I created an Android app called LoLSpec that allows for viewing enemy/team champs and stats during live games. It’s on the Google Play store and only costs $0.99.