Monday, July 18, 2011

Mono is back

  Great news today... Mono is back. Looks like the Xamarin guys were able to convince Novell to take over the Mono project. You can read more on Miguel de Icaza post. Now the first thing I hope is to be able to reactivate my Monotouch license on my new Macbook (for more than two months I got no answer to my emails - Xamarin or Novell). Multiplatform mobile development... Sweet

Saturday, July 16, 2011

Windows Phone 7 Marketplace What to expect

  We all know that the actual version of Windows Phone 7 Marketplace can be better and that a new version is coming. As a registered developer with an active application on the marketplace I've been invited to compile a survey on the Windows Phone 7 Marketplace. The survey had a very interesting part where you select what you would like to included in the next version of the Marketplace. Here is the list with what might come in the next version of the Marketplace. If you see items that are doubled it's because the system they used for evaluating was to cycle on the same answers where you select which one is the most important and which one is the least important in groups of 4:
  1. Real-time app download information: "Watch number of app downloads in real time (no delay). App downloads are categorized by user market, device and mobile operator.
  2. Annual paid subscriptions for technical support: "You can buy a paid subscription for advanced technical support."
  3. App emulator: "Users can check out a full version of the app in a browser window, prior to downloading or purchasing."
  4. Web marketplace: "An online web marketplace for users to browse the app catalog and make purchases; apps downloaded/purchased on the web marketplace show up instantly on their phones without the need to tether to the PC or perform any user action."
  5. Easy app updates: "The App Hub will retain metadata, artwork and descriptions from prior versions and make it easier to submit updates."
  6. Paid featured slots: "Bid money for a featured app slot within the web and phone marketplace clients. Featured slots are assigned based on a real-time auction to the highest bidder."
  7. Early access to updates: "Developers will have early access to OS upgrades to help them update their apps to take advantage of new features."
  8. Flexible pricing: "This will enable developers to price your app differently in different markets and also have more price tiers to choose from."
  9. Private distribution of apps: "Apps can be published hidden in the marketplace, so only users with a special deeplink are able to download the app. This can be used for private distribution scenarios where you don't want your app to show up in the general catalog."
  10. More intuitive category structure: "Changes to the category structure to make it more intuitive, add additional categories like education etc."
  11. Respond to user reviews: "View and respond to user reviews. Draft responses to user reviews from your App Hub account without seeing the real user email address. Users receive your response and can optionally come back and change their review."
  12. App gifting: "Allow users to gift apps to other users, paying on their behalf. The gift recipient gets an email with instructions on how to redeem the app."
  13. Role-based developer accounts: "Multiple user accounts can be created to manage your AppHub account, with different permissions. For example, one account could have permissions for viewing download/payout reports (your finance manager) but no permissions for submitting or editing existing apps. Another account could have permissions to submit apps or edit metadata, but no access to reporting."
  14. Additional payment methods like PayPal: "Ability to pay App Hub fees with PayPal. Ability to buy apps or in app purchases using PayPal."
  15. Discount offers/coupons: "Ability to generate and offer a discount coupon to users (x% or $x off) for app promotions, etc. Users can enter the coupon code during checkout. Coupons can be unique (one time use only) and have an expiration date. Coupons can be easily generated from your App Hub account."
  16. In-app commerce: "Ability to charge users a small amount of money from within the application. This can be used for selling extra content (e.g. a new game level, accessories) or unlocking new app functionality."
  17. Screen capture tool: "Tool for capturing the right size (480x800) screenshots off the emulator or a phone tethered to the PC."
  18. Video content in-app description: "Ability to upload videos to showcase app for users to see from PC or web interface while browsing the catalog."
  19. App analytics: "Get real-time information on number of application runs, active users, app installs and uninstalls, etc. to understand how often your app is being used."
  20. Simplified identity validation: "A simplified identity validation process that will be based on your credit card details and/or email verification."
  21. More frequent payouts: "We will lower the payout threshold and so you will receive your payouts more frequently ."
 All are great features. Let's hope they will implement all of them


WP7 Network Printing

   As promised I am publishing the sample for network printing on Windows Phone 7 Mango. It is a proof of concept and it is the same I did more than a year ago on Monotouch.  It uses sockets to connect to a network printer and send one page that contains two rectangles (one with shadow and one without shadow) and some text. It is an implementation of PCL5 (not a complete one of course). Hope that somebody will take the time to finish implementation. If so please let me know cause I will need it.

Source code


Friday, July 15, 2011

My Monday thoughts on Thursday

  For more than three weeks I wanted to do a post on Monday called "My Monday thoughts". Too bad that on Monday I always have a lot of work to do and never got it done.
   Three weeks ago was about localization and ignorance. The italian "garante" for personal data privacy, Francesco Pizzetti, declared that smartphone are dangerous because they are always "tracking" us at any step. That, in my opinion, is pure ignorance. First of all somebody has to explain to him that GPS is a receiver not a transmiter and that having a cellular phone (any cellular phone) is having a tracking device (the mobile operator is logging the sequence of cells where your phone is connecting). So if you don't want to be tracked don't buy a cell. Than there is the question what is the mobile operator doing with this data? Almost all the time it is used for statistics, and then, when an authority asks for it they are used in investigations. Would I mind being tracked by Google, Apple or Microsoft? Not really and if this could help them make better products I would agree to do it. Does anyone ask you if you want your data logged by the mobile operator? I remember the guy that discovered the logged positions on his iPhone and everybody saw it like a big problem. But if anybody, besides Apple, arrives to read that data it means that he already has access at your emails, contacts, phone calls which are more sensitive than the log of your position. If you don't have anything to hide being logged or not is not such a big deal and in some cases could save your life (accident in the mountains for example) . On the other side the persons that usually vote against it are in parliament and some of them have things to hide.
    Two weeks ago  I had a week of holiday and I was in Nice, France. Wanted to blog a lot instead I just wrote an article about Mango, fixed some bugs for some clients, and ported the code for network printing on WP7 in order to write a blog post (still have to try it with the printer). I arrived at the conclusion that writing along with a glass of wine is much easier. The project that eats almost all my time at this moment is a Home automation/Domotic one. The client wanted the WPF:

and in my spare time (usually from 10pm-1am) , for a demo for Microsoft Italy, I've developed the Windows Phone 7 client that uses sockets:

  I intend to finish the application before the Mango Marketplace opens and have it as a free version with a fixed plant in our office.
     This Monday I was pretty sad because I had the occasion to go Microsoft WPC and present Boxfiles for Dropbox on stage and could not go. The problem was that my visa (I am romanian and need a visa) was not ready. Anyway I already have in mind version 2.0: multilingual , add Skydrive support in order to be able to upload files to dropbox from skydrive when mango arrives (this is the only way to get your modified word, excel docs back to dropbox). Also 2.1 plans: background download/ upload of files.
     Today I am just happy that my article was published. But one of the things I am more happy about is that in all this period I made new friends: Lorenzo Barbieri, Roberto Freato, Alessandro Scaradova, Matteo Pagani, Michele Locuratolo. It's good to feel part of a group that share the same passion for mobile development ( DotNetLombardia). A special thanks to Lorenzo Barbieri and Roberto Freato for making it happen. 

Getting back soon with the post on Network printing on Windows Phone 7