| Comments

Silverlight MVP and friend, Joel Neubeck, has started a series in the Expression Newsletter.  The first article is available now and is part of a 6-part series in building a casual game in Silverlight:

    • Getting Started – Architecture / framework
    • Movement and collision detection
    • Design – Sprites, boards and dialogs
    • Animations and sound
    • Initialization and Deployment
    • Advanced concepts (Physics, Multiplayer, Optimization)

This first article talks about some of the framework that will be used, specifically an MVC model:

“In Silverlight development, MVC is an excellent way to support role specific tools such as Visual Studio for the developers and Expression Blend for designers and animators.  Using MVC in a game ensures a foundation that isolates a developer’s ability to control state (position, movement and collisions) while allowing designers full control over how game elements are rendered.”

This should be a good series to watch and add to your toolbox for developing casual games in Silverlight 2.

| Comments

Ok, this is getting ridiculous.  First the removal of the ‘I Am Rich’ application (which whatever your thoughts on the app itself, it didn’t violate any rules, just that the powers that be at Apple didn’t like the pricing scheme), and now others are being prevented from joining the AppStore.  Here’s the latest two I’m aware of:

Podcaster

Podcaster is a native iPhone app developed by someone in the Apple developer program and not using anything that isn’t permitted in the terms and conditions of the SDK.  It provides the ability to search/add/download podcasts from your iPhone without having to have any software on a desktop sync for updated downloads.  The developer, Alex Sokirynsky, has let the world know of the reason his app was rejected by the AppStore:

“Since Podcaster assists in the distribution of podcasts, it duplicates the functionality of the Podcast section of iTunes.”

Actually it provides more functionality, Apple…is that your problem with it?  That users are able to add new podcast subscriptions from their iPhone and not wait to get to their iTunes sync machine because you don’t allow guest syncing from iTunes?  And so what if it duplicates the podcast section of iTunes?  This is an iPhone app, not an iTunes extension.

MailWrangler

The latest to get hit is MailWrangler, a native iPhone app that enables access to GMail accounts.  The developer submitted the app on July 17th and received a reply more than 30 days later indicating:

“…Your application duplicates the functionality of the built-in iPhone application Mail without providing sufficient differentiation or added functionality, which will lead to user confusion…”

There was also other feedback given to the developer, Angelo DiNardi, that seemed appropriate (no way of editing the account) to which he agrees and seems like open to fixing.

So the problem seems to be duplicity of features according to these two rejections.  Really?!  So all those calculator applications (currently over 30 doing a search on ‘calculator’) don’t duplicate the built-in calculator functionality?  What about the 10+ weather applications that seemingly provide the same features as the built-in Weather application?  What about the StockWatch app ($2.99) that provides what looks like identical functionality of the built-in Stocks application?

      

C’mon Apple, this is getting ridiculous.  Your are letting the likes of “DaysTo Christmas” in the AppStore ($0.99 by the way in case you can’t look at a calendar), but not allowing me to choose if I want to use a different mail app or download podcasts wirelessly?  This is getting absurd.

Are they violating the terms?  I don’t think so.  A look at the iPhone SDK Terms shows no restrictions on the types of applications that can be built (except for real-time route guidance/automation) only noting that applications “…may only use Published APIs in the manner prescribed by Apple and must not use or call any unpublished or Private APIs.”  Neither of these applications do that!  It seems there is a conflict in the SDK Terms and the AppStore Terms…which I haven’t seen – anyone have a link to AppStore-specific terms that might indicate that no duplicate functionality can exist?  I’m guessing it isn’t there.

Apple – either enable alternate distribution channels for iPhone applications, or stop rejecting my choice as a consumer because it might be better functionality than you are providing.  Guess what, that’s what developers do – find ways to increase the value of the platform.  You shouldn’t have a developer program if you think people aren’t going to find ways to implement new functionality that may compete?  What gives Apple?  Why are you deciding what I can/can’t install when all other things being equal (i.e., not violating any terms of any SDK))?!  I can’t believe there is no developer outrage beyond these two developers. 

Apple is increasingly falling out of favor with the hi-tech crowds by doing things like this without explanation.  I only see this increasing.  Someone in Steve Jobs’ organization needs to get a wake-up call and start making some changes.  I think the easiest change for the AppStore would be to enable other distribution channels (and not just the beta-tester channel they finally opened up for app developers) so that anyone who has a native app built with the SDK can provide me, the user, the choice to decide what may “lead to user confusion” or what might be better functionality!

Wake up Apple…seriously.

| Comments

While you can do a lot within Silverlight with effects, as demonstrated by techniques used like seen in Shine Draw, you may also want some helping hands to implement these.  It’s not always fun to write some code for when you just want to be able to drop in an effect on your application.  You want to concentrate on your application logic and get assistance in creating some of the visual effects.

If you didn’t know, there are some libraries out there that can help.  I’ll highlight two of them here (if you know of more, please post in the comments).

SvLite Effects from Cellbi

This library from Cellbi provides various effects in their library that you can see on their demo site.  Included are:

    • Carousel
    • Wipe effects
    • Tweens (easing, bounce)
    • and some bonus effects/controls (modal window for example)

They are pretty interesting and you should check them out.

Silverlight.FX from Nikhil

Don’t know who Nikhil is?  Well for one he’s wicked smart.  He’s a principal architect at Microsoft working on a lot of different things and his work is seen in a lot of ASP.NET.  He’s implemented some effects into a library he calls Silverlight.FX.  Included effects/transitions are:

    • Fade
    • Highlight
    • Shake
    • Pulse
    • Spin
    • Resize
    • Move
    • Composite
    • Cross-fade
    • Blinds
    • Slide
    • Flip

You can view these in action on Nikhil’s sample page and read about the framework as well as download it here.  I’m always amazed at the stuff he comes up with.

So two pretty good effects libraries you can play around with.  Have fun!

| Comments

Saw some posts today over at Don’s site about Surface.  The Surface SDK is starting to get more visible whereas before it seemed a little black-boxish to me.  Turns out (as we all knew) it really is just WPF with some unique Surface-like behaviors in the SDK.  Take this quick demonstration from a program manager on the SDK.  With using the same concepts that we use in WPF and Silverlight for data binding, etc. you can come up with a quick application using the inherent gesture support from a Surface device:

Pretty cool huh?  Same XAML concepts we apply in current work today, but instead of StackPanel, you add a ScatterView and boom, you get some of that simiplistic gesturing support.  Now I know we aren’t all running out to create a photo album viewer to stretch photos, but it’s a good demonstration of some of the simplicity in the SDK.  I kinda wish the ScatterView was actually a Silverlight control :-)

Regardless of your views on politics, here’s an implementation of Surface that MSNBC is starting to use in their newsroom.  I think this is a great use of the device and SDK…it shows a great use-case scenario (and the guy seems to be having fun with it)

Anyhow, I thought these were some great examples of the SDK and a non-entertainment/media) app in use.

| Comments

So you want H.264 support in Silverlight?  So do we.  In fact we will be showing a preview of H.264 and AAC support in Silverlight at the International Broadcasting Conference (IBC) this week in Amsterdam.  Scott Guthrie comments on this saying:

At IBC 2008 we will be demonstrating a technology preview of H.264 video and Advanced Audio Coding (AAC) audio playback support in Silverlight, and H.264 authoring using Microsoft Expression Encoder and Windows Server 2008 for delivery. Until now, Silverlight has supported the SMPTE VC-1 and Windows Media formats, as well as MP3 for audio, enabling customers to take advantage of broad support across the Windows Media ecosystem, including third-party tools, service providers and content delivery networks.

We’ve always wanted Silverlight to support a variety of formats, so today we’re announcing that H.264 and AAC support will be available in a future version of Silverlight, which will offer content owners greater flexibility and choice to deliver video and audio.”

One thing that I didn’t know was that Microsoft has been an active member in the standardization of H.264.  Microsoft’s Gary Sullivan was the chairman of the Joint Video Team (JVT) which developed the H.264 standard.

This is exciting news for the future of Silverlight.  I hope that this is good news to the implementers of media and Silverlight.  You can find out more information about the IBC here and a full Q&A with ScottGu here which also gives some great information about the results of viewing at NBCOlympics.com and where other uses of Windows Media Server were implemented (CCTV for example).

UPDATE: To clarify, this support will be in a future version of Silverlight.


This work is licensed under a Creative Commons Attribution By license.