iOS player version 1.4.5 released today!

This morning version 1.4.5 of our iOS player made it through Apple’s review process and went live. We’ve addressed some of the most pressing issues in our iOS player with this release, including the “Fetching Videos” forever bug. This is purely a bug fix release.

Thank you so much for your patience, and we hope you enjoy this new release!

How to reduce ambiguity in C# method calls using named arguments

As of .NET version 4.0, C# supports named and optional arguments. This comes in really handy for distinguishing method parameters that have the same type. For example:

public interface IGenerator<T>
{
    T Generate(T min, T max);
}

It would be really easy to accidentally pass arguments to Generate in the wrong order, since they have the same type. But using named arguments, you can make your code very clear:

var n = generator.Generate(min: 0, max: 42);

I try to follow the rule that no method should take more than two arguments, so I end up using this technique most often with constructors, which often need to take a lot of parameters. But more on that in another post!

Nook News from Pluralsight

UPDATE: our app was rejected outright by Barnes & Noble because it’s “subscription based”.

Do you own a Barnes & Noble NOOK color or NOOK tablet device? Soon we hope to have our new Android player running on your Nook! We’ve managed to cut through the red tape at Barnes & Noble and get a developer account set up there for Pluralsight.

Once we get our new build of the Android player based on the FFmpeg streaming library, which I expect sometime this week, we’ll submit it to B&N for approval. We’re not quite sure how long that’ll take as it’ll be our first app on their store, but the good news is that we have a plan to support Nook and we’re executing on it aggressively!

New course: jQuery Advanced Topics

Joe Eames has just published a new course: jQuery Advanced Topics

This course dives into several advanced topics in jQuery.  You will learn to leverage jQuery to move beyond simply selecting and manipulating DOM nodes.  Some of the many topics covered include: authoring plugins for internal projects and for publication, improving performance of DOM node selection and insertion, customizing jQuery to add more defaults and named constants, using the data method to store and retrieve arbitrary data associated with DOM nodes, manipulating arrays and collections with jQuery’s built-in utility methods, and handling events correctly even for dynamically created DOM nodes. This course also includes a comprehensive coverage of deferred objects and promises based on CommonJS.  Joe also provides code examples for most of the covered concepts.  We hope you enjoy it!

Progress on a new Android player – part 3

Our new Android player based on the FFmpeg streaming library has almost finished its private beta testing cycle, and it’s getting great reviews from customers using newer Android tablets running the Honeycomb (3.x) and Ice Cream Sandwich (4.x) Android operating systems!

We have one more issue that we want to address, but we hope to have that fixed up this weekend so that we can ship the new player this coming week. If you want to get in on the private beta, we’d be happy to email you an APK that you can try out. Just click “Contact us” at our helpdesk (support.pluralsight.com).

Thank you so much for your patience. This has been a huge undertaking, as we sponsored a port of the open source FFmpeg streaming library in order to support this effort, and it was well worth it, as this player is much more robust than the fragmented video player provided by Android.

We’ll blog again when the new player is released, but you’ll recognize it quickly on the Android Market. It’ll have our new logo (the orange play button) instead of the old eye logo.

Microsoft’s App Hub: all your Windows Live ID are belong to us

(Apologies for the awful meme reference)

If you’re a Microsoft veteran like me, your Windows Live ID is pretty important to you. It identifies you on all of Microsoft’s properties, hooks you up to your MSDN subscription, etc.

If you’re going to develop apps for Microsoft’s App Hub, I strongly encourage you to get a new Windows Live ID (WLID) specifically for that. Don’t use your personal WLID unless you’re really confident you’ll never want to let someone else manage your apps for you.

As the CTO here at Pluralsight, I have a lot of responsibilities, and one that I’ve been trying to offload recently is the management and deployment of our mobile applications. I had no problem changing the ownership of our Android application on the Android market. Google’s got a process in place for it – I followed their instructions and with a little help from their support team, I was transferred over the next business day. What a great experience!

Contrast that with when I tried to do the same thing with Microsoft’s App Hub. There’s no explanation on how you can do this, and there’s a good reason: you can’t. When I emailed support about this, here’s what I was told:

“Thank you for contacting the Windows Phone App Hub Developer Support team.  My name is —– and I will be assisting you. Unfortunately, the Windows Live ID for your App Hub account cannot be changed within our system. We apologize for any inconvenience this has caused you.”

Really? With the resources that Microsoft has, I’m pretty shocked that this is the response. What they’re telling me is that if I want someone else to help out with deploying new versions of our Windows Phone app, I have to give my Windows Live ID password to someone else so they can log in as me.

I guess I’m going to continue to be responsible personally for deploying our Windows Phone app for the foreseeable future.

In conclusion, if you’re considering deploying apps on Microsoft’s App Hub, learn from my mistake and create a unique Live ID for that purpose.

New course: Developing OData Clients

Matt Milner has published a new course: Developing OData Clients

Matt Milner

OData is fast becoming a common protocol for exposing data services over the web. In this course, Matt covers how to consume these services from .NET, Silverlight, Windows Phone, and JavaScript. The course has been organized to focus on the common tasks all clients must address and shows how to address those topics in each client technology.

Where did General Feedback go?

We recently did some cleanup on our General Feedback forum at support.pluralsight.com by moving all of the feature requests that were piling up there into the Feature Requests forum where they belong. We also removed any course suggestions in General Feedback and placed them in the New Course Suggestions forum. What we were left with was a General Feedback forum with a few remaining ideas that represented either praise or complaints.

As we looked at the praise, it started to feel strange to have you guys voting on ideas that don’t ask us to change anything. We’d rather have you save your votes so that you can vote on things that will actually help us shape the direction of the product. Thanks very much for the praise! We’ve received it gratefully, and we’ve now deleted those ideas to return your votes to you.

As we looked at the complaints, we realized that they are really feature requests in disguise. Indeed most of the complaints already mapped onto existing feature requests, so we’ve merged the complaint ideas in General Feedback into the Feature Requests forum so that your votes will add up with others who want the same thing as you.

And that left us with an empty forum called General Feedback, which we decided to remove entirely to encourage you to use your votes to help us shape the product. Please don’t misunderstand – you can still complain, but we’re going to ask you to do it in a constructive way by submitting and voting on feature request ideas, which we use on a regular basis in our planning meetings.

Thanks so much to everyone who has participated so far, and if you’re reading this and haven’t yet voted up the features you want, we’d like to encourage you to visit the forums at support.pluralsight.com and vote up existing features and courses, or add your own ideas!

New course: SQL Server Questions and Answers

Pinal Dave and Vinod Kumar have published a new course: SQL Server Questions and Answers

Pinal and Vinod have pioneered a new format for their debut course for Pluralsight by recording each module in a question and answer format.  Each module consists of a question presented by Pinal or Kumar, and then an answer demonstration to illustrate the concept by the other.  We think it’s a very effective format for this type of material, and hope you enjoy it!

SQL Server Questions and Answers is designed to help you better understand how to use SQL Server effectively. The course presents many of the common misconceptions about SQL Server, and then carefully debunks those misconceptions with clear explanations and short but compelling demos, showing you how SQL Server really works. This course is for anyone working with SQL Server databases who wants to improve her knowledge and understanding of this complex platform.

 

 

New iOS player under review by Apple

A couple of weeks ago, I posted that we were working on addressing playback issues in our iOS player. I’m happy to report that we’ve made great progress and have submitted a new version of the player to Apple for review. Apple usually takes about five business days for their review process, so I’d expect that by early next week you should see an update available on the App Store for the Pluralsight iOS app.

We believe that this will correct the “Fetching Videos…” hang that people were experiencing as well as some other issues.

Thanks so much for your patience!