[Windows Mobile Software Development] meltwater:
Useful Links

Temp Location for the stuff moved off the main thread (this post can them be referred to if the info is important):

MAIN THREAD POST #1:

-----

The stuff below will get replaced when the next version is released...

-----

This is my facebook tab, the project is a learning project, it will also have a supporting tutorial with full details of how it is built.

By it's nature the intention is it is freely available and totally open.

Before people ask, no I can't do comments, pokes, likes, notifications etc etc, I am cheating here and borrowing HTC function/pages and only changing what I have to, to obtain the function needed.

I shall attempt to add some more function soon, will be linking in with a exe which will hopefully talk to the facebook api. At the moment I am unsure how successful this will be, also what to do about facebook requiring an account to be linked with the app and how to keep multi-language support. This will become clearer as I work on it.

Also, as I start to adjust things to suit my changes, I expect to break a few things too, this will be because I don't always see the full range of HTC functionality as I test (i.e. Events etc).

Hopefully it does enough to keep everyone happy. I shall try to document the creation of the tab, but at the moment development work is 1st.

HTC has put in as much more functionality than I thought (I keep seeing new parts to it), but they also did a good job of hiding it!

Personally I think there are some excellent features and credit goes to the poor soul who got told it couldn't be a tab (this is for

you

and your hard work!).

Please understand, currently ALL the facebook function is by HTC, all the integration is by HTC. The MOD moves the tab and formats it to look nice and also adds some small features which I wanted (I wanted to do more but everyone was keen to have it too!). Formatting and the extras is what takes the time. If you see the 192X basic "basic tab" a simple move of the tab is a 5 min job!

I'm planning to do at least one update to this to add the bits I couldn't get going in time, plus to make it easier to configure via the settings instead of the registry. After that, I'll release a dev pack and facebok api could be added etc on top (but again must be a matter of time before we get an official one).

______

Latest WVGA Screens

Latest VGA Screens

MAIN THREAD POST #2:

-----------------------------------------

Details for v1.01 (to be removed later)

-----------------------------------------

Settings are all via the registry (for now). The "Download Data Automatically" etc in the settings subpage runs independently of the Automatic Update Period.

Registry Settings

Change these registry keys to change how it works.

[HKEY_CURRENT_USER\Software\HTC\Manila]

"Facebook.LaunchAppSel"=dword:1

Number added to Facebook.LaunchApp to determine which app is launched (entry must exist)

"Facebook.LaunchAppName0"="MS Facebook App"

"Facebook.LaunchApp0"="\\Windows\\Facebook.exe"

Path and filename of app, note \\ should be used in *.reg file to put \. Within the registry this will read as "\Windows\Facebook.exe"

"Facebook.LaunchAppArgs0"=""

Added to the end of the application call if required

"Facebook.LaunchAppName1"="Facebook IM App"

"Facebook.LaunchApp1"="\\Storage Card\\Program Files\\fim\\fim.exe"

"Facebook.LaunchAppArgs1"=""

2nd optional application. You can add any number of others at the moment.

"Facebook.LaunchWebSel"=dword:0

Same as "Facebook.LaunchAppSel" but for the web launch

"Facebook.LaunchWebName0"="Mobile Facebook"

"Facebook.LaunchWeb0"="m.facebook.com/"

"Facebook.LaunchWebArgs0"=""

"Facebook.LaunchWebName1"="iPhone Facebook"

"Facebook.LaunchWeb1"="touch.facebook.com/"

"Facebook.LaunchWebArgs1"=""

"Facebook.LaunchWebName2"="Desktop Facebook"

"Facebook.LaunchWeb2"="www.facebook.com/"

"Facebook.LaunchWebArgs2"=""

Same as "Facebook.LaunchApp#" but for the web launch

"Facebook.LastUpdateTime"=""

"Facebook.LastUpdateDate"=""

Stores the last update time/date used in the display, set by the program.

"Facebook.MyStatus"=""

Copy of your status text, set by the program, if its working ok

"Facebook.MyStatusExe"="\\Windows\\FacebookStatusUpdate.exe"

"Facebook.MyStatusScript"=""

Used to copy registry entry of My Status into the above key. Note: If you set Facebook.MyStatusExe blank, it won't try to update.

"Facebook.AutoUpdateInterval"=dword:0

Time in minutes between automatic updates. I think only runs when within the tab, set to 0 will disable automatic update (although independent of the 2 hour update on the settings page).

FAQ

Launch App/Web does not work (i.e. I get a Certificate error)

Chances are, you need to adjust the registry setting to point the selected application to the location where it is installed (or ensure you have the app installed).

Please see Agent Zach's guide here:

http://xdaforums.com/showpost.php?p=6247589&postcount=470

Why do we need FacebookStatusUpdate.exe (or originally mortscript) and what does it do?

It's a limitation of what is in manila, you can only read from "HKCU\Software\HTC\Manila", unless you are only after a int value.

All the script does (or exe), is the following:

RegReadString("HKLM", "Software\HTC\FacebookSDK","Status",myStoredStatus)
RegWriteString("HKCU","Software\HTC\Manila","Facebook.MyStatus",myStoredStatus)

There may be a work around, but it would take a lot of time to test for something so simple.

MAIN POST #3:

=============================================

Below applies to v1.01 only - will be removed soon

=============================================

All-In-One Cab Install Instructions

Warnings etc

Modifying manila means various levels of messing around with the files on the device so, as with most of the mods on here, back-up often and be prepared to screw it up and hard-reset your device. All the changes explained here may or may-not work on your particular device/version of manila or perhaps it's just not going to happen today.

Instructions:

1) Ensure you have moved your tabs around at least once, via Settings Tab, this ensures the correct registry keys are present used by the cab install.

2) Run the cab and Install to Device (attached to first post).

3) Copy any language files which are missing if you need them into the windows directory (some are included).

4) If this does not work, then don't un-install, but follow the manual install instructions (ensure you copy all the files from the zip as instructed).

You don't even have to disable Sense first or anything. It'll do that, and re-start Sense for you. It's recommended to install it after a fresh hard reset for best results, but it may still work without doing so.

Thanks to Captain_Throwback for creating the cab and johncmolyneux for creating the executable that adds the correct info to the tab control file automatically so that the install is fully automated.

Please report any issues you have with the install here, so that we can try to fix them.

All-In-One Cab Uninstall Instructions

Will update soon, with precise details:

1. Replace the 26948339_manila file in your windows directory with the backup version made by the cab also in windows.

2. Then perform 5. Reset Manila as described in the manual install steps.

Note: Until this is updated, and you are not confident, you can simply disable the tab via Settings, Home Screen Tabs!

Latest: http://xdaforums.com/showpost.php?p=6203074&postcount=434

Manila Sense Fix - Sense is not starting after install/uninstall

If you run into problems with Sense not starting then there are two things you can do.

1. Run moonnah's B_L_Group_FixStartManila_2.5.cab from the following thread (this should fix any problems with your tab control file):

http://xdaforums.com/showthread.php?t=670116

2. Post your tab control file (26948339_manila) on the thread and we shall correct any problems and repost it.

The next release of All-In-One cab will hopefully run the FixStartManila for you so this issue will hopefully be fixed.

[USE ALL-IN-ONE CAB INSTEAD] Captain_Throwback's OLD Cab Install Instructions

I've just kept this section for now, until we are happy the all-in-one cab does what it needs to do. Let me know if you still have to use this method.

Note: 1084 views on this cab now - will monitor for use. OK removed the attached cab to avoid confusion.

Warnings etc

Modifying manila means various levels of messing around with the files on the device so, as with most of the mods on here, back-up often and be prepared to screw it up and hard-reset your device. All the changes explained here may or may-not work on your particular device/version of manila or perhaps it's just not going to happen today.

Captain_Throwback Post here

NOTE: This cab does NOT include the tab control file (26948339_manila). Because everyone's set of tabs is different, each will need to be edited individually, per the instructions HERE. The edited file should be copied AFTER the CAB is installed. The install will make a backup of your original file called "26948339_manila_orig", if you have issues with the edited file.

Instructions:

1) Install CAB (attached to this post)

2) Verify that Sense is disabled in Today items once install is complete.

3) Copy edited tab control file (26948339_manila) to \Windows folder on device. Confirm overwrite of existing file.

Either get your tab control file (26948339_manila) from \Windows folder and edit it yourself or use a pre-written one which matches all the tabs orginally listed in your Settings Tab (where you re-order the tabs).

Edit your 26948339_manila file from your \windows\ directory (you can use the example in the zip file \tabcontrol\ as a guide, use a UTF-16 Compatible Editor such as Notepad2 or Programmers Notepad.

a) Insert the following text, between the other "pages" defined, replacing the X with suitable number (re-numbering the others as required to avoid duplicated numbers):

<Page Order="X" Name="facebook.page" PackageName="HTC" Title="[[Facebook]]">
<ComponentReference Name="page" Mode9Path="HTC\People\facebook.mode9" Component="SummaryAllPage" SmartComponent="true"/>
<ComponentReference Name="icon_normal" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_Off"/>
<ComponentReference Name="icon_selected" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_On"/>
<ComponentReference Name="icon_preview" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_Preview"/>
</Page>

b) Copy back completed file to your device \windows\ directory

4) Re-enable Sense in Today items.

Manual Install Instructions (for use with the zip files)

Scott8813 has kindly provided a detailed tutorial on how to add the tab, so if you need more detail then please refer to this.

Manual Install Tutorial (Scott8813)

http://xdaforums.com/showpost.php?p=6004802&postcount=216

Warnings etc

Modifying manila means various levels of messing around with the files on the device so, as with most of the mods on here, back-up often and be prepared to screw it up and hard-reset your device. All the changes explained here may or may-not work on your particular device/version of manila or perhaps it's just not going to happen today.

The files may be hidden system files (may need to enable viewing of system hidden files to find them)

Keep an original copy of your 26948339_manila file, particularly if you use a cab to install

If the tab doesn't work you can use it to restore things back (just do step 5)

1. Copy 26948339_manila from your \windows\ directory to your PC.

2. Copy all the files in the zip file \windows\ directory to your devices \windows\ directory.

3. Import the registry items from the "appFacebook.reg" file into your devices registry.

This will add new entries "Facebook.XXX" to "HKEY_CURRENT_USER\Software\HTC\Manila"

4. Create your Tab Control File:

Edit your 26948339_manila file from your \windows\ directory (you can use the example in the zip file \tabcontrol\ as a guide, use a UTF-16 Compatible Editor such as Notepad2 or Programmers Notepad.

a) Insert the following text, between the other "pages" defined, replacing the X with suitable number (re-numbering the others as required to avoid duplicated numbers):

<Page Order="X" Name="facebook.page" PackageName="HTC" Title="[[Facebook]]">
<ComponentReference Name="page" Mode9Path="HTC\People\facebook.mode9" Component="SummaryAllPage" SmartComponent="true"/>
<ComponentReference Name="icon_normal" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_Off"/>
<ComponentReference Name="icon_selected" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_On"/>
<ComponentReference Name="icon_preview" Mode9Path="HTC\Manila\Facebookicon.mode9" Component="Facebook_Preview"/>
</Page>

b) Copy back completed file to your device \windows\ directory

5. Reset Manila:

a) Delete "\\windows\manilaFull.xml" on your device (don't worry this is regenerated when manila restarts).

b) Delete the configuration reg-key HKLM\Software\HTC\Manila\Configuration (this resets the tab list and allows the new tab to be included in the tab re-ordering page of the settings tab - the keys only re-generate when you go back to that tab re-ordering page)

Alternative exe instead of mortscript (old zip version v1.0 23Mar10 ReleaseB):

Use the exe from FacebookStatusUpdate.zip and place in your windows folder (doesn't matter where, as long as you link correctly).

Change reg file to:

"Facebook.MyStatusExe"="\\Windows\\FacebookStatusUpdate.exe"

"Facebook.MyStatusScript"=""

Or directly in reg:

Facebook.MyStatusExe = "\Windows\FacebookStatusUpdate.exe"

Facebook.MyStatusScript =""