Tuesday, April 24, 2007

Free Smartphone "Notes" with ActiveSync/DirectPush Support

A former Blackberry user, I'm now running Windows Mobile Smartphone on a Blackjack. I love most things about Smartphone. But I miss the Blackberry "notes" integration with Exchange and Outlook. I used the notes feature constantly, managing all sorts of unstructured lists, and I liked being able to work on them on the desktop and know the changes would be propagated to the Blackberry and vice versa.

So I decided to write a little notes application that would sync with Exchange. If you like this idea and want to try the app, but don't want to hear any more geekspeak, you can get the app and instructions straightaway from here.

If you're still reading, here's what I did... The Pocket Outlook Object Model, which is the first stop for manipulating Outlook/Exchange data on the Smartphone, does not support note items. I wasn't sure if the Windows Mobile MAPI APIs covered notes, and I didn't really want to go that route as a MAPI novice, having heard many MAPI integration tales, none of the pleasant.

The Outlook Web Client accesses notes via AJAX, hence there is a web service endpoint of some flavor that can manipulate notes (Outlook can obviously get this data via HTTP too, since it can be instructed to operate in that mode). I could have sniffed/scraped that interaction ... but I wouldn't the get DirectPush I was jonesing for.

I took an easier route, and chose to store my notes as delimited strings in the body of a Task called "My Notes"

Since Exchange, Outlook, ActiveSync, and DirectPush take care of syncing my Tasks folder, I don't have to worry about that. And Tasks are first-class entities in the Pocket Outlook Object Model, so reading or writing one in C# is about 3 lines of code.

This approach worked well. I built a UI for the Smartphone using TextBoxes, put in the parsing logic, and I was set. On the Outlook side (or Outlook Web), I just open up the task called "My Notes" and there are all my notes, delimited by the same string. I can edit them, save, and the changes are propagated.

Only two wrinkles showed up.

The first is that Outlook 2007 is lazy about syncing the Tasks folder with Exchange, at least when it's set up to connect over HTTP. I cut my app out of the loop completely when testing this, by running Outlook 2007 in one window, and Outlook Web Client in another window. Web client read and committed changes to tasks immediately, while in order to refresh tasks in Outlook, even restarting Outlook did not always work. So, bummer... for now, it's an FYI.

The other interesting bit was the syncing logic in the phone client. The goal was to have the data saved and restored (when updated from the Exchange side) as automagically as possible. I've commented the relevant code, most of which lives in the Notebarn_Activated event handler, so you can take a look at the source if you like.

Any time you switch away from the app, or edit a note in full screen mode, your notes are saved, and any time you switch back, if Exchange has updated the Task data but you haven't, your notes are reloaded from the Task. I've tested various approaches and this one has worked the best for me.

I hope it works for you too. The project page (with source) is here.

46 comments:

brandon said...

Excellent... wonderful idea.

I just wanted to add that I've given this a try on my Treo 750 and it works wonderfully!

Thanks Again!
Brandon - justanothermobilemonday.com

Anonymous said...

I'm just downloading it.
Thanks a lot!
Jorge Castillo
Blog sobre movilidad

Anonymous said...

Thank you. Two findings:

1) Note length is very limited. This is something I cannot live with.

2) Reading notes on PC is a pain, because all the notes are in a single place.

Adam said...

Regarding note length:

On the Smartphone, the little black triangle on the right indicates that you can "activate" the TextBox and edit it in full screen mode. In this mode, you can write as much text as you like (the limit is probably 32kb or 64kb).

There is a limit on the total amount of note data at just under 60 kb, because the POOM Note Body property (where the text lives) is limited to 60 kb, according to MSDN.

If you can manage more data than that in a notepad app on a phone, rock on! But a more complex app might be in order at that point...

Dave said...

Clever, simple, effective workaround.
I also use notes frequently, and most third party notes apps have too many bells and whistles for my taste.
This is the next best thing to actually having Outlook notes sync (what was MS thinking when they left this out?!?)

Great solution!!

Anonymous said...

just installed on my blackjack. Thanks for filling in a much needed function! Works great but I may have found a bug. When there is NO "my notes" task or no data in "my notes" and when you click on the menu option the application crashes. Once I put in a "my notes" task with some content, it worked fine.

Also, i would suggest a few more pointers on use: first off, seperate notes with the (with no spaces between the quotation marks)" < note / > " tag and a hard return. then, just like in outlook notes, the first line will show up in NoteBarn as the label. I have organized my notes now just like in outlook and it works great.

In short, I love the app! Thanks for putting in the time.

Anonymous said...

Wow...
You are brilliant. Nothing more to say.

Anonymous said...

GREAT- thanks for the effort!

one think about the note size- I'm using an HTC Mogul (XV6800) with WM6 from verizon. And there is no little black triangle to activate.

(then again some things are acting weird so let me soft reset and see what happens...)

Anonymous said...

Excelent! Thanks!

Just one thing, what I cna't understand:
then I select the menu item "create container task" it's create task with text of all my notes. Is it correct behaviour?
Am I right? what the only way to synchronize notes with PC is the "container task" creation?

Anyway - your work is great solution for me. Thank you again.

Anonymous said...

how can i make a proper icon for the app?

Anonymous said...

Super ! I have all my notes in my smartphone

Unknown said...

I did some checking and it doesn't k like this solution will work if you are using a different synchronization software. I am using Verizon's "PC Monitor"

Any thoughts on how to make that work?

Thank You

jon

Anonymous said...

This is great thanks for working hard on this.

Would you be able to to provide a copy/paste feature for the notes?

Lets say i want to copy something from internet explorer and paste it as a note. It could also be handy on converting "old" notes to "my notes"

Thanks!

Anonymous said...

He alreadywow goldhas more receiving yardswow goldin one postseason thanwow goldany player in history.

Anonymous said...

You know ,I have some priston tale Gold,and my friend also has some
priston tale Money,do you kouw they have the same meaning,I just want to
buy priston tale Gold,because there are many cheap priston tale Gold


You know ,I have some wow gold,and my friend also has some
World of Warcraft Gold,do you kouw they have the same meaning,Both of them can be called
warcraft gold,I just want to
buy wow gold,because there are many
cheap wow gold

Anonymous said...

You know ,I have some priston tale Gold,and my friend also has some
priston tale Money,do you kouw they have the same meaning,I just want to
buy priston tale Gold,because there are many cheap priston tale Gold


You know ,I have some wow gold,and my friend also has some
World of Warcraft Gold,do you kouw they have the same meaning,Both of them can be called
warcraft gold,I just want to
buy wow gold,because there are many
cheap wow gold

Anonymous said...

buy wow goldAsesor ProfessionalUruguayProfessionalbuy wow goldOfficeLinksNotice

Anonymous said...

As a new player , you may need some game guides or information to enhance yourself.
FFXI Gil is one of the hardest theme for every class at the beginning . You must have a good way to manage your FFXI gold.If yor are a lucky guy ,you can earn so many Final Fantasy XI gold by yourself . But if you are a not , I just find a nice way to buy FFXI Gil. If you need , you can buy cheap Final Fantasy XI Gold at our website . Go to the related page and check the detailed information . Once you have any question , you can connect our customer service at any time .

Gold Guide for World of Warcraft said...

good post :)

Anonymous said...

Once I played habbo, I did not know how to get strong, someone told me that you must have habbo credits. He gave me some habbo gold, he said that I could buy habbo gold, but I did not have money, then I played it all my spare time. From then on, I got some habbo coins, if I did not continue to play it, I can sell cheap habbo credits to anyone who want.

Once I played habbo, I did not know how to get strong, someone told me that you must have habbo credits. He gave me some habbo gold, he said that I could buy habbo gold, but I did not have money, then I played it all my spare time. From then on, I got some habbo coins, if I did not continue to play it, I can sell cheap habbo credits to anyone who want.

Anonymous said...

As a new player , you may need some game guides or information to enhance yourself.
aoc gold is one of the hardest theme for every class at the beginning . You must have a good way to manage your conan gold.If yor are a lucky guy ,you can earn so many age of conan gold by yourself . But if you are a not , I just find a nice way to get cheap aoc gold. If you need , you can buy aoc money at our website . Go to the related page and check the detailed information . Once you have any question , you can connect our customer service at any time .

Anonymous said...

セフレ北海道セフレ宮城セフレ青森セフレ福島セフレ秋田セフレ岩手セフレ山形セフレ新潟セフレ長野セフレ山梨セフレ東京セフレ神奈川セフレ埼玉セフレ千葉セフレ群馬セフレ茨城セフレ栃木セフレ大阪セフレ兵庫セフレ京都セフレ北海道セフレ宮城セフレ青森セフレ福島セフレ秋田セフレ岩手セフレ山形セフレ新潟セフレ長野セフレ山梨セフレ東京セフレ神奈川セフレ埼玉セフレ千葉セフレ群馬セフレ茨城セフレ栃木セフレ大阪セフレ兵庫セフレ京都

Anonymous said...

I am grateful to you for this great content.aöf thanks radyo dinle cool hikaye very nice sskonlycinsellik very nice ehliyet turhoq home free kadın last go korku jomax med olsaoy hikaye lesto go mp3 indir free only film izle

Anonymous said...

Aftersex toysseries,asex shopof,boardadult toysdetermined,companyadult shoppast,Yahoo'ssexy lingerieweek,meetingsvibratorperson,decisionadult productsbelow,anystrap onshare,overadultshopadvantage,coulddildooffer,theMalaysia sex toysregulators,tryingSingapore sex toysdigging,massivelysex toy$31,thatCondomsaid,takeoverParadise sex toys shopbattle,woodenSex Toys Adult Shop Singapore Malaysiastand,word delivery,stand,wordParadise Sex Toys Adult Shop Singapore Malaysiadelivery,committed toParadise Sex Toys Adult Shop Singapore Malaysiacertain,schoolSex Toys Shop Singapore Malaysiaproducts,BuyParadise Sex Toys Adult Shop Singapore MalaysiaNow

Anonymous said...

水水們妳有缺現領、想要兼職、有缺錢的煩腦嗎?想到日本留學缺錢嗎?妳是傳播妹??想要擁有高時薪又輕鬆的賺錢,酒店和,假日打工,假日兼職賺錢的機會嗎??想實現夢想卻又缺錢沒錢嗎!??
艾葳酒店台北酒店經紀招兵買馬!!徵專業的酒店打工,想要去酒店的水水,想要短期日領,酒店日領,禮服酒店,制服店,酒店經紀,ktv酒店,便服店,酒店工作,禮服店,酒店小姐,酒店經紀人,
等相關服務 幫您快速的實現您的夢想~!!

Anonymous said...

Your blog is wonderful, I like it very much, thank you!
By the way, do you like polo shirts, which are very chic, especially the polo t shirts, I love them very much. I also like playing tennis rackets, it can keep healthy, what do you like to do?
We are the outlet of polo t shirts women, polo t shirts on sale, polo t shirts for women, polo shirts on sale, these products are best-seller in our store online.besides we also sell polo shirts men, men's polo shirt, men polo shirt, mens polo shirts, mens polo shirt and cheap polo shirts, discount polo shirts, men's polo shirts, women's polo shirts We are also the outlet of cheap tennis racket, discount tennis racket, and the main product is prince tennis racquet, head tennis rackets, wilson tennis racket, babolat tennis racquet.You are warmly welcomed to my store online!

Anonymous said...

I am grateful to you for this great content

araç sorgulama
sorgulama
ehliyet
açıköğretim
bağkur sorgulama
ssk sorgulama
emekli sandığı
cinsellik
radyo dinle
korku
evlilik
hikaye

Anonymous said...

AirMax BW|AirMax Huarache|AirMax LTD |AirMax Skyline |AirMax TN
AirMax Zength|AirMax 09 Sneakers|AirMax 180|AirMax 2003|AirMax 2006|AirMax 2009|AirMax 2010|AirMax 360 |AirMax 87|AirMax 90|AirMax 91|AirMax 92|AirMax 93|AirMax 95|cheap ugg boots|discount ugg boots|ugg boots|classic ugg boots|ugg classic tall boots|Dior sunglasses|Ray Ban sunglasses|Fendi Handbags|Hermes handbags|Miu miu Handbags|Timberland Boots|timberland outlet|Moncler Jackets|Moncler coats|discount Moncler Vest|Moncler outlet|moncler polo t-shirt

scaining said...

Deeply impressed and inspired!
Tn Requin|Alife chaussures homme|nike chaussures enfant|nike chaussures femme|nike chaussures homme|puma chaussures femme|puma chaussures homme|AF jeans|Aff jeans|clothes jeans|Armani Jeans|Artful Dodger Jeans|Bape Jeans|BBC Jeans|Christian Audigier Jeans|D&G Jeans||Chaussures pas cher|Jordan Femme Chaussure|MBT Chaussure|Nike Chaussures Enfant|Nike Chaussures Femme|Nike Chaussures Homme|Puma Chaussures Femme|Puma Chaussures Homme|Chaussures Sports|ATO chaussures|MBT chaussures|Nike Chaussures femme|Air Max 2009 femme|AIR MAX 2010 femme|AIR MAX 95 femme|Air Max 97 femme|Air Max LTD femme|AIR MAX|MBT ANTI-CHAUSSURES|ALIFE CHAUSSURES|ATO CHAUSSURES|VIBRAM FIVEFINGER CHAUSSURES

Unknown said...

Young and creative style
abercrombie and fitch
You can have a look at it.
abercrombie & fitch
if you really want it
jordan 8
jordan 9
jordan 10

combattery84 said...

ACER BTP-43D1 battery
Acer lc.btp05.001 battery
Acer aspire 3000 battery
Acer Travelmate 4000 battery
ACER aspire 5560 battery
ACER BATBL50L6 battery
ACER TravelMate 240 Battery
ACER BT.00803.004 Battery
ACER Travelmate 4002lmi battery
Acer travelmate 800 battery
Acer aspire 3613wlmi battery
Travelmate 2414wlmi battery
Acer batcl50l battery
Acer Travelmate 2300 battery
ACER aspire 3610 battery
ACER travelmate 4600 battery
Dell Latitude D800 battery
Dell Inspiron 600m battery
Dell Inspiron 8100 Battery
Dell Y9943 battery
Dell Inspiron 1521 battery
Dell Inspiron 510m battery
Dell Latitude D500 battery
Dell Latitude D520 battery
Dell GD761 battery
Dell NF343 battery

combattery84 said...

Toshiba PA3098U battery
PA3107U-1BAS battery
PA3107U-1BRS battery
PA3166U-1BRS battery
PA3176U-1BAS battery
TOSHIBA PABAS076 Battery
Toshiba pa3399u-1brs battery
TOSHIBA PA3399U-2BAS Battery
TOSHIBA PA3421U-1BRS Battery
TOSHIBA PA3456U-1BRS Battery
TOSHIBA Pa3356u-1brs battery
Satellite a10 battery
Pa3331u-1brs battery
Satellite m30 series battery
Satellite pro m30 battery
TOSHIBA PA3399U-1BRS Battery
Portege m300 battery
TOSHIBA PA3285U-1BRS Battery
Canon BP-2L5 Battery
Canon BP-508 Battery
JVC BN-VF707U Battery
JVC BN-VF707 Battery
JVC BN-VF733 Battery
JVC BN-V408U Battery
BN-V408 Battery
CANON NB-2L Battery
CANON NB-2LH Battery
CANON BP-511A battery

combattery84 said...

Toshiba A70 battery
PA3062U-1BAT battery
Toshiba Satellite P30 battery
Toshiba PA3084U-1BRS battery
Toshiba PA3098U battery
PA3107U-1BAS battery
PA3107U-1BRS battery
PA3166U-1BRS battery
PA3176U-1BAS battery
TOSHIBA PABAS076 Battery
Toshiba pa3399u-1brs battery
TOSHIBA PA3399U-2BAS Battery
TOSHIBA PA3421U-1BRS Battery
TOSHIBA PA3456U-1BRS Battery
TOSHIBA Pa3356u-1brs battery
Satellite a10 battery
Pa3331u-1brs battery
Satellite m30 series battery
Satellite pro m30 battery
TOSHIBA PA3399U-1BRS Battery
Portege m300 battery
TOSHIBA PA3285U-1BRS Battery
Canon BP-2L5 Battery
Canon BP-508 Battery
JVC BN-VF707U Battery
JVC BN-VF707 Battery
JVC BN-VF733 Battery
JVC BN-V408U Battery
BN-V408 Battery
CANON NB-2L Battery
CANON NB-2LH Battery
CANON BP-511A battery

Anonymous said...

Battery
Laptop Battery
Camcorder Battery
Digital Camera Battery
Mobile Phone Battery
PDA Battery
acer laptop battery
asus laptop battery
apple laptop battery
dell laptop battery
fujitsu laptop battery
hp laptop battery
ibm laptop battery
sony laptop battery
toshiba laptop battery
CANON Camcorder Battery
JVC Camcorder Battery
PANASONIC Camcorder Battery
SHARP Camcorder Battery
SONY Camcorder Battery
NOKIA Mobile Phone Battery
APPLE M8403 battery
APPLE A1078 Battery
APPLE A1079 battery
APPLE A1175 battery
APPLE a1185 battery
APPLE A1189 battery
Acer aspire 5920 battery
Acer btp-arj1 battery
Acer LC.BTP01.013 battery

Anonymous said...

Dell HD438 Battery
Dell GK479 battery
Dell PC764 battery
Dell KD476 Battery
Dell Inspiron 1150 battery
Dell inspiron 8500 battery
Dell Inspiron 4100 battery
Dell Inspiron 4000 battery
Dell Inspiron 8200 battery
Dell FK890 battery
Dell Inspiron 1721 battery
Dell Inspiron 1300 Battery
Dell Inspiron 1520 Battery
Dell Latitude D600 Battery
Dell XPS M1330 battery
Dell Latitude D531N Battery
Dell INSPIRON 6000 battery
Dell INSPIRON 6400 Battery
Dell Inspiron 9300 battery
Dell INSPIRON 9400 Battery
Dell INSPIRON e1505 battery
Dell INSPIRON 2500 battery
Dell INSPIRON 630m battery
Dell Latitude D820 battery
Dell Latitude D610 Battery
Dell Latitude D620 battery
Dell Latitude D630 battery
Dell xps m1210 battery
Dell e1705 battery
Dell d830 battery
Dell inspiron 2200 battery
Dell inspiron 640m battery

Anonymous said...

Dell inspiron b120 battery
Dell xps m1210 battery
Dell inspiron xps m1710 battery
Dell inspiron 1100 battery
Dell 310-6321 battery
Dell 1691p battery
Dell Inspiron 500m battery
Dell 6Y270 battery
Dell inspiron 8600 battery
Latitude x300 series battery
Dell latitude cpi battery
Dell 1x793 battery
dell Inspiron 1501 battery
Dell 75UYF Battery
Dell Inspiron 1720 battery
dell Latitude C640 battery
Dell XPS M140 battery
Dell Inspiron E1405 battery
dell 700m battery
dell C1295 battery
Dell U4873 Battery
Dell Latitude C600 battery
Armada E700 Series battery
Compaq 116314-001 battery
Compaq 319411-001 battery
Compaq nc4200 battery
Compaq Presario R3000 Battery
Compaq Presario 2100 battery
Compaq Presario r3000 Battery

Anonymous said...

IBM ThinkPad X40 Battery
Thinkpad x24 battery
ThinkPad G41 battery
IBM thinkpad r52 battery
Thinkpad x22 battery
IBM thinkpad t42 battery
IBM thinkpad r51 battery
Thinkpad r50 battery
IBM thinkpad r32 battery
Thinkpad x41 battery
SONY VGP-BPS2 Battery
SONY VGP-BPS2C Battery
SONY VGP-BPS5 battery
SONY VGP-BPL2C battery
SONY VGP-BPS2A battery
SONY VGP-BPS2B battery
SONY PCGA-BP1N battery


SONY PCGA-BP2E battery
SONY PCGA-BP2NX battery
SONY PCGA-BP2S battery
SONY PCGA-BP2SA battery
SONY PCGA-BP2T battery
SONY PCGA-BP2V battery
SONY PCGA-BP4V battery
SONY PCGA-BP71 battery
SONY PCGA-BP71A battery
q

Unknown said...

Moncler jackets online mall,we offer Moncler coats,Moncler outlet with high quality.We also supply Moncler doudoune besides Moncler jackenMoncler online here,This is Moncler world.

Unknown said...

There are lots of spyder jacket.You can choose ski pants online and spyder ski in different styles.Our spyder brands contain spyder pants as well as ski suit

Runescape gold said...

This is a great thread, so much info, was wondering about how to do the conversion most of last night but struggled with some programs. Just working my way through the advice, cheers.


Here useful link:http://teraonlineforsale.mylivepage.com/
http://teraonlineforsale.over-blog.com/
http://teraonlineforsale.huarenblog.com/

yyyy said...

Thanks for sharing and letting us aware about this information. This is a great thread, so much info.
http://www.2joygame.com/WOW-News/Blizzard-said-there-are-another-two-pieces-of-information-about-World-of-Warcraft.html

http://www.wowbotsfree.com/pros-and-cons-of-switching-between-warcraft-union-camps/

http://teralife.eklablog.com/sen-richard-blumenthal-s-d-conn-proposed-personal-data-protection-a5498541

London Escort Agency said...

Your Escort Agency offers exclusive and most beautiful London escort girls of various nationalities.

London escorts said...

Bestescort4U agency provids best London escorts companionship in the UK.

Anonymous said...

Watchmaking remains strong because it is a field that has revolutionized itself from within. beats headphones It's one of magical craftwork, technique, aesthetics, fashion, trends and even economics. Watchmakers have succeeded in making the watch a truly interesting object. It has become a social sign. A watch still tells the time. Its primary function has not disappeared. But it has also become an accessory. monster beats Today, one could say: "Show me your watch, and I'll tell you who you are. " Self-conscious people cannot ignore the watch as a style statement.

Unknown said...

Ankara'nın en güzel escortlarıyla görüşmek için çankaya escort sayfamızı ziyaret edebilirsiniz.

PodEvi Elektronik Sigara Blog Köşesi - Blogger said...

En güncel TEREA ve Juul satış merkezi kapıda ödeme imkanı sunan sitemizden satın al.

Smok Elektronik Sigara