tag:blogger.com,1999:blog-23146567346327658362024-02-18T22:11:19.801-06:00KTK.BZAndroid ApplicationsUnknownnoreply@blogger.comBlogger13125tag:blogger.com,1999:blog-2314656734632765836.post-64399135769195799442010-09-16T03:19:00.008-05:002010-09-16T03:40:22.143-05:00Preschooler Update: New Photos!<i>(After a long hiatus brought on by a new baby, we're finally back!)</i><br /><br />Version 1.6 of <a href="http://www.ktk.bz/2009/02/hello-world.html">Preschooler</a> is now available on the Android Market.<br /><br />This version adds <b>20 new animal photos</b>!<br /><br />Other changes in this version:<br /><ul><br /><li><span style="font-weight: bold;">Install to SD:</span> On phones that support it, the game now installs onto your SD card by default.</li><br /><li><span style="font-weight: bold;">More devices:</span > New support for smaller and larger screens, and for phones both with and without built-in TTS support.</li><br /><li><span style="font-weight: bold;">Say "as in":</span> New option to say the animal name along with the letter ("B as in Bear", for example) which can help make it easier to understand.</li><br /><li><span style="font-weight: bold;">Lots of bug fixes: </span> Better pronunciation of certain words, more accurate tracking of touch location when phone is rotated, several performance improvements.</li><br /></ul>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2314656734632765836.post-58217298753948883362010-02-22T22:33:00.005-06:002010-02-22T22:37:07.622-06:00Thanks a Million!<p></p><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PK_DsXk673oM1dDLfJQieO-QyYWQARK1ijaAZ1LkcIiO8Z8POtoJkwxoGayAkxTNbwMxXexmXHhXXiWyQaGv0ewj4wzypVsYEA_NfS7nkqdfeuJfoTUxaQRwH3eWHXf5vlHMllJQsPM_/s1600-h/download_heading.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 360px; height: 131px; border:0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PK_DsXk673oM1dDLfJQieO-QyYWQARK1ijaAZ1LkcIiO8Z8POtoJkwxoGayAkxTNbwMxXexmXHhXXiWyQaGv0ewj4wzypVsYEA_NfS7nkqdfeuJfoTUxaQRwH3eWHXf5vlHMllJQsPM_/s400/download_heading.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441292658841859858" /></a><br /><br />Today <a href="http://www.ktk.bz/search/label/bubble">Bubble</a> passed ONE MILLION downloads!!<br /><br />Thank you for all the great reviews and feedback!Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2314656734632765836.post-76050525147922516422009-11-25T19:49:00.004-06:002009-11-25T19:54:45.111-06:00Bubble Update: German & Italian, QVGAVersion 1.8 of <a href="http://www.ktk.bz/search/label/bubble">Bubble</a> is now available for free on the Android Market.<br /><br />This update includes support for QVGA displays and adds German and Italian translations.<br /><br />Special thanks to Ilja Schumacher and Diego Pierotto for volunteering to translate Bubble!Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2314656734632765836.post-70457236047118175632009-07-04T08:00:00.007-05:002009-07-07T19:23:00.859-05:00Whitehouse.gov Released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVDTqMPDYpt8z6IvESgBi8nOK5oYY7D8CnXBAZ4iiO2iTfJ8vTDU5h1gdyGI9XEp3y2AoY1fx0_pyUWkXZPdDnO8K-vvPtWdtSGOga3oNiLooXiCf8SUZqTA6rPzB8vpGMBZhhGPJRI0jr/s1600-h/main.png"><img style="cursor: pointer; width: 214px; height: 320px; display: block; float: right; margin:12px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVDTqMPDYpt8z6IvESgBi8nOK5oYY7D8CnXBAZ4iiO2iTfJ8vTDU5h1gdyGI9XEp3y2AoY1fx0_pyUWkXZPdDnO8K-vvPtWdtSGOga3oNiLooXiCf8SUZqTA6rPzB8vpGMBZhhGPJRI0jr/s320/main.png" alt="" id="BLOGGER_PHOTO_ID_5355844169891331282" border="0" /></a><br /><br />Whitehouse.gov is an unofficial portal to the White House.<br /><br />It brings together content from the White House blog and its photo galleries, the official YouTube channel, and the official Flickr photostream, as well as news articles posted to Recovery.gov.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">View and Share:</span><br /></span>The app includes built-in viewers for all of its content, but you can also open the full web page of any item in the default browser. It also includes an easy way to share the link to any item with others via email, Twitter, etc.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">Notifications:</span><br /></span>Whitehouse.gov can notify you whenever new content is posted on a schedule that you choose.<br /><br /><span style="font-weight: bold;font-size:130%;" >Screenshots:</span><br /><br /><div style="text-align:center;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmFaRSOTzrCR_oHIM-D6JbkzipO3Wz6wch32Y73y5xXLhN8jPzWrIhgAwnGJxF-_FAsBEbwPZJlhlLaYXg6QKP-nVysb90qvbfg0NReKxANjyuvq0XtoBGBVX28mCUKhSgkgbshhDQ4cf/s1600-h/photos.png"><img style="cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmFaRSOTzrCR_oHIM-D6JbkzipO3Wz6wch32Y73y5xXLhN8jPzWrIhgAwnGJxF-_FAsBEbwPZJlhlLaYXg6QKP-nVysb90qvbfg0NReKxANjyuvq0XtoBGBVX28mCUKhSgkgbshhDQ4cf/s320/photos.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355845146221154514" /></a><br /><span style="font-style: italic;font-size:85%;" >Photo galleries</span><br /><br /><br/><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbUI4ZWkPul8WTSEapH7SWeZOw6SQM_Yigjmebd12zjJSaoEVwuzlmr9S6TPpZ6mQhExMyZIN5EuAXYCkuCCNonh17Q2IPltLMxNHE6wlWEcB4E6GQRGS46ad-q3NlHAJZk0qFV5w_nwAm/s1600-h/gallery.png"><img style="cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbUI4ZWkPul8WTSEapH7SWeZOw6SQM_Yigjmebd12zjJSaoEVwuzlmr9S6TPpZ6mQhExMyZIN5EuAXYCkuCCNonh17Q2IPltLMxNHE6wlWEcB4E6GQRGS46ad-q3NlHAJZk0qFV5w_nwAm/s320/gallery.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355846111349763778" /></a><br /><span style="font-style: italic;font-size:85%;" >Viewing a photo gallery</span><br /><br /><br/><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwcT2zrc3hxCDtF13GVHpCjlhmOzpn00fCr2UOeBRosMLu_6-M4CpcHJ5v1eReRsQhyj9GcTQJm8DNiR25kHBaK5uotbxn5wqiVFpVNc9xVKWmLzc2VQ69YEuujWVZ60jCBLq_EM72mnr1/s1600-h/videos.png"><img style="cursor<br />pointer; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwcT2zrc3hxCDtF13GVHpCjlhmOzpn00fCr2UOeBRosMLu_6-M4CpcHJ5v1eReRsQhyj9GcTQJm8DNiR25kHBaK5uotbxn5wqiVFpVNc9xVKWmLzc2VQ69YEuujWVZ60jCBLq_EM72mnr1/s320/videos.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355846388867845490" /></a><br /><span style="font-style: italic;font-size:85%;" >Videos</span><br /><br /><br/><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7rN0Vs6wzaF1LYb67ysL5kyUk0WjY1ErZzNc2clhz8EmK0zPB1K9BiCN4Z-H3TxZqyw8XAZOMZqGwWIH-VhXJa-ADefdLWHGaY-v25ddWPcdv5acJvMwIzZ3InLkPVAj_RkksgLAtjuAc/s1600-h/video.png"><img style="cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7rN0Vs6wzaF1LYb67ysL5kyUk0WjY1ErZzNc2clhz8EmK0zPB1K9BiCN4Z-H3TxZqyw8XAZOMZqGwWIH-VhXJa-ADefdLWHGaY-v25ddWPcdv5acJvMwIzZ3InLkPVAj_RkksgLAtjuAc/s320/video.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355849186344538722" /></a><br /><span style="font-style: italic;font-size:85%;" >Watching a video</span><br /><br /><br/><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqPYStWmihpWb8Tjri5m6G-DOd-FVYPiJjdOo9LRgfNtLofwCxPZLYTVSH75SLu0_zV-oO3dF_X3OQ-oJ2zAP0wz42hIAE01k32f411PXt_J_G9bs8o3KBSAzFs2qxgTper2dVPsvw5VU5/s1600-h/settings.png"><img style="cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqPYStWmihpWb8Tjri5m6G-DOd-FVYPiJjdOo9LRgfNtLofwCxPZLYTVSH75SLu0_zV-oO3dF_X3OQ-oJ2zAP0wz42hIAE01k32f411PXt_J_G9bs8o3KBSAzFs2qxgTper2dVPsvw5VU5/s320/settings.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355846496901459682" /></a><br /><span style="font-style: italic;font-size:85%;" >Notification settings</span><br /></div><br /><br /><br /><span style="font-weight: bold;font-size:130%;" >Availability:</span><br /><br />Whitehouse.gov is available for free on the Android Market now.<br /><br /><div style="border: 1px solid gray; font-size: 85%; padding-top: 8px; background-color: rgb(230, 230, 230);"><table style="color: rgb(102, 102, 102); width: 50%;" border="0"><tbody><tr><td style="font-style: italic;" align="right">Name: </td><td style="font-weight: bold;">Whitehouse.gov<td></tr><tr><td style="font-style: italic;" align="right">Category: </td><td style="font-weight: bold;">Applications: News & Weather</td></tr><tr><td style="font-style: italic;" align="right">Price: </td><td style="font-weight: bold;">Free</td></tr></tbody></table></div><br /><br /><a style="border: 0pt none ;" title="Go to Whitehouse.gov in the Android Market" href="market://search?q=pname:bz.ktk.whitehouse"><img style="margin: 10px; float: left;" src="http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=market://search?q=pname:bz.ktk.whitehouse" border="0" /></a><br /><br /><i>Scan this with the <b>Barcode Scanner</b> app on your Android phone and it will take you directly to Whitehouse.gov on the Market.</i>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-68369816619633486992009-06-14T01:24:00.003-05:002009-06-14T01:40:27.448-05:00Bubble Update: Show Pitch, Tap to LockVersion 1.7 of <a href="http://www.ktk.bz/search/label/bubble">Bubble</a> is now available for free on the Android Market.<br /><br />This update includes the following changes:<br /><ul><li>NEW: option to show pitch as inches of rise per foot of run.</li><li>NEW: option to lock the angle when you tap the screen.<br /></li><li>Faster update.</li><li>Less jitter, especially when beeping or buzzing.</li></ul>Unknownnoreply@blogger.com19tag:blogger.com,1999:blog-2314656734632765836.post-89103153346250276982009-05-10T18:28:00.003-05:002009-05-10T18:32:48.968-05:00Another Milestone<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89WEYqYLBkTEaDXoUjF9EPkxYM5zlphulXKJcBQYT-f2kuzVEXm-QhuLW6FVzGu2fRM7rWulpVXSLKC-oWUPFuGeyLKIOcn6G0cYjYjjX0LEra5tofWFcXrsq0VLWWHSAcrjx-KNwqtOk/s1600-h/250000.jpg"><img style="cursor:pointer; cursor:hand;width: 364px; height: 161px; border:0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89WEYqYLBkTEaDXoUjF9EPkxYM5zlphulXKJcBQYT-f2kuzVEXm-QhuLW6FVzGu2fRM7rWulpVXSLKC-oWUPFuGeyLKIOcn6G0cYjYjjX0LEra5tofWFcXrsq0VLWWHSAcrjx-KNwqtOk/s400/250000.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5334341591100221090" /></a><br /><br /><a href="http://www.ktk.bz/search/label/bubble">Bubble</a> now passed a quarter of a million downloads!Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2314656734632765836.post-8101992052617034102009-03-29T11:34:00.004-05:002009-03-29T11:38:39.782-05:00Milestone for Bubble<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZE5U7RJ217ARg_AKLLE0ZRg3i581_RQDRlxHOjDMVA6eb83GenLLnJSx30VP88LlW7YM_AO9kBJF6xlAY7DQVIhdB-BGn1PF_8IGr3h8_mR8t2gAu72a6ENsdQL75736g0P64td2Ba5ly/s1600-h/200000.jpg"><img style="border:none; cursor:pointer; cursor:hand;width: 364px; height: 161px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZE5U7RJ217ARg_AKLLE0ZRg3i581_RQDRlxHOjDMVA6eb83GenLLnJSx30VP88LlW7YM_AO9kBJF6xlAY7DQVIhdB-BGn1PF_8IGr3h8_mR8t2gAu72a6ENsdQL75736g0P64td2Ba5ly/s400/200000.jpg" border="0" alt="200,000 Downloads!" id="BLOGGER_PHOTO_ID_5318649331558525330" /></a><br /><br /><a href="http://www.ktk.bz/search/label/bubble">Bubble</a> just passed 200,000 downloads on the Android Market!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-35770735600510493002009-03-14T23:04:00.011-05:002009-03-15T05:20:37.717-05:00Preschooler Update: Difficulty Levels<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTqr1DBsD69LxnHyxesBCaqenhYOYRMd7K0GyCKynmKhzx7K_vBDmJ7uWJf8944iiZihRfVHCBxmMvyrXjRJscRdUu7919JLStWDgP3rp3INIxvdr9GhoCkOPe6e8jp6nu_27Mdg08Q1dj/s1600-h/twentyfive.png"><img style="cursor: pointer; width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTqr1DBsD69LxnHyxesBCaqenhYOYRMd7K0GyCKynmKhzx7K_vBDmJ7uWJf8944iiZihRfVHCBxmMvyrXjRJscRdUu7919JLStWDgP3rp3INIxvdr9GhoCkOPe6e8jp6nu_27Mdg08Q1dj/s320/twentyfive.png" alt="" id="BLOGGER_PHOTO_ID_5313269999158259922" border="0" /></a><br /><br />Version 1.5 of <a href="http://www.ktk.bz/2009/02/hello-world.html">Preschooler</a> is now available on the Android Market.<br /><br />New in this version:<br /><ul><li><span style="font-weight: bold;">Five Difficulty Levels:</span> You can now increase the difficulty level as your child's letter recognition and hand-eye coordination improve. Show 2, 4, 9, 16, or 25 letters on screen all at once.<br /></li><li><span style="font-weight: bold;">Stronger Button Lock:</span> If your child is able to double-click the buttons and get by the basic button lock, you can now disable them entirely and require the 1, 0, and Space keys on the keyboard to be pressed simultaneously in order to exit the game.<br /></li><li><span style="font-weight: bold;">Repeated Prompts:</span> Turn on this option and the game will keep saying the right answer until it is chosen.<br /></li><li><span style="font-weight: bold;">Bug Fixes: </span>Voice should no longer stop working after backing out of Settings, the "Home" button lock should now work more reliably.</li></ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-63707747809900553862009-03-10T23:05:00.009-05:002009-03-11T00:51:05.550-05:00Bubble UpdatedA new version of <a href="http://www.ktk.bz/2009/02/bubble.html">Bubble</a> is now available for free on the Android Market.<br /><br />This update (version 1.6.3) fixes a number of problems with the calibration feature. Any previous calibrations you have made will be reset by this update, so you will have to calibrate it again after installing.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2314656734632765836.post-25500204452487747582009-03-01T22:08:00.009-06:002009-03-01T23:00:24.480-06:00Preschooler Update: Button LockVersion 1.2 of <a href="http://www.ktk.bz/2009/02/hello-world.html">Preschooler</a> is now available on the Android Market.<br /><div><br /></div><div>New in version 1.2:</div><div><ul><li><b>Button Lock:</b> When this feature is enabled the phone's front buttons are disabled while the game is running, responding only to double-clicks. Double-click on the Back button to leave the game.</li><li><b>Game Save:</b> The game now automatically resumes where you left off last time.</li><li><b>Keyboard Fix:</b> The game is now much better at handling it when the keyboard is opened or closed.</li></ul></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-59517485278490218892009-02-25T22:44:00.005-06:002009-03-01T23:00:36.550-06:00Preschooler UpdatedA minor update to <a href="http://www.ktk.bz/2009/02/hello-world.html">Preschooler</a> is now available on the Android Market.<br /><br />Changes in Preschooler v1.0.2:<br /><ul><li>Now prevents the same side (left vs. right) from being chosen more than 3 times in a row.</li><li>Now less likely to change orientation unexpectedly, especially when the phone is held flat.</li><li>Improved touch feedback.</li><li>Release notes now available in the app's Help.<br /></li></ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-40456893117010407942009-02-19T00:00:00.015-06:002009-03-15T05:16:06.360-05:00Preschooler Released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzGG0zmhd6GKuSjNw62zBWueL2FpPntRLKqi1i63SIZAF-xO6clCPLjbzC6cCU4KlHD6cdK7sWBi_DI6KMGqb0otu743CZ839frnPvTAEBJCEtWn_APIkqmgopkGi6nGAqhzij2_FOiNAP/s1600-h/splash.png"><img style="margin: 12px; cursor: pointer; width: 214px; height: 320px; display: block; float: right;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzGG0zmhd6GKuSjNw62zBWueL2FpPntRLKqi1i63SIZAF-xO6clCPLjbzC6cCU4KlHD6cdK7sWBi_DI6KMGqb0otu743CZ839frnPvTAEBJCEtWn_APIkqmgopkGi6nGAqhzij2_FOiNAP/s320/splash.png" alt="Screenshot: Preschooler splash screen" id="BLOGGER_PHOTO_ID_5304386673358256658" border="0" /></a><br />Preschooler is a talking, educational flashcard game for Android that helps you teach your child the letters of the alphabet. It features text-to-speech and includes 26 photographs (mainly of animals) to represent each letter of the alphabet.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">Gameplay:</span></span><span style="font-weight: bold;"><br /><br /></span>Two randomly-selected letters appear on the screen and the name of one of them is spoken out loud. Touch the correct letter and you will see a picture of an animal or object whose name begins with that letter. Touch the wrong one and you will hear that letter's name spoken.<br /><br />Play the game together with your child, saying the letters and tapping the correct answers for them at first and encouraging them to do it themselves as they learn.<br /><br />Click the trackball to make it say the current letter again. Type on the keyboard to jump directly to a letter and see its photo.<br /><br />Designed to be toddler-friendly, the game works with the phone held in any direction. Hold it sideways — even upside down — and it will always spin around to face the right way.<br /><br />Preschooler also uses visual and tactile feedback to help your child understand when and where they've touched the screen.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">Requirements:</span><br /></span><br />Preschooler uses Android's Text-to-Speech (TTS) library to provide all of its speech. This library is available for free from the Android Marketplace. If you don't already have it installed, Preschooler will help you download it the first time you start the game.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">Settings:</span><br /><br /></span>Preschooler has lots of configurable settings:<ul style="line-height: 1.4em;"><li><span style="font-weight: bold;">Five Difficulty Levels (NEW):</span> Choose between 2, 4, 9, 16, or 25 letters visible at a time.</li><li><span style="font-weight: bold;">Button Lock (NEW):</span> Disables the front buttons (Call, Home, Back, and Menu).</li><li><span style="font-weight: bold;">Voice selection:</span> male or female voice</li><li><span style="font-weight: bold;">Letter mode:</span> uppercase or lowercase</li><li><span style="font-weight: bold;">Background color:</span> white or black<br /></li><li><span style="font-weight: bold;">Volume override:</span> allows you turn up the volume in the game without permanently changing your phone's volume.</li><li><span style="font-weight: bold;">Vibrate on Touch:</span> option to give tactile feedback when the screen is touched.<br /></li><li><span style="font-weight: bold;">Speak the Answer:</span> option to speak the name of the object in the picture.<br /></li><li><span style="font-weight: bold;">Play a Chime:</span> option to play a sound as a reward when the right answer is chosen.</li></ul><br /><span style="font-weight: bold;font-size:130%;">Screenshots:</span><br /><br /><div style="text-align: center;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO79HCDXrtDediO3rREBS_SSDndXzSk6DVbWDoaDuTXkZ1-K3hnEThjmrmeWLU86oCFr2wNJ_I8riG08CJHC7tSm9VjlXQYPp8yYFedIOhdYv_VYfpsGsGvxAhbwS4uANRO9oUVGaFB8xO/s1600-h/letters.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO79HCDXrtDediO3rREBS_SSDndXzSk6DVbWDoaDuTXkZ1-K3hnEThjmrmeWLU86oCFr2wNJ_I8riG08CJHC7tSm9VjlXQYPp8yYFedIOhdYv_VYfpsGsGvxAhbwS4uANRO9oUVGaFB8xO/s320/letters.png" alt="Screenshot: letters" id="BLOGGER_PHOTO_ID_5304738336697099458" border="0" /></a><br /><span style="font-style: italic;font-size:85%;">Choosing a letter</span><br /></div><br /><br /><div style="text-align: center;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguVM_QzXdVTruB4tl41oIwy0Yge3Ii4G7QN1KW0td5vnOUzLesfSl7Jdhs_me98ltyA5WG6801YKFmUcR73Sr4EFmRwzE-p9Bl21Zh-xI4gucBbyma1yAvgCbjJlnoESj6vou5HZgzrkUT/s1600-h/feedback.png"><img style="cursor: pointer; width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguVM_QzXdVTruB4tl41oIwy0Yge3Ii4G7QN1KW0td5vnOUzLesfSl7Jdhs_me98ltyA5WG6801YKFmUcR73Sr4EFmRwzE-p9Bl21Zh-xI4gucBbyma1yAvgCbjJlnoESj6vou5HZgzrkUT/s320/feedback.png" alt="Screenshot: touch feedback" id="BLOGGER_PHOTO_ID_5304386675513291346" border="0" /></a><br /><span style="font-style: italic;font-size:85%;">Visual touchscreen feedback</span><br /></div><br /><br /><div style="text-align: center;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYo3zxaxRSrcXrZfUIEaoI2DBOsEPJxBlen7xb1Nsmhy_iTOsZYKv-XoX3qUfULhqq2GMtlc89vXPsjBIS2ZdGvxJQZWXg50We9b6QZvMDdfFq6umQucpNs-DkkAsb9-AarAHRhTXSGvFW/s1600-h/jellyfish.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYo3zxaxRSrcXrZfUIEaoI2DBOsEPJxBlen7xb1Nsmhy_iTOsZYKv-XoX3qUfULhqq2GMtlc89vXPsjBIS2ZdGvxJQZWXg50We9b6QZvMDdfFq6umQucpNs-DkkAsb9-AarAHRhTXSGvFW/s320/jellyfish.png" alt="Screenshot: photo of jellyfish" id="BLOGGER_PHOTO_ID_5303260647038660338" border="0" /></a><br /><span style="font-style: italic;font-size:85%;">After picking the right answer</span><br /></div><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8_T3k-wrje5G8tEcH1yH8adXkgU4YznjYad9nIkT4esRgE5TMITPWzuiKxVg0AxhnAp5pXP7q5C3kM41ZBUK2kPd97FUyiJskFxBjZQMlEJ2tHZpOCRn_f3DCJa4ClkC3fZ2tjvGaxZIN/s1600-h/settings.png"><img style="cursor: pointer; width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8_T3k-wrje5G8tEcH1yH8adXkgU4YznjYad9nIkT4esRgE5TMITPWzuiKxVg0AxhnAp5pXP7q5C3kM41ZBUK2kPd97FUyiJskFxBjZQMlEJ2tHZpOCRn_f3DCJa4ClkC3fZ2tjvGaxZIN/s320/settings.png" alt="Screenshot: settings panel" id="BLOGGER_PHOTO_ID_5304386674535065618" border="0" /></a><br /><span style="font-style: italic;font-size:85%;">Settings</span><br /></div><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJyJWpIZHO7Ix4dl75ZHUeMGyEz57CM34CBrd1jWE7uTDakQGjHvFMwFoMebh2HYWKWlAtrJ006pZdzyKu4LSw44OZviX28_vqTx1IR1dadMRcYAQ0BrhNO_RsPSTzMXfeUI2DWdgwW5OU/s1600-h/credits.png"><img style="cursor: pointer; width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJyJWpIZHO7Ix4dl75ZHUeMGyEz57CM34CBrd1jWE7uTDakQGjHvFMwFoMebh2HYWKWlAtrJ006pZdzyKu4LSw44OZviX28_vqTx1IR1dadMRcYAQ0BrhNO_RsPSTzMXfeUI2DWdgwW5OU/s320/credits.png" alt="Screenshot: photo credits" id="BLOGGER_PHOTO_ID_5303237987553794978" border="0" /></a><br /><span style="font-style: italic;font-size:85%;">Photo credits</span><br /></div><br /><br /><span style="font-weight: bold;font-size:130%;">Availability:</span><br /><br />Preschooler is available for purchase on the Android Market now.<br /><br /><div style="border: 1px solid gray; font-size: 85%; padding-top: 8px; background-color: rgb(230, 230, 230);"><table style="color: rgb(102, 102, 102); width: 50%;" border="0"><tbody><tr><td style="font-style: italic;" align="right">Name: </td><td style="font-weight: bold;">Preschooler</td></tr><tr><td style="font-style: italic;" align="right">Category: </td><td style="font-weight: bold;">Games: Brain & Puzzle</td></tr><tr><td style="font-style: italic;" align="right">Price: </td><td style="font-weight: bold;">99 cents</td></tr></tbody></table></div><br /><br /><a style="border: 0pt none ;" title="Go to Preschooler in the Android Market" href="market://search?q=pname:bz.ktk.preschooler"><img style="margin: 10px; float: left;" src="http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=market://search?q=pname:bz.ktk.preschooler" border="0"></a><br><br><i>Scan this with the <b>Barcode Scanner</b> app on your Android phone and it will take you directly to Preschooler on the Market.</i>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2314656734632765836.post-37163118386625851882009-02-18T23:24:00.014-06:002009-03-13T22:07:23.751-05:00Bubble<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5uhUdgxRacGg0QOsLuGkUFtsy2IbuyaCAs5SUdBSHmTNMz5hWY3rqOWXYJfaV3SRva6A7_Owtwii2TCFe7-Ie2GRmwzH92gHsLzS9Nzb3CoczXIpcpyz9qGwYPGHJ33GcqtxIZYZ_JKQe/s1600-h/angle.png"><img style="margin: 10px; cursor: pointer; float: right; width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5uhUdgxRacGg0QOsLuGkUFtsy2IbuyaCAs5SUdBSHmTNMz5hWY3rqOWXYJfaV3SRva6A7_Owtwii2TCFe7-Ie2GRmwzH92gHsLzS9Nzb3CoczXIpcpyz9qGwYPGHJ33GcqtxIZYZ_JKQe/s320/angle.png" alt="" id="BLOGGER_PHOTO_ID_5307316366441195122" border="0" /></a><br />Bubble is a free virtual bubble level for the Android platform.<br /><br />Hold any of your phone's four sides against a vertical or horizontal object to test it for plumb/level, or lay it down on a flat surface to see a 360° level. Bubble automatically switches its orientation based on how you hold your phone. It measures angles up to 60°, accurate to within about 1 degree.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8V2Lem_6llrmKxa69AejrHI5vDVo3p2NPxmGfXK-iQ7y8bkZNRUt0KZ89ZELUZc0f5LoPZ6p7DPyjddxXvheKvNqLTLzsZrTHS-IKwO2XAru6ejN9NxnIKReuqbpuhcwXF8Z410Vp-h23/s1600-h/angle_flat.png"><img style="margin: 10px; cursor: pointer; float: left; width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8V2Lem_6llrmKxa69AejrHI5vDVo3p2NPxmGfXK-iQ7y8bkZNRUt0KZ89ZELUZc0f5LoPZ6p7DPyjddxXvheKvNqLTLzsZrTHS-IKwO2XAru6ejN9NxnIKReuqbpuhcwXF8Z410Vp-h23/s320/angle_flat.png" alt="" id="BLOGGER_PHOTO_ID_5307316363657082898" border="0" /></a><br /><br />Use it to hang a poster, level a table, straighten a picture, check a wall for plumb, setup a tripod. Wherever you might need it, you can now have an accurate level with you.<br /><br />Bubble can also do things that a traditional level can't do. If you need to hold it in an awkward position where you can't see the screen, turn on the beeper or the vibrate mode and you'll know when it's level. Or turn on voice mode and it will speak the angle to you.<br /><br /><div style="clear: both;"></div><br /><br /><span style="font-weight: bold;font-size:130%;" >Settings:</span><br /><ul><li><span class="Apple-style-span" style="font-weight: bold;">Show Angle: </span>Displays the numeric value of the angle. If the phone is held flat then two angles are shown, one for the horizontal value and one for the vertical.<br /></li><li><span class="Apple-style-span" style="font-weight: bold;">Enable Voice: </span>Speaks the angle out loud using the Text-to-Speech library, also available for free on the Android Market. (Not available when in 360° level mode.)</li><li><span class="Apple-style-span" style="font-weight: bold;">Enable Beep/Buzzer/Light: </span>All of these can be used to indicate when the phone is exactly level.</li><li><span class="Apple-style-span" style="font-weight: bold;">Calibration: </span>Independent calibration for each side of the phone.</li></ul><br /><br /><span style="font-weight: bold;font-size:130%;" >Calibration:</span><br /><br />Every phone is slightly different. To compensate for this, Bubble can calibrate each side of the phone independently. Hold your phone up against a real bubble level, tip them together so they are both level, and choose Menu> Calibrate. Hold still for a moment and that side of the phone will become calibrated and read zero degrees.<br /><br />Calibration can be reset to its defaults in the Settings menu.<br /><br /><div style="border: 1px solid orange; padding-left: 2em; padding-right: 2em; padding-bottom: 2em; background-color: rgb(255, 255, 230);font-size:85%;"><br /><span style="font-weight: bold;font-size:130%;" >Accelerometer Problems</span><br /><br />Bubble uses your phone's accelerometer to determine the current angle. Dropping your phone can cause its accelerometer to malfunction, suddenly becoming extremely inaccurate or even stuck in one position. (I had this happen to me after I dropped my phone on pavement.) Luckily this does not necessarily mean your accelerometer is permanently damaged. A factory reset was able to correct this problem for me and for a number of other people who contacted me with similar problems.<br /><br />If your angle is off by a large amount (mine was off by about 30 degrees) or stuck in one position with little or no change in value no matter how you hold it, your accelerometer is probably malfunctioning. Try testing other apps that use your phone's orientation, like Amazed, Wikitude, or Google Street View with compass mode enabled. If you find similar problems with other apps, you should definitely try performing a factory reset on your phone to correct the problem. T-Mobile support will walk you through this process.<br /></div><br /><br /><span style="font-weight: bold;font-size:130%;" >Calibration API:</span><br /><br />If you are authoring an Android app that needs to know the device's exact orientation, you can use the calibration values mesaured by Bubble rather than having to build a similar calibration feature yourself.<br /><br />Bubble uses a content provider to share its calibration values with other apps. It provides a single result set containing six values: pitch offsets for the left and right edges, roll offsets for the top and bottom edges, and both a roll and a pitch offset for the back of the device.<br /><br /><b>Sample Code:</b><br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px; font-size: 110%; background-color: rgb(245, 245, 245);"><code></code><pre>Uri CONTENT_URI = Uri.parse(<br /><i style="color: rgb(153, 0, 0);">"content://bz.ktk.bubble.orientationcalibrationprovider"</i> );<br /><br />Cursor cursor = managedQuery( CONTENT_URI, null, null, null, null );<br /><br />if ( cursor == null )<br />return;<br /><br />cursor.moveToFirst();<br /><br /><i style="color: rgb(0, 153, 0);">// Use these when the device is lying flat:</i><br />int basePitch = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"base_pitch_delta"</i> );<br />int baseRoll = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"base_roll_delta"</i> );<br /><br /><i style="color: rgb(0, 153, 0);">// Use these when the device is on an edge:</i><br />int left = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"left_pitch_delta"</i> );<br />int right = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"right_pitch_delta"</i> );<br />int top = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"top_roll_delta"</i> );<br />int bottom = cursor.getColumnIndex( <i style="color: rgb(153, 0, 0);">"bottom_roll_delta"</i> );<br /><br /><i style="color: rgb(0, 153, 0);">// Finally, apply these offsets to the reported angles:</i><br />if ( on_back ) {<br />pitch += cursor.getFloat( basePitch );<br />roll += cursor.getFloat( baseRoll );<br />} else if ( on_left_edge ) {<br />pitch += cursor.getFloat( left );<br />} else if ( on_right_edge ) {<br />pitch += cursor.getFloat( right );<br />} else if ( on_bottom_edge ) {<br />roll += cursor.getFloat( bottom );<br />} else if ( on_top_edge ) {<br />roll += cursor.getFloat( top );<br />}<br /></pre></div><br /><br /><span style="font-weight: bold;font-size:130%;" >Availability:</span><br /><br />Bubble is available for free on the Android Market.<br /><br /><div style="border: 1px solid gray; font-size: 85%; padding-top: 8px; background-color: rgb(230, 230, 230);"><table style="color: rgb(102, 102, 102); width: 50%;" border="0"><tbody><tr><td style="font-style: italic;" align="right">Name: </td><td style="font-weight: bold;" >Bubble</td></tr><tr><td style="font-style: italic;" align="right">Category: </td><td style="font-weight: bold;">Applications: Tools</td></tr><tr><td style="font-style: italic;" align="right">Price: </td><td style="font-weight: bold;">Free</td></tr></tbody></table></div><br /><br /><a style="border:0" title="Go to Bubble in the Android Market" href="market://search?q=pname:bz.ktk.bubble"><img style="float:left;margin:10px;" border="0" src="http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=market://search?q=pname:bz.ktk.bubble"></a><br /><br /><i>Scan this with the <b>Barcode Scanner</b> app on your Android phone and it will take you directly to Bubble on the Market.</i><br /><br /><!--<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0KpjKpwdeg0RDRmaCEYM3NMWDgJHXMga2-oDa3w4dwOVSkdGfX31UZtsw_gMdC7SiU_birmGq1fsae7wuNZHx0qpalcSlA3cYuyWh16HsNpWKTRPpE0t6FbN7Ep7Gt_ax0qeeu3geQ9p/s1600-h/flat.png"><img style="cursor:pointer; float:left; margin:10px; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0KpjKpwdeg0RDRmaCEYM3NMWDgJHXMga2-oDa3w4dwOVSkdGfX31UZtsw_gMdC7SiU_birmGq1fsae7wuNZHx0qpalcSlA3cYuyWh16HsNpWKTRPpE0t6FbN7Ep7Gt_ax0qeeu3geQ9p/s320/flat.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5307316364880912674" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3X-l3nMun0SVbda-xo2qG5KngTM8BJB4kryq3JdssG59gLHX2qDZ98KOMYCREpQTDmRMb_m-TVCMdKw-k0ouV9vdk7_vhQex1dqWC9NvRXbs2ha_N-aNXacVT7OUk0IigXNrK5najwGIN/s1600-h/settings.png"><img style="cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3X-l3nMun0SVbda-xo2qG5KngTM8BJB4kryq3JdssG59gLHX2qDZ98KOMYCREpQTDmRMb_m-TVCMdKw-k0ouV9vdk7_vhQex1dqWC9NvRXbs2ha_N-aNXacVT7OUk0IigXNrK5najwGIN/s320/settings.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5307316368728207010" /></a> <br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYxpqDHmjnQgj4YQ2PJ0uJQPgqw7P5XwQQyYHelRahnnIeiFWVtpYr6eWqVQf98HSo-EsJAvEszDYCMGV9RGyN_IfxnQbgSKYyTUT-6UA8cSCs85mrddKm-ILjU2DJ-wspYJxwwH50F8-_/s1600-h/horizontal.png"><img style="cursor:pointer; margin:10px; float:right; cursor:hand;width: 214px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYxpqDHmjnQgj4YQ2PJ0uJQPgqw7P5XwQQyYHelRahnnIeiFWVtpYr6eWqVQf98HSo-EsJAvEszDYCMGV9RGyN_IfxnQbgSKYyTUT-6UA8cSCs85mrddKm-ILjU2DJ-wspYJxwwH50F8-_/s320/horizontal.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5307316362299009010" /></a>-->Unknownnoreply@blogger.com15