 |
Google getting into competition with Wikipedia
In the middle of December Google quietly announced that they are working on a new project called Knol and already started to invite authors. "Knol" stands for a unit of knowledge and the tool will allow authors to submit articles about various topics, thus creating very much the same knowledge sphere as Wikipedia provides. But in case of Knol, each page will have a definite author and can be monetized with ads (with money being shared between Google and the author). Moreover, "knol"s will be guaranteed the first place in corresponding Google searches. It is expected that the monetary incentive will allow Google to lure a lot of active wikipedia contributors over to the new project, thus boosting Knol and undermining Wikipedia at the same time.
The scary though there is that Google indeed may become the one and only world knowledge supplier by replacing Wikipedia with Knol.
Vladimir Stemkovski - IBM jStart, Emerging Internet Technologies
Categories
: [ Google | Knol | Wikipedia ]
Jan 16 2008, 11:07:55 AM EST
Permalink
|
Using Mashup tools to break down corporate boundaries
Mashups using corporate data and services with public web data and services is great, but how do you get to the a list of branch addresses when it is maintained as a spreadsheet on someone's desktop? And how do you measure the usefulness of that data to the rest of the organisation when no one else can see it or use it?
This is a scenario I came across at an insurance company in Australia. Spreadsheets of branch addresses, company brands and the company legal structure was held in spreadsheets by individuals in various business units. Because of recent acquisitions, there was no single source of information showing all the brands and where they sat within the organisation. Using IBM Mashup Starter Kit we turned the spreadsheets into ATOM feeds that were published in a Mashup Hub server in the corporate Intranet. Now the data is available to anyone with access to the server via the corporate Intranet. Users of the Mashup Hub can now access the data via an ATOM feed and rate and tag the data and the data providers can quickly see how useful the data is.
Using the QEDWiki mashup maker component, business users could access the feeds to create a mashup that showed company brands, brand branches on a Google map and legal entity information for the brand. Legal entity information was annotated with information from the Australian Business Registry via a web service.
This business scenario was used to show how data maintained on an employees workstation could be exposed to the rest of the company and used in a mashup.
Iwan Winoto - IBM jStart Australia, Emerging Internet Technologies
Categories
: [ data2.0 | info2.0 | mashup ]
Dec 11 2007, 09:53:00 PM EST
Permalink
|
Designing for “ease of assembly” verses “widget reusability”
One of the things I have discovered in many of my early customer engagements with QEDWiki is the tradeoff the widget developer must make between reusability of widgets and the simplicity in which pages can be assembled. If widgets are developed at a low level of granularity, they typically can be resused in lots of other pages. On the other hand, when widgets are created at a very granular level, the page assembler’s task is much more difficult in that they end up working with a large number of widgets and need to perform a lot more widget to widget wiring.
Here’s a simple scenario that illustrates this. Let’s say, a piece of my situational application has a requirement to provide the total dollar value all of a customers accounts at a financial institution. The financial institution has recently merged with another bank, whose systems have not yet been integrated, and many bank customers have accounts in both banks. Here are two ways I can develop the widget(s) that are needed to fulfill this requirements:
- Granular approach maximizing reuse. The four widgets developed are:
<!--[if !supportLists]-->· <!--[endif]-->ParentBankAccountSearch widget- invokes an appropriate API(database query, web service, CICS transaction, etc) to get a list of bank accounts and their values for the customer (customer identifier provided by another widget). The list of accounts and some details of the accounts is published for other widgets to consume.
<!--[if !supportLists]-->· <!--[endif]-->AcquiredBankAccountSearch widget- invokes an appropriate API(database query, web service, CICS transaction, etc) to get a list of bank accounts and their values for the customer (customer identifier provided by another widget). The list of accounts and some details of the accounts is published for other widgets to consume.
<!--[if !supportLists]-->· <!--[endif]-->SingleCustomerAccountView widget – consolidates account information from multiple sources. Here both of two above widgets would be wired to this one. The consolidated, single view of the customer’s accounts is published for other widgets to consume.
<!--[if !supportLists]-->· <!--[endif]-->TotalAccountValue widget – takes the list of accounts published by the SingleCustomerAccountView widget, extracts and sums the account values. This sum of total account value is then published to meet the original requirement.
- A coarser approach, maximizing the ease of assembly. Here two widgets are developed:
<!--[if !supportLists]-->· <!--[endif]-->SingleCustomerAccountView widget – consolidates account information from multiple sources. This widget would invoke internal bank APIs on all of the systems that the financial institution uses to house account information. The consolidated, single view of the customer’s accounts is published for other widgets to consume.
<!--[if !supportLists]-->· <!--[endif]-->TotalAccountValue widget – takes the list of accounts published by the SingleCustomerAccountView widget, extracts and sums the account values. This sum of total value is then published to meet the original requirement
And of course, there’s even a 3rd option – just a single TotalAccountValue widget that does all the work. From our situational application assembler’s point of view, clearly option is the simplest. One widget does all the work and only a couple of wiring operations are needed for the widget’s input and output. There’s also less work for the widget developer in that only one widget is needed to be developed and one “data available” event needs to be defined.
Tradeoff’s like these have been made for years in software development, especially when looking at the reusability of objects that were to be developed, but the introduction of the assembler role in the situational application ecosystem changes the game a little bit. I still remember an early engagement we did with a client where we had a QED page with about 20 very granularly developed widgets on it that needed to be assembled and wired. After about 10 minutes, you could feel the client getting very impatient as he started to think about the viability of QEDWiki being able to meet the “5 minute application” objective.
QEDWiki helps address this issue with the concept of composite widgets whereby a widget can bundle in other widgets that are prewired. You can see an example of this in the QEDWiki Feed widget which includes a ShowData that is prewired to the output of the feed’s data available event. This helps in meeting the “assembler simplicity” goal , but still has the result of instantiating a lot of individual widgets on the page and causes a lot of data events to be fired and consumed, impacting the overall performance of the situational application.
I’d be interested in getting comments on what else QEDWiki should be looking to do to address this problem and on how other widget developers are dealing with this issue of “ease of assembly” verses “widget reusability”.
Sam Thompson - IBM jStart, Emerging Internet Technologies
Categories
: [ QEDWiki | deisgn | mashups | situational_applications | widgets ]
Nov 28 2007, 02:56:36 PM EST
Permalink
|
Money play around Google's OpenSocial?
With Google's OpenSocial initiative launched the Web 2.0 community has stirred. OpenSocial offers a common open "interoperability platform", if you will, for social network applications and sites. Backed by Google also means a strong chance of it getting widely adopted. The whole thing reminds me of WS-I effort, though, as some of the key players (Facebook) are not included into the initiative. Once more introduction of a common open standard is used to gain a competitive edge. There is an article from Dan Farber & Larry Dignan blog I found interesting regarding the way money play around the OpenSocial initiative. Take a look.
Vladimir Stemkovski - IBM jStart, Emerging Internet Technologies
Categories
: [ Facebook | Google | OpenSocial | interoperability ]
Nov 27 2007, 02:14:58 PM EST
Permalink
|
Advertising on Facebook
On 6 November Facebook announced new tools for advertisers on their site to reach a wider audience using your friends network. We're putting a lot of information in social networking sites and Facebook is looking for better ways to make use of it. Better for you? Better for Facebook? Better for marketers?
See also this article from PCWeek.
Iwan Winoto - IBM jStart, Emerging Internet Technologies
Categories
: [ Facebook | Maerketing | SocialNetworking | Web2.0 ]
Nov 14 2007, 01:15:00 AM EST
Permalink
|
How to make your business application available to mobile device users?
What are the most important things to be done to make your business application available to mobile device users?
First, decide what client type is preferable – rich client or Web client. Each of them has its pros and contras. A Web client can be run on any device with a Web browser, it has to be updated only on the server and all users will see the changes instantly. Web clients today may look just like rich client applications. Google Documents is one of the examples. On the other hand, a Web client needs a powerful Web browser that usually comes with upper-end mobile devices. Also Web clients do not have access to internal possibilities of mobile devices - like persistence storage, address book and others. Rich clients enjoy the benefit of being able to utilize mobile device resources to the full. But they require installation to the device, and if the application has changed, it has to be reinstalled. As there is variety of mobile devices, there should be different versions of the application for each of them.
Second, it is recommended to determine the audience. If it is businessmen with the latest business class mobile devices, and you are sure that JavaScript (and possibly Ajax) enabled Web clients can run on those devices, using these technologies seems to be reasonable. Opposite, if you aim at the broadest possible audience then it makes sense to develop a J2ME application to be installed on the widest range of devices.
The most important notes for rich and Web client applications are given below.
For rich clients: 1. Client should be a J2ME application. As matter of fact, the absolute majority of mobile phones come with J2ME preinstalled. If a Palm or Windows mobile device does not come with preinstalled Java, the Java Virtual Machine can be installed. For example, one can install IBM WebSphere Everyplace Micro Environment for Palm or IBM WebSphere Everyplace Micro Environment for Windows Mobile. 2. Make it as simple as possible in order to minimize possible problems of running an application on various mobile devices. Place as much calculations and business logic as possible to the server side to make the mobile application faster, require less CPU and RAM, and prolong the battery life. This approach also allows changing some of the application logic without redeploying the mobile application on all devices. Use tools like J2ME Polish to make the application good-looking on all devices. 3. Use a proprietary binary format or binary XML for data exchange.
For Web clients: 1. Develop Web pages designed specifically for mobile Web browsers (not for desktop Web browsers). Mind the limited screen size and pointing possibilities. For example, if an application for desktop browsers requires seven mouse clicks to reserve a ticket, try to reduce this number of operations for mobile users. 2. Make a plain HTML version. You can even make it compatible with XHTML Mobile Profile so that it can be viewed on WAP 2.0 browsers. For more sophisticated mobile devices you can make JavaScript and Ajax versions, and if a user lacks JavaScript or Ajax functionality, they will be redirected to the plain HTML version. 3. Make Web pages as small as possible in terms of download size. Use mobile versions of JavaScript and Ajax frameworks (for example Frost Ajax).
Vladimir Shraibman Sergey Mylnikov Victor Doulepov
Categories
: [ AJAX | J2ME | mobile ]
Nov 12 2007, 10:39:28 AM EST
Permalink
|
Google Mobile API
We are in the midst of the subprime mess with Citigroup kicking out their CEO Charles O. Prince III and Google is poised to launch their much anticipated mobile platform. Google has been inching into the mobile space by providing some excellent examples of mobile applications like Google Maps and Gmail for quite a while now. Both examples have a rich UI that is far more useful than that of the trivial mobile portals and preloaded applications provided by carriers. Google is positioning itself, again, as the premier API provider for a set of mobile services. Over the years carriers have made a miserable attempt to provide exclusive services within their garden wall, making it nearly impossible for developers to leverage a vast set of services across the internet. With the Google's announcement of their OpenSocial API last week, it appears to be positioned to take on the mobile space with a set of open API’s targeted specifically for mobile developers and content providers. It is expected that Google has gained support for their open platform by at least two carriers in the U.S., Deutsche Telekom AG's T-Mobile and Sprint Nextel Corp. The big question is whether the carriers will embrace the Google open API’s or continue to provide substandard mobile application services to their customers.
James Smith - IBM jStart, Emerging Internet Technologies
Categories
: [ API | Google | Mobile | SOA | jStart ]
Nov 05 2007, 09:17:14 AM EST
Permalink
|
Google releases OpenSocial API's
Google's OpenSocial site is now live. OpenSocial is a set of "open" API's which allow developers to integrate with a number of Google partners including Engage.com, Friendster, hi5, Hyves, imeem, LinkedIn, MySpace, Ning, Oracle, orkut, Plaxo, Salesforce.com, Six Apart, Tianji, Viadeo, and XING. Notice the predominant social landmark Facebook isn't included. Open Social can be found here: On the OpenSocial API site you will find a nifty little Campfire video of the developer presentation Thursday evening.
James Smith - IBM jStart, Emerging Internet Technologies
Categories
: [ Google | SocialNetworking | Web2.0 ]
Nov 02 2007, 10:31:11 AM EDT
Permalink
|
|
 |
| S | M | T | W | T | F | S | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | | 13 | 14 | 15 | 16 | 17 | 18 | 19 | | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 27 | 28 | 29 | 30 | 31 | | | | | | | | | | | | Today |
|