User Tools

Site Tools

Ideas for Android Developers

In a conversation it was mentioned how many ideas are there that look very simple and yet not developed. So I thought to jot down mine ones. If you want to realize them don’t leave me out from it.

Fridge Magnets

Entering this in Play Store search you’ll get a handful of unusable abandonware and some letter teaching apps for kids, but the real idea appears to be undiscovered yet. There are, generally, two types of note widgets: typed ones and graphical (handwriting and painting) ones. The best note widget app, FiiNote, falls in both categories. (Note apps that have no widget to show the notes don’t worth mentioning, users will simply forget to check the notebook and the complete idea of notekeeping is broken.)
The fridge magnet is the third category. A well designed fridge app can be a lot faster than either typing or drawing, but it conveys less information, apparently. How should it work? There’s a 1·1 widget on the home screen to touch when we need widgets. Then a page is displayed with a user defined set of selected magnets; it’s very important to save the user for hunting from it, so each magnet should be at the same place always. There can be tabs to display more magnets, as many as the user has, on non-scrolling pages, each one is a screenful. Because scrolling is slower than tapping on the tab needed. When the user taps on a magnet, it appears on the home screen. There should be a button to switch between single magnet mode, when the inventory disappears after adding a magnet, and multiple mode, where it stays onscreen so we can spell words. But of course, we have to see the magnets already added.
When magnets are on the home screen, they can be rearranged freely. No need to implement magnetic forces. Generally, there are three functions to apply on them: moving, deleting and style changing.
The set of magnets shall, obviously, contain letters (of any alphabet, not mere English), digits, punctuation and basic icons like those included in most icon and emoticon sets and real life fridge magnet sets. What IRL magnets are unable to is changing their style even after they were placed. There should be a favorite styles list and a set of options to play with. Letters have a font, size, color and effects like shadow, outline etc., and there are, logically, designer letters that are bitmaps so can’t be altered, but the software knows which bitmap is which letter so can replace them with the corresponding letter of another set.
No doubt if someone creates such a program once they can turn it profitable by selling separate magnet sets. From flags of the world to portraits of famous actors, anything can be turned to magnets and may be appealing for customers. To prevent the program from being forgotten, I recommend the starting kit to include a function to turn any Unicode letter to a magnet, at least in some styles, especially colors.
A fourth function on magnets can be the attachment handling. Each magnet may have its separate attachments: text, images, audio, video, local files, web links. Magnets with attachments can wear either an attachment mark or a thumbnail of the contents.
Actually, I didn’t see any software yet that can add widgets on its own, only launchers. If there’s a system restriction prohibiting it, here are two solutions. 1. Make it a launcher function. The complete fridge magnetting technology can be part of a launcher. 2. Don’t make each letter a separate widget. Create a big, transparent widget used as a canvas, and place magnets on that one. In launchers that allow overlapping widgets, the canvas may cover the entire screen without consuming screen real estate.
But it’s not a rule that the background must be transparent. It’s a good idea to equip the app with a monthly, weekly etc. calendar generator producing images that can appear behind the magnets, or you can put images there, e.g. a map, and the magnets can mark important places.
Finally, a real life fridge may also serve as a whiteboard to draw on. Add that, too. Complete with felt-tip pens, an eraser, a technology to let the user begin drawing as quickly as possible, multipaging and an intelligent backup and restore feature to help when the kids used our important notes as a doodle canvas, it can be the best quick note taking application.
I’m using something like a primitive version of this idea. I’m replacing my home screen icons of documents by letter images created with GraphTexter or by icons found on the net. And I have a FiiNote widget displaying a monthly calendar, but I’m drawing things on it that aren’t date related, too.

Game Board

Ever had several bored kids, bored adults and a very limited set of toys, at the same place, for example, in a hotel room when it was raining? I hadn’t but can imagine it. Foreseeing parents bring some board games with them for longer trips, but that can’t be done always, and needs carrying large boxes. Board game software is more compact, but most of them can play only one game or just a few.
A great advantage of real life, non-digital board game equipment is the lack of any intelligence or algorithm: you decide how do you want to play. A standard chess set, with a 8·8 board and 32 pieces, is eligible for a lot of games. Adding more boards and pieces, you can make possibities endless.
So, let’s imagine a game app that can’t play, doesn’t have algorithms to act as a player in any game, but has equipment for humans lacking real life toys.
Boards: any image can be used, including plain cloth textures (e.g. for dominoes), but it’s a good idea to offer common grids (square, hexagon, triangle) in any dimensions, so, the players may request a square grid 8·8 or 10·20 as they like to, and the app draws it in the colors wanted. Special boards, with marked fields or in unusual shape, can be offered as images. The board should be able to be zoomed, panned and rotated freely, in two ways: 1. independent from the pieces to find a position that fits for the size of pieces best, 2. together with the pieces to find a position that fits the screen best. If the board is large and the screen is small, it’s possible they’ll pan, zoom and rotate it during playing frequently.
3D boards are those where the original toy features not only 3D objects (like King Oil – these ones can simply be flattened or displayed as 3D objects) but there are level differences that count for the game (3D Chess). These boards can be displayed a) as static objects with an appropriate level of transparency, b) as 3D objects, rotating together with the pieces, or c) one level at a time, with paging buttons. Most probably, different boards require different approaches. For 3D Tic-Tac-Toe, it’s enough to draw all levels on a single image in perspective.
Pieces are little images, algorithm generated ones and bitmap ones (or even 3D objects), put on the board. Many games require a preset amount of pieces, sometimes a lot (e.g. Go needs 361 stones), while others need only one, and there’s the possibility for kids to just place anything on the board as their creativity wants to. Therefore, we should have a large inventory of pieces that can be reached by a button, and players can select one or more pieces, numbered (“I need 8 of this and 2 of that”). Placing them all onscreen at the same time could create a mess, so this should happen only if the user wants to. If not, they can put the pieces in a bowl (like Go players do in real life) and the bowls are displayed onscreen. (With multitouch, it’s even possible for several players to select their pieces and put them in bowls at the same time, provided the screen is large enough and the pieces needed are all visible at the same time.)
Special pieces are required sometimes, for example, Reversi needs reversable disks with different colors on either side; Checkers need another disk to be placed on top of the normal checker; Domination aka Focus requires complete towers to build from pieces colored differently. And so on. These features can have flags the users may set: if the Reversi flag is on, and we have two-state pieces, tapping on them will reverse them; if the Tower flag is on, putting a piece on another one will build a tower, and there’s another way (e.g. long tap) to disassemble it, and so on. There can be flags related to all the pieces, like snap-to-grid placement that puts pieces always at the center of squares (for Chess), on the grid points (for Go) or lets them be moved freely.
Bowls that contain the unused pieces can act several ways. For most games, each player has an own bowl, wearing his or her color, but for those games where everybody uses the same pieces there’s only one bowl. For Roulette, there can be bowls for each player’s money and another one for the bank. Bowls can be shrinked to tiny size to let the board be shown better, or even be hidden completely. Or they can be shown as large as each piece (or type of piece) in them can be seen and grabbed individually. For games with different types of pieces, the bowl can be opened, and the required piece taken out, it shrinks backs or disappears again. For games like Go, a simple tap on the board puts a piece, without displaying the bowl (but it’s existing and keeps tally of available pieces).
Dice are needed for many games. They can be of any dimension (4, 6, 100 sides, or even, say, 39 sides that doesn’t exist in real life) and be colored or textured anyhow. Even images can be placed on the sides: to decide who will begin each round, we can take a photo of everybody and put them on a die with as many sides as players. Other random number generators like a roulette wheel can be also created. Of course, several dice can be present in the game: there’s a flag setting that tapping on either one will throw with all of them (for Monopoly) or with that one only (for Yachtzee). Or there may be a leather glass available to throw all dice at once while tapping on a die to throw that one.
Money is required for many games. This can be handled four ways. a) Like in real life: each coin and banknote is a single object, players are moving them around and perform everything manually; in this case, the computer doesn’t know about their value. b) As in case a), but with preset gestures or menu commands meaning “replace this 10 banknote with two 5’s” and similars. c) Money appears as onboard objects and can be handled manually, but with some computer assistance: for example, if Player 1 has five 10’s (in his bowl or selected on the board) and owns 45 to Player 2, the app is told about that, gives 4 of the banknotes and an 5 value to Player 2 and replaces the last 10 banknote with a 5 one. d) No banknotes and coins used, everyone’s wallet appears as a number on a display, and all transactions are performed by the computer. All the four have an advantage, so it’s best to offer all.
Cards in board games are, most frequently, of the kind that everybody may see, so there’s no special trick needed to display them. (For other types of cards, see later.) There are two types of cards: each handled separately (Solitaire) or only one is drawn at random, then tossed away (Monopoly). This can be handled well with a flag that tells what to do with a card after drawing it from the deck: a) show it to everybody, then toss it away, b) put it on the board as a movable object, c) keep it for the player and don’t show it to others.
The most important point in the concept is the total freedom of player action, limited by comfortability only. They can choose from list of presets like Chess or Monopoly, and the computer presents the equipment needed, but they can modify it at any time, or they can just place random objects on a board or an empty screen. It’s a good idea to add a rule book to the game, containing rules for many games, but the computer doesn’t interpret or enforce them. It’s possible to open the inventory, pick an object from a completely different game and put it on the table, or change the aforementioned flags in the middle of the game. It’s also a good idea to add drawing tools to mark important places on the board, or to design a different board during playing. Or to mark pieces, even to repaint them, and they’ll keep the markings until erasing. Unlike the real thing, overdrawn boards and pieces can be totally renewed. And unlike in reality, the board can be replaced with a completely different one, under the pieces without moving them.
Many games like Talisman feature so large boards that needs a lot of zooming and panning to handle. This can be made a bit easier if more devices are present. They can all run the app, laid down side by side, connected by net or Bluetooth and share the board a) in sync, thus forming a larger screen, and if a zoom, rotate or pan happens on either screen the others will update, too, or b) independently, so each player can see a separate area of his or her interest, but the events happening on the board are common. Like the little windows in the computer game Transport Tycoon.
Of course, connecting more devices and sharing the game can be useful when the board isn’t so large, too. The independent connection as I mentioned it will perfectly serve users being at different countries, too.
And this leads us to the realization of card games: we’ve already added playing cards (poker cards, Swiss cards, tarocchi etc.) to the inventory. Nothing more is needed than connecting two or more devices and we can play poker even with no cards and money.
No doubt this can be turned profitable, too, by selling custom boards, pieces etc., even complete sets for certain games, in a variety of styles.
I wrote a little Windows program doing this, in a very basic way, for a book of mine some 12 years ago.

Transparent Clouds

There are a lot of cloud services, and different apps support different ones. It’s time to bring them into a common denominator.
I believe users would like an app that connects to their clouds (including ftp and Samba servers) and maps them to folders into the normal folder structure. For example, /sdcard/myphotos may be a link to a cloud drive, who knows where – the user creates the link and the app does everything else.
There are apps to sync folders with cloud servers, but no app yet that supports them all, I mean as many as possible. Plugins to support additional servers might be sold separately. The app could help to buy additional storage on clouds and housekeeping. But what is does is more than simply syncing: files currently being on the cloud can be reached by any app as if they were on the own storage of the device.

Tally Counter

Yes, there are many of the sort, but let’s invent an extended one. A normal tally counter displays a number and a big button to touch; each time you touch it, the number is increased by one. Some apps feature a decrement button, too, and can be used as both fullscreen and a widget.
Now, let’s add a user defined increment value, even several buttons to increase or decrease the value with different amounts. Then let the user set a predefined goal number and show both the current number and the percentage of the goal being reached. And add several counters, independent ones (each with its own buttons) and connected ones (the same buttons modify several values at the same time). Independent values are useful when counting different things; dependent values can be used when you count something both in sections and cumulative. Buttons with different values can be useful when counting things like money.
Then, let’s add a stopwatch to show the time elapsed and takes a lap time each time the counter is increased. When finished or paused, it displays the average, minimum and maximum time between each count, and if there is a goal yet unreached, it extrapolates how much time will it need to reach it.
I’m using tools like this on PC already, developed by myself, but a different one each time since they’re able to handle only what’s needed for the current task. For example, my book scanning script displays the number of the images scanned, the page counter and a percentage of the book done, calculated by knowing its length – and after writing the ideas above, I’ve added a timer working exactly as described here.