- Dynamic Views,
- New & Improved mobile Apps,
- Easy sharing of posts on your G+ feed and now,
- Mention people in your posts by adding "+" before the name!
Wednesday, December 26, 2012
Blogger keeps getting better
Google extends free GV calls to US & Canada through 2013
Read the terse "official blog post" if you wish to hear it from the horse's mouth!
Yaay for all us Obi+GV users!
Wednesday, September 26, 2012
Android Apps for 25cents
Keep an eye on the play store, as they also plan to:
offer some special collections like 25 movies you must own, 25 banned books, 25 albums that changed the world and our 25 top selling magazines, all at special prices
Wednesday, April 11, 2012
New UI for G+ is rocking
Tuesday, April 3, 2012
Get free email alerts when your website is down
Check out the details and get the Google Doc Spreadsheet from his blog post here.
Tuesday, December 6, 2011
10 Android apps from Google for 10 cents each
Linky
Wednesday, October 12, 2011
Google gets a Patent for Doodles
To quote the text of the Patent:
[Quote]
A system provides a periodically changing story line and/or a special event company logo to entice users to access a web page. For the story line, the system may receive objects that tell a story according to the story line and successively provide the objects on the web page for predetermined or random amounts of time. For the special event company logo, the system may modify a standard company logo for a special event to create a special event logo, associate one or more search terms with the special event logo, and upload the special event logo to the web page. The system may then receive a user selection of the special event logo and provide search results relating to the special event.
[/Quote]
Friday, September 16, 2011
Good day for Developers
Tuesday, September 13, 2011
State of Mobile OSes
Sunday, September 11, 2011
Better Blogger Interface
The new interface is really nice and am hoping it will become the standard interface soon.
Tuesday, October 5, 2010
Created a simple TTS app with App Inventor
So to test it out, I created a simple app that has a text box and a button. On pressing the button, the text that was entered in the text box is spoken out aloud by the app. If there is no text in the box, then a default message is read out.
To create this first app, it took only 2 minutes!!!
This shows that the App Inventor is pretty good and quite promising.
However, there are a few cons as well - the created software when installed on the phone, takes a huge amount of space; 3.55Mb to be precise for this simple app! Also, I cannot share this app with others or upload it to the Android Marketplace - it can only be shared with others who have an App Inventor account. Well, you can't have your cake and eat it too!
Monday, October 4, 2010
Unable to connect Samsung Vibrant to App Inventor on Ubuntu9.04
Now the bad news is that I am unable to connect my Samsung Galaxy S Vibrant to App Inventor on my machine running Ubuntu 9.04. Here is what I have tried till now after installing App Inventor Extras software for Linux:
I ensured the below settings were done before connecting the phone:
- Settings > Applications > Unknown sources is checked
- Settings > Applications > Development > USB debugging is checked
- Settings > Applications > Development > Stay awake is checked
- Settings > Sound and display > Orientation is un-checked
On connecting the phone, I see the USB Icon which mentions that USB is connected and also a Red exclamation alert icon mentioning that USB debugging is connected. I also ensured that OpenJDK is also not installed on my machine as that is known to cause clashes with Android SDK.
Then I opened a shell, logged in as root (using sudo -s) and then did the following:
# lsusb | grep 'Sam'
Bus 001 Device 003: ID 04e8:681c Samsung Electronics Co., Ltd
# vi /etc/udev/rules.d/51-android.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="681c", MODE="0666"
Now rebooted the machine and again with sudo -s, ran the following commands:
# /etc/init.d/udev restart * Stopping kernel event manager... [ OK ] * Starting kernel event manager... [ OK ] # cd /usr/google/appinventor-extras/commands-for-Appinventor # ./adb kill-server # ./adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached # ./adb usb error: device not found
I tried the above sequence of steps with these versions of UDEV rules as well, but to no avail:
# vi /etc/udev/rules.d/51-android.rules
SUBSYSTEMS=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
and
# vi /etc/udev/rules.d/51-android.rules
SUBSYSTEMS=="usb_device", SYSFS{idVendor}=="04e8", MODE="0666"
Here is the log from the Java console:
Creating the REPL controller
Changing the REPL communication button text to Communicating...
Disabling REPL communication button.
********* Actually invoking CreateAndSend
Restarting repl controller (true)
ReplController sending (begin (require com.google.youngandroid.runtime) (setup-repl-environment "<<" ":" "@@" "Success" "Failure" "=="">>" '((">>""&2")("<<""&1")("&""&0"))))
**** devicesPluggedIn: 0 isPluggedIn: false connectionHappy: false
************************** commIndicator was unexpectedly
connected!!!! COMMUNICATING
Changing REPL communication button to Connect.
Re-enabling REPL communication button.
Communication with REPL failed: java.io.IOException: App Inventor
cannot find any phones.
Please plug in a phone and try again.
I am at a loss as to what else to check as all these steps are a compilation of the knowledge in the google groups as well as other blogs on the topic. If anyone has any ideas/pointers/suggestions, please let me know - Thanks.
Monday, July 12, 2010
Google launches Android App Inventor Beta
Worry no more - for Google Labs has launched (but of course) a Beta version of the App Inventor for Android.
This looks like a glorified equivalent of the Visual Basic interface that was used to make many a (good & bad) programs. However the good part here is that you can make an entire program without even a single line of coding! To quote from the App Inventor site:
To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior.
The App Inventor team has created blocks for just about everything you can do with an Android phone, as well as blocks for doing "programming-like" stuff-- blocks to store information, blocks for repeating actions, and blocks to perform actions under certain conditions. There are even blocks to talk to services like Twitter.
Here's to Google to open up it's platform for the young and the old alike for whoever may have the appetite and energy to create their own Android apps. Only time will tell whether this approach will yield better apps or not!
Wednesday, April 28, 2010
Adding Google Custom Search to your Blog
- Create a static page on Blogger for displaying Search Results
- Sign Up for Google AdSense - if you want to earn money
- Sign Up for Google Custom Search
- Update the static page with Google Custom Search Code
- Remove side bar & meta-data displayed on the static page
- Add search box on side bar
1. Create a static page on Blogger
Create a static page on Blogger for displaying Search Results. Go to Posting > Edit Pages and click on the New Page button to create a new static page. Set the title as Search Results or anything appropriate and for now, enter placeholder text Search Results in the page. View this page and note down the URL of this page - this will be used in the later steps when configuring Google Custom Search.
2. Sign Up for Google AdSense
If you want to earn some money through the searches that are done on your site, you will need to sign-up for an adsense account. Here I am assuming that you already have one - if not, then just go ahead and sign up for one.
3. Sign Up for Google Custom Search
From inside the AdSense account, click on the link AdSense for Search and then follow the steps below:
- Click on Single Page link at the top to view all the options in one page
- Search Type: Select Only sites I select
- Selected sites: If you have more than one site, enter one site per line for each of the websites you want to include in the search.
- Optional Keywords: Enter keywords separated by space if you want to give hints to the search engine.
- Opening of search results page: Select Open results within my own site and in the box below for Enter URL where search results will be displayed, enter the URL of the static page created in Step 1 above.
- Ad Location: You can choose whichever option you like, but I personally prefer to go for Top and Bottom
- Name Your Search Engine: give a name for your custom search engine
- Fill in all the other remaining fields as per your requirement
- Press the Submit and Get Code button to get the Javascript code that you need to put into the static page
4. Update static page on Blogger
Go to Posting > Edit Pages and click on the Edit link for the static page created above. Then:
- Copy code from Search box code and paste it here
- Enter a break tag <br>
- Copy code from Search results code and paste it here
5. Remove side bar & meta-data displayed on the static page
Now this is the tricky part which requires you to change the template. You can skip this step if you are OK with having the widgets display on the right column.
Note: take a backup of your template before proceeding!
Go to Layout > Edit HTML and check the box Expand Widget Templates. Then add the line:
to the following 3 places:
To remove the Post Metadata (Author, Tags, Time) from Static page
Lines 1 and 19 in this code snippet
<b:if cond="data:blog.pageType != "static_page"">
<div class="postmeta">
<b:if cond="data:top.showAuthor">
Posted by
<span class="fn"><data:post.author/></span>
</b:if> |
<b:if cond="data:post.labels">
Posted in
<b:loop values="data:post.labels" var="label">
<a expr:href="data:label.url" rel="tag"><data:label.name/></a><b:if cond="data:label.isLast != "true"">,</b:if>
</b:loop>
</b:if> |
<b:if cond="data:top.showTimestamp">
<b:if cond="data:post.url">
Posted on <data:post.timestamp/>
</b:if>
</b:if>
</div>
</b:if>
</div>
To remove the "Continue Reading" or similar link from Static page
Lines 2 and 7 in this code snippet
<b:if cond="data:blog.pageType != "item"">
<b:if cond="data:blog.pageType != "static_page""><br/>
<div class="postmetadata">
<p><a expr:href="data:post.url">Continue Reading</a></p>
</div>
</b:if>
</b:if>
To remove the right Column widgets from Static page
Lines 2 and 14 in this code snippet
<!-- Body_right -->
<b:if cond="data:blog.pageType != "static_page"">
<div id="body_right">
<!-- Sidebar Ads -->
...
...
<!-- /Sidebar Ads -->
<!-- Sidebar -->
<div id="sidebars">
...
...
</div>
</b:if>
<!-- /Body_right -->
6. Add search box on side bar
To add search box on side bar, go to Layout > Page Elements and click on the Add a Gadget link on the bottom right. Add a HTML/JavaScript widget and in the window that opens up, enter the following:
- Title: Search or something similar
- Content: Here paste the code from Google Custom Search / AdSense for Content from the box Search box code
Wednesday, December 9, 2009
Adding Poll to a Blog Post
I played around with the blogger menu's & settings, but there was no way I could add a poll to a blog post.
So I went the round about way of creating a Poll on the side menu and then putting that code into my post. Voila ! and it worked like a charm! Here are the steps in detail:
- In Blogger/Blogspot, Go to the Layout Tab
- Click on the "Add a Gadget" link in the right panel
- Click on the "Poll" gadget from the "Basic" list - this pops open a new window
- Enter the Poll Question and list of answers you expect people to choose from
- There are four options - you can remove as many as you don't want or add more too
- Select whether users can choose multiple answers - based on how you want your poll to be
- Select the end date & time for your poll
- Save the poll
- Click on the "View Blog" link at the top and then view the source
- Search for the question in your poll in the source - you will see an <iframe> tag near it
- Copy the full tag from <iframe> to </iframe>
- Now create the new post to which you want to add this poll to
- Go to the "Edit HTML" tab if not already in it
- Paste the copied tag inside the post in the location where you want this poll to appear
- Save & Publish this post
- Go back to Layout and remove this gadget
After this, your post & the poll inside it should still work perfectly!
Here are a few things that you can do with the iframe properties:
- Adjust the value of the "height" property
- Adjust the value of the "width" property of the "style" property
- Set the value of the "scroll" property to "no" to remove scrollbar
- Add "overflow:hidden" to the "style" property to remove the scrollbar
Thursday, September 17, 2009
Google FastFlip launched in labs
In this web application, Google combines the good qualities from both Print & Net and provides the user with the ability to quickly "flip" through
online pages just like one would do with a newspaper or a magazine.
What Google does is that it takes images of the websites and shows it to the users in a magazine-like format where the users can scan through the articles and click to go to the actual website if they are interested in reading the full article. For more details on the exact methodology that Google uses to show the articles can be seen here.
Wednesday, September 16, 2009
The "Right" way to Code
CTP:
Before Google came up, junior programmers often used to copy & reuse existing code which was written either by them or someone else they knew or they had somehow got hold of the relevant code.
This caused a lot of problem when I was managing a team of such developers, so I formulated the CTP Theory.
The first thing I did was to encourage them to use their imagination & creativity to solve the problem themselves. If required, they could look-up the code base that most of the consulting companies already have to gain insight into ways the problem could be solved, and then come up with their own solution.
However, if there was a time crunch and/or it was felt that reinventing the wheel provided no benefit, then CTP should be applied.
C : Copy - find & copy the portion of code / routine you want
T : Transform - transform/change the code to suit your needs - this step was missed most often
P : Paste - paste the changed code in the right place
If CTP was used diligently, it provided greater success to the project
GCTP:
However, with the arrival of Google, everyone started to just google the solution and so I had to come up with the next version of the theory which I named GCTP.
Again, the first thing I did was to encourage them to use their imagination & creativity to solve the problem themselves.
However, if there was a time crunch and/or it was felt that reinventing the wheel was of no benefit, then GCTP should be applied.
G : Google the problem - google the problem
C : Copy - find & copy the portion of code / routine you want from the google results
T : Transform - transform/change the code to suit your needs - this step was missed most often
P : Paste - paste the changed code in the right place
If GCTP is used diligently, it will provide greater success to the project and quicker coding maturity to the junior developers with the least amount of hand-holding/supervision.
Note that the emphasis on both these methods is first to try to use your own brain. But in case these need to be used, then the emphasis in on T - Transform as that is where I found the junior developers making most of the mistakes most probably because either they did not understand the real problem or the way the solution had been coded.