Mobile Device Browser File vs. WURFL for ASP.NET - asp.net

I am working on a commercial web application that has a separate mobile browser version intended for the more capable devices (BlackBerry, iPhone, Android, etc). I don't want to do simple User Agent contains style logic and was looking at the various detection libraries. It seems like WURFL and Mobile Device Browser File are my best options.
The Mobile Device Browser File (MDBF) project at CodePlex exposes information through the Request.Browser property. Also, it has a Microsoft Public License (Ms-PL). Mobile Browser Detection in ASP.NET mentions "data for MDBF comes from WURFL" and Mix: Mobile Web Sites with ASP.NET MVC and the Mobile Browser Definition File confirms MBDF is "created from a database from many sources, including the popular WURFL mobile device capabilities database."
51degrees has a .NET Mobile API that uses the WURFL data files and also populates Request.Browser. It is licensed under the Mozilla Public License Version 1.1. and claims:
With the .NET Mobile API installed and
WURFL providing mobile device data,
these calls will return extremely
accurate data when compared to the
standard browser information provided
by Microsoft
Since the official WURLF .NET API is distributed with a GPL License, so it is a non-starter for my project.
WURFL ASP.NET Implementations compares ASP.NET implementations of WURFL, but this is over a year old (2009-01-16 - Article submitted) and doesn't mention the 51degrees API or MDBF.
Can I get any feedback on which library to use.
How often are these data files updated?
Is it better to use feature detection that user agent parsing?
Is an online service (e.g. Handset Detection) easier that update data files?
Any other useful input.

Regarding Mobile Device Browser File:
Quote: "Due to the organizational restructuring of the team that developed and supported the Mobile Device Browser file, we will no longer have the resources to support and update this CodePlex project. The team will be providing two more releases – one on the 27th July 2010 and the final release on the 24th August 2010."
So that I am not just the bearer of bad news...
We are planning on using:
Mobile Device Detection and Redirection
by 51 Degrees
Which has a really good example of:
How to Add the .NET Mobile API to an
Existing Web Site
Hope this helps.

The MDBF was updated fairly recently. If what you need is basic information it's probably better as it integrates nicely with your .NET framework.
Marg.Wurfl is definitely a good choice and integrates with .NET framework as well.
Both have an approach that is good for the old .NET style, not the MVC. In MVC you will have to do your own legwork.
You might also want to consider DeviceAtlas that has an API for .NET and has very good performance in .NET.
Specifically to your questions, WURFL is updated almost once a month, while AFAIK there are no planned updates for MDBF, they will release an update if and when they feel like it (yes, not very exciting).
You might use Javascript to detect features in modern browsers such as iPhone, Android and recent Nokias, but for all the rest, the User-Agent string is still the only real option, so I'd say it depends on your target market. You might want to create a super-simple version that works for all and an advanced version where you do feature detection.
I don't like the idea of online services, if you plan to have a high volume site. Once-a-month updates are OK, with commercial products like DeviceAtlas or Mobile Phone Wizards you can get more frequent updates.
DISCLAIMER: I used to work for dotMobi that created DeviceAtlas

The WURFL official .NET API has been released recently by ScientiaMobile--the WURFL people's newco. You can access it here: http://www.scientiamobile.com/site/page/view/downloads. However, it is subject to the AGPL license, which basically means you need to buy a commercial license to use the API in a commercial app, including a Web site. Raw data remains free.
A whitepaper showing how to integrate it with ASP.NET is: http://wurfl.sourceforge.net/dotNet.

I think WURFL has more capabilities and more active community, and it has more frecuently release than mdbf. But i have to say that microsoft is doing good work. You could look Marg.Wurfl, too.
And remember you can use GPL software in SaaS.
You can look Marg.Wurfl too,

As Dino mentioned, the WURFL API is distributed under AGPL, but also available under commercial licensing terms (this is called dual licensing, or also offering a GPL exception in FSF's parlance).
The wurfl.xml file is not longer considered raw data, though. Because of the creative work of keeping the data organized and groups, ScientiaMobile claims the copyright on the wurfl.xml file starting with version 2.2 and distributes it under certain conditions (notably, that the wurfl.xml file can only be used in connection with one of the standard APIs):
http://wurfl.sourceforge.net/licence.php
Acquiring a commercial license also delivers certain extra rights on the wurfl.xml file itself.

Related

write a skype plugin for this requirements

I'm starting some research on skype programming. Is there one technologie for skype plugins or are there multiple frameworks or apis?
I'd like to make a plugin where user from my database can communicate with each other (video, audio, chat) over skype without seeing each others' real skype id's - is it possible? (I guess yes, I tried skycandy a couple years ago and it was actually the same)
any hints for realization?
primary platform would be windows, but maybe android/ios as well (are mobile versions plugin enabled?)
Is skype a good choice for the requirements or is there a better solution for a small project without budget?
Skype offers an API for its Desktop clients, Desktop API and an SDK for you build your own client.
The Desktop API is in maintenance mode and doesn't support newer features in the client and has a number of known bugs.
SkypeKit is fully supported but doesn't currently support Multi Part Video, at the time of writing.
Neither of these technologies can be used on mobile devices, in the case of SkypeKit its specifically prohibited in the licence terms, and you may never obscure the sending or receiving parties Skype name as this is prohibited.
For additional info please see http://developer.Skype.com
Allen Smith
Community Manager
Skype Developer

Alternative to 51degrees.mobi?

Since the mobile detection solution for ASP.NET 51degrees.mobi became commercial (the lite version isn't really useful anymore), I'm looking for an alternative solution.
Are there any other OpenSource or free projects, that enhance the detection of mobile devices with ASP.NET?
There is a free version of DeviceAtlas available for web developers who need an easy and reliable way to distinguish between mobile, tablet, desktop, TV etc. Also identifies OS and browser. It's available to your web application as a web service built on the DeviceAtlas Cloud infrastructure -
Completely free to use and available in Java .NET PHP Python Ruby
https://deviceatlas.com/blog/announcing-deviceatlas-cloud-free-version
Developers, hobbyists and micro-companies may find the free WURFL OnSite or Cloud offering sufficient for their needs.
WURFL Cloud: http://scientiamobile.com/wurflCloud/gettingStarted
WURFL OnSite: http://wurfl.sourceforge.net/dotnet_index.php
In free edition they allow any 2 free properties/capabilities which you can select like-
ux_full_desktop
is_wireless_device
is_tablet
brand_name
model_name
device_os
device_os_version
and many more...
This would help in getting just and much more required requesting device info. Hope this helps somebody in need.
Check out Apache DeviceMap for .NET: http://devicemap.apache.org
The best (and probably only) Open Source alternative that exists in that area.
After Apache showed too little interest in Mobile projects (there are only 2 active projects in this category, essentially all dominated by client-side Phonegap) especially on the server side, we put DeviceMap to rest in January 2017.
You can find the only true Open Source alternative in this field, free to use both for non-profit and commercial sites at OpenDDR.
WURFL should handle your needs: http://wurfl.sourceforge.net/

Additional voices to a ASP.NET web app

I have a web application that uses SAPI to do TTS. I run it on Windows Server 2003 that has MS Sam installed by default.
I understand that there are a number of 3rd party companies that sell voices. For a commercial application, which of these companies offer licenses that don't charge a lot of money? Do they have API to easily integrate with a ASP.NET app?
I really would like to add more voices to the application.
EDIT: Anymore answers? Thanks
EDIT
Judging by the question and comments it sounds like you have the rendering of the audio file and the delivery to the client down already.
Here's some aditional voices:
http://www.bytecool.com/voices.htm
http://www.nextup.com/attnv.html
Basically resells the AT&T Natural Voices. Which is very expensive to use in a server setting.
https://www.cepstral.com/cgi-bin/store/home reading they're page seems to indicate that a license to play the rendered files over the phone can cost as little as 100 dollars for 2 concurrent ports. Their internet licensing model seems to be based on the SOAP service they offer via voiceforge.com but the fact that the pricing page is not done yet seems to indicate this service is still being built.
http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en
Which leaves the L&H voices found on the bytecool.com site or the additional 5 SAPI voices offered in the SDK (setup pack for just the voices linked on bytecool.com).
The AT&T and Cepstral voices sound the best though you pay alot for them.
Changing the rendered voice should be as easy as setting the Sapi.SpVoice.Voice property.

Building Enterprise level Line of Business application in silverlight Pros and Cons

Currently i am working on developing one Warehouse solution from scratch, i am planning to build it in silverlight (as this solution will take around 8-10 months) and the programming will start from Feb 2010.
I need to develop this application for one organization. Certain parts needs to be accessed by public which we are planning to build in ASP .Net 3.5
Now i just wanted to start a thread here for pros and cons of using silverlight, some of them i have already analyzed
Pros :
Rich UI
Excellent user experience
Reduction of scalability concerns
New set of features like data binding, control template etc..
Speed of development (After initial learning curve..my experience says it is faster to develop it in silverlight)
Other rich set of features coming up with SL 4.0 (SL 4.0)
Cons :
Cross platform issues (moonlight is there but it may take some time)
Cross browser issues (Chrome or other browsers)
Learning curve
Any other unknown risk (As there are not many enterprise level application developed in silverlight...or may be i am not aware)
I have also got one link for Pros and cons of silverlight(here) some of the cons might not be relevant with SL 4.0
Also i am having one good link for comparison between ASP .Net Ajax with Silverlight (here)
EDIT :
I have also found Technical Article series in code project (Just Type # google "Adventures while building a Silverlight Enterprise application" and you will get it, i am trying to analyze this series as well)
Please add some pros and cons if you find as i am trying to analyze it from all the angles. It will be of great help if you find any whitepaper on it.
The Pros and Cons have to be weighed against your own requirements.
Rich UI
Compared to what? Its not really a Pro, other tools can deliver Rich UI, where does one draw the line that allows a UI to call itself Rich? A Pro can't be a Pro if can't be measured.
Excellent User Experience
That isn't a Pro either. I wish I could buy product that delvers such a thing out of the box. The reality is it's up to you to deliver the UX. E.g. Stackoverflow delivers an excellent user experience, it doesn't use a tool like SL and it's entirely down to good design not the tool (ASP.NET-MVC+various other tools).
Reduction of Scalability Concerns
Compared to what? Early ASP.NET Forms with extensive use of callbacks then yes. However plain old HTML with Javascript frameworks can deliver this same "Pro".
Speed of Development
Well that depends on how you measure speed and how you weigh the importance of the UX. Currently SL developement isn't any better at ticking off business function points than other tech like poor old ASP.NET Forms and is probably worse. However delivering those same function points with a slick, imaginative UI may tip the balance more in WPF/SL's way. In reality SL allows you deliver more UX with some (but importantly not prohibative) extra effort.
Other Rich Features in SL4
Only a Pro if they would actually add value to your requirement.
Cross Platform
Do you really have a Cross Platform requirement? Within a warehouse business how many Linux and Mac desktops are there? That should answer your cross platform question.
Cross Browser
Is this a Con? Does the company in question allow the use of a variety of browsers? If so which? You can compare that to the browsers SL4 supports and out pops your answer but its your answer not everyones answer. Isn't cross-browser a bigger concern for the Extranet-esq part of the app?
Learning Curve
In all of these factors what are you already versed in is by far and away the most important. I'm guessing its MS tools and in particular .NET, right?
If you're not familiar with WPF already there is some learning curve but its not very steep. However you should definitely make sure you take the time to perform some training projects before you even start designing your real product. That process should help you measure how long it will really take and whether it is really feasable.
Other Known Risks
SL is still very young and it won't sit still. Frustrating "issues" will eat time.
Other questions to ponder
What UX ideas do you have that can't be delivered by a browser?
Why deliver the app via a browser hosted app at all? A WPF application not an option?
Silverlight 4
Considering your timescales if you do choose Silverlight you should target SL4.
Since you are developing solution for the warehouse, you may need consider building a web service with wcf pollDuplex (basically push data from server to the client periodically), just a note on it: it is not (yet) a very scalable and reliable (prior to SL4). Default concurrent connection is 10 (if I remember well), and you have the option to overwrite this default number, however, I haven't find a way to dynamically change this number which turns out to be a scalability issue.
One cool feature I like about SL 4 is the added support of printing, now you have the built-in ability to print the content.
Anyone bulding an Enterprise LOB with a Silverlight client should take a look at John Papa's PDC video.
However, IMHO the initial release of RIA Services was too limited. Now that the next version is buit on top of WCF Services, and the endpoints can be switched out to make them more accessible by more UI clients RIA Service is probably a very sensible investment too.

Should Qt target the HyperSpace?

As you may already know, Phoenix is developing an alternative computing environment based on top of its BIOS, called HyperSpace. According to its designers it should run "a collection of commonly-used browser-enabled applications designed to make the Internet browsing experience simple, fast and secure".
Although Phoenix has declared in its FAQ that you will not be able to install/run your own applications on top of the HyperSpace, in a recent interview on MIT's Technology Review said that they are planning to open in June an iTunes-styled store to sell applications.
I'm guessing they are probably up to Apple's business model of providing secure applications via a centralized service thus sooner or later a developer toolkit shall arrive.
Since Qt has an impressive record of cross-platform capabilities, do you believe that Nokia should make an alliance with Phoenix to port the Qt toolkit to the coming HyperSpace application developers? If it's not Qt what should the ideal developing platform for HyperSpace be?
It looks to me that this is basically a dual boot machine.
one boot goes to a version of windows that QT supports (or will presumably support).
one goes to a web browser and will only run web applications or widgets.
If your asking whether QT should allow you to target the second environment, then it all depends on whether that is even remotely compatible with the QT technological choice of including a Webkit engine.
There could also be a licensing issue.
I am not convinced the Hyperspace product is aimed at desktop developers the way QT is. I think it's aimed at web applications developers.
Edit: What you seem to wonder is whether Nokia sees a commercial interest in supporting Hyperspace and whether they have the resources to do it. Unfortunately, I suspect only the head of QT development at Nokia can truly answer that.
"I am not convinced the Hyperspace product is aimed at desktop developers the way QT is"
Qt is aimed at embedded mobile phone apps, they are now owned by Nokia, if Qt happens to run on desktops that is just a nice bonus for Nokia.
Given it's, small size, no external dependencies and 'easy to port'-ness I would have thought Qt was a good start for a bios-os desktop.

Resources