Introduction to Search Cloud

When I first started my entrepreneur life, I worked on location based applications. Soon, I realized, to build an location based application, there are three things in common.

  • UI: A Mobile UI and/or Web UI is required.
  • Data: Either the developer or the users have to contribute valuable data to the application.
  • Backend: Besides a UI and valuable data, you still need a powerful backend to manage data and serve requests. Also, the backend need to track usages and analyze user behavior.

On the backend side, for most startups, when they first start, all they need is a simple data model just like an excel spreadsheet. The backend need to be able to handle data types like String, Number, Date, Location, Array, and Map.

With these simple data types, we could build powerful search applications. For example, we can ask the backend to give me a list of “fast food restaurant” “with in 2 miles radius”, “which offers coupons”, “by 7/30/2011”.

Another good sample is a demo application, “The Paparazzis”, my company is building. The idea is inspired by a Paparazzi website which I couldn’t remember the name.

The idea is when you, the pararazzi, see famous stars shopping at Rodeo Drive, Hollywood, you can take a picture for the star and upload the picture to “The Paparazzis”. So that, when other user wants to follow where this star has been to during the past few weeks, he/she can just open the application and check. Or if you want to know are there any famous stars shopping at Rodeo Drive at this moment, you can just open the application and check.

The SearchCloud Platform

Our LBS platform, SearchCloud, provides an programming interface for storing, managing, and querying data. Search Cloud allows developers to store business in SearchCloud and build a GUI on the top of their data and the rich search cloud API.

The data model in SearchCloud is simply a Json Object with an id. The developer has to provide a schema first and then upload json objects to SearchCloud. The SearchCloud will store and build search indices for the developer. When the developer does CRUD operation against an object, the search cloud will update the search indices as well.

Searchcloud provides a rich search interface. Data  objects can be searched by keywords, by value, by a range of value, or by location.  Combining multiple criteria into one single query is supported as well.

Also, tracking variables could be added to search requests. ie: the location of the user, the machine id of the mobile device. When tracking variables are integration into the application, SearchCloud will be able tell the developer where the customers are, what they care about, what the popular search results are, and what result the users click.

In the restaurant example we talked above, if the developer see most of his/her customers look for Italian restaurants near San Francisco, the developer can do two things. First, he may stop collecting restaurants data in other cities. Or, we can create another application for this target group.

Other Offerings

On the top of the SearchCloud platform, we will offer SDKs and UI Widgets to developers. We are building the client library in Java and Android UI widget. The client library in iOS UI Widgets are coming soon as well. Our target is to enable developers to build a LBS application in five minutes.

Other than that, an interesting application is under going. I call it ‘Google AppEngine’s Missing Piece’. GAE provides a powerful datastore without the support for search. Prior to GAE’s Backend API, it is hard to do search on GAO.

The ‘GAE’s missing piece’ offers a JDO lifecycle listener. When the datastore performs a CRUD operation against an object through JDO, the library will send a copy of the object to the SearchCloud. As a result, the developer would be able to perform search operation against the data.

Pricing

Our target customers are small startups in their early stage. The SearchCloud platform will help them to bring the product to productions in a short amount of time.

Our pricing plans are
Developer Plan
– Free
– Store 5000 Json objects
– 10,000 Requests per day

Plus Plan
– 50 USD per Month
– Store 25000 Json objects
– 250,000 Requests per day
Premium Plan
– 200 USD per Month
– Store 250,000 Json objects
– 250,000 Requests per day
* the pricing model for exceeding daily requests is under development.

Introduction to Search Cloud

When I first started my entrepreneur life, I worked on location based applications. Soon, I realized, to build an location based application, there are three things in common.

  • UI: A Mobile UI and/or Web UI is required.
  • Data: Either the developer or the users have to contribute valuable data to the application.
  • Backend: Besides a UI and valuable data, you still need a powerful backend to manage data and serve requests. Also, the backend need to track usages and analyze user behavior.

On the backend side, for most startups, when they first start, all they need is a simple data model just like an excel spreadsheet. The backend need to be able to handle data types like String, Number, Date, Location, Array, and Map.

With these simple data types, we could build powerful search applications. For example, we can ask the backend to give me a list of “fast food restaurant” “with in 2 miles radius”, “which offers coupons”, “by 7/30/2011”.

Another good sample is a demo application, “The Paparazzis”, my company is building. The idea is inspired by a Paparazzi website which I couldn’t remember the name.

The idea is when you, the pararazzi, see famous stars shopping at Rodeo Drive, Hollywood, you can take a picture for the star and upload the picture to “The Paparazzis”. So that, when other user wants to follow where this star has been to during the past few weeks, he/she can just open the application and check. Or if you want to know are there any famous stars shopping at Rodeo Drive at this moment, you can just open the application and check.

The SearchCloud Platform

Our LBS platform, SearchCloud, provides an programming interface for storing, managing, and querying data. Search Cloud allows developers to store business in SearchCloud and build a GUI on the top of their data and the rich search cloud API.

The data model in SearchCloud is simply a Json Object with an id. The developer has to provide a schema first and then upload json objects to SearchCloud. The SearchCloud will store and build search indices for the developer. When the developer does CRUD operation against an object, the search cloud will update the search indices as well.

Searchcloud provides a rich search interface. Data  objects can be searched by keywords, by value, by a range of value, or by location.  Combining multiple criteria into one single query is supported as well.

Also, tracking variables could be added to search requests. ie: the location of the user, the machine id of the mobile device. When tracking variables are integration into the application, SearchCloud will be able tell the developer where the customers are, what they care about, what the popular search results are, and what result the users click.

In the restaurant example we talked above, if the developer see most of his/her customers look for Italian restaurants near San Francisco, the developer can do two things. First, he may stop collecting restaurants data in other cities. Or, we can create another application for this target group.

Other Offerings

On the top of the SearchCloud platform, we will offer SDKs and UI Widgets to developers. We are building the client library in Java and Android UI widget. The client library in iOS UI Widgets are coming soon as well. Our target is to enable developers to build a LBS application in five minutes.

Other than that, an interesting application is under going. I call it ‘Google AppEngine’s Missing Piece’. GAE provides a powerful datastore without the support for search. Prior to GAE’s Backend API, it is hard to do search on GAO.

The ‘GAE’s missing piece’ offers a JDO lifecycle listener. When the datastore performs a CRUD operation against an object through JDO, the library will send a copy of the object to the SearchCloud. As a result, the developer would be able to perform search operation against the data.

Pricing

Our target customers are small startups in their early stage. The SearchCloud platform will help them to bring the product to productions in a short amount of time.

Our pricing plans are
Developer Plan
– Free
– Store 5000 Json objects
– 10,000 Requests per day

Plus Plan
– 50 USD per Month
– Store 25000 Json objects
– 250,000 Requests per day
Premium Plan
– 200 USD per Month
– Store 250,000 Json objects
– 250,000 Requests per day
* the pricing model for exceeding daily requests is under development.

Introduction to Search Cloud, Chinese Version.

在原點成立前,原本我是想開發 Location Based Application 來賣,但是在開發中,我發現,多數的 LBS App,在成立之初,需要做三件事

  • UI: 不論是 Mobile UI或者是Web UI,都是要提供一個讓使用者輸入的界面。
  • Data: 這些資料,可能是開發者自己去搜集來的,或者是由使用者提供的資料,總之,這仍是不可或缺的一塊。
  • Backend:有了使用者介面及資料後,資料的維護及搜集,仍是需要有伺服器端來做處理,此外,使用者的用戶分析,也要透過這一塊才能處理。

而在後端這一塊,多數的 Startup,在開始時,需要的資料模式其實很簡單,像是一張試算表一樣,有 String, Number, Date, Location, Array, Map 等資料型態

有了這些資料型態,就可以做些很簡單的搜尋運算,例如:『我要找 “方圓兩公里之內” 在 “7/30日前” 有 “提供折價券” 的 “美式餐廳』

又或者,我公司目前在開發的展示程式『全民狗仔隊』,讓用戶,當看到名人時,可以拍照後上傳照片及姓名,這樣,當其他使用者想知道,過去兩週某位名人的出沒區域,或者是想找目前所在地有那些名人,只要打開程式就可以查到了。

The Platform

在我們的LBS Platform產品Search Cloud中,我們的資料型態很簡單,就是一個 Json Object,開發者只要先提供 Data Schema,再上傳Json Object,SC就會把資料存起來並建立Search Index。當開發者對某個 ID 做CRUD時,SC也會更新索引。

在搜尋上,SC提供三種方式,Keyword Search, Range Search(for Numeric or Date field), 及 Location Based Search。

在搜尋時, LBS App可以把額外的參數加在搜尋條件之上,如使用者目前所在的位址、手機的Machine Id,我這邊會幫你做資料分析的工作。我可以告訴開發商,你的用戶在那裡、他們關心什麼,最熱門的搜尋結果是什麼,使
用者又點了那些資料。

以前面的餐廳例子來說,若是開發者發現,他的客戶多在台中找美式餐廳,那麼,他可以做兩個決策,一是不去搜集其它地區的資料,或者是,他可以對這群目標客戶,再開發專用的程式。

加值服務

在搜尋平台之上,我們還會提供許多不同的 SDK 及 UI Widget 給軟體開發者,目前,我們正在開法Java Client 及 Android UI Widget 中,另外,也在找人開發Client in Obj-C 及 iOS UI Widget 原件。目標是在五分鐘之內,讓開發者能夠建立一隻 LBS App的雛型。

此外,有個有趣的應用也在開發中,叫 Google AppEngine’s Missing Piece, GAE提供了 datastore但卻不支援搜尋的功能,在GAE Backend API出現之前,在 GAE上弄搜尋是有困難的。

因此我這邊會提供 JDO Lifecycle Listener ,當開發者透過 JDO對資料做CRUD時,會多送一份到SC這邊,如此一來,開發者可以透過我這邊來完成搜尋的功能。

合作方式

我的目標客戶是三至五人的 Startup,幫助他們在最短時間內把產品上線,有興趣合作的客戶,請來信給 yho@bluetangstudio.com ,有興趣來我這邊看看的,也請寄信到 jobs@bluetangstudio.com

至於收費方式則是
Developer Plan
– Free
– Store 5000 Json objects
– 10,000 Requests per day

Plus Plan
– 50 USD per Month
– Store 25000 Json objects
– 250,000 Requests per day
Premium Plan
– 200 USD per Month
– Store 250,000 Json objects
– 250,000 Requests per day
* 以日計價的超額收費方式,正在開發中