Skip to main content

Why Google should give Google Phones to unemployed


As an act of unprecedented generosity (or desperation) Google decided to give gPhone to every attendee of Google IO conference. While I can certainly applaud Google for the move (as a direct benefactors, of casue) a few red lights start to flash on my technology-navigation dashboard:
1. Does gPhone lost so much ground to iPhone (in terms of applications) that desperate and costly measures are required?
2. If (1) is true, users will flock to iPhone and whatever Google trying to do to mitigate the situation will fail – iPhone will remain dominate cell phone technology(like Windows in consumer OS market) for a long while
3. If (2) is true, open source approach once again has to yield to commercial interests

Regardless of the Google motivating factors, the decision to give gPhones to Google conference attendees is flawed for a bunch reasons:
- Google IO attendees are Google fans already, they know about gPhone platform
- Conference attendees either write gPhone apps already or do not have interest in them – phone will not convert them
- Companies who pay conference registration fee, hotel and airfare can afford an unlock phone for developers

What they should do: Give it to unemployed!

How:
Engage government and EDD to reach unemployed software developers and give them the gPhone!

Why:
It will create a nice media complain and developers (with time on hands and a gPhone) will develop a number of applications to populate app directory. That, in turn, will translate to phone end-users experience and (with a short) time lag will be translating to new users on the platform.

Why 2:
Why did’t Google ask me? Hope they will do next time




And here are my (unedited and unorganized) notes from the conference sessions

Open Social Containers from Google:
- iGoogle (in home view, w. sandbox for developers)
- Gmail (nav view, provided as Lab feature at the moment)
- Calendars (in preview mode, nav+canvas view+ custom APi ext like google.calendar.showEvents)
- Wave (check it out!)

Sample: Quatermile gadget -> think about calories/food watchers

What makes gadget social:
· Leveraging social graph osaoi.people.get()
· Quick data entry using AJAX/Server communication with osapi.http.post[Google Visualization API + GWT]
· Dashboard View
· Container-specific extensions (opt)

How to grow/advertise social gadget:
· Container directory (iGoogle)
· Organic (share app/join team/use updates)
· Cross promote
· Adverte in other apps, etc
· Take to all Open Social Sites
· Create Mobile App that use the same data

Google App Engine (+ Java now!)
Container platform as services
HW/SW update
Scalable services via familiar/portable API
Get charge for what used – no dedicated hardware
Buildt-in App console
HTTP request limited to 30 sec, no server push
Request are run in sandbox environment
Jetty and Jasper(adapter to serv 2.5 API) on top of Google stack
Web.XML + Additional conf file
Optional SSL and Sessions

Google Services available for Google Web engine apps :
· Authentication-> Google Accts
· Data->Bigtable
· Caching->memcacheg
· Email->Gmail gateway
· Com.google.appengine.api
Demo:
http://java-demo.appspot.com/
Coming:
· Task queues
· Text search
· Incoming emails
· XMPP
· Large files


gMap Optimizations
Maps 3.0 – redesign with perf in mind
Use overlays instead of markers to show > 1000 markers (subclass GOverlay() class and draw inside it, use single CSS sprites!:)
Alt. solution – flash
Alt solution (>1000 overlays) clustering (to show size/loc of clusters). Use MarketClaster do clustering in JavaScript
http://code.google.com/qualify/ - take the test

SEO
- Use geo-targeting (note that .fr will not work for us users)
- Web server (IP) in location where it will serve users
- Shared hosting is OK
- Godaddy automatically link to web master tools (from API)
- New: crawler data will be available via API
- Content – good quality for users
- Navigation – search box, logical category navigation, how to get to home page, show what already visited or
- Shareable urls
- Describable file names
- Low-case urls
- Robots are case-sensitive
- Separate adult site content
- Important pages should be linked from home page
- Sitemaps
- Disallow login page/shopping cards, test from webamaster’s tools
- Create easily understood dynamically link structure (*ex: category=mobile, id=…) Google find ways to index only most relevant
- No session ID in the middle of the path! (it’s infinite for Google)
- No marks for what is expended on the page in URL!
- Descriptive name for links
- Do ajax, javascript on TOP of HTML
- Google will process OnClick content from now-on (but only if JavaScript is on the same page – not in the linked file!)
- If AJAX is used - create static link in addition!
- Text in Flash is visible and searchable but flash should be embedded in standard ways
- FRAMES and IFRAMES are interpreting within parent page (IFRAMES are treated as separate URLs thou)
- should include title, “descriptive” metadescription
- Title contains keyword
- No title duplication
- Keywords are important, adopt language of users
- For image search – text surrounding image, quality of images is important, ALT is very important as well as file names hyphen-separated, underscores will not be seen as word separated
- Video – static html, titles, popularity, comments, related, create video that is compelling to users. Uptime for site is important for video
- HTTP Response codes (404 when 404, 301 is OK too and keeps popularity). When site is down – use 503
- Webmaster tools, crawl errors
- Use custom 404 with link to search, home page, suggested pages
- Tweets – no ping service – should be linked to (unlike blogs) from other sites
- Reviews/comments – keep reviews on the same page as product
- Rich snippets marked in RDF – as microformat – to mark reviews http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html, http://www.google.com/support/webmasters/bin/answer.py?answer=146645


Google Waves (http://wave.google.com/)
Look at twave J
What is available?
- Protocol (described in white papers)
- API (code.google.com/apis/wave)
- Open Source/ref implementation that could be placed on top of DB
- Demo
- Platform (waveprotoclol.org)
Sounds like open-source SharePoint competitor… Especially when it will be possible to effectively integrate into company workflow

Comments

Popular posts from this blog

Freebase Hack Day

Facebook Friends Connect

Is a way to extend external sites to provide: FB identity FB friends (relationship) Feed to FB   Demo app at http://www.somethingtoputhere.com/therunaround User experience: login: js login method requiresession(): detects state of usr-FB relationship, log-in into FB if needed. If user has not authorised app - present app auth dialog. If already has session - just go init JS, require session   access FB data: - FBML on external site - use JS FBML parser and replace in browser DOM with FB data - JS based API to get FB data, REST API on the server site. Sessions work accross any API - only small subset of FBML us supported at the moment   adding social content: - use access API   Connections: app developers can suggest connections (using e-mail hash) user get connect request on FB Move content from external sites to FB app can register feed template (3 types of stories) call JS "showfeeddialog" to request user to confirm data sharing on FB. privacy protection: app ca...

Respect Coin

Respect I think it's time to talk about currency. Let's create a Respect Coin. Step 1. Install OpenZeppelin library  npm install zeppelin-solidity When it comes to coins, I like to use some functions that smart people already implemented and other smart people verified. I think that Zeppelin is a nice collection of Solidity contracts that can be trusted. Let's use the StandardToken contract and use it as a parent class for our own RespectCoin contract. Step 2. Create RespectCoin contract and store it in "contracts/RespectCoin.sol" file  pragma solidity ^0.4.4; import "../node_modules/zeppelin-solidity/contracts/token/StandardToken.sol"; /** * @title RespectCoin * @dev ERC20 Token example, where all tokens are pre-assigned to th e creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract RespectCoin is StandardToken { string public constant name = ...