Thursday, October 08, 2009

Web applications performance

Resources for web applications performance analysis

Wednesday, October 07, 2009

Twitter for

A new list of Twitter tools: Top 50 Apps for the Twittering Teacher.
Actually any stuff addressed to some vertical market is always interesting. Any collection of "Twitter for ..." is yet another sign of platform maturity.

P.S. Annotated links mashup is there.

Tuesday, October 06, 2009

Resources in web applications

A couple of components let you unpack resources in your web applications on the fly. The main idea is to pack various resources (images, css and js files) together with your code and extract data on the fly. Could be useful for example when you distribute application on the USB and your application should be up and running without installation – everything will be packed in one file.

Resource servlet lets you pickup resources (getResourceAsStream) from CLASSPATH and Unzip servlet lets you directly extract data from zip (jar) file. For example:

1. Pack your images (directory /pic) in file myfile.jar
2. Describe servlet and mapping:

Alternatively, you can define path via mapping. Set zip (jar) file as an initial parameter and define mapping for files you need to unzip:

<servlet>
<servlet-name>Unzip</servlet-name>
<servlet-class>com.jsos.unzip.UnzipServlet</servlet-class>
<init-param>
<param-name>file</param-name>
<param-value>/WEB-INF/myfile.jar</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>Unzip</servlet-name>
<url-pattern>/pic/*</url-pattern>
</servlet-mapping>

And now in your JSP files you can write so for example:

<img src="http://your_host/pic/a.gif"/>

file a.gif will be extracted on the fly

Monday, October 05, 2009

Twitter for teachers

OnlineCourses.org published an interesting compilation of Twitter tools for teachers. It is always good when the conservative source (and education is so, in general) adopts hot technology. And twice good of course, they've mentioned one of our mashups – Annotated links. Lets you share links with own remarks (post-it notes).

We can suggest for the teachers check out also another mashup – Secure notes. Lets you share one time readable text notes. So for students for example there is no way to share teacher's answers with friends etc. :-)

Links in the list are really interesting. Check out for example GroupTweet – group communications via Twitter

Sunday, October 04, 2009

Technical links

Mashup Links in Twitter lets you see all the links published in Twitter timelines. So, if you get any technical blog you can create some like your own Digg (or DZone) from the relevant links. Here are some examples:

@d2h David Heinemeier Hansson, Rails creator.
@sstephenson Sam Stephenson, creator of the Prototype Javascript Library.
@madrobby Thomas Fuchs, creator of script.aculo.us, Prototype JS core member.
@rasmus Rasmus Lerdorf, PHP creator.
@andigutmans Andi Gutmans, PHP developer, co-founder of Zend Technologies.
@cdibona Chris DiBona, open source enthusiast, Google Code manager, Googler.
@sussman Ben Collins-Sussman, original Subversion developer, Google software engineer.

Saturday, October 03, 2009

Coldtags suite ver. 3.80

Coldbeans Software announced the major new release of Coldtags suite. This suite provides over 380 JSP custom tags for common programming tasks faced by JSP developers.

Coldtags suite comes with a wide range out of the box ready-to-use the most common control components that are repeatedly required for the development of JEE applications. They include standard user interface components like buttons, lists, edits, grids, menus, tables, tree views, calendars, ajax etc. With this suite developers and web designers no need to worry about writing browser-specific HTML or JavaScript.

All controls are carefully written and tested to operate equally well on major Internet browsers as well JEE servers.

Actually at this moment this collection is the biggest repository of the reusable web components for JSP (and/or Coldfusion) developers.

See it here: http://www.servletsuite.com/jsp.htm

Friday, October 02, 2009

Buzz in Twitter

A new mashup for data discovery - Twitter Buzz. Lets you see cloud of topics (hash tags) from any timeline. For example you can check out what your own friends in twitter are talking about. Just provide any twitter name on the above mentioned site, or use it right in the URL request. For example, here is a link to buzz from @t411 circle: http://tbuzz.linkstore.ru?u=t411.

Mashup has been integrated with two previous applications for data discovery: Twitter links and Twitter info.

Thursday, October 01, 2009

Base 36 shortner

How does the typical URL shortening service work? One of the most often used solutions deploys Base 36 encoding.

Base 36 is a positional numeral system using 36 as the radix. So for example decimal 10 is A in Base 36, decimal 100 is 2S, decimal 1000 is RS etc.

The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 0-9 and the Latin letters A-Z. Base 36 is therefore the most compact case-insensitive alphanumeric numeral system using ASCII characters.

So shortening service at the first step replaces an original URL:

http://something_long_here

with a new one:

http://my_host/ID

where ID could an unique value from some sequence. E.g. it could be an auto-incremented key from database. And on the second step we can encode this ID with Base 36 and make it much shorter.

And here is a custom JSP taglib, lets you perform shortening: Base 36 taglib.

Wednesday, September 30, 2009

Discover relevant information

Mashup Links from Twitter has been updated. Now it can work with huge friends lists too. Discover relevant information filtered by people you (or someone you know) follow.

Tuesday, September 29, 2009

JSOS ver. 6.50

Coldbeans Software announced the next milestone in JSOS (servlets office suite) development. JSOS reaches the version 6.50. This largest collection of Java servlets and filters provides 135+ "out of the box" components ready for building web-pages.

One of the biggest parts is the rich set of filters. Package includes such components as XML and WML transcoding, access restriction, traffic restriction, caching, profiling etc.

All components are configurable, so you may incorporate them into your own design frameset. Components from JSOS do support WAP/WML, so the same set of components can be used for wireless users too. At this moment JSOS provides a largest set of servlets and filters over the Net.

check out the latest version here: Java Servlets Suite 6.50

Monday, September 28, 2009

XMPP on GAE

A practical example: XMPP application on Google App Engine, step by step guide.

Sunday, September 27, 2009

Asterisk web gate

Our Asterisk stuff is getting an own site. See here a new approach for telecom services development in Asterisk. Code (LGPL) is hosted on Google projects.

Asterisk web gate lets you turn telecom services development into an ordinary web development. Any telecom service there is just a CGI script.

See also the previous posting here

Saturday, September 26, 2009

Your personal Digg

Our mashup Twitter links has been updated. Lets you see links published in any Twitter time line. Just set a name for Twitter account and see links published by his/her friends. By the way, you can see links from your own friends too. E.g.: http://tlink.linkstore.ru?u=some_Twitter_name_here
Last version automatically expands short links (bit.ly). Mashup supports retweet and search (via Google + Twitter mashup). Author's data provided by the Twitter Info mashup.

Technically is is a set of public API: Twitter, Google, bit.ly. Server side component has been implemented via Yahoo Pipes.

Thursday, September 24, 2009

Bird's eye view

QR code
Updated: Bird's eye - yet another mobile web application uses the same W3C principles for getting locations as Geo Mail. Check out this link http://servletsuite.com/bird/ from iPhone. You can copy it right to your phone with this QR code.

Wednesday, September 23, 2009

Who is your friend or follower

A new version for Twitter info mashup is ready. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.

Also you can use this mashup as a link:

http://tinfo.linkstore.ru?u=twitter_account_name

The latest version lets you see a list of recently replied accounts as well as the links from friends.

Quite useful tool when you are checking some new 'followed you' notification, for example. Do you need to follow back or not? Mashup gives you a quick snapshot for the new reader.

Monday, September 21, 2009

Twitter links

A new Twitter mashup lets you read all the links from any Twitter timeline: http://tlink.linkstore.ru. Set any twitter name and see all the links suggested by his/her friends.
Also you can pass some name directly in the request. E.g. see the links from Dzone: http://tlink.linkstore.ru?u=dzone

Something to read from Twitter

What does Twitter founder Jack Dorsey read: http://linkstore.ru/tlink/?u=jack

Sunday, September 20, 2009

Meta search

Meta search mashup Got has been updated. Lets you perform a parallel search for Google Blogs and Twitter.

Saturday, September 19, 2009

And who is that twitter

A new version for Twitter info mashup is ready. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.

Also you can use this mashup as a link:

http://tinfo.linkstore.ru?u=twitter_account_name

The latest version lets you see also a list of recently replied accounts.

Quite useful tool when you are checking some new 'followed you' notification, for example. Do you need to follow back or not? Mashup gives you a quick snapshot for the new reader.

Friday, September 18, 2009

SIM card overview

An interesting presentation about smart cards.
P.S. And gere is our idea about Smart Card Web Server programming

Thursday, September 17, 2009

Bird's eye view

QR code
Bird's eye - yet another mobile web application uses the same W3C principles for getting locations as Geo Mail. Check out this link http://servletsuite.com/bird/ from iPhone. You can copy it right to your phone with this QR code.

Wednesday, September 16, 2009

SMS framework

Open Source framework for SMS services: RapidSMS. It works with GSM modems, so you can run your own SMS services without the direct contact with telecom operator.

P.S. Check out also SMS gate from JSOS. It has been used in many projects. For example Geo SMS uses it.

Tuesday, September 15, 2009

Twitter future is local

"Twitter cofounder Biz Stone told Bloomberg yesterday that the microblogging startup hopes to grow faster and better retain users by helping them find other users they might like to follow.
To attract more people to Twitter, the company’s designers are also working on a project to help new users discover others who might have similar interests or who live nearby, Stone said." - from here (via Bloomberg).

And because this application is not yet here - check out Local Twitter mashup

Monday, September 14, 2009

Twitter newspaper

Twitter newspaper - twitter search mashup wraps output in newspaper style.
Stay tuned - personalization options are coming.

Sunday, September 13, 2009

Mobilize web content with QR code maker

Our bookmarklets suite has been updated. One of the new components (Mobilize data) lets you quickly mobilize any web content. Select any text of the web site you are currently in and hit Mobilize data bookmarklet. The selected text will be transferred to QR code maker mashup, so you will be able to create mobile page (and appropriate QR code) in one click only.

Saturday, September 12, 2009

Who is that Twitter

A new version for Twitter info mashup is ready. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.

Also you can use this mashup as a link:

http://tinfo.linkstore.ru?u=twitter_account_name

A new version lets you see also a list of recently replied accounts.

Quite useful tool when you are checking some new 'followed' notification, for example. Mashup gives you a quick snapshot for the new reader.

Friday, September 11, 2009

Bookmarklets

Our collection of bookmarkles has been updated. See it here.

Thursday, September 10, 2009

Messaging mashups

Our messaging mashups have been updated. Secure note – lets you publish one time readable text notes, Protected notes – lets you publish password protected text notes. Now both mashups support REST API, so you can create text notes programmatically.

Support for messages API added to our Coldtags suite. You can see Protected notes taglib and Secure notes taglib

Wednesday, September 09, 2009

Macintosh Nokia

Interesting User-Agent HTTP header from the log:

Netscape 5.0 Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/11.0.021; Profile/MIDP-2.1 Configuration/CLDC-1.1; en-us) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.12344

OS detected as Macintosh Nokia

Tuesday, September 08, 2009

Opera 10

For widgets developers: Opera widgets have an added security feature in Opera 10 — by default Widgets don't have access to network. You can enable network access by adding a network="public" attribute to the widget element in your widget's config.xml file:

<widget network="public">
...
</widget>

P.S. check out some of our widgets here: Address share

Monday, September 07, 2009

Regular expressions

Useful collection: popular regular expressions

We can add our own. The following JavaScript code recognizes URL's in the text and replaces them with hyperlinks:

var re = new RegExp("(([a-zA-Z]+:\/\/)([a-zA-Z][a-zA-Z0-9_\.-]*[a-zA-Z]{2,6})([a-zA-Z0-9~\#\/\._\?\&%-=]*[a-zA-Z0-9~\#\/_\?\&%-=]))", "g");

text = text.replace(re, "<a href='$1'>$1</a>");

and here we can create mailto hyperlinks:

re = new RegExp("([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4})","g");
text = text.replace(re, "<a href='mailto:$1'>$1</a>");


both tricks borrowed from QR code maker mashup

Sunday, September 06, 2009

Mobilize your data with QR codes

Our mashup QR code generator has been updated again. Application lets you easily present your data for mobile users. Just type (or copy/paste) your text and mashup will prepare for you:

mobile web page, presents your data
short link for it
QR code for sharing your data

Posting automatically recognizes URL's and email's in your text and keeps them on mobile site. So, for example, you can simply share links for mobile users with this mashup. Just type your URL and get mobile page for it (as well QR code for sharing).
Recognized links could be automatically transcoded so non-mobile content will be adopted on the fly

Tags cloud

Blogger.com is celebrating 10 years. So tags cloud is finally a standard widget :-) Details are here. See the results at the bottom of this page.

Saturday, September 05, 2009

Mobile files bookmarks

QR code Our new mobile service – bookmarks for files. Mobile site: http://mfile.linkstore.ru. You can load this link right to your phone with QR code above.

This application helps you share local files from your phone. Service lets you create bookmarks for files (e.g. media data) from your phone. File size – up 1 Mb. The goal is to quickly share local content: send pictures to friends etc.
For each local file service create a separate mobile page (bookmark) that lets readers download this file or share it with the own friends.

The usage is very simple, you do not need any registration. For sharing your local file go to mobile site http://mfile.linkstore.ru, type file name and upload the file itself. After that just bookmark the mobile page created by the service..

On the desktop level you can see a service Mobile page. See for example its description here

Friday, September 04, 2009

One time readable messages

Our mashup Secure Notes has been updated. Service lets you create (and share via Twitter, email or Facebook) self destroyed text notes. Each note will be automatically deleted right after the first opening (reading).
This new version supports also HTTP API. So now you can create such notes right from your web applications.

Thursday, September 03, 2009

Geo Mail for iPhone

QR code
We wrote recently about reading locations data in web applications. It was just a technique. And here is a bit more interesting example. Mobile mashup Geo Mail lets you share coordinates via email. It is a wrapper for the native email client lets you add a signature with your location info. For example this web application is the simplest way to tell your friend where you are right from your iPhone. You do not need even to type anything. Just hit Send button and send data via email.
Depends on your settings application can send a link to the Google map, a link to the static map (just a picture) or just a plain text with latitude / longitude info.

Technically it is W3C based geo locations plus a public API from bit.ly

You can copy a link to http://servletsuite.com/geomail/ right to the phone with the QR code above.

Wednesday, September 02, 2009

Local Twitter


Our mashup Local Twitter has been updated. This application lets you quickly discover tweets near your, their authors as well as the topics they are writing about.

Tuesday, September 01, 2009

Portal servlet

One of the oldest components in our servlets suite – Portal servlet got a huge redesign. Now it is a JQuery based wrapper for your links. Could be used as a starting page in your intranet applications for example.

Monday, August 31, 2009

Registry Cleaner

Your PC crashes for no apparent reason. You keep receiving error messages and don't know why. Your PC runs much slower than when you first bought it. And you are really frustrated by your computer's bad performance. Sounds familiar?

Problems with the Windows Registry are a common cause of Windows crashes and error messages. Registry problems can occur for many reasons, including references left behind after uninstalling; incorrect removal of software; missing or corrupt hardware drivers; or orphaned start-up programs. This will significantly increase the Registry size and slow down your computer, because Windows will need more time to load, search, and read data from the Registry.

The solution we've used recently is Digeus Registry Cleaner. Really works - 1615 errors found and fixed.

Saturday, August 29, 2009

bitlybot

Just found in web server log:

Agent: bitlybot

it is some bot from Bit.ly URL shortening service. Interesting, why do they need a bot? Do they create an own index for "active" URL's? Archivating them or what?

Friday, August 28, 2009

SMS attachments

QR codeOur mashup SMS attachments has been updated. Mobile link is http://sms.linkstore.ru. You can use also QR-code from this post for the fast link loading. This application lets you sent (share) local files from your mobile phone via plain old SMS. File size is up to 1 Mb. It is very easy to share the local content from your mobile phone. For both parties (you and your recipient) mobile internet is enough. You do not need the special applications for your phone, you do not need register at some services etc. Just a mobile internet and SMS service.

Thursday, August 27, 2009

Geo location in web applications

'Hello, world' example for getting locations in web application. Check out the following page from iPhone (or FireFox 3.5) http://linkstore.ru/igeo/ Can you see the map? It is a basic example uses the following code:

<script type="text/javascript">

function handler(location) {

var map = document.getElementById("map");
var lat = location.coords.latitude;
var lng = location.coords.longitude;
var acc = location.coords.accuracy;


var s ="<img src='http://maps.google.com/staticmap?center="+lat+","+lng+"&size=300x200&maptype=mobile&zoom=16&key=your_google_map_key' />"
+"<p>Latitude: " + lat + "</p>"
+"<p>Longitude: " + lng + "</p>"
+"<p>Accuracy: " + acc + "</p>";

map.innerHTML = s;
}

if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(handler);

</script>

P.S.

UPD. And here is a practical example: share your location via email on iPhone

UPD1. More examples - check out this from iPhone: bird's eye view

Mobilize your data with QR codes

Our mashup QR code maker has been updated. Application lets you easily present your data for mobile users. Just type (or copy/paste) your text and mashup will prepare for you:

mobile web page, presents your data
short link for it
QR code for sharing your data

Posting automatically recognizes URL's in your text and keeps them on mobile site. So, for example, you can simply share links for mobile users with this mashup. Just type your URL and get mobile page for it (as well QR code for sharing).
In this new version you can add also transcoder for the recognized links (non-mobile content will be adopted on the fly)

Wednesday, August 26, 2009

Protected notes

Our mashup Protected notes has been updated. Lets you create and share (twitter, email, facebook) password protected text notes (remarks). The idea is to let you share private notes via the public sources. For example, update your Twitter status (public account) so the only selected readers will be able to read that.
This new version supports HTTP API also. Now you can create the password protected text notes right from your applications via the simple HTTP request.
Also you can directly add to your dynamic pages links to this mashup with the pre-populated text (a-la 'share this', 'twit this' etc.). The format for the hyperlink is this:
http://pn.linkstore.ru?here+is+your+note

Tuesday, August 25, 2009

JSOS 6.45

Our collection of Java servlets and filters reaches the version 6.45. Check out the latest JSOS here.

Monday, August 24, 2009

Hide links - 2

Another option for hiding links (e.g. hiding affiliate links). Now do it right in your JSP code - Hidden link taglib. And the previous component can do that via Java servlet.

Sunday, August 23, 2009

Saturday, August 22, 2009

Browser share

From the stat : browser share for the blog. It looks like Firefox is a king

Friday, August 21, 2009

Thursday, August 20, 2009

Best Java hosting

In the shameless advertising - thank you to dailyrazor.com support helped us to survive some sort of DDos attack. We are there since beginning of our Java hosting and planning to continue use their service.

Hide links

Simple component lets you hide links (e.g. hide affiliate links). It is sometimes necessary to hide, or cloak, your affiliate links to stop people stealing your commission or bypassing the affiliate link and going straight to the main site. This component frames the site you are promoting making it looks to the visitor as if they are still on your site. In other words, no matter which page they go to on the framed site they will only see your own domain in the browser window - Hide link servlet

For JSP you can use Mask URL taglib for the same purpose.

DDos attack

Technical remarks: service site linkstore.ru experienced a massive DDos attack. Services will be unreachable in the nearest time.

Wednesday, August 19, 2009

Share your address with QR code


Address share package includes now a mobile site, lets you prepare QR-code with address info right on your mobile. Mobile link is http://as.linkstore.ru (it is a mobile site). This mobile site lets you prepare a mobile page with QR code for your address info right on your mobile phone. Just fill the form and hit Create button. In the result you will get a mobile page with QR code. This QR presents your address info. Bookmark the resulting page in your mobile browser. Any time you need to present your contact info just open that bookmarked page. Your partner will be able to scan QR code (right from your mobile) and add your contact data to own address book just with one click.
Link for the service is http://as.linkstore.ru. Bookmark this site on your mobile browser or use the QR code for getting that link.

Tuesday, August 18, 2009

CloseID ?

Google is trying to reinvent (re-born) finger protocol. And use email address as a key point for user info. See here. But there is a very interesting quote:

"People have been trying to use URLs as identifiers for people (as OpenID does), as it has great readability/discoverability properties, but this effort has largely failed because of UI/UX design failings, user confusion about URLs, etc."

So, the OpenID father Brad Fitpatrick says that OpenID largely failed?

Monday, August 17, 2009

Mobile share widget

Mobile share widget (share contacts on your mobile phone) has been updated. See it here

Sunday, August 16, 2009

Mobile pages - mobile publishing

Mashup Mobile pages has been updated. In particularly, now you can send SMS with this service. A very long SMS could be send right from the web site (via QR code). Alternatively, you can prepare a draft for SMS, save it on your mobile phone and send it later right from the phone. Draft here is a mobile page ready for sharing via SMS ("bomb" as we wrote). You can load all of them to your phone (actually – just bookmark them) and deploy ("explode") by demand.
In the both cases you do not need to type text on the mobile keyboard. You can use copy/paste on the web page. And of course, you can send a very big text via SMS with this service

Saturday, August 15, 2009

Google Caffeine

Interesting, when we’ve tried to find our site servletsuite.com in Google Caffeine it shows much more external links than the standard Google search. Really much more. Does it mean that Google changes indexing algorithms? Useful, we’ve discovered for our products some eternal reviews / remarks / claims / bugs reports we were not aware for years :-)

Friday, August 14, 2009

Wednesday, August 12, 2009

HTML to PDF

WebKit based Open Source utility lets you convert HTML to PDF with full CSS support: WKHTMLTOPDF

Tuesday, August 11, 2009

vCard in Java

As you can see, contact info presentation and sharing is one of our favorite topics last month. So there are two more resources – vCard support in Java:

custom JSP taglib for vCard
vCard Java servlet

Monday, August 10, 2009

QR code for Java

QR code tools for Java developers:

QR code taglib - lets you create QR codes right in your JSP pages
QR code servlet - QR codes via servlet. Supports cache for the better performance
QR code bookamarklet - create QR codes right from the browser

Sunday, August 09, 2009

Saturday, August 08, 2009

Mobile pages - mobile publishing

Mashup Mobile pages lets you prepare mobile pages (curiously, yes ? :-). Our idea is to let users preload their mobile phones with some useful data pages. For example: mobile web page lets you share contact info, mobile web page lets you share some useful (important) link (e.g. price list, contact, resume etc.) and so on. Data pages (data "bombs") could be used ("exploded") by demand and simply bring a set of reusable mobile web applications to your mobile.

Pages will be created on Mobile pages service and transferred right to the phone either from short URL or via QR codes.

Service started just as a desktop version for Mobile share mashup. It has been grown after that so sharing mobile contacts is just one of the available options. Stay tuned, new features will follow shortly.

Friday, August 07, 2009

Useful bookmarklets

Useful bookmarklets for developers: image info, CSS processing, translation, QR codes, YouTube video etc.

Thursday, August 06, 2009

Exif mashup

You are welcome to checkout a new version of Image info mashup. Mashup extracts and shows metadata from images. Just provide an image URL and check out EXIF metadata for example (camera make, manufacturer, GPS positioning, orientation, etc): see Exif data online

Wednesday, August 05, 2009

Mobile share API

Mobile contact share service MShare (we wrote about it recently) has got now own page on Coldbeans site. See Mobile share here.

From the new options you are welcome to check out REST API for the service. Now you can create mobile contact share page with the plain HTTP request.

Tuesday, August 04, 2009

Non Visio

Oper Source alternative for Visio - DIA. You can also use a version for Windows - DIA installer.

Another alternative is Agro UML.

Monday, August 03, 2009

Wireless tools

Many year ago (sic!) we did one of the first Java based transcoders for web (it was in WAP 1.0 time). It is still working, you can find H2W (HTML to WML) component in JSOS. Recently we've realized that we are actually accumulating already a significant amount of mobile mashups and services. So after the long time wireless page on site has been updated. See it here.

Sunday, August 02, 2009

Share mobile contacts - MShare

An updated version for mobile mashup MShare (see the previous posting here) is ready. Mobile link is:

http://mshare.linkstore.ru

This mobile site lets you create once your own contact share page (your name + phone) and after that use this page for sharing your data. Any time you need to share your contact info just open your contact page (created and bookmarked with this service) and send it to other party by SMS. The link for SMS sending will be right at the bottom of your contact page. As soon as your contact page is received and opened it is just a matter of one click to add your contact to address book.
Technically, it is absolutely the same as our Mobile pages service but adopted for the mobile phones. So you are free to prepare your contact page either from desktop browser or from mobile browser.

This version improves the compatibility with the phones. In particularly, it supports iPhone too.

You can copy mobile link http://mshare.linkstore.ru right to your phone with QR-code above.

Saturday, August 01, 2009

Address share

Mobile widget for one click address sharing has been updated. You are welcome to checkout it here – Contact share components

Friday, July 31, 2009

Mobile share

"Mobile Share seems like a simple but potentially handy new service. It lets you create a personal online contact page, a simple mobile formatted web page containing your name and phone number. A link on the page lets you share it by sending the URL in a text message. Another link lets the recipient add your name and number to their phone’s contacts with a single click." - Dennis Bournique from wapreview.com wrote about our address share service. Thank you Dennis for the testing as well as for the previous remarks. Your writing actually gives us some new ideas. In particularly, iPhone will be supported too in the nearest time.

Thursday, July 30, 2009

Google + Twitter

Google + Twitter search mashup has been updated. See Got here.

Wednesday, July 29, 2009

Tomcat as a foaf+ssl server

foaf+ssl is a standards based protocol enabling one click identification/authentication to web sites, without requiring the user to enter either a username or a password. It can be used as a global distributed access control mechanism. It works with current browsers. This article describes how to setup this option for Tomcat 6

Tuesday, July 28, 2009

Coldtags suite ver. 3.75

Coldbeans Software announced the major new release of Coldtags suite. This suite provides over 375 JSP custom tags for common programming tasks faced by JSP (and/or Coldfusion) developers.

Coldtags suite comes with a wide range out of the box ready-to-use the most common control components that are repeatedly required for the development of JEE applications. They include standard user interface components like buttons, lists, edits, grids, menus, tables, tree views, calendars, ajax etc. With this suite developers and web designers no need to worry about writing browser-specific HTML or JavaScript.

All controls are carefully written and tested to operate equally well on major Internet browsers as well JEE servers.

Monday, July 27, 2009

Sunday, July 26, 2009

Automagically automated

How the SpinVox (automated voice to SMS translation) really works :-)
Interesting, on Mobile World Congress in Barselona they told about API. Is it real?

Saturday, July 25, 2009

vCard in JSP

Just one tablib from Coldtags suite: vCard. Lets you directly present contact information in your JSP (and/or Coldfusion) page.

Friday, July 24, 2009

About cache

As per HTTP basic user-agent should not cache URL's with query string. In the latest firefox browser you can very easy check out the current cache. Just use the following URL: about:cache And what can I see for example

Key: http://www.reddit.com/button.js?t=2
Data size: 371 bytes
Fetch count: 1
Last modified: 2009-07-22 14:51:00
Expires: 1970-01-01 03:00:00

And by the way the picture will be the same not only for firefox. Always make unique URL's if cache is an issue for your application. E.g. link taglib lets you add an unique query string attribute in order to avoid client-side cache

Thursday, July 23, 2009

Wednesday, July 22, 2009

Twitter Search API

A practical work with Twitter Serach API (PHP + JQuery). Another example (pure JavaScript) you can see here - Google blogs + Twitter

Friday, July 17, 2009

Local twitter

Local twitter mashup has been updated. Lets you see (right from the Google Map) who is writing to twitter from nearby. As well what do they write about. Local trends in the real time

Thursday, July 16, 2009

Proxy server

Traffic Server fills a need for a fast, extensible and scalable HTTP proxy and caching. We have a production proven piece of software that can deliver HTTP traffic at high rates, and can scale well on modern SMP hardware. We have benchmarked Traffic Server to handle in excess of 35,000 RPS on a single box. Traffic Server has a rich feature set, implementing most of HTTP/1.1 to the RFC specifications - from Yahoo

P.S. check out by the way Proxy servlet from JSOS.

Wednesday, July 15, 2009

Real time data from Google

A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom.

Parties (servers) speaking the PubSubHubbub protocol can get near-instant notifications (via webhook callbacks) when a topic (Atom URL) they're interested in is updated. Here is the reference implementation.

Smart idea - request Atom feed only once and after that instead of repeated polling register your own callback that will get notifications as soon as new data is published. And data feed supports such feature could be provided via Feedburner.

Saturday, July 11, 2009

Free SMS

Email to SMS gateways:

http://www.funsms.net/email2sms.htm
http://leedumond.com/blog/sending-sms-text-messages-from-your-application-free/

send SMS to mobile users via email. For free. And probably could be useful for some notification applications like Twitter 411

Friday, July 10, 2009

Annotated links

Our mashup Annotated links has been updated. Lets you pack any link (group of links) and your own text comment (in post-it style) into one short URL. The final pack could be shared via email and twitter. So you can threat it as yet another way for link sharing in Twitter for example – your comment could be much more than 140 chars.

Provides HTTP API and own bookmarklet too. See the previous announces here.

Thursday, July 09, 2009

Twitter bots

We wrote already about our Twitter mashup – Twitter 411 service. It is a web application lets you easily create your own Twitter bots. Bot here is an application that receives some requests via Twitter and responds with your own data. You define a form for the request as well as the content for the response. Here is an example for such a bot (stock market).

As a response for the bot within t411 service you can provide any CGI script (e.g. jsp, java servlet, php etc.) on your own site. See again here a complete example (JSP) for stock market bot.

And now let us see a yet another example. Now it is a weather bot.
How does it work? The source data provided by the site yr.no This site contains weather forecast around the world. And what is important, you can pickup weather data in XML or RSS format. So it is a quick deal to build some automation processing. We create a new bot for t411 service – code for the request is w

As a reaction for this bot we've set a JSP file that obtains RSS data from yr.no, presents them in mobile ready form and responds back with a link to the requested forecast. Here is a part of that file:

<div class="content">

<%@ taglib uri="/WEB-INF/taglib374.tld" prefix="w" %>

<w:setLocation url="http://www.yr.no/place/United_Kingdom/England/London/" ttl="36000" id="A"/>

<w:forEachDay feedId="A">

<strong><%=itemTitle%></strong><br/>
<img src="<%=itemImage%>" style="border:0;float:left;padding-right:5px" alt=''/>
<%=itemDescription%><br/><br/>
</w:forEachDay>

<br/>&copy; <w:getChannelCopyright feedId="A"/>
<w:getChannelLink feedId="A" id="url"/>
<br/><a href="<%=url%>">Original data</a><br/>

</div>

code uses the Weather taglib from Coldtags suite. Tag setLocation requests rss feed (and caches it for 10 hours. Tag forEachDay outputs data. And finally we prints a copyright information as well as the back link (as it is required by yr.no)

The rest of the deal is standard. Follow to user @t411 and send him a direct message for the weather forecast you are interested in.

Here are examples (what the bot recognizes and what you have to send as direct message to @t411):

w london get forecast for London
w paris get forecast for Paris
w msk get forecast for Moscow
w spb get forecast for Sankt-Petersburg

And the result (you will get a direct message back) is a link to the mobile site with the forecast. Because it is a mobile site you will be able to open it right from your mobile phone.

The direct messages from Twitter could be delivered by SMS to user's mobile. And so – the mobile link will be delivered too. That was the original idea for t411 service – Twitter could be used as an alternative model for SMS services programming. Twitter is a transport here.

Wednesday, July 08, 2009

Mobilize your data

Our mashup QR code maker has been updated. It is getting closer and closer to the state he was originally assigned to. From the day one we saw it as the tool for the content mobilizing.

Mashup QR-code maker is an easiest way (as we wrote already – well, yet another attempt to present an easiest way) for the mobilizing of user-defined content. Here are two tasks at least. At the first hand we need to create a mobile view for user-defined data. And what is important of course we need to do that very simply. After that we have to present by some way this view for our mobile users. Actually, QR code generator mashup solves these tasks exactly.

As soon as the web user types (or copy-pastes) some content the relevant mobile web page will be created automatically. Btw, mashup automatically recognizes links in your text and converts them into hyperlinks too.

The latest version of QR-code mashup lets you add some local document to the content (e.g. photo, video, data files etc.). So you can share for example some local saved video data for the mobile users.

And a reference (URL) for this fresh mobile web page will be presented as a QR-code. So as soon as mobile user scans this code, he/she will get your info (an appropriate web page) automatically.

One new element – mobile users can share created mobile pages over plain old SMS. So it is very easy to create some viral distribution.

E.g. the simplest use case: just type (paste) as a content some URL (link) to the page/file (e.g. video, presentation, sales materials etc.) you need to share right from your mobile phone. Mashup creates for you a mobile web page with this link. You can bookmark this created mobile page right in your mobile browser and simply send it by SMS to your friends / partners etc.

All in all it is a simplest way for the content mobilization. As you can see it is just a copy/paste process. There is no need in programming/developing skill at all. And QR-codes solve the distribution problem.

Tuesday, July 07, 2009

Firebug guide

"But how do you trace, track and debug client-side code interactively? The use of alerts has been useful but does not support an interactive way for you to interact with the web-page on the fly. To make matters worse, even if you place some traces into your js code to help find the slow functions, etc, network latency may be another cause of slow response. Or maybe the order your files are loaded is an issue? Or maybe their are caching issues. Well, Firebug to the rescue." - from a more than useful guide for Firebug usage

JSON for phone

A reverse engineering for MobileMe application from Apple. Author restores / simulates data exchange protocol. Could be useful learning if you are involved into some phone – web server data exchange projects. Source code is here.

Monday, July 06, 2009

Food mashup

Take an idea about your next lunch right from Twitter. A new mashup Food from Twitter shows you the live stream of food pictures just published in Twitter. See what other people are eating. Crisis-time food replacement :-)

Sunday, July 05, 2009

Not the same origin

By the way, Firefox 3.5 allows you to make XMLHttpRequests cross domain (in other words code loaded from some domain foo.com can make XHR requests to domain bar.com). Mozilla's spec suggests a special HTTP header for that:

Access-Control-Allow-Origin: *

with this header your server informs client that cross domain request is Ok from any domain. Instead of * you can use there a name of domain allowed to perform cross domain requests.

And here is Java servlets filter from JSOS lets you add such a header to your site so cross domain requests could be allowed for existing web applications - Cross domain Ajax filter.

Saturday, July 04, 2009

Photo from Twitter

Real time data stream mashup pictures from Twitter has been updated. Time killing application :-)

Friday, July 03, 2009

Math captcha

Web component describes a different kind of captcha system - one that asks the user questions in plain text. The trick is to use mathematics questions with a variety of forms and varying numbers, so that it should be difficult to write a bot to parse them. See it here: Math question taglib.

Thursday, July 02, 2009

Shared sessions

Technical info: how to share sessions and implement cross context applications on Tomcat

P.S. and Session administration taglib from Coldtags suite lets you perform administrative tasks for your session scope.

Wednesday, July 01, 2009

Contact info

Let us present a new way for sharing your contact info. You can publish your data right on your site (blog) in the form allowed one click transfer to phone address book. A simple JavaScript widget lets you do that (see MECARD widgets).

Widget presents a QR-code that could be scanned by the visitors. After that it is just one click (confirmation) for adding your contact. Now more manual typing and your data will be always correct. For example, add the following fragment to your HTML code:

<script language="JavaScript">
 var qr_shareName = 'Coldbeans';
 var qr_shareEmail = 'info@servletsuite.com';
 var qr_shareURL = 'http://www.servletsuite.com';
</script>

<script type="text/javascript" src="http://www.servletsuite.com/qr-address.js"></script>

and you will get this:

Coldbeans contact

Of course, you can set more details (phone, address) as well as a new size for QR-code image. See MECARD JavaScript widget for more details.