Saturday, December 25, 2010
WP7 Barcode Scanning using ZXing and Microsoft.Phone.Media.Extended
Thursday, December 23, 2010
DropBox library for Windows Phone 7
Thursday, December 16, 2010
A phone lifetime: an epic battle between Microsoft and OEM
Tuesday, November 9, 2010
Telerik RadControls for Windows Phone 7
Thursday, November 4, 2010
Wednesday, November 3, 2010
How to localize The Title in a WP7 Silverlight application
http://blogs.msdn.com/b/pietrobr/archive/2010/11/01/how-to-localize-the-title-in-a-wp7-silverlight-application.aspx
Friday, October 8, 2010
WP7 on HTC HD2
http://www.youtube.com/watch?v=8f_NJatLVQk
In this case HTC HD2 will become the first phone that runs WM 6.5, Android 2.2 and WP 7.
NAMASTE
Wednesday, October 6, 2010
25 years
1983
http://www.youtube.com/watch?v=NVtxEA7AEHg
2007
http://www.youtube.com/watch?v=_5Z7eal4uXI
Tuesday, October 5, 2010
WP7 Multi-language v2
What's new in v2:
- The LanguageSingleton class has now resources that can be accessed using an indexed property. In the published sample the Save messagebox uses the indexed property lang["MainPage.Messages.saved"] )
- The LanguageSingleton class implements LanguageChanged property so that every window could set the localized resources when the language changes (in this case is the ItemSource for the PickerBoxDialog developed by Alex Yakhnin)
- Implemented multi-language support for ApplicationBarIconButton (the same mechanism using button index as the one used for ApplicationBarMenuItem
Saturday, October 2, 2010
WP7 Device The End of the First Contact
- This is the one that bothered me the most: when you are in a call the End call window doesn't cover all the display and the End call button is almost at the bottom of it and too small. The bad part is that a lot of times (especially when I was driving) I pressed a region lower than the button so instead of ending the call it went to the background and had to bring it back by pressing the title
- When reading the emails (especially the unread ones) and delete a message the phone brings you back to the list with all the messages instead I would like to automatically go to the next email in the list.
- The right arrow in the main screen "eats" a lot of vertical space. That space is completely wasted. It would be much better to take it out and navigate from Home screen to Application List using the Windows button. Maybe three tiles in a row on the homescreen would not be a bad idea.
- I really miss the Call and End Call hardware buttons.It is true that you have the OnScreen buttons, but you have to look at the screen and then press End Call button which is not very "intuitive" for a person that did not used an iPhone (my mom left the phone opened for 20 minutes because she did not pressed the end call button)
- It would be nice to be able to enable/disable WiFi and Bluetooth from the Homescreen this way you won't have to go to Start->Applications->Settings->Wifi ->Enable/Disable or Start->Settings->WiFi->Enable/Disable if you pinned Settings to start screen. It's something I used a lot in order to save battery power.
- Bing doesn't search inside your contacts, emails or calendars. You can however use search inside People hub and inside each of the inboxes (using bing search on the phone it would enable to search emails on all your inboxes in only one search). You cannot search inside your calendar that would be pretty useful feature (let's say you don't remember someone's birthday date)
- I miss the possibility to search a contact using the phone keyboard and not the extended one (the t9 search). The keyboard is great but I was used to search contacts with the onscreen phone keyboard in Windows Mobile
- Still hate the application list. It is as unusable as I thought it would be. Everything is in alphabetical order without possibility to reorder items so if you are a developer you should use the first letters of the alphabet to name your app this way you have a good probability to have it in the first screen of the application list.
- Need to add pdf read capability to emails. This is a MUST but I think it will be available at launch as the email app already takes you to the marketplace to download the reader that, for the moment, it's not available.
- Office is not a theme aware application. If you use light or dark themes it doesn't change and it is light :)
- Touchscreen experience
- Fluid user interface
- Great keyboard and loved that you can use more than one language keyboard at the same time
- One tile for each email account
- One calendar to rule them all, one calendar to find them all, one calendar to bring them all and in the darkness bind them :) - depends if your theme is dark or light
- Notifications
- Great development tools
- Music and video
- Xbox Live
- Pictures
Monday, September 27, 2010
Thursday, September 23, 2010
WP7 Application Settings on IsolatedStorage
Monday, September 20, 2010
WP7 Deploy Db as Content File
Wednesday, September 15, 2010
WP7 Device Test Day One
Friday, September 10, 2010
Get Monotouch with 15% discount
Friday, September 3, 2010
I hate marketing people
C# for Mobile Development
Friday, August 13, 2010
Smartphone Market
What it is interesting is that the iOS won 1% which I think it's the 1% RIM lost but everyone else lost market shares in favor of Google. Looks like it doesn't matter if you have the best OS on the market today(iOs) , but it's better to be "open" - good adoption from the hardware makers, a lot of developers/fans porting/improving/updating Android OS on hardware already on the market (almost every WM owner hopes for an Android port for their devices), wide range of prices for the hardware and developers that have almost everything that they need (multitasking, access to all the resources of the device, error reporting of the applications).
In fact I still don't understand why Microsoft "blocked" the multitasking in favor of battery life. Let full multitasking and then implement a mechanism inside the OS which warns/reports to the user how much an application "eats" in terms of processor/battery. The user can than decide if he sacrifices or not battery life for a certain application. It's always better to warn and let the owner decide than to decide for them. A lot of developers at WP7 Lab in Milano did not agreed with the new tombstoning mechanism but developers obey the rules which might not the case for the owners.
I expected/wanted so bad WP 7 to be perfect, complete from the beginning to have every functionality that it had but with the new UI/programming model instead now it has what it was missing before and misses what it already had. There is still much to be done to get back Microsoft back do to where it was two years ago in the smartphone market.
NAMASTE!
Saturday, August 7, 2010
WP7 Device Tests
Sunday, August 1, 2010
WP7 ZXing Barcode
Friday, July 23, 2010
WP7 SqliteClient with transaction support
Tuesday, July 20, 2010
WP7 SqliteClient Preview
Sunday, July 18, 2010
WP7 IsolatedStorage speed improvement
Friday, July 16, 2010
Compact Framework Network Printing
Wednesday, June 23, 2010
WP7 Suggestions
- In the call answer menu in the current build there is a big image and two small buttons (Answer and Deny I think) . There is a lot of space for more functionality. One would be the ability to deny a call using an SMS message (I am using it every day on my Omnia 2)
- This one I've already posted on the WP7 forum. It is important for developers to receive error reporting from applications that they've posted on Marketplace (of course ask the phone user if he agrees to send that error). It would be a feature that would make WP7 Marketplace unique and more attractive.
- At this moment (from what I've understood) silverlight applications can only intercept the Back button. It is important to be able to intercept/use also the Search button (I saw that this functionality is currently implemented into Marketplace). This way the developer doesn't have to put another button on the UI.
WP7 Device Request
Sunday, June 20, 2010
WP7 Marketplace Limit download size over 3G
Another scenario would be that I am in a town, don't have a car navigator but I need to arrive in some place in town and I don't have an internet connection besides the one my WP7. In this case I would happily pay 40Euro to download TomTom with Italy map and I would wait 5-10 minutes to download it (download size around 400MB).
So why "block" the user buy applications that they are interested/need it? The price in Italy for unlimited data traffic it's really small (Tim Italy offers unlimited unlimited data transfer from for just 2 Euro/week but only from the phone)? Ericsson declared that the world wide data traffic over the cellular network surpassed the voice traffic.
If battery it's a problem wait for the user to connect the power plug. I personally would prefer not to power up my pc, connect the phone and download the application especially if it doesn't matter if I download using 3G or ADSL. You are also cutting off the users that don't have internet at home but have the latest phone on the market in their pockets and those are the users for which the price doesn't really matter.
The only reason I can think of is if the voice provider Vodafone, T-Mobile is imposing a maximum download size (it would be strange, but also in that case I cannot believe that all the providers have the same conditions).
So my way would be WARN THE USER but if he agrees DON'T LIMIT HIM
Namaste
Tuesday, June 15, 2010
WP7 Multilanguage App Proof Of Concept
Inside the language tag we have all the classes (xaml pages) with the various controls and properties that need to be set
class name="MainPage" Title="Main Page"
control name="textBlockPageTitle" Text="MY APPLICATION"
Obviously it's easier to look at the code than to explain it. I also use a singleton class to share the XDoc, loaded from the xaml language, between various pages of the project and also to "translate" the pages.
There are still some problems with the ApplicationBar as there is no way to get a reference to the MenuItem using the name (when you debug the property doesn't even exist). I think it's a problem/missing feauture of the CTP. The solution I've adopted is to add a control name that doesn't exist on the page "AppBarMenuItem" that has 2 attributes Index and Text. This way I use the index to set the text of the MenuItem
control name="AppBarMenuItem" Index="1" Text="First"
The sample attached to this post is a project with 2 pages. If you need more details or you think it's useful please let me know
MultilanguageApp.rar
NAMASTE
Tuesday, May 25, 2010
WP7 Need for list with integrated search
A lot of time since my last post, but it's a really busy period. This is a small "inconvenient" when you own a small and have a lot of projects. I would love to have more time for blogging. This will be a small post...
Maybe you've already read about this on other blogs, but seem that there are some lucky developers that can already develop/test/debug on a real device.
First of all ... I WANT ONE TOO :) Maybe we will get lucky and the guys XDA (especially
DA_G) will be able to port the leaked Mondrian ROM to other devices. It would be even nicer to have a developer device directly from Microsoft given/sold to developers registered on Windows Marketplace (I am not one of them yet). It will have to be a NoBrand device for development purpose which will have access to the beta versions of the WP7 OS (something like Apple does now) ?
But let me get to the post. When I watched the video posted with Windows Phone 7 startup/setup there are 2 aspects that I didn't like and I've already talked about both of them in my previous posts.
- The first aspect is the "ugly" buttons that are a little too small for my taste.
- The second one is the list where you have to choose the Time Zone. It's not
practical and the user is very very slow to find/select what it needs (it's true that you won't set the Time Zone every day, but it's about the speed of finding what you need in a list with many items). Why not just put an embedded search option? It could be implemented on the properties of the ItemsSource. Wouldn't be easier to just pop up the keyboard and write +01 to filter the list to all items on GMT +01, or Rom and have Rome directly? Sure the developer could implement this functionality but I would love to have it already there and to have the possibility to enable/disable. They need to put this functionality on the Application list also otherwise the user will get "nuts" trying to find an application.
Microsoft Help Us to Help You
Namaste!
Tuesday, May 11, 2010
WP7 Memory Requirements
I than run some tests to see how much memory a simple application occupies. The "empty" application generated by VS 2010 started with the debugging option occupies around 8 MB of memory and without debugging 6MB. I did the same test on Win32 and NET CF and grouped the results in a chart:
Let's say that an empty app that does nothing and occupies 6MB means that the framework is not yet optimized. It would be interesting to see how much memory requires a more complex application. Looking at this chart I think Microsoft should offer the possibility to develop natively or using NETCF on the WP7 platform.
Then there is the whole Running,Paused,Suspended,Resume mechanism that doesn't convince me 100%. If the OS decides when to suspend(kill) an application why doesn't the OS automatically save the state of the suspended application and then when the app resumes the OS could automatically reload the last state? The OS has access to the File System which is faster than IsolatedStorage accessible to the user. Personally I prefer the "old" way to work with the apps not this one that seems copied from the iPhone OS. In fact the whole OS looks like is developed taking iPhone as a model and not looking at what was good in the old OS. They erased not only what was bad but also what was good like the possibility to group the applications in folders which was implemented since Pocket PC , that misses in WP7 and which will be implemented in iPhone OS4.
In hope I will find more time for blogging.In the meanwhile NAMASTE!
Friday, April 30, 2010
WP7 Build 6176 "Unlocked"
As you probably know Microsoft released the new version of the Windows Phone 7 Development tools and there is a new version of the emulator. The old "unlock method" still works and there is already an unlocked version on XDA Developers and you can download the image here. The new version of the bin doesn't work on the old XDE emulator because there seem to be some changes in XDE hardware emulation. The unlocked image pretty snappy and there are also some new programs.
The best thing is that the unlocked emulator image works for debbuging in VS 2010 on my newly installed Windows 7 x64 on myApple macbook (I've reinstalled 3 times the macbook last week cause I configured more partitions for windows and I finally managed to replace my old Asus notebook). One of the things I've noticed is that an "empty" application uses 12 MBytes of RAM which seems a lot for an app that does nothing.
Hope I will have more time for testing! Have fun with the new tools
Thursday, April 15, 2010
WP7 IsolatedStorage Backup/Restore
I've developed a small solution (there is room for improvement) for backing-up and restoring the files (folder structure included) of the IsolatedStorage. It is using an WCF service that stores/sends file content from/to the IsolatedStorage in/from a folder named Backup located in the WCF project folder. For optimizing the communication the service uses binaryMessageEncoding. It also splits the files in 100Kbytes parts (you can modify this size from the source code if you want bigger parts- it will be faster) .
The solution is easy to use even if it took me a lot of time to make it work (especially the readerQuotas, maxBufferSize, maxStringContentLength). In fact I was having "fun" with it at 3 o'clock in the morning. If you want to backup your IsolatedStorage just hit backup and it will write the content of IsolateStorage in the Backup folder of the pc. If you want to restore/copy files to the IsolatedStorage copy the files/folders you want to the Backup folder of the PC and then hit Restore and it will copy all the data to the IsolatedStorage.
Hope you'll like it! Don't forget to modify the ServiceReferences.ClientConfig before you run the project
As usual you can download the Source code
Monday, April 12, 2010
WP7 IsolatedStorage Speed
Another thing that I've noticed is that the x86 implementation of WP7 Emulator is much faster then the ARM emulation of 6.5 Emulator (at least MemoryStream implementation).
You can download the projects here
Wednesday, April 7, 2010
iPhone Printing using MonoTouch - Proof of concept
ported to the iPhone.
The attached sample it's not simple line printing but implements a small part of the PCL5 interface. It will print two boxes and some text on any PCL5 compatible network printer (if you have such a printer you can try it). The only two parameters required are the IP of the printer and the port used for communication (usually 9100).
Let's hope that soon we will see PrinterTouch or PrintTouch library :). If you need more details or find this post useful please let me know.
I will continue my "quest" for developing a small S.F.A. application on the iPhone and/or iPad using MonoTouch.
SocketPrint
Thursday, April 1, 2010
WP7 CTP SDK or HOW TO GET THE DEVELOPERS FRUSTRATED
I got everything prepared and started writing the WP7 app when I saw that in the System.Net there is no socket support. I've started digging up, again, in the emulators files wanting to see if the System.Net file is the same on the emulator with the one in the SDK ("\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone"). What I've found out using Reflector is that there is no System.Net in the emulator image, but all the functionality is implemented in mscorlib.dll and there is also the Socket class fully implemented. What Microsoft did is to "cripple" the assemblies in the OS for the SDK. They made the version to be 2.0.5 (for some of the files) which will make compiled programs run just fine on 3.7 which is the the version on the emulator. mscorlib for example in the development tools is 428kb and on the emulator is 1,18MB. Almost every assembly in the SDK is "crippled". If you want to compare the sizes just download this zip.
I wanted to see if I can pass this restriction but the answer is no because the classes that are not available in the SDK assemblies on the emulator are compiled with the tag [FrameworkVisibilitySilverlightInternal, SecuritySafeCritical] (there is more than one tag) which results in a MethodAccessException if you try to use it.
Printing just turned out into frustration. Sockets are there, database support it's there, Microsoft can use it but developers cannot. It's not that it is not implemented (like copy/paste), but somebody decided that it's not safe to use them. On WP7 forum somebody said that this functionality could compromise the user experience and it is not ready for prime time. It is strange cause we have being using sockets and database in NETCF programs for years and never influenced the user experience or seemed not ready.
WP7 is a nice platform but developers don't have what they need, and some of this it's because Microsoft decided that they don't need it. WebIS don't have what they need, Resco also, Mozilla stops development on WM and one week later they have an Android beta version, Skype don't have a WM version anymore should be enough reasons to change attitude.
Microsoft needs developers
Monday, March 29, 2010
MacBook, Windows 7 & MonoTouch
Thursday, March 25, 2010
Good strategy Microsoft
I am quite sure that we will see some of the most requested features in the summer Beta (native SDK, copy/paste, database support) and everybody will be happy. Microsoft is on the right track, but there is still a lot to be done.
P.S. Do I watch too much Lost :) ?
Tuesday, March 23, 2010
WP7 Design - Application List
Being a device focused on "consumer" we expect that on the Marketplace there will be a lot of applications that will be free or cost nothing. So the consumer will install a lot of applications and keep them on the device. From this point of view iPhone is better organized as it has 16 icons per page . 5 pages on the Iphone would translate in 8 pages for WP 7.
Another aspect which I consider not optimum is the scrolling. The "partial scrolling" (not going from one page to another) gives a nice visual effect, but it's not optimizing the search because:
1. if I am scrolling means that on the current page/screen I didn't found the application that I am looking for so I don't need to see those icons anymore.
2. using partial scrolling I will never know exactly where I am and I am gonna loose myself (it happens a lot to me on my phone).
The concept of "full pages" that Apple used it's more practical. This way I will always know exactly where I am and (using some gui links) I could also jump directly to the page I'm interested in.
Anyway even with a "full page" navigation if I have a lot of applications it will not be easy to find what I search (especially if i don't remember the exact name of the application). It would be really nice to have a "real time" searching of the application name/attributes (something like "Search programs and files" in Vista and Windows 7). This functionality could also be implemented inside the bing search engine that should give us the possibility to choose between local search, web search or both).
One thing that I liked in WM 6.1 and older was the possibility to access Settings in just 2 clicks (Start-Settings). In 6.5 Settings icon got mixed inside the application list generating some confusion. It would be nice if we could have the Settings icon instead of the back arrow in the application screen of WP 7 (the back arrow is redundant cause I get the same result by pressing the windows button)
The next screen is just a concept (I am not a good designer so don't laugh about it) but in my opinion it would be a more practical approach for the Applications list.
Monday, March 22, 2010
WP7 Design - Call & End Call buttons
The first one is the decision to eliminate Call and End call hardware buttons in favor of Back and Search buttons. It is a strange choice to me (maybe someone could explain to me why) because the buyer is mainly buying a phone so it will mainly use it for calling. Sure the iPhone has only one button and it's selling very well but this doesn't mean that it cannot be improved.
There are two important reasons why I think they should put back the Call & End call hardware buttons:
1. It is a phone and I want to access the phone immediately from anywhere in just one click. In this moment I need at least two clicks (Window button + Phone icon) which makes me slower.
2.Almost every phone user it's used to end the call with a button without even watching the screen.
The back and search buttons are also important, but why not put them on the sides?
Off topic: What happened between HTC and Microsoft? Why isn't HTC one of the first 3 manufacturers? It is very strange as HTC was the only company that really innovated in the Windows Mobile area. Could it be because there is not much space left for innovation on WP 7 (from the manufacturer point of view) as it is a really closed OS for OEM? This way HTC won't be able to distinguish his phones from the ones produced by the other manufacturers! For LG (one of the newest manufacturers of Windows Phones), Samsung (never really created a best seller Windows Phone) and Asus (which is an old Windows Phone maker but never really invested a lot in this area) won't be a big problem if they will "share" sells of WP 7 , but on the other side more than 70% of HTC business is based on Windows Phone so they need to create "unique" phones that sell. Indeed lately HTC is releasing more Android phones than Windows Phones.
BlockDevice
Saturday, March 20, 2010
Net CF 3.5 .exe on WP 7
The answer is very simple: NO for device applications MAYBE for console applications. The reason? There is no System.Windows.Forms library in .NETCF 3.7. Maybe a native application could run but you have to consider that's a new shell in WP 7 so some things changed. For netcf apps even if you could install the old NETCF it will still not work because the shell is different.
The only solution would be to install the old shell, but doesn't make any sense to do it.
So let's stick with Silverlight and XNA.
Friday, March 19, 2010
WP7 Emulator "Unlocked" - How to
So I eliminated the entries in the blacklist, but I also searched the guid presented in the list in the other registry files (.rgu) and also took it out from them.
Then there was the section HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Settings that got my attention: If you look at the entries that have SecureItems you will see that looks exactly like the menus from the pda (main menu, programs and settings) so looks like the other entries are missing. Searching in the .rgu registry files looking for one of the guid that has SecureItems (the parent) I found *BF218E964AA0.rgu which inside deletes the entries:
So I added manually the entries to default.hv and eliminated from the .rgu file. I understood then that the data values is the order of the item. After searching some more I also found the file where they add the entries (but did not modified the order that I used for inserting) The file is -D53AC5900244.rgu
For extracting the rom and put it back together I've used BOOFF posted by SonicFlare on xda. You will also need the dll compress.dll present in the Wince 6.0 Platform (this because some of the files in the rom are compressed, so you will have to decompress, modify and then compress it back.
Step 2: Make the sharedfolder work in the emulator
For whoever wants to have some fun with Step 2 this is what I've found out till now:
Looks like there is a similar mechanism to block the drivers also:
It is blocking MSFlash_NAND that in my opinion is used for the shared folder. I already tried to eliminate that but looks like there is something else missing. Maybe the section where you have to look is: HKEY_LOCAL_MACHINE\System\StorageManager
Have fun!