GameMarx Launching Soon

The crew at FuncWorks have been busy working on GameMarx.  In short, we are out to create one helluva awesome site for Xbox Live Indie Games.  If you followed our podcast Feel The Func (now retired as we prep to relaunch as a GameMarx podcast), you know I often talked about how hidden away XBLIGs are from the average Xbox gamer.  Sure I’d love Microsoft to promote the section more and address some key oversights, but that doesn’t mean I can’t do my part as well to help.

We may launch the site before CodeStock (that’s always been the goal) but with two weeks left before the conference (you have your ticket right?) we decided to get up a coming soon page now, along with a video of what we’re calling “The Show”.

 

logo_black_flat

Posted By Mike On Thursday, June 10, 2010
Filed under xbox xna gamemarx | Comments (1)

QR Codes

chart

Posted By Mike On Thursday, May 27, 2010
Filed under qrcode | Comments (1)

Web Deployment Projects for 2010: Microsoft Listens

Perfect Heart by Caro WallisSome like to suggest that Microsoft MVPs are just Microsoft zealots pushing the company line.  While it’s true MVPs are fans of Microsoft, the strongest criticisms, the harshest words, the most brutally honest statements I’ve heard against Microsoft have come from MVPs, and many times are delivered in person.

This past MVP summit, we were quite vocal about wanting “round trip” support in Visual Studio 2010 – meaning a project or solution could be opened in 2010 and in 2008, something that’s not currently possible (upgrading a project is a one way street).  It got to the point that sessions would open for Q&A, and we would be asked to not bring up round trip support because it would drown out all other discussion.

For me, the need for round trip support was because of Web Deployment Projects (WDP) – or the lack of WDP for VS2010.  VS2010 introduces a new system called Web Deployment Packages, which support Web Application Projects but not Website Projects. 

Websites vs Web Applications is not a new debate, or even a very interesting one.  I’ve always favored Websites, and use Applications in rare cases.  The Application project structure – treating my site as a class library – just feels wrong.  I also edit and add files outside of Visual Studio (yes, with Vi) and don’t want to remember to add those files to the Application project.  The advantage of the Application structure though is a project build file, making it easy to create custom build scripts (such as setting database connection string based on development or production builds). Web Deployment Projects, first introduced for VS2005, fills this gap by adding an MS Build file to the Website project, kept in a different directory outside of the web root.

Since VS2010’s Web Packages didn’t support Website Project, and there was no support for existing Web Deployment Projects, VS2010 left me with no deployment story.  This, more than anything else, was why round trip support was important to me – I would need VS2008 to deploy projects.

At the MVP summit I spent some time with the team working on deployment in VS2010.  A few weeks later they said, “here, try this out and tell us if you find any issues.”  Now Web Deployment Projects for VS2010 Beta 1 is available to all.  Though we didn’t get round trip support (which is more complex than it first seems), Microsoft is listening and acting on feedback.  That this add-in was done in the weeks before VS2010’s launch is amazing.

There is also a bonus I didn’t expect: they added Package support to Website Projects.  Now you can use Web Deployment Projects to build Packages and deploy them with the Web Deployment Tools for IIS7

That’s getting to have your cake and eat it too.

Posted By Mike On Friday, April 16, 2010
Filed under microsoft mvp | No Comments

Why Apple Fears Mono, Java, and Flash

Goodnight by ~Aphrodite

Much ado has been made of these few words in Apple’s iPhone SDK:

"Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)."

Apple is asserting it can not only control what software runs on its devices, but what that software was created with.  Steve Jobs has claimed this is to keep out bad applications that result from cross platform frameworks.  I wonder what the Mozilla Firefox developers think of that…

Let’s get one thing straight – Jobs doesn’t care about application quality, only quantity.  In the recent OS 4.0 event Jobs claimed 285,000 apps in the app store, I doubt he filtered out the iFart clones.  50,000 games next to a chart showing the Nintendo DS at a mere 4,321. 

Why the focus on the numbers?  Because of this number: 1 Billion.  Apple is launching an advertising network iAd, and is touting 1 Billion ad impressions per day.  That is a very strong number for advertisers who are trying to capture the hip new doesn’t-watch-tv, doesn’t-read-magazines crowd.  If Apple can get an exclusive lock on these people, they can charge much, much more than anyone else.

Enter Mono, Java, and Flash.  These technology share one thing in common that scares Apple and threatens this advertising river of money.  Each of these let developers write their app once and deploy it to multiple devices with minimal effort.  Traditionally, developers would spend many hours porting an application across APIs and SDKs, and even more hours maintaining multiple ports.  This leads to most developers picking one platform to focus on, and ignoring the rest.

If you told a developer for the same level of effort they can sell their application to all devices, who would turn it down?  All the locked exclusive applications that lead to those 1 Billion ad impressions would dissolve away.  Most smart phone hardware is the same – big touch screen, or big touch screen with keyboard.  The iPad has a dozen competitors ready at the start, and doesn’t have the time lead of its older brother iPhone.  If the majority of applications are available for any device, what is left to compete on but price?

Mono, Java and Flash aren’t toothless hobby projects either, they are backed by Novell, Oracle, and Adobe – three amigos not afraid of a fight.  Can Apple get away with this move remains to be seen, but let’s not kid ourselves that the market will factor in.  For every developer that abandons Apple 50 more will take their place, and the majority of consumers will not understand nor care.  It’s easy to throw up a red herring like flash banner ads and claim that’s what will happen if flash is allowed on the iPhone.

If Apple gets their way the damage won’t be felt for a few years.  We’ll look back at a stagnant mobile device world and wonder what happened.  It will be no different than Microsoft knocking off Netscape, and giving us 5 years of IE6.  Innovation happens when there is healthy competition.

What I’d really love to see is someone create a tool that converts Objective-C and iPhone SDK apps to other platforms.  Developers of existing iPhone apps can run this tool on their code which would convert it to say, Java and Android, build it, make some tweaks, and start selling it in the Android Marketplace. 

Then we’ll see if Apple will go the next step and claim it owns the right to anything you create with Apple tools.

Posted By Mike On Wednesday, April 14, 2010
Filed under apple | No Comments

ASP.NET: Cannot use a leading .. to exit above the top directory

image

This is a really quick post, mostly for myself so the next time I have this issue I can find the answer (yes, I often search my blog before google).

The error “Cannot use a leading .. to exit above the top directory” can be thrown by ASP.NET when you use relative paths incorrectly.  If you generate a url with too many “../../../” levels in it that would take the user above the root directory, you can generate the exception.

Why the exception?  Security I guess, but it’s a client URL and the server should know better than let the internet walk the C drive, but at one time a company in Redmond had servers with just such issues.  My problem isn’t with the unneeded exception (after all, it would just be a 404 link worst case), but with the bug in ASP.NET that causes it.

If you are using Server.Transfer or HttpContext.RewritePath to redirect a request (say map it to a template page) and have a HyperLink control with the ImageUrl property set, you win an extra “../” by the framework.  The fix is to wrap the HyperLink control around an Image control. 

In code, if you have:

<asp:HyperLink runat="server" NavigateUrl="~/FlyPage.aspx"
    ImageUrl="~/Images/DeadFly.png" Width="200" Height="200"/>

Change it to:

<asp:HyperLink runat="server" NavigateUrl="~/FlyPage.aspx">
    <asp:Image runat="server" ImageUrl="~/Images/DeadFly.png"
    Width="200" Height="200" />
</asp:HyperLink>

(I said it was a quick post… now go register for CodeStock!)

Posted By Mike On Friday, March 12, 2010
Filed under asp.net | Comments (1)

About Michael

Michael C. Neel, born 1976 in Houston, TX and now live in Knoxvile, TN. Software developer, currently .Net focused. Board member of ETNUG and organizes CodeStock, East Tennessee's annual developers conference. .Net speaker, a Microsoft ASP.NET MVP and ASPInsider. Co-Founder of FuncWorks, LLC and GameMarx.

Proud father of two amazing girls, Rachel and Hannah, and loving husband to Cicelie who inflates and pops his ego as necessary.

 Subscribe to ViNull.com |  Comments

Follow me on Twitter | Contact Me

XNA 3D Primer by Michael C. Neel

XNA 3D Primer by Michael C. Neel
Buy Now: [ Amazon ] [ Wrox ]

GameMarx

CodeStock

ASPInsiders Member

ETNUG Member