Thursday, October 6, 2011

Google plus Photos Issue

Today I've observed a strange behavior in Google plus Photos. You add a photo in Google Plus post. Photo will collected in an album. It is Your albums >>  Photos from posts.

But if you delete that post. Photo from that album is never deleted.

I think this as a potential bug.

Commercial use of Google plus one button

Today while just surfing, I came across a YouTube video [removed hyperlink], it was promising that you buy some of their packaged services to get plus one clicks on your website.

.. sigh .. http://www.quickonlinetips.com/archives/2011/08/buy-google-plus-one-1-votes/ 


 Is it legal to use plus one button for commercial purpose?
Can anyone sell plus one clicks? 
I think this is against ranking manipulation.





Things that can cause problem in Google Plus

At first glance Google Plus seems to be very impressive. It has very less cluttered UI (Google's specialty) unlike Facebook. No ads to suggest what you can probably like.

But there are few things, I guess, those can problematic.


1. Edit this post: At initial point it seems to be very useful to rectify typos and to avoid mistakes. But imagine a scenario, where you had a long chat with your friends and after that you go and use 'Edit this post'. Now you can do real damage. You can make things up there. That chat can be made up to something which never happened. A Big NO from me to this feature. Somebody is giving its plus one to my original post not to the edited one.

2. Share this circle: Circle itself is a unique feature and sharing of circle seems to be another great addition. But change you perception to look at this. You can find potential bloggers to find traffic for you blogs or you can find circle of photographers, actors, techies. But if someone starts sharing potential customers for any products. This feature can be misused to spam users. Imagine, I dont know you, but one of my friends shares circle having me publicly. Anyone from the web can add me to their circles and I'll start getting their senseless emails. User will end up like " Why the hell I am getting emails for this".

Tuesday, October 4, 2011

Edit Google Plus Post

Editing of Google plus post is an awesome feature. we often make some mistakes in posting something and after that we never had a chance to rectify that mistake. Google, Thank God, realized that and made available the feature to edit posts. Facebook has added this too but that's not having what Google has in it.

Some of the Editing features :
1. Edit this post: You can edit some typos made while posting.
2. Delete this post: Delete the posted content.
3. Link to this post: Link to the post can be directly used in blogging and in other websites. This is still not there is Facebook.
4. Disable comments: If you want to post something, and don't want any comments from anyone, you can simply select this feature.
5. Lock this post: If you want to disable the reshare, this is also available to you.
6. Mute this post: This feature is not available for your own posts. With this feature you can disable the notifications of the post.

These are some of the basic features that other social networks never supported. Google plus gives us lots of freedom with these simple features.


Saturday, October 1, 2011

Zuck, Larry, Jobs and Gates

Zuck, Larry, Jobs and Gates..
All have 24 hours in their days..

So its not time that counts..
Its luck that coruscate..

Google Plus iPod App 10 Problems.

Disappointed with iPod app of G+

1. No Sparks
2. No Search
3. Cant type in horizontal mode
4. Sharing of posts dont allow to add locations
5. Cant copy text :(
6. Cant delete a post I posted
7. Cant delete a conversation I started
8. Cant see 1'd items:( super bad
9. Cant share circles
10. No gtalk support:(

Monday, September 26, 2011

Accelerator Development for Internet Explorer 8+


Introduction
Internet Explorer accelerators are the contextual services available in browser. Arrow Icon appears when you selection some text or image on anything. Click on this icon to get list of all the available accelerators in your browser.  Select or hover any available accelerator to avail the facilities provided by that accelerator.
To manage accelerators click ’Tools’ menu and select ‘Manage Add-Ons’ and then in accelerators tab. You can delete, disable or set as a default according to the usability of that accelerator.
Development
Building an accelerator is just defining a simple XML based on the Open Service specifications. Pages defined for the service can be any language which is able to make HTTP (GET, POST) calls to fetch the desired data over network. Data can be fetched from anywhere; whether it is a remote database or any online service i.e. Google, Yahoo etc.


<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
  <homepageUrl>http://accelerators.myDomain.com</homepageUrl>
  <display>
    <name>My Doamin Title</name>
    <icon>http://accelerators.myDomain.com/favicon.ico</icon>
  </display>
  <activity category="search">
    <activityAction context="selection">
     
<preview action="http:// accelerators.myDomain.com/preview.jsp">
        <parameter name="selection" value="{selection}"/>
        <parameter name="clean" value="true"/>
        <parameter name="w" value="320"/>
        <parameter name="h" value="240"/>
</preview>

      <execute action="http:// accelerators.myDomain.com/index.jsp">
        <parameter name="selection" value="{selection}" type="text"/>
      </execute>
    </activityAction>
  </activity>
</openServiceDescription>


Deployment
Put this xml file in your path of your application domain. Define the pages like index.jsp and preview.jsp which calls network services/ databases to provide the information to users.
In the home page of your domain add some means to add your accelerators. Simply add a button to call window.external.AddService on click of the button, or a hyperlink to call this method.

onclick="window.external.AddService(‘http://accelerators.myDomain.com/accelerator.xml’)"


Installation
On click on the button you shall get following popup asking for permission to install the new accelerator in your browser.

Click on the Add button to install this accelerator in your browser.  To manage accelerators click ’Tools’ menu and select ‘Manage Add-Ons’ and then in accelerators tab. You can delete, disable or set as a default according to the usability of that accelerator

Thursday, September 22, 2011

GooglePlus: ActivityFeed, PlusOnes, Replies, Reshares

Lets have a look how to get all the activity feeds of a user and how to get total number of plusone, replies and reshares.( Google has launched a limited API we can get only the count of plusone, replies and reshares).

I've used java api.

String userId=Constant.USERID;
Plus plus = new Plus(new NetHttpTransport(), new GsonFactory());
plus.setKey(Constant.API_KEY);
ActivityFeed feed = plus.activities().list(userId, "public").execute();


 while (feed.getItems() != null) {
           for (Activity activity : feed.getItems()) {
                     System.out.print(activity.getPlusObject().getContent());
                 
                     ActivityObject obj = activity.getPlusObject();
                 
                      ActivityObjectPlusoners plusoners = obj.getPlusoners();
                     System.out.print("Plus One : "+plusoners.getTotalItems());
                 
                      ActivityObjectReplies replies = obj.getReplies();
                      System.out.print("Replies : "+replies.getTotalItems());
   
                     ActivityObjectResharers reshares = obj.getResharers();
                    System.out.println("Reshares : "+reshares.getTotalItems());
         }
Plus.Activities.List list = plus.activities().list(userId, "public");                list.setPageToken(feed.getNextPageToken()); feed = list.execute();
}

Similarly ActivityObjectAttachment objects can be accessed.
Its pretty easy but very limited as well. :(


Sunday, September 18, 2011

Stream Google Plus

New application for adding a google plus stream in your webstie.

http://streamgplus.appspot.com/



Example app for my blog..


Change the User Id and use the below code to the "Stream G Plus" app for your application...

Let me have your views.  

First Google Plus Project in java

Few days back google has launched its google plus api. I Thought to have some hands on over that.
It pretty simple to create first google plus application. But its a very limited api. Hope more features will be released/added soon.

Now lets get into first google plus applicaion for java
I am gonna do this without any authentication of the user. (Yes thats possible is google plus, for public data only.)

            Plus plus = new Plus(new NetHttpTransport(), new GsonFactory());
            plus.setKey(YOUR_API_KEY);
 
            Person profile = plus.people().get(USER_ID).execute();
   System.out.println(profile.getDisplayName());
 
            List list = plus.activities().list(USER_ID, "public");
   list.setMaxResults(Long.parseLong("50"));
 
            ActivityFeed feed = list.execute();
 
                while (feed.getItems() != null) {
    for (Activity activity : feed.getItems()) {
    System.out.println(activity.getPlusObject().getContent());
    }    
   }

This is simple application to get the Displya name of the user and the list of public feeds from his/her stream.
1. commons-codec-1.3.jar
2. commons-logging-1.1.1.jar
3. google-api-client-1.5.0-beta.jar
4. google-http-client-1.5.0-beta.jar
5. google-oauth-client-1.5.0-beta.jar
6. gson-1.6.jar
7. guava-r09.jar
8. httpclient-4.0.3.jar
9. httpcore-4.0.1.jar
10. jackson-core-asl-1.6.7.jar
11. jsr305-1.3.9.jar
12. junit-4.8.2.jar
13. libplus.jar
14. protobuf-java-2.2.0.jar
15. xpp3-1.1.4c.jar

Soon I'll be posting how to get authenticated will google plus api.

Sunday, September 11, 2011

Create a new GO package

In this tutorial we will learn how to create a new GO package similar to "fmt" and others. There are several advantages of packages. Firstly, if your go application ranges over several files and functionality, its better to have those in different packages. Secondly, if want to publish your own set of go APIs you can simply package them and make available to public.

Lets create a simple GO package with only one function in it.
1. Write a go program.

package file


func TestFunc(name string) string{
        if(name == ""){
           return "Not a valid name"     
        }
        return "TestFunc"+name
}

2. Create a directory naming the package name in "src" folder of GO installation directory.
    Ex: Save this file in C:/go/src/file folder as file.go; as package name mentioned in above program.

3. TestFunc function must start with capital letters since its a convention in GO language that if the function name starts with capital letter then only it will be visible outside the package.

4.Now your package is ready. You just need to install the package. Following are the set of commands you need to follow to install it.

Go to c:/go/src/file and execute following commands.

set gopath=c:\go            (base directory where you put your package)


set gopath                         (confirm the gopath is set or not)

exit from command prompt.

open command prompt again.

Go to c:/go/src/file and execute following command to install the package.


goinstall -make=false .

Now your package is installed and ready for use.

Let's write a program to test it.



package main


import(
        "file"
        "fmt"
)


func main(){
       fmt.Printf(file.TestFunc("Anuj Verma"))
}


Save this file as test.go in any directory. You have your "file" package available with you.
Execute following commands to run it.



8g test.go              To compile it. 


8l test.8               To link it.


8.out.exe               To run it.



This is how we can create our own packages in GO.


Let's GO

Saturday, August 13, 2011

Download and Install GO language on windows

Go language was initially released for Linux systems. Recently windows version of GO language is released.
Follow below link to download Windows version of it.

Go Language Windows version

Installation of GO language is pretty easy.
1. Unzip the downloaded file on your system. Let's say C:/go
2. Set up following environmental variables.

  • GOOS = windows
  • GOARCH=386
  • GOBIN = C:/go
  • GOROOT = C:/go/bin
  • PATH = %GOBIN% (append this at the end of value PATH variable) or set the value as C:/go/bin
This is all set to run your first GO program.

Go to command prompt.
  • Execute 8g command

  • Now you have successfully setup go environment in your system.
  • Let write a first "Hello World !!!" program.
  • Type edit hello.go
  • Write the program in above snap shot. or copy it from below.
package main

    import fmt "fmt"

      func main() {
            fmt.Printf("Hello, world")
          }
          • Save the program and come back to command prompt.
          • Compile your first GO program.
          • To compile execute 8g hello.go
          • After compilation Go compiler create .8 file. Your hello.8 file would be created after successful compile.
          • To run hello.8 file execute 8l command. 8l hello.8
          • After 8l command "8.out.exe" file will be created.
          • To see the output execute 8.out command
          Now you are in GO world. Happy Go programming.

          Let's GO.

          GO Language

          Google has announced a new programming language called 'GO'. Google promises that GO has very fast development capability like Python and security like C and C++. Still this is an experimental language. It was announced in late 2009 in Google IO. Any full fledged SDK is still not available. You can simply download and unzip the package and start development.














          Mascot for the GO language( Gordon, Gopher)






          Google has enabled the hosting of GO apps in its App Engine infrastructure. With GO language it will be very easy to push your apps in Google's cloud. App Engine has datastore facility and by hosting application on App Engine infrastructure you can very easily use Google's data store facility.


          Go was initially designed for web-server designing and systems programming but later it turned out to be a general purpose language. If you want to write a system program which deals with thousands of parallel communicating threads, GO is a great platform for you. 


          Let's GO