SMS-based User Generated Channels (with TextMarks)

Some time ago I read about TextMarks at Russell Beattie’s blog. At that time Russ wrote of personalized SMS cards. While I thought it was an interesting idea, I didn’t give it a whole lot of thought. Russ posted more about TextMarks, then I saw Bill Day creating his own TextMark. Hm…
So I decided to spend more time looking into it… And I’ve to say the concept is very neat and has a lot of potential: it is like SMS-based User Generated Content, or a personal text messaging-based channel that can be push and pull-push. Very powerful indeed. It is like your own personal “short-codes” (well keywords).
With TextMarks you register your own keyword or TextMark, if still available (funny, most all good TextMarks are already taken, it is like domain-names but this time with SMS keywords). Then when someone texts your keyword/TextMark to 41411, you can return static or dynamic content (they provide an API) and they also have a very crude screen-scraping method.
Very powerful. My head is full of ideas related to this… The sky is the limit, as long the sky is no longer than 125 characters
.
BTW, Russ’ idea of SMS-based business cards is very cool; text enrique to 41411 to get my contact information.
ceo
Hey buddy,
I just took a look at the textmarks website and you can test getting your contact details from their web simulator on the front page.
Just thought it worth mentioning, it seems that textmarks is currently only available on US carriers
Cheers
Kirk
Hi, I’m commenting here because I don’t know how else to contact you.
In your article here:
http://developers.sun.com/mobility/apis/pim/pim2
You have a method
isRepeatRuleFieldSupported(EventList el, int frequency, int field)
This checks the value of the field passed in is supported for a given frequency by looking for it in the returned array.
However this won’t work properly if the field is supported, but only as part of a combination of fields and not on it’s own.
Instead of
if (supportedFields[i] == field)
it should really be doing
if ((supportedFields[i] & field) != 0)
The spec says:
“All possible field combinations that are *valid* are returned in the array.”
Currently if you pass in END, but the array just contains one value with (END | INTERVAL | DAY_IN_MONTH | COUNT) then you won’t know that end is supported. Even with the &ing it’s not as useful as knowing the combination.
- I’ve just been bitten by this on the Sony w910 as some code I’m working on does the same thing as your example code and doesn’t detect the calendar support properly.
Sorry shouldn’t be
if ((supportedFields[i] & field) != 0)
but
if ((supportedFields[i] & field) != field)
Sorry about the spam I obviously meant
if ((supportedFields[i] & field) == field)
Stuart, hi. Email me to cenrique[at]ortiz[dot]name.
Yes, thanks Kirk…