There’s a .app for that

When ICANN recently announced that it was pressing ahead with opening up gTLDs so that any business or organisation could start a public or private registry (e.g. .fb, .pepsi, .eco), I was really disappointed. It strikes me that this is a potential recipe for disaster. Even though ICANN has pledged to undertake due diligence and have a high barrier of entry to weed out all but the most sincere and committed of interested parties, it’s surely going to cause problems to some degree, even when you take out all the FUD. Think of all the companies that have custom DNS suffixes; for example, we use our company initials as ours so if a gTLD is ever set up by another company or organisation with the same initials, we’re going to run into problems.

However, whilst I could rant about that a lot more, the fact is that ICANN are pressing ahead and there’s not much that can be done to stop them. So instead I’d like to talk about a project that has just got underway to secure one of these new gTLDs because whilst my overall view on ICANN’s decision remains the same, I think this particular gTLD could be A Very Good Thing (and after all, if you can’t beat ’em, join ’em!).

The .app gTLD Rights Application Project (@dotappapp) is seeking to bring together the app development community and put together an application on its behalf for the .app gTLD. In its own words:

“.app App” is a community funded and executed project to obtain rights to the .app gTLD when ICANN makes them available in 2012.

We’re looking to gain support from the community together the funds necessary to build and operate the .app gTLD in perpetuity. Our aim is to keep the .app gTLD open and accessible such that it becomes an entity that properly support the app software development community, particularly in areas of intellectual property protection.

The idea is to take a gTLD that could have wide uses – from mobile apps to tablet apps to web apps and even to desktop apps – and place it firmly in the hands of the community rather than allowing it to be controlled by a profit-driven corporation. Is there a demand for such a name? Well I’m sure I don’t need to point out the 350,000+ apps in Apple’s App Store, or the hundreds of thousands of Android apps floating around, not to mention the nascent tablet market and the host of web apps and other platforms out there for which apps are being built on a daily basis. Furthermore, not only is it nigh-on impossible to purchase a single word .com these days, it’s getting pretty tricky finding XXXXapp.com domains as well, such is the demand. Given the choice between GetMyCoolNameAppHq.com or MyCoolName.app, I know which I’d prefer. Plus the “stigma” attached to non .coms is fast eroding as clever use of ccTLDs becomes increasingly popular.

Will all these developers want to buy a .app? No. Will enough of them be interested to make the venture worthwhile. You’d think so. And that’s before you factor in the next wave of app developers on platforms such as webOS, Windows 8 and the various HTML5 technologies as they become mainstream.

Perhaps the most ímportant and exciting aspect of the .app project however is the potential for something far greater than just a domain registry. Consider the following:

Validated domains

What .app involves that isn’t necessarily the case with other gTLDs is an actual product, whether it’s a web app, mobile app, tablet app etc. If you have a .app domain, you have a digital product to sell or give away. As a result of this, it would be possible to implement checks and balances to ensure that domains are registered for a valid app and not simply purchased for squatting or investment purposes. For example, there could be a time limit within which there must be some indication of progress, with the ability for users to flag domains that violate the policy for investigation and potential removal. It could also be possible to cross-check registrations with existing apps in other app stores.

Registry metadata

With each domain correlating to a real app, it would be possible to capture more metadata at the point of registration than your typical domain registration – information such as app name, description, category, launch date etc. This would allow a rich data set to be compiled and built upon. For example, a central directory of all apps, an API for programmatic querying of apps, a rating/review system etc.

Eco-system

Taking this on a step further, instead of displaying a typical ad-ridden domain parking page for new, inactive domains, the developer could choose to opt-in to tools and services geared at helping promote and build their app. For example, if an app’s launch date is in the future, the default parked page could display the app name and description and a signup form for visitors to register their interest. Developers could also have the option to switch on their choice of blog, wiki, invite system, newsletter etc. at the flick of a switch, allowing them to focus on building their app rather than their site.

 

I’m sure there’s many more benefits I haven’t thought of, but essentially what this all boils down to is a distributed app store controlled by the community rather than any single entity, spanning platforms and technologies in a way no other app store currently does. I think this could be immensely powerful and open up many new opportunities.

Of course, there are downsides to the whole approach. How do you maintain enough control over usage of .app domains without causing developers to feel they’re staking their livelihoods on a third party? How do you deal with stealth startups that don’t anticipate releasing anything for 2 years but want to secure their domain name now? Is the whole thing financially viable?

Remember – at this stage the project is merely about an application to ICANN. There’s a long, long road ahead if this is to succeed. There are legal complexities to overcome, a large amount of funding to raise, it’s unknown what competing applications the project might come up against, and other hurdles as well. If this is to succeed, it needs the whole community from all platforms to pitch in and get involved, and I would encourage you to take a look at the website, register your interest and maybe even purchase a membership.

Finally, come check out the discussion group and add your thoughts, and let’s all help make this a reality!

Posted in Community | Tagged , , | 1 Response

Menu issue with Aptana Studio 3 on Ubuntu 11.04

In a break from .NET/Visual Studio themed blog posts, a quick pointer for anybody attempting to use Aptana Studio 3 in Ubuntu 11.04 – the main menu is totally hosed because of a clash with the new Unity 3D window manager. There’s a workaround in the Appcelerator docs (Appcelerator being the recent new owners of Aptana) for this. Simply create yourself a bash script to use as a proxy for launching Studio instead of opening it directly, which will allow the setting of an environment variable to restore the menu:

#!/bin/bash
export UBUNTU_MENUPROXY=0
./AptanaStudio3

If you’re new to the world of Linux, or a bit rusty, to make use of the above you need to create it as a text file in your editor of choice and then save it in the same directory as the Aptana Studio executable. You then need to give the file execute privileges (let’s assume you saved it as “AptanaLauncher”):

chmod u+x AptanaLauncher

You then execute it as follows:

./AptanaLauncher

The issue has been filed as an Eclipse bug, but a fix is still forthcoming (it’s been a few months already).

As an aside, following Appcelerator’s acquisition of Aptana Studio, they’ve recently release Titanium Studio. Worth noting that this is nothing more than Aptana Studio with full integration of the Titanium infrastructure – if you have no need for Titanium, there’s no need to switch (as pointed out by Aptana support themselves).

Posted in Fixes | Tagged , , | 7 Responses

Speeding up WebDAV performance

If you’re finding that accessing WebDAV shares is running extremely slowly (to the point of being almost unusable), check that the following setting is unticked in your Internet Explorer Options:

Internet Options > Connections > LAN settings > Automatic configuration > Automatically detect settings

IE LAN Settings dialog

IE LAN Settings dialog

I had this setting on on my machine (running IE9) and I found that disabling it made the world of difference to performance – my WebDAV drives became as snappy as anything.

For the record, I’m running Windows 7 x64 and haven’t tried (or experienced) this on any other machines.

Posted in Fixes | 5 Responses

Release|BNB error when trying to build

It’s been a while since my last post; I had several major lifestyle changes a few months back, not least starting a family, so my priorities have been elsewhere. Anyway, hopefully I can get the post frequency up a bit now.

The other day I encountered an odd issue when trying to build a solution. I was getting the error:

MSB4126: The specified solution configuration “Release|BNB” is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform=”Any CPU”) or leave those properties blank to use the default solution configuration.

I had no idea what BNB was and where it had come from – it seemed like the build engine was picking it up as the platform somehow. But there was no reference to it anywhere in the solution, nor in the build script. I recalled having seen this on another project a while back; I can’t remember the exact circumstances, I worked round it somehow in the end, but it suggested that it wasn’t something specific to this solution.

I was baffled by this for a while and was struggling to find any clues on Google, until eventually I discovered that my laptop had come with an environment variable of “Platform” defined with a value of, you guessed it, “BNB”. Turns out that this was getting picked up by the build script and being set as the Platform property, so instead of it being blank as the error message suggested, it was resulting in a non-sensical solution configuration.

Further digging revealed that this environment variable is specific to certain HP machines and the software they typically ship with, so not too widespread which is why it turned out to be difficult to search for.

The simple solution was to just delete the environment variable; the build ran fine afterwards. Got no idea what purpose it served but the machine hasn’t thrown any wobblies since 🙂

Posted in Fixes, Visual Studio | Tagged | 9 Responses

Getting a StyleCop SA0102 error with C# 4.0

I’m currently working on my first .NET 4.0 project at work. Whilst I’ve played with .NET 4.0 before, this is the first project where I’ve used it in conjunction with StyleCop. All was fine at first, then I suddenly started getting the following error when trying to build:

SA0102: A syntax error has been discovered in file XXX on line YYY.

Rather than relating to a StyleCop rule, this indicates that StyleCop has encountered an issue which it is unable to deal with i.e. you have no way of simply suppressing the error and moving on.

Turns out we were still using StyleCop 4.3 which does not support all of the new C# 4.0 syntax – in my case it was choking on the use of named parameters. It clearly didn’t like the colon syntax introduced into call sites.

After upgrading to v4.4 the problem went away although there are a couple of side effects to bear in mind:

1) Depending on your build configuration and where you store the StyleCop binaries, you may need to edit your Visual Studio project files to point to the new version.

2) After upgrading (without changing any of the rules) and rebuilding I got a load of SA1009 spacing errors. These were easy enough to fix up, but I’m not entirely sure why this happened unless some default rule changed without my knowing.

Posted in Coding | Tagged , | Leave a comment