<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-248726242367252546</id><updated>2012-02-02T02:20:35.303-08:00</updated><category term='mobile'/><category term='facebook'/><category term='J2ME'/><category term='Windows Mobile'/><category term='mobile Web'/><category term='Nexus One'/><category term='Nokia'/><category term='security'/><category term='iPhone app'/><category term='mobile 2.0'/><category term='music'/><category term='YouTube'/><category term='Java'/><category term='mobile videos'/><category term='Symbian'/><category term='Google'/><category term='game design'/><category term='android'/><category term='social networking'/><category term='mobile entertainment'/><category term='iPhone platform'/><category term='iPhone'/><category term='Blackberry'/><category term='mobile development'/><category term='Ovi Maps'/><category term='web 2.0'/><category term='mobile applications'/><category term='WebOS'/><category term='spam'/><category term='iTouch'/><category term='twitter'/><category term='Eclipse'/><category term='mobile music'/><category term='Mover'/><category term='myspace'/><category term='iOS'/><category term='iPad'/><category term='Video'/><category term='Palm Pre'/><category term='Web Runtime'/><category term='iPod Touch'/><category term='WiFi'/><title type='text'>My Mobile Corner</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-5219664412337791726</id><published>2011-11-07T18:19:00.000-08:00</published><updated>2011-11-07T18:19:34.307-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile applications'/><title type='text'>Driving Mobile Application Downloads</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;With iTunes now carrying&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&lt;a href="http://www.distimo.com/appstores/app-store/18-Apple_App_Store_for_iPhone" style="color: #cc0000; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;225,000&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;apps in its "curated" collection and Android up to 100,000, it is no wonder that app discovery is a major issue for application developers. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Undoubtedly, one of the key decisions in launching a successful mobile application is determining how to drive application downloads. &lt;br /&gt;&lt;br /&gt;Based on experience launching applications working in several mobile startups, I believe that there are at least six key mobile strategies to consider for driving adoption:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Why is mobile media support needed?&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Mobile media support is needed since we need to reach consumers who may already have a mindset or may already be used to certain types of applications (i.e. facebook, twitter, etc). There may also be a need to educate users on issues such as privacy, security, &amp;nbsp;and so on.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;What should be the average marketing spend?&lt;/li&gt;&lt;ul&gt;&lt;li&gt;As a result of analyzing download trends and media spend across various advertisers, several marketing experts have determined that the minimum mobile media spend is $200,000 over two days to truly make an impact and accelerate measurable downloads.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;When should you begin mobile media support?&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The day of week apparently matters. &amp;nbsp;To leverage typical download activity, it is suggested to launch your application and begin supporting it toward the end of the week - on a Thursday or Friday. This is allow you to build on the momentum of the weekend downloads.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;How robust should the mobile application be?&lt;/li&gt;&lt;ul&gt;&lt;li&gt;It is critical to make your application robust because "first impression" matters. If an application frequently crashes or if critical functionality does not work properly, then it is likely that your application may not be subsequently used. &amp;nbsp;While multiple features such as video, pictures, gaming and maps make for a bigger experience, if consumers cannot download the application and subsequent updates in certain WiFi zones, then it will most likely inhibit downloads.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Which form of advertising is more important: creative or contextual?&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Based on mobile campaigns with those of digital display, marketing experts have concluded that in mobile media efforts, the banner creative has more of an impact on performance. &amp;nbsp;However, in online campaigns, contextual is typically more important.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Which mobile devices need to be supported?&lt;/li&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;If you want to maximize coverage, then it is recommended that your application must be cross platform (i.e. must support iOS devices such as iPhone 3, 3GS, 4 and Android devices such as Droid X and/or HTC Evo). &amp;nbsp;However, &amp;nbsp;keep in mind that the uber-smartphone market represents less than 20 percent of smartphone penetration. &amp;nbsp;Therefore, by including all phones that can access the Web, you will not only build scale, but you may also experience higher conversion rates from some of the less sophisticated devices.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;Driving application downloads is not the only factor for launching a successful mobile application, but it is certainly an important one.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you found this article useful, please retweet and/or leave me a comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-5219664412337791726?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/5219664412337791726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=5219664412337791726' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5219664412337791726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5219664412337791726'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2011/11/driving-mobile-application-downloads.html' title='Driving Mobile Application Downloads'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-4751681934072981409</id><published>2011-05-06T01:23:00.000-07:00</published><updated>2011-05-06T01:31:41.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Just Released: FREE Sudokroid (Sudoku Game Puzzle) in Android Market</title><content type='html'>&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: #191919; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;More than 10 billion apps have been downloaded since the launch of the Apple (&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #191919; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;a class="ticker" href="http://finance.paidcontent.org/paidcontent?Page=QUOTE&amp;amp;Ticker=AAPL" style="color: #233d78; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" title="AAPL"&gt;NSDQ: AAPL&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #191919; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;) App Store—the majority of them via iPhones.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #191919; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #444444; font-family: Arial, Helvetica; font-size: 12px; line-height: 17px;"&gt;As of March 2011, 37 percent of mobile consumers who owned a smartphone had a device with an Android OS. Apple’s iOS, claimed by 27 percent of consumers, is now outpacing Blackberry, which has 22 percent of the market.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #444444; font-family: Arial, Helvetica; font-size: 12px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #191919; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 12px; line-height: 16px;"&gt;It only seemed appropriate that one of the first mobile apps I decided to release was an Android app, Sudokroid, to the Android Market.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;Sudokroid is a logic-based number placement puzzle, which initially starts with a partially completed 9x9 grid. The game provides the player with the options to start a "New Game", "Continue" an existing game, an "About Game" option to get further details for playing the game, and finally "Exit Game" to exit from the game. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Oq1_8CjsDbc/TcOrFpnw53I/AAAAAAAAAg4/I2DYb5HCvKQ/s1600/sudokroid_main.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-Oq1_8CjsDbc/TcOrFpnw53I/AAAAAAAAAg4/I2DYb5HCvKQ/s320/sudokroid_main.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;When the player selects a "New Game" , it will let the player select the difficulty level from a choice of 3 levels: "easy", "medium" and "hard". A new game grid is displayed, partially filled, while splendid soothing music is playing in the background! &amp;nbsp;If "Continue" is selected, then the game continues from the previous game state.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LSFeds8HhAg/TcOnfwWvJ6I/AAAAAAAAAg0/ZXkI_vO4ARE/s1600/sudokroid-game.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-LSFeds8HhAg/TcOnfwWvJ6I/AAAAAAAAAg0/ZXkI_vO4ARE/s320/sudokroid-game.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Times;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-size: small; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The goal of Sudokroid is to fill the grid so that each row, each column and each of the 3x3 boxes contains the digits 1 to 9 exactly once. &amp;nbsp;Hints are provided to help in the selection, and if a selection results in "no move", then the player can go back to the previous tiles and revisit some of the prior moves. &lt;br /&gt;&lt;br /&gt;You can download the game for FREE from the Android Market from&amp;nbsp;&lt;a href="https://market.android.com/details?id=com.tjs.game.sudoku&amp;amp;feature=search_result"&gt;http://bit.ly/mO8qfE&lt;/a&gt;. &amp;nbsp;Be sure to rate it and tweet or leave me a comment ! &amp;nbsp;Stay tuned for more apps in the pipeline!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-4751681934072981409?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/4751681934072981409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=4751681934072981409' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4751681934072981409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4751681934072981409'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2011/05/just-released-sudokroid-sudoku-game.html' title='Just Released: FREE Sudokroid (Sudoku Game Puzzle) in Android Market'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Oq1_8CjsDbc/TcOrFpnw53I/AAAAAAAAAg4/I2DYb5HCvKQ/s72-c/sudokroid_main.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-4127930876015084124</id><published>2010-11-12T17:57:00.000-08:00</published><updated>2010-11-12T17:57:59.399-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='game design'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>iPhone Game Design Challenges</title><content type='html'>As Ernest Adam writes in "The Fundamentals of Game Design":&lt;br /&gt;"Good games and game worlds possess &lt;i&gt;harmony, &lt;/i&gt;which is the feeling that all parts of the game belong to a single, coherent whole. This quality was first identified by game designer Brian Moriarty. "&lt;br /&gt;&lt;br /&gt;An excerpt from his lecture, "Listen: The Potential of Shared Hallucinations, (Moriarty, 1997) Moriarty explained the concept of harmony as follows:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Harmony isn't something you can fake. You don't need anyone to tell you if it's there or not. Nobody can sell it to you, it's not an intellectual exercise. It's sensual, intuitive experience. It's something you feel. How do you achieve that feeling that everything works together? Where do you get this harmony stuff?"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Not surprisingly, there are several challenges for designing games on the iPhone :&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The screen size is small (320 by 480 pixels). This small space leaves very little room for top header displays or menus during game play.&lt;/li&gt;&lt;li&gt;Multitouch Interface&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The multitouch interface on the iPhone has opened new and exciting user interface design opportunities. When the iPhone was introduced, it was completely revolutionary with its touchscreen interface that supports and can track multiple touches simultaneously. &amp;nbsp;This user interface breakthrough, and intuitive and innovative interface enhances the creativity in touchscreen gaming. It has already resulted in a total paradigm shift in the way designers now approach an iPhone game.&lt;/li&gt;&lt;li&gt;The ability of the iPhone interface to detect &lt;i&gt;swipes&lt;/i&gt; and &lt;i&gt;pinches&lt;/i&gt; gives us new ways of differentiating and responding to user input.&lt;/li&gt;&lt;li&gt;Instead of using buttons to zoom in and out of a game level, you can allow the user to zoom in and out using a &lt;i&gt;pinch&lt;/i&gt; motion&lt;/li&gt;&lt;li&gt;Users can also take a look around a particular level just by swiping their finger across the screen to control the direction that the camera will pan&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Limited screen size has resulted in inspiring game designers to select novel control schemes. For example, you can use the built-in &lt;i&gt;accelerometer&lt;/i&gt; to tilt or steer characters or other game objects instead of putting controls on the screen&lt;/li&gt;&lt;li&gt;The &lt;i&gt;accelerometer&lt;/i&gt; can also be used for detecting shakes or movements. This can be used in games to trigger an action or to reveal a hidden surprise&lt;/li&gt;&lt;li&gt;The &lt;i&gt;iOS&amp;nbsp;&lt;/i&gt;Location Service (Core Location Framework) is a major feature that is typically overlooked by many game developers. The Assisted GPS (A-GPS) in the iPhone 3G can be used in many creative ways. &amp;nbsp;You can use it to control a user's motion during game play or to identify other users who are playing the game nearby. Also, once other game players nearby are identified, they could be sent invites to meet at a specific location for other social interaction (i.e. chatting, meeting in a photo gallery, playing other games, etc).&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-4127930876015084124?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/4127930876015084124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=4127930876015084124' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4127930876015084124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4127930876015084124'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/11/iphone-game-design-challenges.html' title='iPhone Game Design Challenges'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-3904286196947496995</id><published>2010-10-30T12:58:00.000-07:00</published><updated>2010-11-12T12:59:41.794-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='iTouch'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>iPhone: Tips for Extending Your Battery Life</title><content type='html'>After using an iPhone for a few days, you may discover that while these devices are very innovative, intuitive and fun than perhaps most other smart phones, they do not excel in battery life. Any dedicated serious iPhone user will surely need to recharge his or her iPhone almost on a daily basis.&lt;br /&gt;&lt;br /&gt;There are ways to conserve your iPhone battery life, but many of them involve turning off services and features, which make it a choice between all of the cool things that the iPhone can do and making sure that it can retain sufficient juice to do them.&lt;br /&gt;&lt;br /&gt;Here are some tips to help you extend your battery life:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Dim the screen. Touchscreen drains the battery, so the brighter the default setting of the screen, the more it drains the battery, so reducing the brightness will conserve more of your battery. You can find it in &lt;i&gt;Settings -&amp;gt; Brightness&lt;/i&gt;.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Cycle the battery. All Lithium-based batteries slowly loose their charging capacity over time. Let it completely discharge and then fully recharging it again. &amp;nbsp;To maintain optimal performance, you should cycle your iPhone or iTouch's battery every one or two months.&lt;/li&gt;&lt;li style="text-align: left;"&gt;Turn data push off. The iPhone 3G can be set to automatically push email and other data down to it whenever new data becomes available. Every time you access the networks, it costs you battery life, so turning off push will help to extend your battery life. When push is turned off, you will need to check your email periodically (see #4 below).&lt;/li&gt;&lt;li style="text-align: left;"&gt;Fetch email less often. &amp;nbsp;The more your iPhone needs to access the network, the more it consumes the battery. So, set your iPhone to check for new email less often (i.e. every hour or so). Or, ideally, set it to "Manual Check". You can find it in &lt;i&gt;Settings -&amp;gt; Mail, Contacts, Calendar -&amp;gt;Fetch New Data.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;Turn &lt;i&gt;Bluetooth&lt;/i&gt; off except when you are using it. Bluetooth wireless network is useful for users with wireless headsets or earpieces. But, transmitting data wirelessly requires juice, and leaving it on all the time can drain the battery even more. Turning off &lt;i&gt;Bluetooth&lt;/i&gt; except when you are using it will help you conserve battery life. You can find it in &lt;i&gt;Settings -&amp;gt; General&lt;/i&gt;.&lt;/li&gt;&lt;li style="text-align: left;"&gt;Turn off 3G if you are using the iPhone 3G and not downloading web content. The iPhone 3G operates on two cellular networks, EDGE and the faster 3G. Not surprisingly, using 3G requires more battery to get the faster speeds and the higher quality calls. It may be tough to go slower, but if you need more battery life, then turn off 3G and just use EDGE. You can find it in &lt;i&gt;Settings -&amp;gt; General -&amp;gt; Network&lt;/i&gt;.&lt;/li&gt;&lt;li style="text-align: left;"&gt;WiFi is another high-speed network that the iPhone supports, which is even faster than 3G, though it is only available where there is a hotspot, not everywhere like 3G. The drawback is that if it is always enabled, it can quickly drain your battery life. Unless you are using WiFi right now, keep it disabled. Find it in &lt;i&gt;Settings -&amp;gt; WiFi.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;Turn off &lt;i&gt;Location Services &lt;/i&gt;unless you are using it right now. The built-in GPS is one of the coolest features of the iPhone 3G, which allows the phone to know where you are and gives you exact driving directions and gives that information to applications that can help you find nearby restaurants, etc. But, like any other service that requires network access, it needs battery life. If you are not using location services, then turn it off and save some battery power. You can find it in &lt;i&gt;Settings -&amp;gt; General&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Set your iPhone to 'auto-lock' sooner. &amp;nbsp;You can set your iPhone to automatically go to sleep sooner (aka &lt;i&gt;Auto-Lock&lt;/i&gt;) after a certain amount of time. The sooner it sleeps, the less power is used to display the screen or other services. You may try setting it to 1 or 2 minutes. You can find it in &lt;i&gt;Settings -&amp;gt; General -&amp;gt; Auto-Lock&lt;/i&gt;. &amp;nbsp;In the case of an iPad, you can put it into sleep mode when not in use by manually pressing &lt;i&gt;sleep/wake&lt;/i&gt; button.&lt;/li&gt;&lt;li&gt;Minimize your tasks (i.e. avoid background music) or running applications that require the phone to run for a long period of time or use up a lot of resources such as playing videos, games, browsing the web, etc. can use up a lot of battery power. If you want to conserve battery power, then limit the use of battery-intensive apps.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-3904286196947496995?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/3904286196947496995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=3904286196947496995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3904286196947496995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3904286196947496995'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/11/iphone-tips-for-extending-your-battery.html' title='iPhone: Tips for Extending Your Battery Life'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-1955821843279709179</id><published>2010-05-11T13:22:00.000-07:00</published><updated>2010-05-11T13:22:40.482-07:00</updated><title type='text'>Is Mobile Advertising the next big thing?</title><content type='html'>&lt;div id="__ss_2283958" style="text-align: left; width: 425px;"&gt;There has been a lot of buzz among online advertising companies about mobile ads being delivered to smartphones. &amp;nbsp;Google's Chief Executive, Eric Schmidt has mentioned about Google becoming a "&lt;a href="http://www.telegraph.co.uk/technology/google/7256103/Google-now-a-mobile-first-company.html"&gt;mobile first&lt;/a&gt;" company. Furthermore, Google's move with its &lt;a href="http://techcrunch.com/2009/11/09/google-acquires-admob/"&gt;acquisition of Admob&lt;/a&gt;, and Apple's recent announcement of its &lt;a href="http://techcrunch.com/2010/04/08/apple-announces-iad-mobile-advertising-platform/"&gt;iAd Mobile Advertising platform&lt;/a&gt;&amp;nbsp;demonstrates that mobile advertising continues to gain increased attention. &lt;br /&gt;&lt;br /&gt;However, there are issues with advertising on mobile phones - the screens are too small even on today's smart phones. This makes it difficult to deliver a compelling advertising user experience to consumers. Also, when users click on the the traditional banner ads, it redirects them to a new browser window. So the user experience on the mobile phone is compromised.&lt;br /&gt;&lt;br /&gt;Although spending on mobile advertising is growing, it is still a tiny portion of online advertising. &amp;nbsp;Up until now, mobile advertising has consisted mainly of small banner ads tucked into the corner of a mobile web page or text-message ads that often resembled spam. &amp;nbsp;According to market research firm, eMarketer, mobile advertising accounted for $416 million in spending in 2009, compared with $22.4 billion in overall online advertising.&lt;br /&gt;&lt;br /&gt;The new &lt;a href="http://mashable.com/2010/04/08/apple-iads/"&gt;Apple's iAd platform&lt;/a&gt; is looking to change the face and quality of advertising. &amp;nbsp;Apple's CEO believes there is a flaw of both standard online advertising and TV advertising - the combination of interaction and emotion. The key is that ads will keep users within an app, rather than redirecting users to a browser window.&lt;br /&gt;&lt;br /&gt;When you click on an iAd advertisement, it will take up the screen using HTML5. Once it is open, you can explore the ad. &amp;nbsp;Apple demonstrated an advertisement for Toy Story 3, where it showed that you could not only get information about the movie, but you could also watch trailers, play games and do much more all within the same application from where you launched the ad.&lt;br /&gt;&lt;br /&gt;Many technologists and analysts are putting a lot of bets on the standard HTML5 technology for enabling the creation of richer content experiences. &amp;nbsp;Furthermore, according to &lt;a href="http://blogs.wsj.com/marketbeat/2010/04/09/apple-iads-what-wall-street-thinks/"&gt;WSJ&lt;/a&gt;, several analyts are projecting a positive outlook for Apple's iAd platform as they believe that it will provide a significant source of revenue for Apple. Piper Jaffray believes that in-application advertising could reach roughly $700m by 2013, with about 70% going to ads within the iPhone platform. &amp;nbsp;But, can it really become a multi-billion dollar business ?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-1955821843279709179?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/1955821843279709179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=1955821843279709179' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1955821843279709179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1955821843279709179'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/05/is-mobile-advertising-next-big-thing.html' title='Is Mobile Advertising the next big thing?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-6602221144237735938</id><published>2010-03-30T13:03:00.000-07:00</published><updated>2010-03-30T13:06:08.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile development'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>How To Take Android Screenshots on a Mac</title><content type='html'>If you have ever wondered how to take screenshots for applications running on an Android phone, you can do it for free if you have Java on your machine and have downloaded the &lt;a href="http://developer.android.com/sdk/index.html"&gt;Android SDK.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download the&amp;nbsp;&lt;a href="http://developer.android.com/sdk/index.html"&gt;Android SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;On your Android phone, select &lt;b&gt;Settings&lt;/b&gt; -&amp;gt;&lt;b&gt;Applications&lt;/b&gt; -&amp;gt;&amp;nbsp;&lt;b&gt;Development&lt;/b&gt;&lt;/li&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_IzBe_WhTiy0/S7JN_RkLvXI/AAAAAAAAATo/SVRQ1jdkbvg/s1600/ScreenCapture_settings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_IzBe_WhTiy0/S7JN_RkLvXI/AAAAAAAAATo/SVRQ1jdkbvg/s320/ScreenCapture_settings.png" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Select &lt;b&gt;Enable USB Debugging&lt;/b&gt; by placing a check box next to it&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_IzBe_WhTiy0/S7JPHLF0krI/AAAAAAAAAT4/At5-oE_EwrY/s1600/USB-Debugging.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_IzBe_WhTiy0/S7JPHLF0krI/AAAAAAAAAT4/At5-oE_EwrY/s320/USB-Debugging.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;li&gt;Connect your Android device via USB to your Mac&lt;/li&gt;&lt;li&gt;Run &lt;b&gt;android-sdk-mac_86/tools/ddms&lt;/b&gt; (Dalvik Debug Monitor) (Note: it may be easier to add the tools directory in your path)&lt;/li&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_IzBe_WhTiy0/S7JVWfTiTLI/AAAAAAAAAUA/rBP6RLtoLIo/s1600/ddms_image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://4.bp.blogspot.com/_IzBe_WhTiy0/S7JVWfTiTLI/AAAAAAAAAUA/rBP6RLtoLIo/s400/ddms_image.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;li&gt;Select the device in the &lt;b&gt;Dalvik Debug Monitor &lt;/b&gt;as illustrated above&lt;/li&gt;&lt;li&gt;Type Control + S or go to &lt;b&gt;Dalvik Debug Monitor&lt;/b&gt; --&amp;gt; &lt;b&gt;Device&lt;/b&gt; --&amp;gt; &lt;b&gt;Screen Capture&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Voila! &amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;If you found this article useful, please retweet it. &amp;nbsp;Feel free to send me any comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-6602221144237735938?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/6602221144237735938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=6602221144237735938' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/6602221144237735938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/6602221144237735938'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/03/how-to-take-android-screenshots-on-mac.html' title='How To Take Android Screenshots on a Mac'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IzBe_WhTiy0/S7JN_RkLvXI/AAAAAAAAATo/SVRQ1jdkbvg/s72-c/ScreenCapture_settings.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-7652006016147820308</id><published>2010-01-14T08:35:00.000-08:00</published><updated>2010-01-14T08:35:54.326-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Runtime'/><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile Web'/><title type='text'>Web Runtime (WRT) Tools Open Source Release for Symbian Platform</title><content type='html'>This week, we are making available a preliminary version of the &lt;a href="http://developer.symbian.org/main/source/packages/package/index.php?pk=263"&gt;Web Runtime (WRT)  Tools Package&lt;/a&gt; under an EPL license.  As mentioned in my earlier posting on &lt;a href="http://blog.symbian.org/2009/09/21/web-2-0-apps-on-symbian/"&gt;Web 2.0 Apps on Symbian&lt;/a&gt;, there are several million web application developers.  In fact, according to &lt;a href="http://www.gartner.com/it/page.jsp?id=1278413"&gt;Gartner&lt;/a&gt;, by 2013, mobile phones will overtake PCs as the most common Web access device worldwide&lt;strong&gt;.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;According to Gartner's PC installed base forecast, the total number of PCs in use will reach 1.78 billion units in 2013. By 2013, the combined installed base of smartphones and browser-equipped enhanced phones will exceed 1.82 billion units and will be greater than the installed base for PCs thereafter.&lt;br /&gt;&lt;br /&gt;As the proliferation of mobile devices continues to grow at an astounding pace, there is an ever-increasing need for better mobile Web development tools. We are open sourcing the Web Runtime (WRT) Tools to provide an open eco-system to foster greater collaboration within the Symbian Tools  Developers community.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://symbianfoundation.wordpress.com/files/2010/01/wrt-debugger_preview2.png"&gt;&lt;img class="aligncenter size-medium wp-image-4251" title="WRT Debugger_Preview" src="http://symbianfoundation.wordpress.com/files/2010/01/wrt-debugger_preview2.png?w=300" alt="" width="300" height="187" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The WRT Tools package  includes a set of Web Runtime Plug-ins based on the &lt;a href="http://www.eclipse.org/pde/"&gt;Eclipse Plug-in Development Environment (PDE)&lt;/a&gt;, and enables the development of WRT applications utilizing Web Technologies such as HTML, CSS, JavaScript and AJAX.&lt;br /&gt;&lt;br /&gt;The WRT plug-in(s) provide features such as enabling the creation, editing, testing and debugging of  basic WRT applications. The WRT applications require the creation, editing and saving of JavaScript, XML and HTML files. The WRT editor plug-ins are based on the Eclipse &lt;a href="http://wiki.eclipse.org/index.php/ATF/JSDT"&gt;JavaScript Developer Toolkit (JSDT)&lt;/a&gt;. JSDT is part of the Eclipse &lt;a href="http://www.eclipse.org/webtools/"&gt;Web Tools Platform (WTP) Project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The WRT Plug-in allows the creation of a Web Runtime (WRT) project that contains a basic widget project (i.e. an empty project with a minimal Info.plist, html, css and JavaScript files). The Info.plist is an XML template with settings of a basic widget already defined. Similarly, an index.html file is defined with an HTML template. It is also possible to import existing WRT project(s) which include a WRT Previewer for previewing a WRT widget in a conventional desktop browser.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note that this preliminary version of the WRT Tools package uses the WRT Previewer from an Aptana WRT project due to a pending Nokia WRT license issue, but the next release will include a fully integrated WRT Previewer. &lt;span style="font-style: normal;"&gt;An application developer can also add additional JavaScript, HTML and XML files as necessary into the existing WRT project.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-style: normal;"&gt;The WRT Plug-in also includes a WRT Debugger component to enable debugging of  WRT applications.  The WRT Debugger component consists of a general purpose JavaScript Debugger based on the Eclipse Platform framework and the &lt;a href="http://code.google.com/p/chromedevtools/"&gt;Chrome Developer Tools Project.&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;It should be noted that this WRT Tools package is an incremental code drop for Eclipse internal tool developers as we are planning a subsequent release in March 2010 to introduce the WRT Tools to &lt;em&gt;Web Runtime (WRT) developers.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt; &lt;/em&gt;The March 2010 release will include support for a variety of WRT project templates (i.e. WRT Twitter Widget, WRTKit project, etc) as well as support for packaging, deployment, a fully integrated WRT Previewer, and more. Furthermore, there is still planning in progress for the future WRT Tools Roadmap, and among the items under discussion is a plan to integrate with other open standards, Symbian Common Web Runtime, and to support UI Designer features.&lt;br /&gt;&lt;br /&gt;If you are interested to know more about the WRT Tools package, please see the &lt;a href="http://developer.symbian.org/wiki/index.php?title=WRTTools_Wiki"&gt;WRT Tools Wiki Page&lt;/a&gt;.  For detailed instructions for installing the WRT Tools Plug-ins, and related packages or for trying out its features, please refer to the &lt;a href="http://developer.symbian.org/wiki/index.php/File:WRT_Tools_Developers_Guide_20090112.doc"&gt;WRT Tools Developers Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have any questions or if you are interested in engaging or collaborating with us, please feel free to leave me a comment, or contact me at tasneems at symbian.org.  You can also &lt;a href="http://www.twitter.com/TwitMyMobile"&gt;follow me&lt;/a&gt; on Twitter for further developments.  There is also a general &lt;a href="http://developer.symbian.org/mailman/listinfo/td-tools-dev"&gt;Tools Developers mailing list&lt;/a&gt;&lt;a href="http://developer.symbian.org/mailman/listinfo/td-tools-dev"&gt; &lt;/a&gt;for general comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-7652006016147820308?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/7652006016147820308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=7652006016147820308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7652006016147820308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7652006016147820308'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/01/web-runtime-wrt-tools-open-source-for.html' title='Web Runtime (WRT) Tools Open Source Release for Symbian Platform'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-248162820629785202</id><published>2010-01-08T00:12:00.000-08:00</published><updated>2010-01-08T00:44:49.541-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='Ovi Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><title type='text'>Ovi Maps Racing Game Lets You Speed Around Your Neighborhood</title><content type='html'>&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; white-space: normal;"&gt;A sneak preview of the Ovi Maps Racing game (coming soon to the Ovi Store) was unveiled at the 2010 Consumer Electronics Show in Las Vegas by Nokia earlier Thursday. &amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 20px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 18px; white-space: normal;"&gt;&lt;i&gt;&lt;span style="font-style: normal; line-height: 20px;"&gt;In a truly unique experience, you use the GPS in your device to find your location (or use Ovi Maps to choose any location in the world), then customize a track around your neighborhood, and finally fire up those engines! --Nokia Conversations&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 20px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 18px; white-space: normal;"&gt;&lt;i&gt;&lt;span style="font-style: normal; line-height: 20px;"&gt;As pictures are better than a thousand words, check it out below! &amp;nbsp; Enjoy! &amp;nbsp;Retweet, and/or leave me a comment.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 20px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="295" width="480"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/R6V-iCSFcnw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/R6V-iCSFcnw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;img alt="ovi-maps-racing-5" class="aligncenter size-full wp-image-12986" height="259" src="http://conversations.nokia.com/wp-content/uploads/2010/01/ovi-maps-racing-1.jpg" title="ovi-maps-racing-5" width="460" /&gt;&lt;br /&gt;&lt;img alt="ovi-maps-racing-5" class="aligncenter size-full wp-image-12986" height="259" src="http://conversations.nokia.com/wp-content/uploads/2010/01/ovi-maps-racing-2.jpg" title="ovi-maps-racing-5" width="460" /&gt;&lt;br /&gt;&lt;img alt="ovi-maps-racing-5" class="aligncenter size-full wp-image-12986" height="259" src="http://conversations.nokia.com/wp-content/uploads/2010/01/ovi-maps-racing-3.jpg" title="ovi-maps-racing-5" width="460" /&gt;&lt;br /&gt;&lt;img alt="ovi-maps-racing-5" class="aligncenter size-full wp-image-12986" height="259" src="http://conversations.nokia.com/wp-content/uploads/2010/01/ovi-maps-racing-4.jpg" title="ovi-maps-racing-5" width="460" /&gt;&lt;br /&gt;&lt;img alt="ovi-maps-racing-5" class="aligncenter size-full wp-image-12986" height="259" src="http://conversations.nokia.com/wp-content/uploads/2010/01/ovi-maps-racing-5.jpg" title="ovi-maps-racing-5" width="460" /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-248162820629785202?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/248162820629785202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=248162820629785202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/248162820629785202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/248162820629785202'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/01/ovi-maps-racing-game-lets-you-speed.html' title='Ovi Maps Racing Game Lets You Speed Around Your Neighborhood'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-2670702922000167559</id><published>2010-01-06T00:40:00.000-08:00</published><updated>2010-01-06T00:40:03.997-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='Nexus One'/><title type='text'>Was the Google Nexus One Announcement Really About Another Google Android Phone or iPhone Killer?</title><content type='html'>Was the biggest Google announcement really about another Google Android phone or the iPhone killer as some have suggested? As expected, Google announced its Google Android Nexus One at a &lt;a href="http://news.cnet.com/8301-30684_3-10424433-265.html?tag=mncol;txt"&gt;press conference&lt;/a&gt; Tuesday morning. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_IzBe_WhTiy0/S0RIe72IVdI/AAAAAAAAATc/0HSc18Pwt2k/s1600-h/nexus_one_list_ars-thumb-640xauto-10960.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/S0RIe72IVdI/AAAAAAAAATc/0HSc18Pwt2k/s320/nexus_one_list_ars-thumb-640xauto-10960.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Nexus One is a new Google Android phone that offers software internals designed by Google and the device hardware is manufactured by HTC.  According to Google's Mario Queiroz, the Nexus One is a "super phone" where the Web meets the cell phone. "It's an example of what mobile phones can do with Android" says Mario. It is indeed slim, sleek, and light-weight (4.58 oz). It offers a 1 GHz Snapdragon processor.  The primary interface is a 3.7 inch AMOLED display with five customizable home screens. It runs the Android 2.1 OS and the WVGA display is capable of displaying 3G graphics. &lt;br /&gt;&lt;br /&gt;According to Google's Senior Product Manager for the Nexus One, Erick Tseng, the feature set includes everything you'd expect from an Android phone and adds a couple of unique goodies.&lt;br /&gt;&lt;br /&gt;The Nexus One may or may not be an iPhone killer, but it doesn't really matter as the biggest Google announcement was not really about another Google Android phone. The real news at the Google event was about its online store at http://www.google.com/phone - the news that could shake up the mobile industry as it had happened during the initial iPhone announcement. &amp;nbsp;The real news was about an online storefront offering that, if successful, could revolutionize the much reviled US carrier model - offering much faster, cheaper and more flexible services for mobile users.  So what is really the significance of the Google announcement?&lt;br /&gt;&lt;br /&gt;Well, Google confirmed that Nexus One, and all subsequent Google phones sold via the company's online store will be available unlocked for use on every participating carrier. By offering a lineup of phones that is essentially carrier-independent (with the radio compatibility caveat), Google has broken the two previously interlocked parts of the phone/plan-buying—phone selection and carrier selection—and has done so in a way that threatens one of the most important enablers of carrier lock-in.&lt;br /&gt;&lt;br /&gt;In short, what Google announced today wasn't just the Nexus One, but the &lt;i&gt;world's first carrier-independent smartphone store&lt;/i&gt;; the Google store is now the only smartphone store in the US where, for every phone on offer, you first pick which phone you want, and then you pick a network and a plan on that network. So you can comparison shop among networks based purely on plan price and network quality, because you already have your phone picked out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-2670702922000167559?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/2670702922000167559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=2670702922000167559' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/2670702922000167559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/2670702922000167559'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2010/01/was-google-nexus-one-announcement.html' title='Was the Google Nexus One Announcement Really About Another Google Android Phone or iPhone Killer?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IzBe_WhTiy0/S0RIe72IVdI/AAAAAAAAATc/0HSc18Pwt2k/s72-c/nexus_one_list_ars-thumb-640xauto-10960.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-1221875088245754683</id><published>2009-11-05T14:09:00.001-08:00</published><updated>2009-11-06T11:17:53.367-08:00</updated><title type='text'>Build Your Own Tweets Widget for the Symbian Platform</title><content type='html'>If you are a Web developer interested in developing a social networking application such as a Twitter app that can retrieve tweets on a Series 60 Symbian phone, then here are code snippets to demonstrate how easy it is to implement it using &lt;a href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/"&gt;Nokia&amp;nbsp;Web Runtime&lt;/a&gt; using Javascript, and HTML. &amp;nbsp;If you are new to mobile Web development on Symbian, take a look at the &lt;a href="http://developer.symbian.org/wiki/index.php/Web_Runtime_(WRT)_Quick_Start"&gt;Web Runtime Quickstart&lt;/a&gt; tutorial.&lt;br /&gt;&lt;br /&gt;Now to retrieve tweets on a Series 60 Symbian phone, you can implement the &lt;i&gt;index.html &lt;/i&gt;(see slide 11 in the presentation attached below), which will invoke &lt;i&gt;init()&lt;/i&gt; function within &lt;i&gt;main.js.&lt;/i&gt;&amp;nbsp;&amp;nbsp;The &lt;i&gt;init()&lt;/i&gt; function will simply instantiate the &lt;i&gt;UIManager&lt;/i&gt; and set up the views (see slides 12 and 13). Then, if the user selects the 'Tweetz' icon, then &lt;i&gt;Twitter.Update()&lt;/i&gt; will be invoked as listed below. &amp;nbsp;The function &lt;i&gt;Twitter.Update()&lt;/i&gt; will simply initialize the twitter buttons including adding the separator, and will display "Loading twitter feed" as it waits for the twitter feed to download.&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: #cfe2f3;"&gt;&lt;br /&gt;&lt;span style="background-color: white;"&gt;Twitter.prototype.Update= function(numToShow){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;this.numToShow= numToShow;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ( this.buttons== null ) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; // add the separator&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; var separator =&amp;nbsp;new NavigationButton(null,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "tweetz-icon.png","");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; separator.setEnabled(false);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.parentView.addControl(separator);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; // create buttons&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons= new Array();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; for( var i = 0 ; i &amp;lt; this.numToShow; i++ ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var button =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new&amp;nbsp;NavigationButton("twitter_button_"+i,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; null ,"");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.parentView.addControl(button);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons.push(button);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons[0].setText(&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Loading twitter feed...");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;imgsrc='tweetz.png' border="0"&gt; &lt;br /&gt;Next, initialize the twitter URL for getting a user's RSS feed. In this case, it is initialized to the TwitMyMobile user account. Then, you can get the RSS feed by instantiating the AJAX request. The &lt;i&gt;http.open()&lt;/i&gt; API is passed, "GET" for retrieving the data, the second parameter is the twitter URL, and the third parameter is set to &lt;i&gt;true&lt;/i&gt; to indicate that this is an asynchronous request.  The &lt;i&gt;http.onreadstatechange&lt;/i&gt; is set when the request state changes, then the &lt;i&gt;Twitter.DoUpdate()&lt;/i&gt; function is invoked for parsing the returned data.  The code fragment for getting the user's tweets will look as follows:&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;br /&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;// Twitter API for getting a user’s RSS feed&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;var twitterurl= "http://twitter.com/statuses/user_timeline/TwitMyMobile.rss";&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;// Get the rss feed&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;// Prepare for asynchronous download&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;this.http= new Ajax();  // true means asynchronous request this.http.open("GET", twitterurl, true);&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;// When the AJAX request is done, it will call self.DoUpdate() this.http.onreadystatechange= function() { self.DoUpdate(); };&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;// send the AJAX request&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;this.http.send(null);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Now, the &lt;i&gt;Twitter.DoUpdate()&lt;/i&gt; method can easily parse the data. Use the DOMParser API to parse through the response XML.  If the content type is not set correctly, we get the response as text. Next, we loop through traversing the elements, creating buttons and gathering tweets. The while loop traverses through the child nodes, and retrieves the title, and publishing date for each of the tweets. The tweet image is set to &lt;i&gt;tweet.png&lt;/i&gt; for simplicity.  If we get any exceptions and get no data, then we display "Tweetz not tweeting right now" message and intialize the title and date fields accordingly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;  Twitter.prototype.DoUpdate= function() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (this.http.readyState== 4) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Get parsed Doc&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var xmlDoc= this.http.responseXML;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (xmlDoc== null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{                 // if the content type is not set &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// correctly, we get the response&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// as text&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var xmlparser= new DOMParser();&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlDoc = xmlparser.parseFromString(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.http.responseText,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "text/xml");&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var itemElements =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlDoc.getElementsByTagName("item");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var loopEnd =&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Math.min(this.numToShow,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;itemElements.length);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// traverse elements &amp;amp; create buttons&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (var i = 0; i &amp;lt; loopEnd; i++) {&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // iterate through child nodes of&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // this item and gather tweets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var title = null;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var date = null;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; node = itemElements[i].firstChild;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (node != null) {&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if&amp;nbsp;(node.nodeType ==&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Node.ELEMENT_NODE) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (node.nodeName == "title") {&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// item title&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;title = getTextOfNode(node);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else if&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (node.nodeName== "pubDate" ||&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;node.nodeName== "dc:date") {&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// item publishing date&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date = getTextOfNode(node);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } end while &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; node = node.nextSibling;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } // end for &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons[i].setText("&lt;/span&gt;&lt;i&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;"&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;i&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + date + "&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; " + title + "");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons[i].setImage("tweet.png");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} // end if (xmldoc== null&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;} // end try&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (x) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.buttons[0].setText(&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Uh-Oh! Tweetz not tweeting right now.");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (var i = 0; i &amp;lt; this.numToShow; i++) {&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.buttons[i].setText("");&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.buttons[i].setImage(null);&amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } // end for &amp;nbsp;&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;} // end catch&lt;/span&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;} // if (this.http.readyState== 4) {}&lt;/span&gt;&amp;nbsp;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&lt;br /&gt;&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;imgsrc='tweetz.png' border="0"&gt;&amp;nbsp;For a complete listing of the code, take a look at the slides I had presented at SEE 2009 on &lt;i&gt;Improving the Mobile Web Developer Experience&lt;/i&gt; illustrated below. &amp;nbsp;If you find this article useful, please feel free to retweet and forward me any comments.&lt;/imgsrc='tweetz.png'&gt;&lt;br /&gt;&lt;div id="__ss_2433113" style="text-align: left; width: 425px;"&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/tasneemsayeed/see-2009-improving-mobile-web-developer-experience" style="display: block; font: 14px Helvetica,Arial,Sans-serif; margin: 12px 0 3px 0; text-decoration: underline;" title="SEE 2009: Improving Mobile Web Developer Experience"&gt;SEE 2009: Improving Mobile Web Developer Experience&lt;/a&gt;&lt;object height="355" style="margin: 0px;" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=see09slides-091105155449-phpapp01&amp;stripped_title=see-2009-improving-mobile-web-developer-experience" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=see09slides-091105155449-phpapp01&amp;stripped_title=see-2009-improving-mobile-web-developer-experience" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;"&gt;View more &lt;a href="http://www.slideshare.net/" style="text-decoration: underline;"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/tasneemsayeed" style="text-decoration: underline;"&gt;tasneemsayeed&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-1221875088245754683?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/1221875088245754683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=1221875088245754683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1221875088245754683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1221875088245754683'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/11/see-2009-improving-mobile-web-developer.html' title='Build Your Own Tweets Widget for the Symbian Platform'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-2158338155327667792</id><published>2009-10-19T14:38:00.001-07:00</published><updated>2009-10-19T15:00:06.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile Web'/><title type='text'>Mobile 2.0: Developer Pitfalls &amp; Strategies for Improving Mobile Web Developer Experience</title><content type='html'>Last Friday, I gave a presentation on &lt;i&gt;Developer Pitfalls &amp;amp; Strategies for Improving Mobile Web Developer Experience&lt;/i&gt; at &lt;a href="http://mobile2event.com/developer-day/"&gt;Mobile 2.0&lt;/a&gt;&amp;nbsp;in Silicon Valley (Mountain View, California). &amp;nbsp;It started out by defining the mobile Web, then provided an overview on the mobile device constraints that led to mobile development challenges. I briefly talked about the "Tool Trends" then took an in-depth look at strategies for improving performance when utilizing web technologies (i.e. JavaScript, CSS and HTML) based on Yahoo's 14 Performance Rules. It concluded highlighting the activities of the Symbian Foundation Tools team including a roadmap of how the Symbian tools are being evolved to further improve and enhance the mobile web developer experience.&lt;br /&gt;In case you were not able to attend Mobile 2.0 or would like to take a closer look at the slides presented, it is attached below. &lt;div style="width:425px;text-align:left" id="__ss_2283958"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/tasneemsayeed/developer-pitfalls-strategies-for-improving-mobile-web-developer-experience" title="Developer Pitfalls &amp;amp; Strategies for Improving Mobile Web Developer Experience"&gt;Developer Pitfalls &amp;amp; Strategies for Improving Mobile Web Developer Experience&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobile2-0slides-091019163603-phpapp02&amp;stripped_title=developer-pitfalls-strategies-for-improving-mobile-web-developer-experience" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobile2-0slides-091019163603-phpapp02&amp;stripped_title=developer-pitfalls-strategies-for-improving-mobile-web-developer-experience" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/tasneemsayeed"&gt;tasneemsayeed&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-2158338155327667792?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/2158338155327667792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=2158338155327667792' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/2158338155327667792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/2158338155327667792'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/10/developer-pitfalls-strategies-for.html' title='Mobile 2.0: Developer Pitfalls &amp;amp; Strategies for Improving Mobile Web Developer Experience'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-6302322918877761438</id><published>2009-09-14T11:59:00.000-07:00</published><updated>2009-09-16T01:17:08.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Runtime'/><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><title type='text'>Implementing Incremental Project Builder for an Eclipse Web Runtime Plugin</title><content type='html'>In order to develop an Eclipse Plugin, you will need to install the Eclipse Plugin Development Environment (PDE) and for web development, you will need to install Eclipse Web Tools Platform (WTP).  &lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;This article discusses two major mechanisms that are associated with projects in an Eclipse workspace. The first of these is &lt;span style="font-style: italic;"&gt;incremental project builders&lt;/span&gt;, which create a built state based on the project contents, and then keep that built state synchronized as the project contents change. The second is &lt;span style="font-style: italic;"&gt;project natures&lt;/span&gt;, which define and manage the association between a given project and a particular plug-in or feature.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_IzBe_WhTiy0/Sq6S33umQzI/AAAAAAAAATM/02mmXL1nVeA/s1600-h/WebRT_PluginDev.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5381400093304177458" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/Sq6S33umQzI/AAAAAAAAATM/02mmXL1nVeA/s320/WebRT_PluginDev.png" style="cursor: hand; cursor: pointer; display: block; height: 207px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Builder - Builders take raw materials and produce some output based on those materials. In Eclipse, both the raw materials and the output of builders are resources in the Eclipse workspace.&lt;/li&gt;&lt;li&gt;Incremental - It would be inefficient if builders rebuilt their entire output from scratch every time they were invoked. Instead, builders in Eclipse are incremental. This means that after the first build, subsequent builds should only rebuild based on what has changed since the last build.&lt;/li&gt;&lt;li&gt;Project - A builder operates on the resources in a single project in the Eclipse workspace. If there are many projects in the workspace, builders need to be installed on each one separately.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;How does the JavaScript compiler know which files need to be recompiled?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #7f7f7f; font-family: Wingdings;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;The Eclipse builder &lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt;maintains a &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-weight: bold;"&gt;built state&lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt; that includes a list of all types (classes or interfaces) that are referenced by each type in the workspace. This information is returned by the compiler each time a source file is compiled. This state is computed from scratch on a full build, and updated incrementally on each subsequent build. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #7f7f7f; font-family: Wingdings;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;Whenever files are modified, the builder receives a &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-style: italic;"&gt;resource delta&lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt; that describes which files were added, removed, or changed.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #7f7f7f; font-family: Wingdings;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;&lt;span style="color: #7f7f7f; font-family: Wingdings;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;For deleted JavaScript source files, the corresponding class files are deleted. &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-style: italic;"&gt;Added and changed source files are added to a queue of files that need to be compiled&lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Verdana;"&gt;The builder then processes this queue as follows: &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;Remove a file from the queue, and compile it.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: Verdana;"&gt;Compare the resulting type to the old class file, and see if the&lt;/span&gt;&amp;nbsp;&lt;span style="color: black; font-family: Verdana;"&gt;type has &lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt;structural changes&lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;Structural changes are changes&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;that can affect the compilation of a referencing type: added or&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;removed methods, fields or types, or changed method&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;signatures.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: Verdana;"&gt;If the type has structural changes, find all types&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;in the project that references the changed type, and add them&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;to the queue.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: Verdana;"&gt;If the type has changed at all, write it to disk in the builder's&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;output folder.&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;Update the built state with the new reference information for&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana;"&gt;the compiled type.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: Verdana;"&gt;Repeat until the queue is empty. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="color: black; font-family: Verdana;"&gt;As a final step, the builder generates &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-style: italic;"&gt;problem markers&lt;/span&gt;&lt;span style="color: black; font-family: Verdana;"&gt; for each&amp;nbsp;compiled type that had compilation problems.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What are Project Natures?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-family: Verdana;"&gt;Create an association between a project and a given tool, plug-in or feature set. &amp;nbsp;By adding a nature to a project, you indicate that your plug-in is configured to use that project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana;"&gt;Natures also provide a way of handling the lifecycle of a tool's interaction with a project. &amp;nbsp;When a nature is added to a project, the project nature's configure() method is called. &amp;nbsp;This gives the tool an opportunity to initialize its state for that project and install any incremental project builders that are needed for that project.&amp;nbsp;&amp;nbsp;When a nature is removed from a project, the nature's deconfigure() method is called. &amp;nbsp;This gives the tool an opportunity to remove or clean up any meta-data it has created for that project, and to remove any listeners and builders associated with that tool.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana;"&gt;&lt;b&gt;How do we implement an Incremental Project Builder? &amp;nbsp;&lt;span style="font-weight: normal;"&gt;To implement an incremental project builder, you first have to create an extension: &lt;i&gt;org.eclipse.core.resources.builders. &amp;nbsp;&lt;span style="font-style: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Next, create a Builder class that must extend the abstract&amp;nbsp;&lt;i&gt;IncrementalProjectBuilder&lt;/i&gt;&amp;nbsp;superclass.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;extension &lt;br /&gt;id="Builder" &lt;br /&gt;name="eScript Builder" &lt;br /&gt;point="org.eclipse.core.resources.builders"&amp;gt;&lt;br /&gt;&lt;div&gt;&amp;lt;builder&amp;gt; &lt;br /&gt;&amp;lt;run class="org.eclipse.escript.builder.Builder"&amp;gt;&lt;br /&gt;&amp;lt;parameter name="optimize" value="true"/&amp;gt; &lt;br /&gt;&amp;lt;parameter name="comment" value="escriptBuilder"/&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/run&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/builder&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/extension&amp;gt;&lt;br /&gt;&lt;br /&gt;public class Builder extends IncrementalProjectBuilder { &lt;br /&gt;&lt;br /&gt;protected IProject[] build(int kind, Map args, IProgressMonitor monitor) {&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;if (kind == IncrementalProjectBuilder.FULL_BUILD) { fullBuild(monitor); &lt;br /&gt;} else&amp;nbsp;{&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&amp;nbsp;&amp;nbsp; IResourceDelta delta = getDelta(getProject());&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&lt;br /&gt;if (delta == null) {&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&amp;nbsp;&amp;nbsp; fullBuild(monitor); } &lt;br /&gt;else {&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&amp;nbsp;&amp;nbsp; incrementalBuild(delta, monitor);&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;} &lt;br /&gt;&lt;br /&gt;return null; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;private void incrementalBuild(IResourceDelta delta, IProgressMonitor monitor) {&lt;br /&gt;System.out.println("incremental build on "+delta); &lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: auto;"&gt;&lt;div style="text-align: auto;"&gt;delta.accept(new IResourceDeltaVisitor() &lt;br /&gt;{ public boolean visit(IResourceDelta delta) {&lt;br /&gt;System.out.println("changed: "+ &lt;br /&gt;delta.getResource().getRawLocation()); &lt;br /&gt;return true; // visit children too &lt;br /&gt;} &lt;br /&gt;}); &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;} catch (CoreException e) { e.printStackTrace(); }&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;private void fullBuild(IProgressMonitor monitor) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;System.out.println("full build"); &lt;br /&gt;}&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;}&lt;/div&gt;&lt;div style="text-align: auto; text-indent: 0px;"&gt;&lt;/div&gt;&lt;br /&gt;If you are interested in seeing a Web Runtime (WRT) Plugin&amp;nbsp;demo in action,&amp;nbsp;then come to the&amp;nbsp;&lt;a href="http://www.meetup.com/Silicon-Valley-Symbian-Developers-Meetup/"&gt;Symbian Silicon Valley SIG event&lt;/a&gt;&amp;nbsp;on September 16. &amp;nbsp;If you&amp;nbsp;found this article useful, please retweet it!&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-6302322918877761438?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/6302322918877761438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=6302322918877761438' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/6302322918877761438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/6302322918877761438'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/09/implementing-incremental-project.html' title='Implementing Incremental Project Builder for an Eclipse Web Runtime Plugin'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IzBe_WhTiy0/Sq6S33umQzI/AAAAAAAAATM/02mmXL1nVeA/s72-c/WebRT_PluginDev.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-335676597580079604</id><published>2009-06-05T09:55:00.000-07:00</published><updated>2009-06-05T12:06:12.232-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mover'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone app'/><title type='text'>How to Share Photos &amp; Contacts on iPhone</title><content type='html'>One of the most intuitive and appealing applications for sharing photos and contacts on the iPhone is called &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Mover&lt;/span&gt; developed by &lt;a href="http://infinite-labs.net/mover/"&gt;Infinite Labs&lt;/a&gt;.  Mover was developed for the iPhone.  No need for pairing. It only requires an iPhone or iPod Touch to be connected via WiFi network.  Mover is &lt;a href="http://www.infinite-labs.net/mover/download"&gt;available now for download&lt;/a&gt; for &lt;span class="Apple-style-span" style="font-style: italic;"&gt;free&lt;/span&gt; on App Store.&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IzBe_WhTiy0/SilnaSyd96I/AAAAAAAAATE/HHN4r2sqfGU/s1600-h/mover-app.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 203px; height: 307px;" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/SilnaSyd96I/AAAAAAAAATE/HHN4r2sqfGU/s320/mover-app.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5343916134269581218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is how it works:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Download the Mover app from iTunes App store and open it&lt;/li&gt;&lt;li&gt;Click the '+' sign to add items that you wish to share with the other iPhone or iPod Touch&lt;/li&gt;&lt;li&gt;Mover will display the options to "Add Image" or "Add Contact"&lt;/li&gt;&lt;li&gt;After selection is made, an icon will appear on your iPhone or iPod Touch screen&lt;/li&gt;&lt;li&gt;It will display the photo or contact along with an "arrow" (indicates the other iPhone device)&lt;/li&gt;&lt;li&gt;Just slide the icon you want to transfer (towards the other device)&lt;/li&gt;&lt;li&gt;To delete any item, select 'Edit' to remove the item (note: it does not remove it from the iPhone)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The photos and contacts transferred are automatically saved in the camera gallery and addressbook, respectively.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The transfer of photos may take some time depending on the image size, but the transfer of contacts is very fast and it even sends the contact's photo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Mover app is very intuitive and fun to use, but obviously only works on an iPhone or iPod Touch device.  You may want to take a closer look on &lt;a href="http://www.youtube.com/watch?v=PO9erFSSSPA"&gt;YouTube&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you found this article useful, please add a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;rating&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;comment&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;retweet&lt;/span&gt;! &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-335676597580079604?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/335676597580079604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=335676597580079604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/335676597580079604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/335676597580079604'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/06/how-to-share-photos-contacts-on-iphone.html' title='How to Share Photos &amp; Contacts on iPhone'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IzBe_WhTiy0/SilnaSyd96I/AAAAAAAAATE/HHN4r2sqfGU/s72-c/mover-app.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-7274711551714934989</id><published>2009-06-04T00:24:00.000-07:00</published><updated>2009-06-04T11:18:09.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone platform'/><category scheme='http://www.blogger.com/atom/ns#' term='WebOS'/><category scheme='http://www.blogger.com/atom/ns#' term='Palm Pre'/><title type='text'>Does the Palm Pre really live up to its hype?</title><content type='html'>Palm Pre is an internet connected multimedia smartphone designed and marketed by Palm, Inc., with a multi-touch screen and a sliding keyboard.  It has been the most highly anticipated gadget since the debut of the iPhone.  Now that the Palm Pre is scheduled to launch on June 6, 2009, and will be the first to use Palm's new Linux-based WebOS operating system. Does it really live up to its hype?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IzBe_WhTiy0/SieBK_d0oDI/AAAAAAAAAS8/6zy1HzwvedY/s1600-h/PalmPre-file.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 155px; height: 320px;" src="http://1.bp.blogspot.com/_IzBe_WhTiy0/SieBK_d0oDI/AAAAAAAAAS8/6zy1HzwvedY/s320/PalmPre-file.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5343381508733575218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Quick Features Overview:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Layered Calendars &amp;amp; Linked Contacts via Palm Synergy feature to bring together your Outlook, Google &amp;amp; Facebook calendars&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Intuitive Notifications appear at the bottom of the screen to let you know what's going on&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Universal Search for searching your contacts, and applications, or Google, Google Maps, Wikipedia or Twitter&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Photos, Music and Videos &lt;span class="Apple-style-span"   style="color: rgb(53, 53, 53);   line-height: 18px; font-family:Arial;font-size:13px;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Built-in Media Player supports MP3, AAC, AAC+, WAV and AMR music files, and MPEG4, H263 and H264 video formats&lt;/li&gt;&lt;li&gt;Download Applications from Palm Pre Catalog or buy movie tickets and add movie times right to your calendar&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Activity Cards that allow opening multiple applications by flipping them, moving them around or throwing them off screen&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Combined Messaging via Palm Synergy conversations grouped together in one chat-style view&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Email, WiFi and GPS&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web browser is based on WebKit&lt;/li&gt;&lt;li&gt;Breakthrough Design (Slide out keyboard for faster texting, accelerometer will automatically change the orientation of the display between landscape and portrait mode for music, websites, photos &amp;amp; videos when the device is rotated in the user's hands)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Pros:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The Palm Pre is based on WebOS which is built around a system of "activity cards" used to manage multitasking.  The multitasking capabilities and system notifications are unparalleled.&lt;/li&gt;&lt;li&gt;The Palm Pre showcases a sharp display and supports multitouch gestures, enabling most navigational input to be made using the touchscreen. However, since it includes the slide-out keyboard, it does not include a virtual keyboard as many other touchscreen smartphones do.&lt;/li&gt;&lt;li&gt;The Palm Pre uses the WebOS' feature called Synergy that integrates well information from many sources. WebOS allows contacts from multiple sources (i.e. Gmail, Facebook and Exchange) to be integrated together.  Also, Calendars from multiple sources can be viewed together or one at a time. For messaging, Synergy combines all conversations with each contact into a single chat-style window.  &lt;/li&gt;&lt;li&gt;Palm Pre offers good call quality, and the wireless options include 3G, WiFi, Bluetooth and GPS.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Cons:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Palm Pre's keyboard is cramped&lt;/li&gt;&lt;li&gt;Battery life drains quickly and the smartphone can be sluggish at times&lt;/li&gt;&lt;li&gt;Lacks expansion slot, video recording capabilities, on-screen keyboard, flash support (Note: On Feb 16, 2009, Adobe announced that it will be developing a version of Adobe Flash Player for WebOS). &lt;/li&gt;&lt;li&gt;Palm Pre App Catalog is still in beta and there are only a limited number of titles &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;In summary, Palm Pre may not be the iPhone killer device just as yet. Nonetheless, Palm has made a solid and smart device that offers something more in its multitasking and personal information management capabilities. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, what are your thoughts on the Palm Pre?  Do you plan to develop your applications for the Palm Pre within the next 6 months?  If you found this article useful, please &lt;span class="Apple-style-span" style="font-style: italic;"&gt;retweet&lt;/span&gt;!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-7274711551714934989?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/7274711551714934989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=7274711551714934989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7274711551714934989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7274711551714934989'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/06/does-palm-pre-really-live-up-to-its.html' title='Does the Palm Pre really live up to its hype?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IzBe_WhTiy0/SieBK_d0oDI/AAAAAAAAAS8/6zy1HzwvedY/s72-c/PalmPre-file.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-3471426834966883350</id><published>2009-05-04T23:42:00.001-07:00</published><updated>2009-05-05T10:12:45.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Add YouTube Video On Your Twitter Page</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IzBe_WhTiy0/Sf_gGeo8g9I/AAAAAAAAASs/j4vwqIq9gt4/s1600-h/yttwt.com-youtube-video.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_IzBe_WhTiy0/Sf_gGeo8g9I/AAAAAAAAASs/j4vwqIq9gt4/s320/yttwt.com-youtube-video.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5332226885738595282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitteranalyzer.com/"&gt;TwitterAnalyzer&lt;/a&gt;, &lt;a href="http://www.bubbletweet.com/"&gt;BubbleTweet&lt;/a&gt;, &lt;a href="http://www.twitzap.com/"&gt;TwitZap&lt;/a&gt; and &lt;a href="http://www.bubbleguru.com/"&gt;BubbleGuru&lt;/a&gt; are some of the many services that allow you to overlay a service on top of your Twitter page.  &lt;a href="http://www.vidtweeter.com/"&gt;VidTweeter&lt;/a&gt; lets you tweet YouTube, Vimeo and Dailymotion videos.  All you have to do is to provide your Twitter user name, and select the type of video from a choice of YouTube, Vimeo or Dailymotion videos.  When someone opens the URL you have tweeted, in this case, the YouTube video will play on top of your Twitter page as shown above.  The cool thing is that you actually get to see how many people actually viewed your tweeted video!  If you found this article useful, please &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;r&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;etweet&lt;/span&gt;&lt;/span&gt;! &lt;br /&gt;&lt;br /&gt;Click the link to see it in action: &lt;a href="http://yttwt.com/xny5n"&gt;http://yttwt.com/xny5n&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-3471426834966883350?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/3471426834966883350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=3471426834966883350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3471426834966883350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3471426834966883350'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/05/add-youtube-video-on-your-twitter-page.html' title='Add YouTube Video On Your Twitter Page'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IzBe_WhTiy0/Sf_gGeo8g9I/AAAAAAAAASs/j4vwqIq9gt4/s72-c/yttwt.com-youtube-video.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-3334178339355672859</id><published>2009-04-10T20:11:00.000-07:00</published><updated>2009-04-11T01:53:26.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone app'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><title type='text'>8 Nifty Twitter Mobile Clients</title><content type='html'>For any Twitter newbie, it can be a very daunting task when you first start twittering to figure out which Twitter client of the numerous others is appropriate for a specific mobile platform.  You quickly discover that it is hard to find a way to follow all of your Twitter updates without being interrupted constantly by a flow of updates. While you can update your status via SMS, keeping track of your friends and followers is difficult to do particularly while you are on the go.  Due to the huge success of the iPhone launch, there is no shortage of the number of Twitter clients out there on the iPhone or even other emerging platforms such as Android.  Below is a concised list of the more popular mobile Twitter applications listed by platform.&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.tinytwitter.com/"&gt;Tiny Twitter&lt;/a&gt; (Java-enabled phones, Windows Mobile, Blackberry platform)                          &lt;/li&gt;&lt;li&gt;&lt;a href="http://orangatame.com/products/twitterberry"&gt;TwitterBerry&lt;/a&gt; (Blackberry)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.kosertech.com/blog/?cat=3"&gt;CeTwi&lt;/a&gt;&lt;a href="http://www.kosertech.com/blogs/?page_id=5"&gt;t&lt;/a&gt; (Windows Mobile)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.madpilot.com.au/twitteresce"&gt;Twitteresce&lt;/a&gt; (Java-enabled phones)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twibble.de/"&gt;Twibble&lt;/a&gt; (Java-enabled phones)&lt;/li&gt;&lt;li&gt;&lt;a href="http://tapulous.com/twinkle"&gt;Twinkle&lt;/a&gt; (iPhone)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twidroid.com/"&gt;Twidroid&lt;/a&gt; (Google Android G1)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.atebits.com/tweetie-iPhone"&gt;Tweetie&lt;/a&gt; (iPhone)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Tiny Twitter&lt;/span&gt; is a twitter client for Java-enabled, Windows Mobile and Blackberry phones.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Set automatic update interval&lt;/li&gt;&lt;li&gt;Click update from [menu] to fetch friends timeline&lt;/li&gt;&lt;li&gt;Send tweets/direct message&lt;/li&gt;&lt;li&gt;Hide friends temporarily&lt;/li&gt;&lt;li&gt;Collapse tweets, hide user's image and truncate text to get more real estate&lt;/li&gt;&lt;li&gt;Retrieve direct message&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: good for mass-market phones, but other Twitter clients have better UI (see below)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Twitterberry&lt;/span&gt; is a mobile Twitter client for posting updates for the Blackberry platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IzBe_WhTiy0/SeBS0f4fGKI/AAAAAAAAASc/ZW8-AjKXabI/s1600-h/twitterberry_screenshot_small.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 157px; height: 261px;" src="http://3.bp.blogspot.com/_IzBe_WhTiy0/SeBS0f4fGKI/AAAAAAAAASc/ZW8-AjKXabI/s320/twitterberry_screenshot_small.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5323345821417019554" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;ul&gt;&lt;li&gt;Pictures support via TwitPic&lt;/li&gt;&lt;li&gt;ping.fm support&lt;/li&gt;&lt;li&gt;Timeline updates while device is sleeping&lt;/li&gt;&lt;li&gt;Audible/vibrate alerts&lt;/li&gt;&lt;li&gt;Retweet&lt;/li&gt;&lt;li&gt;Favorite &lt;/li&gt;&lt;li&gt;Delete&lt;/li&gt;&lt;li&gt;Picture support via TwitPic.com&lt;/li&gt;&lt;li&gt;Refresh timelines&lt;/li&gt;&lt;li&gt;Configurable auto-updating of timelines&lt;/li&gt;&lt;li&gt;Longer list of tweets: 200&lt;/li&gt;&lt;li&gt;View &amp;amp; reply to tweets and direct messages&lt;/li&gt;&lt;li&gt;Favorite and delete tweets from any timeline&lt;/li&gt;&lt;li&gt;View friends list&lt;/li&gt;&lt;li&gt;Allow overflow of 140 characters when typing your tweet&lt;/li&gt;&lt;li&gt;Optimize menu screen so most commonly used choices are easy to access&lt;/li&gt;&lt;li&gt;URLs in tweets can be selected and opened in your Blackberry browser&lt;/li&gt;&lt;li&gt;User customizable default application entry screen&lt;/li&gt;&lt;li&gt;BES connection support&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: best app for Blackberry&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;CeTwit&lt;/span&gt; is a Windows Mobile Twitter client written in C# leveraging the .net compact framework.&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IzBe_WhTiy0/SeBTXhJDF5I/AAAAAAAAASk/qwLl4GJv7fs/s1600-h/cetwit2-225x300.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 225px; height: 300px;" src="http://4.bp.blogspot.com/_IzBe_WhTiy0/SeBTXhJDF5I/AAAAAAAAASk/qwLl4GJv7fs/s320/cetwit2-225x300.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5323346423050344338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Timeline display&lt;/li&gt;&lt;li&gt;Account storage&lt;/li&gt;&lt;li&gt;Status updates&lt;/li&gt;&lt;li&gt;Direct Messages&lt;/li&gt;&lt;li&gt;Click to reply&lt;/li&gt;&lt;li&gt;Automated refresh&lt;/li&gt;&lt;li&gt;Smartphone support&lt;/li&gt;&lt;li&gt;Avatars in timeline&lt;/li&gt;&lt;li&gt;Local caching of avatars&lt;/li&gt;&lt;li&gt;Squeezer support&lt;/li&gt;&lt;li&gt;Relative timestamps&lt;/li&gt;&lt;li&gt;Follow/unfollow&lt;/li&gt;&lt;li&gt;Pictures support via TwitPic&lt;/li&gt;&lt;li&gt;ping.fm support&lt;/li&gt;&lt;li&gt;Timeline updates while device is sleeping&lt;/li&gt;&lt;li&gt;Audible/vibrate alerts&lt;/li&gt;&lt;li&gt;Retweet&lt;/li&gt;&lt;li&gt;Favorite &lt;/li&gt;&lt;li&gt;Delete&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: Nicer UI compared to Tiny Twitter and fully featured, except for URL shortening&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Twitteresce&lt;/span&gt; is a Twitter client for Java-enabled phones with a slick background for text updates.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Displays all status updates&lt;/li&gt;&lt;li&gt;Retrieve and delete tweets &amp;amp; direct messages&lt;/li&gt;&lt;li&gt;Autoupdate&lt;/li&gt;&lt;li&gt;Refresh rate&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: basic tweeting functionality for Java enabled phones, but lacks several nifty features&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Twibble&lt;/span&gt; is a location-aware Twitter client that uses GPS on Blackberry Curve 8330 or Symbian phones like Nokia E71 or N95&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Post Messages&lt;/li&gt;&lt;li&gt;Auto refresh&lt;/li&gt;&lt;li&gt;Notifications&lt;/li&gt;&lt;li&gt;Uploading of photos via TwitPic&lt;/li&gt;&lt;li&gt;Themes&lt;/li&gt;&lt;li&gt;Integrated tweets &amp;amp; direct messages displayed in a single list&lt;/li&gt;&lt;li&gt;Open web URLs within tweets&lt;/li&gt;&lt;li&gt;Retweet&lt;/li&gt;&lt;li&gt;Quick @replies&lt;/li&gt;&lt;li&gt;Follow users&lt;/li&gt;&lt;li&gt;Mark tweets as favorite&lt;/li&gt;&lt;li&gt;SSL support&lt;/li&gt;&lt;li&gt;Cancel network requests&lt;/li&gt;&lt;li&gt;Location-based (shows location of friends on a map) via GPS&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: good for Java-enabled phones or GPS supported phones&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Twinkle&lt;/span&gt; is an iPhone client that has location aware features.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IzBe_WhTiy0/SeAX4nIh4DI/AAAAAAAAASE/tWLsCZqXgKw/s1600-h/img_demo_twinkle_nearby.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 94px; height: 141px;" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/SeAX4nIh4DI/AAAAAAAAASE/tWLsCZqXgKw/s320/img_demo_twinkle_nearby.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5323281020896796722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Discover, connect and send messages to people nearby&lt;/li&gt;&lt;li&gt;Upload photos and update your status on your Twitter account&lt;/li&gt;&lt;li&gt;Using the power of geolocation, join the discussion with the people around you&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Overall&lt;/span&gt;: cool UI and looks slick on the iPhone&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Twidroid&lt;/span&gt; is a Twitter client for the Google Android phone.&lt;/div&gt;&lt;div&gt;Refer to my earlier post on &lt;a href="http://mymobilecorner.blogspot.com/2009_03_01_archive.html"&gt;"Top Android Social Networking Applications"&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Tweetie&lt;/span&gt; is a full featured Twitter client for the iPhone and iPod Touch.&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IzBe_WhTiy0/SeBMWoP0MJI/AAAAAAAAASU/DCIF4A5NB3I/s1600-h/tweetie_iphone.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 320px;" src="http://1.bp.blogspot.com/_IzBe_WhTiy0/SeBMWoP0MJI/AAAAAAAAASU/DCIF4A5NB3I/s320/tweetie_iphone.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5323338711196512402" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;It offers everything you would want from your timeline to trends - all within an incredibly polished user interface, great performance and ease-of-use.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Features&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Handles multiple Twitter accounts&lt;/li&gt;&lt;li&gt;View  your timeline, replies and direct messages&lt;/li&gt;&lt;li&gt;Manage favorites&lt;/li&gt;&lt;li&gt;Browse friends and followers&lt;/li&gt;&lt;li&gt;Post new tweets, Retweet&lt;/li&gt;&lt;li&gt;Reply directly to tweets and send direct messages&lt;/li&gt;&lt;li&gt;Follow and unfollow people&lt;/li&gt;&lt;li&gt;Block/unblock users&lt;/li&gt;&lt;li&gt;Navigate reply chains&lt;/li&gt;&lt;li&gt;Inline web browser&lt;/li&gt;&lt;li&gt;Integrated with TwitPic for posting photos&lt;/li&gt;&lt;li&gt;Update Twitter location&lt;/li&gt;&lt;li&gt;Post tweets w/auto URL shortener&lt;/li&gt;&lt;li&gt;Uses secure connection (https)&lt;/li&gt;&lt;li&gt;View Twitter trends and custom searches&lt;/li&gt;&lt;li&gt;Nearby searching&lt;/li&gt;&lt;li&gt;Links to StockTwits&lt;/li&gt;&lt;li&gt;Optional landscape keyboard&lt;/li&gt;&lt;li&gt;Themes&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;There are several other Twitter clients that were developed earlier for the iPhone such as &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Twitterific&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Twitterfon&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Twittelator&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Twinkle&lt;/span&gt; (above).  However, of all of them, my favorite one is &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Tweetie&lt;/span&gt; for the iPhone. &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Tweetie&lt;/span&gt; includes four main buttons: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Tweets&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Replies&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Messages&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Favorites&lt;/span&gt;.  Under &lt;span class="Apple-style-span" style="font-style: italic;"&gt;More,&lt;/span&gt; you will find &lt;span class="Apple-style-span" style="font-style: italic;"&gt;My Profile&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Following&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Followers&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Trends&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Search&lt;/span&gt;.  You can easily view @replies, see URL links directly in the inline browser, retweet messages, turn links in the browser into short URLs and much more. Perhaps, the only thing missing is that it doesn't let you browse the web and shorten a URL on the fly.  &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Tweetie&lt;/span&gt; is definitely a solid app overall and is probably the most full-featured Twitter client available for the iPhone to date.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is your favorite Twitter mobile client? Please let me know in your comments.  If you found this article interesting, feel free to retweet (upper left corner) and &lt;a href="http://www.twitter.com/tasneemsayeed/"&gt;follow me&lt;/a&gt; on Twitter.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-3334178339355672859?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/3334178339355672859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=3334178339355672859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3334178339355672859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3334178339355672859'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/04/8-nifty-twitter-mobile-clients.html' title='8 Nifty Twitter Mobile Clients'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IzBe_WhTiy0/SeBS0f4fGKI/AAAAAAAAASc/ZW8-AjKXabI/s72-c/twitterberry_screenshot_small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-5878112139830908349</id><published>2009-03-29T21:32:00.000-07:00</published><updated>2009-03-30T18:40:18.020-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>Top Android Social Networking Applications</title><content type='html'>Social networking applications are increasingly driving the growth of the mobile internet audience. According to a November comScore report, the European mobile social networking audience grew 152% from November 2007 to November 2008 to 12.1 million people (UK boasts the highest mobile social networking penetration at 9%.  Furthermore, 33% of all mobile social networking users access social media sites exclusively.&lt;br /&gt;According to the &lt;a href="http://www.nytimes.com/2009/03/29/technology/internet/29face.html?_r=1&amp;amp;ref=technology"&gt;New York Times&lt;/a&gt;, Facebook is adding a million users per day and nearing a milestone of 200 million users.  Whereas, MySpace still dominates Facebook in the US market with &lt;a href="http://www.techcrunch.com/2008/06/12/facebook-no-longer-the-second-largest-social-network/"&gt;72 million monthly uniques&lt;/a&gt;. After 3 years, Twitter has roughly 8 mm unique US unique users according to &lt;a href="http://siteanalytics.compete.com/twitter.com/?metric=uv"&gt;Compete&lt;/a&gt;.  Twitter is a distributed service, leveraging a lot of  "instances" of  Twitter (i.e. Tweetdeck, Twirl, Tweetie, Twitterific, SMS users,...) and it is reported that more than half of its users don't even hit the main site at any given time.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Based on the aforementioned findings, I decided to focus on the top 3 social networking mobile applications available on the Android Market.  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IzBe_WhTiy0/SdBWsKdzIlI/AAAAAAAAARU/8WJgo2nlIa8/s1600-h/twidroid.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/SdBWsKdzIlI/AAAAAAAAARU/8WJgo2nlIa8/s320/twidroid.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5318846476648129106" /&gt;&lt;/a&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Application Title&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Twidroid&lt;/span&gt;   &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Website&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;http://twidroid.com&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Available&lt;/span&gt;: Now on Android Market   Release 2.0 expected around mid-April 2009&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Rating&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;: 5  (Best social networking app on Android Market)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Twidroid is a fully featured twitter client for Android mobile phones.  The twitter client I downloaded was a Beta release (version 1.6.4). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Features supported included:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Posting tweets, replies, direct messages and refreshing results&lt;/li&gt;&lt;li&gt;User profile detail information from a posted tweet&lt;/li&gt;&lt;li&gt;Option to send direct message, follow or unfollow&lt;/li&gt;&lt;li&gt;Tweet options include add/remove favourite, delete and cancel&lt;/li&gt;&lt;li&gt;Background notifications for replies and direct messages&lt;/li&gt;&lt;li&gt;Auto-layout for landscape and portrait mode&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;When posting a tweet, you have the option to include a picture already taken from your photo gallery or to import the picture by opening the camera through Android.  The settings allow you to select the photo hosting client (Photoid or Twitpic) and the picture quality (low, medium and high).   You can also insert your current location when posting your tweet.  As you are entering characters for posting the tweet, a character countdown in the upper left corner tracks how many characters you have left from the 140 characters limit.  As the tweet is being posted, you get a status update.  &lt;/div&gt;&lt;div&gt;Twidroid also includes background notifications that inform of new tweets.  From the menu, you can click on "Settings" which allow the user to set various options such as "Check for Tweets", "Check for Replies", "Check for Direct Messages", "Vibrate on Alerts", "LED Flash on Alerts", "Play ringtone on Alerts", and how often to check (default is 5 minutes). Shorter intervals may use up more battery.  Other options include "Show shortcut icon" (disabled by default), "Show complete message in notification (disabled by default), "Start at boot time" (enabled).  Whenever a tweet is posted, the URL is automatically shortened, and the URL Shortener option can be customized in "Settings".  Display options for "Use Screen Names", "Font Size", "Metric Units", "Refresh list after sending tweet" and the number of tweets to display (set to 80 by default) are customizable to suit your style.  There are various other settings for enabling SSL, Autocomplete for Contact Names, Automatic GPS, and Cache Settings.  &lt;/div&gt;&lt;div&gt;The only &lt;span class="Apple-style-span" style="font-style: italic;"&gt;nice-to-have&lt;/span&gt; feature would be the ability to easily view your &lt;span class="Apple-style-span" style="font-style: italic;"&gt;own&lt;/span&gt; profile information (i.e. followers) without having to view it from your posted tweet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IzBe_WhTiy0/SdB9CZ50LuI/AAAAAAAAAR8/AL6MFyNIF5s/s1600-h/mySpaceProfile.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://4.bp.blogspot.com/_IzBe_WhTiy0/SdB9CZ50LuI/AAAAAAAAAR8/AL6MFyNIF5s/s320/mySpaceProfile.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5318888640191147746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Application Title&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;MySpace Mobile&lt;/span&gt;   &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Available&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Now on Android Market&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Rating&lt;/span&gt;: 3&lt;span class="Apple-style-span" style="font-style: italic;"&gt;  (application UI needs more work)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MySpace application includes options to display My Profile information, Friend Requests, Friend Status and Mood, Friend Updates, Comments and Bulletins.  However, the performance was considerably slow for displaying profile information and even simple comments, or adding comments.  During an earlier attempt to post a comment, there was a "Post Comment Failed" message displayed, so when I re-entered the comment, the comment ended up being posted twice.  There were also some display issues but they cleared up once a subsequent comment was posted!&lt;/div&gt;&lt;div&gt;Generally, I did not find the MySpace application on the Android as compelling or cool!  Nonetheless, the application has had &gt;250,000 downloads!&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IzBe_WhTiy0/SdB4U_uRGhI/AAAAAAAAAR0/zapiAxGJhQ4/s1600-h/fBook.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://3.bp.blogspot.com/_IzBe_WhTiy0/SdB4U_uRGhI/AAAAAAAAAR0/zapiAxGJhQ4/s320/fBook.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5318883462022765074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Application Title&lt;/span&gt;: fB&lt;span class="Apple-style-span" style="font-style: italic;"&gt;ook&lt;/span&gt;   &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;(Updated)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Available&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Now on Android Market&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Rating&lt;/span&gt;: &lt;span class="Apple-style-span" style="font-style: italic;"&gt; 3+ (no option to display older newsfeeds)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;fBook application provides several of the features supported by Facebook.  Features supported include:&lt;/div&gt;&lt;div&gt;     1.  Home (NewsFeed, Events, Requests)&lt;br /&gt;     2.  Profile (Info, Wall, Photos)&lt;br /&gt;     3.  Friends (Status, Online, Photos)&lt;br /&gt;fBook provides the option to either choose the "mobile" or "full" website at the bottom of the screen.  The login page did not provide an option, &lt;span class="Apple-style-span" style="font-style: italic;"&gt;remember me&lt;/span&gt; so that the user is required to login repeatedly which can be annoying on a mobile phone.  The &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Settings&lt;/span&gt; can be invoked from the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;menu&lt;/span&gt; option.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The&lt;span class="Apple-style-span" style="font-style: italic;"&gt; Settings&lt;/span&gt; include options for "Storage" (clear cache), "Notification Settings" and "Message Checking Frequency" (defaulted to every 5 minutes).  There is also a "Photo Upload" option available from the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;menu&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;The "NewsFeed" displayed only some of the stories, and there did not seem to be any option for uploading the remaining stories or any available configurable settings.&lt;/div&gt;&lt;div&gt;The "Profile" info displayed only basic and personal information. There was no content displayed for Education, Work, Group or Pages.  The "Wall" did not seem to show many of the posts.  The Profile Photos showed no photos.&lt;/div&gt;&lt;div&gt;The "Friends" options shows the friends status, friends that are online and the friends photos that have been uploaded.   The option for &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Status&lt;/span&gt; updates is not intuitive as it is hidden on the panel in the upper left corner.  There is also a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Search&lt;/span&gt; option hidden on the same panel in the upper right corner! Clicking on the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Search&lt;/span&gt; option allows you to search people on Facebook (cool)! But, would you expect that is how you can &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Add Friends&lt;/span&gt; by entering a name of a friend, then clicking &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Add Friend &lt;/span&gt;or&lt;span class="Apple-style-span" style="font-style: italic;"&gt; Message&lt;/span&gt;!  You can also post a comment on your wall by clicking on &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Profile&lt;/span&gt; then selecting &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Wall&lt;/span&gt;, and touching in the comment area.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The download site indicates that fBook is a wrapper that fixes the Facebook iPhone web app (push notifications (supported on Android only) and photo upload).  Nonetheless, it is a useful mobile application for checking your facebook status  on the road.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Were there any social networking applications that you found compelling on the Android Market?  If so, let me know them in your comments.  If you found this article informative, please feel free to click on &lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;retweet&lt;/span&gt;&lt;/span&gt; (upper left corner) and  &lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;follow me&lt;/span&gt;&lt;/span&gt; on twitter.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-5878112139830908349?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/5878112139830908349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=5878112139830908349' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5878112139830908349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5878112139830908349'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/03/top-android-social-networking.html' title='Top Android Social Networking Applications'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IzBe_WhTiy0/SdBWsKdzIlI/AAAAAAAAARU/8WJgo2nlIa8/s72-c/twidroid.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-7385075669554741048</id><published>2009-03-12T10:36:00.000-07:00</published><updated>2009-03-12T10:58:05.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPod Touch'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone app'/><category scheme='http://www.blogger.com/atom/ns#' term='WiFi'/><title type='text'>Watch March Madness Live On Your iPhone</title><content type='html'>This year, you do not have to miss the NCAA tournament, March Madness, while you are on-the-road as you can see it streaming live via your iPhone starting next Thursday.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IzBe_WhTiy0/SblKOygXYlI/AAAAAAAAARE/TBWEYxaGXAw/s1600-h/ncaa-iphone.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_IzBe_WhTiy0/SblKOygXYlI/AAAAAAAAARE/TBWEYxaGXAw/s320/ncaa-iphone.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5312358853396357714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;The March Madness iPhone application was developed by MobiTV and is available to download from iTunes for $4.99.  In addition to streaming the games, it provides real-time game scores, stats and more.  However, the only drawback is that you will need to connect your iPhone or iPod Touch to a WiFi connection so you are limited to where you can watch the game.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-7385075669554741048?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/7385075669554741048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=7385075669554741048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7385075669554741048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/7385075669554741048'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/03/watch-march-madness-live-on-your-iphone.html' title='Watch March Madness Live On Your iPhone'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IzBe_WhTiy0/SblKOygXYlI/AAAAAAAAARE/TBWEYxaGXAw/s72-c/ncaa-iphone.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-640489675398907050</id><published>2009-03-10T13:22:00.000-07:00</published><updated>2009-03-10T14:00:14.810-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile videos'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile entertainment'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone app'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile music'/><title type='text'>First Official American Idol iPhone App Lacks Text, But Provides Bios, Videos, MyRanking And More</title><content type='html'>&lt;div&gt;It is rather disappointing that the first official American Idol iPhone application has launched just in time to watch the final 13 round in season 8, but lacks the ability to text for casting votes directly from the app - a key "must-have" feature that die-hard fans are likely to notice almost immediately.  &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 225px;" src="http://3.bp.blogspot.com/_IzBe_WhTiy0/SbbQIaURtBI/AAAAAAAAAQ8/TR_2sFLuNgk/s320/AI-homescreen_thumb.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5311661653451977746" /&gt;&lt;/div&gt;&lt;div&gt;The American Idol application is available today for both the iPod Touch and the iPhone for $1.99 and provides bios, news and behind-the-scenes videos of the contestants. However, users who want to access the videos of the recent performances are redirected to a link to iTunes for downloading the music for an additional $.99!  Zumobi, who is building the application in collaboration with FreeMantleMedia Enterprises, 19 Entertainment and Fox,  plans to allow "Text" in a future version of the app.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-640489675398907050?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/640489675398907050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=640489675398907050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/640489675398907050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/640489675398907050'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/03/first-official-american-idol-iphone-app.html' title='First Official American Idol iPhone App Lacks Text, But Provides Bios, Videos, MyRanking And More'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IzBe_WhTiy0/SbbQIaURtBI/AAAAAAAAAQ8/TR_2sFLuNgk/s72-c/AI-homescreen_thumb.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-3126452729119297660</id><published>2009-03-07T00:25:00.000-08:00</published><updated>2009-03-07T01:37:57.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Cool Way To Tweet Music</title><content type='html'>The most frequently used site for tweeting music is &lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;&lt;a href="http://blip.fm/"&gt;blip.fm&lt;/a&gt;&lt;/span&gt; (&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;@blip.fm&lt;/span&gt;).  It is well integrated with other microblogging services. However, blip.fm requires you to sign up with your email address.&lt;br /&gt;&lt;br /&gt;Here is another cool way to share music on Twitter and  it is very easy to use.  &lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;You do not have to sign up nor give away your Twitter password.&lt;/span&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Go to the site: &lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;&lt;a href="http://twt.fm/"&gt;http://twt.fm&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Enter your username for Twitter&lt;/li&gt;&lt;li&gt;Enter the name of the artist&lt;/li&gt;&lt;li&gt;Enter the track name&lt;/li&gt;&lt;li&gt;Click on "tweet music"&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/javadiva/b8gji/twt.fm-natasha-bedingfield-pocket-full-of-sunshine"&gt;&lt;img src="http://img.skitch.com/20090307-nbayhkwmiegwm2jb6p3wb5h4ef.preview.jpg" alt="twt.fm / natasha bedingfield " pocket="" full="" of="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;script type="text/javascript"&gt;var addthis_pub="tasneem";&lt;/script&gt;&lt;br /&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-3126452729119297660?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/3126452729119297660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=3126452729119297660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3126452729119297660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3126452729119297660'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/03/cool-way-to-tweet-music.html' title='Cool Way To Tweet Music'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-1899277647252344951</id><published>2009-03-01T10:42:00.000-08:00</published><updated>2009-03-01T17:34:22.580-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Should Facebook Do More To Prevent the Spread of Rogue Applications?</title><content type='html'>&lt;a href="http://www.sophos.com/blogs/gc/g/2009/02/27/reported-facebook-violating"&gt;Graham Cluley's blog &lt;/a&gt;&lt;div&gt;reported that Facebook had discovered yet another rogue third-party application in less than a week after the &lt;a href="http://www.sophos.com/blogs/gc/g/2009/02/23/beware-error-check-system-facebook-application/"&gt;"Error Check System"&lt;/a&gt; had blasted Facebook users claiming that there was a problem with user profiles and concerned users were redirected to malicious websites.  The new rogue application sends a bogus notification messages that a friend has violated Facebook's Terms of Service.  A typical bogus notification message appears as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"[Friend's name] has just reported you to Facebook for violating our Terms of Service. - This is your official warning! - Click here to find out why you were reported! - Request Facebook look at what has happened and rule immediatley."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now if a novice user misses the school boy spelling error by clicking on the link, then he would grant the rogue application permission to access his profile and personal information, and inadvertently forward the bogus information message to all of his Facebook friends!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When Facebook opened its platform to developers, it allowed anybody to develop and write a Facebook application. One of the issues is that the applications developed are apparently not going through the scrutiny and certification process that is desirable before the application is made available to the public.  As a result, even if Facebook removes one malignant application, another one can pop up in another place like a poisoned mushroom under a different name.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;According to Graham Cluley, Facebook has now removed the rogue application along with its clones ("My account" and "Reported for Rule Breaking").  Facebook users have to be more careful before adding new applications, but, isn't it time for Facebook to add more scrutiny before having its applications published ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-1899277647252344951?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/1899277647252344951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=1899277647252344951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1899277647252344951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1899277647252344951'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/03/should-facebook-do-more-to-prevent.html' title='Should Facebook Do More To Prevent the Spread of Rogue Applications?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-1993184319296756009</id><published>2009-02-20T13:35:00.000-08:00</published><updated>2009-02-20T14:38:22.547-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Porting J2ME Applications to Android</title><content type='html'>When the new Google Android platform was introduced, there were initially a small number applications available, so Google spent $10 million to attract developers to their Android Developer Challenge before the T-Mobile G1 phone was released.  The existing Java ME community quickly realized that there was a huge opportunity if there can be tools developed that allowed the existing Java ME applications to be run on the Android platform.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are 2 tools that may be somewhat useful for allowing Java ME applications to run on Android:&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.microemu.org"&gt;MicroEmulator&lt;/a&gt; is a pure Java implementation of Java ME in J2SE.  The advantage is that it is an open source project and is licensed under LPGL so that it is possible to distribute commercial software with its libraries.  See &lt;a href="http://microemu.blogspot.com/2008/11/running-java-me-applications-on-android.html"&gt;MicroEmu: Running Java ME applications on Android&lt;/a&gt; for further details.  &lt;/li&gt;&lt;li&gt;Netmite has developed an application, &lt;a href="http://www.netmite.com/android/index.html"&gt;J2ME MIDP Runner&lt;/a&gt; to allow running Java ME applications on Android without significant source code changes that is readily available to download from the Android Market&lt;/li&gt;&lt;/ol&gt;MicroEmulator supports the following features :  &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;MIDP 2.0 (TextField UI - not yet implemented)&lt;/li&gt;&lt;li&gt;Skinnable and configurable interface&lt;/li&gt;&lt;li&gt;Generic Connection Framework&lt;/li&gt;&lt;li&gt;JSR 135 (Mobile Multimedia API); JSR 75 (File Connection API)&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;JSR-179 (Location APIs) targeted to be available as a commercial extension&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;JSR-184 (3D graphics) on top of Android OpenGL ES targeted to be available in the future as a commercial extension&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-1993184319296756009?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/1993184319296756009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=1993184319296756009' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1993184319296756009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/1993184319296756009'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/02/porting-j2me-applications-to-android.html' title='Porting J2ME Applications to Android'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-9167793382505093412</id><published>2009-02-13T11:05:00.000-08:00</published><updated>2009-02-14T00:43:34.232-08:00</updated><title type='text'>Android Vulnerability: Is the phone Web Browser really dangerous ?</title><content type='html'>&lt;div&gt;Sarah Perez writes &lt;/div&gt;&lt;a href="http://www.readwriteweb.com/archives/android_vulnerability_so_dangerous_shouldnt_use_web_browser.php"&gt;"Android Vulnerability So Dangerous, Owners Warned Not To Use Phone's Web Browser"&lt;/a&gt;. According to Washington DC Security researcher, a new vulnerability in Google's mobile OS Android allows hackers to remotely take control of the phone's web browser and related processes. &lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, wait let's take a closer look at how an Android phone can be compromised.  If an Android user does not utilize the media server functionality when using its web browser, can he still be at risk?  According to Rich Cannings, Android Security Engineer, the Android mediaserver uses OpenCore and works within its own application sandbox so that &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;security issues in the mediaserver would not affect other applications on the phone such as email, the browser, SMS and the dialer&lt;/span&gt;.  He further notes that the Android vulnerability is limited to the mediaserver and could &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;only exploit actions the mediaserver performs such as listen to and alter some audio and visual media.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"Both vulnerabilities could have been prevented if Android had the ability to block malicious code from executing in memory." &lt;/span&gt; One of the ways, this can be prevented is by the use of a class file verifier similar to the J2ME verifier, which could ensure that the Android bytecodes (.dex files) do not contain illegal instructions, cannot be executed in an illegal order and do not contain references to invalid memory locations, etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-9167793382505093412?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/9167793382505093412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=9167793382505093412' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/9167793382505093412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/9167793382505093412'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2009/02/android-vulnerability-is-phone-web.html' title='Android Vulnerability: Is the phone Web Browser really dangerous ?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-4643376668215478132</id><published>2008-11-13T12:26:00.000-08:00</published><updated>2009-02-14T00:44:28.849-08:00</updated><title type='text'>OpenSocial Turns One!</title><content type='html'>&lt;div&gt;Today, Google's OpenSocial platform marks its 1st birthday with an event bringing together some of the platform's top developers at MySpace's San Francisco office.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;According to the OpenSocial Foundation, the OpenSocial platform has been deployed by over 7500 developers, reaching a staggering total of 600 million users!  This includes 315 million application installs across the social networks including MySpace, Orkut, Bebo and Hi5.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For further details, see&lt;/div&gt;&lt;a href="http://www.techcrunch.com/2008/11/13/28160/"&gt;OpenSocial: State Of The Union Presentation.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Posted using &lt;a href="http://sharethis.com/"&gt;ShareThis&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-4643376668215478132?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/4643376668215478132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=4643376668215478132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4643376668215478132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/4643376668215478132'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2008/11/opensocial-turns-one-what-impressive.html' title='OpenSocial Turns One!'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-3842779872759596372</id><published>2008-11-10T12:02:00.000-08:00</published><updated>2009-02-14T00:34:37.844-08:00</updated><title type='text'>Guidelines for Creating Social Networks</title><content type='html'>People use social networks to meet new people, stay in touch with friends and even make business connections. Additionally, a social network is used for building a community based on common interests, where many people can share their knowledge, opinions and interests.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a few guidelines that provide "cool" things to include and pitfalls to avoid when creating a social network:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;The social network must be capable of making and organizing connections.  This is a primary required feature within any network.  The organization of connections may be based on interests, hobbies, sports, profession and so on dependent on the network category desired.&lt;/li&gt;&lt;li&gt;The social network should consist of basic features such as profiles, ability to search people, friend lists, messages, groups or organizations, and photos.&lt;/li&gt;&lt;li&gt;Integrate the social network so that it will work on the desktop as well as on a mobile device as people are much more mobile today and want to be able to access their social network anytime and from anywhere.&lt;/li&gt;&lt;li&gt;It is very crucial to offer a service for the social network that is unique and has a "stickiness" to it so that it gets a wide traction and users find it compelling and interesting to come back and use it on an ongoing basis.  Examples are a news feed, notifications, messages, applications (i.e. funwall), etc.&lt;/li&gt;&lt;li&gt;Make the social network easy to use, easy for members to sign up and invite their friends.&lt;/li&gt;&lt;li&gt;Make sure that the social network includes support for &lt;a href="http://opensocial.org/"&gt;OpenSocial&lt;/a&gt; and can be integrated with the prevalent social networks (i.e. facebook, flickr, myspace, twitter, linkedin, etc.)&lt;/li&gt;&lt;li&gt;Avoid creating yet another social network that simply replicates what is already available today (i.e. another facebook, myspace, twitter, and so on). &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-3842779872759596372?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/3842779872759596372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=3842779872759596372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3842779872759596372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/3842779872759596372'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2008/11/guidelines-for-creating-social-networks.html' title='Guidelines for Creating Social Networks'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-136705384347102665</id><published>2008-11-07T23:51:00.000-08:00</published><updated>2009-02-14T00:45:05.104-08:00</updated><title type='text'>Apple's iPhone Ranks High In Customer Satisfaction...</title><content type='html'>According to &lt;a href="http://moconews.net/"&gt;mocoNews.net&lt;/a&gt;, Apple's iPhone has the highest customer satisfaction. The J.D. Power and Associates report measured five factors ranging from ease-of-use to battery life. On a 1,000-point scale, Apple (NSDG:AAPL) received 778 points; Blackberry received 703 points and Samsung received 701 points.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Among other findings reported: the top five reasons for buying a smartphone are Internet capability (45%); ability to use email (41%); design/style (39%); bluetooth (37%) and keyboard style (45%).  There were 34% respondents of the study who downloaded third-party software, and the most popular applications were games, business apps like Microsoft (NSDG: MSFT) Word and Excel, and travel-related applications. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is not surprising that the study revealed that one-fourth of users report having to reboot the device when it freezes and issues related to touch screen problems.  Don't get me wrong I am a die-hard fan of the iPhone, but I too have noticed the device freezes on occasions and the touch screen problems are particularly evident when the receiver is held to the ear for making phone calls.  For this reason, I like many others choose to carry the iPhone and a second phone for making phone calls!  I wonder if these touch screen issues will go away anytime soon - perhaps in an upcoming iPhone 2.x software release?&lt;/div&gt;&lt;div&gt;&lt;script type="text/javascript"&gt;var addthis_pub="tasneem";&lt;/script&gt;&lt;br /&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-136705384347102665?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/136705384347102665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=136705384347102665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/136705384347102665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/136705384347102665'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2008/11/apples-iphone-ranks-high-in-customer.html' title='Apple&apos;s iPhone Ranks High In Customer Satisfaction...'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-8461427954118099140</id><published>2008-11-07T23:37:00.000-08:00</published><updated>2009-02-14T00:46:09.642-08:00</updated><title type='text'>Is Device Fragmentation Still Relevant?</title><content type='html'>Portability across devices was certainly a larger issue in the early days of J2ME and probably still is when developing demanding games.  However, in the case of other applications running on the modern smartphones based on CLDC 1.1/MIDP 2.0, portability is a matter of careful programming and thoroughly reading specifications.  The so-called porting solutions were needed for very old phones (i.e. based on J2ME CLDC 1.0/MIDP 1.0) that no longer exist or due to bad programming practices by people who did not understand the specs or the Java language itself.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Furthermore, many of the differences in device characteristics such as varying screen sizes, key codes and device APIs can often be classified by using device frameworks.  There are several useful J2ME frameworks available such as J2MEpolish (http://devices.j2mepolish.org/interactivedb/searchdevices.faces) and WURFL (http://www.wurflpro.com) that provides the required device information to greatly facilitate porting efforts.  When porting an application to many devices, you need to maintain different sets of resources (i.e. images) for the device main screen size family running with the same code and you need to know the key code variations.  This is where the tools such as J2MEpolish and WURFL are extremely useful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, the portability issues are still prevalent though when you need to sign a J2ME application so that it can access some of the sensitive J2ME APIs such as SMS, network, and camera APIs.  There are no common set of root certificates you can rely on to sign your application, and the MIDP spec is somewhat ambiguous as it states that a signed application whose certificate cannot be verified must not be installed, whereas an unsigned application can be installed, but warns the user for every sensitive operation.  As a result, you need to know what root certificates are on what device manufacturer phones in order to provide a signed application if you know that it can be verified, or an unsigned application if you don't know what certificates are installed on the phone in question.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-8461427954118099140?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/8461427954118099140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=8461427954118099140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/8461427954118099140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/8461427954118099140'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2008/11/is-device-fragmentation-still-relevant.html' title='Is Device Fragmentation Still Relevant?'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-248726242367252546.post-5335085931467501207</id><published>2008-11-06T23:29:00.000-08:00</published><updated>2009-02-14T00:46:45.227-08:00</updated><title type='text'>Obama's Campaign Uses Mobile Advertising To Target Youth</title><content type='html'>During the final month leading up to the election, Obama's campaign used mobile advertising to target youth and voters in the key battleground states.  Called "Vote Early", the ad campaign was used to encourage voters to cast the ballots early, where polls opened before election day. Banners ran on the operator deck of Boost Mobile, which is known for having a young user base. Text ads at the bottom os SMS messages were also sent from ChaCha, the general answer service. Users were given the option of opting-in to those messages by responding "OBAMA" to receive more information on where to vote.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name="data:post.title" id="data:post.url" onmouseover="return addthis_open(this, &amp;quot;&amp;quot;, this.id, this.name);" onmouseout="addthis_close()" onclick="return addthis_sendto()"&gt;&lt;img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/248726242367252546-5335085931467501207?l=mymobilecorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymobilecorner.blogspot.com/feeds/5335085931467501207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=248726242367252546&amp;postID=5335085931467501207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5335085931467501207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/248726242367252546/posts/default/5335085931467501207'/><link rel='alternate' type='text/html' href='http://mymobilecorner.blogspot.com/2008/11/obamas-campaign-uses-mobile-advertising.html' title='Obama&apos;s Campaign Uses Mobile Advertising To Target Youth'/><author><name>Tasneem Sayeed</name><uri>http://www.blogger.com/profile/07899767268019387754</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_IzBe_WhTiy0/SZYal-gqZbI/AAAAAAAAAQU/zTmmm0EijxI/S220/DSCN0551.JPG'/></author><thr:total>0</thr:total></entry></feed>
