4 posts tagged “tools”
When was the last time you decided you needed to deploy a product of yours. How often is it that you run into a situation where configuration and the manual to installation of your projects becomes a royal pain in the neck? Well, for most, maybe not all that often, but for the few in the corporate world - this may happen all too often.
using System.Security.Cryptography.X509Certificates;
namespace AddCert
{
class Program
{
static void Main(string[] args)
{
if (args.Length != 7 && args.Length != 5)
Console.WriteLine("Usage: addcert cert.pfx /r LocalMachine /s My /pass mypass");
string path = args[0];
StoreLocation sl = (StoreLocation)Enum.Parse(typeof(StoreLocation), args[2]);
StoreName sn = (StoreName)Enum.Parse(typeof(StoreName), args[4]);
X509Store store = new X509Store(sn, sl);
store.Open(OpenFlags.ReadWrite);
if (args.Length == 5)
store.Add(new X509Certificate2(path));
else if (args.Length == 7)
store.Add(new X509Certificate2(path, args[6]));
store.Close();
}
}
}
The web is full of applications that have a way of giving the user the ability to perform tasks according to their needs. But sometimes those needs expand outside the realm of what's available in whatever the tool allows. A common scenario for a user is to simply not get what they want, move to a different tool that does do what the user wants it to do, or provide a feature request to the developers. But let's get to the basics of what applications are initially intended for.
Applications, which are apart of a business model that envelops the ideologies and processes that make up information technology and the people it involves, are intended to serve. Services are created so that the audiences and primary customers are satisfied with the end-product. The primary objective of the business is to ensure that the customer is happy and is being served the content in a way that is pleasing. This of course is contingent upon the fact that the user never changes his/her mind with the product. So what happens when an audience of the business wants feature X, we'll say they want the ability to share the content with their favorite social networks. So what happens?
Well, here are your choices for sites in which you can share your content with (among others not listed here). Quite a few sites will have links to share said content to YouTube, MySpace, Facebook, Digg, Twitter, Live, Slashdott, StumbleUpon. This list just keeps going. This creates a very typical and dawning problem for application developers. Given that each site will post shared content in different ways, the business chooses which sites to share with, downloads the apis and develops according to said networks.
Not only does this create a problem for developers, it creates an even larger issue for users. My site isn't listed! Well, once sites ABC are supported the business has successfully gone outside the scope of their core business processes. The important part is the ability to create a service to manipulate, aggregate and navigate content. Networks provide a nice area of sharing content, services provide a great mashup for providing content. When services can be successfully aggregated and served as tools to users - in this example sharing content will be seemless.
Recently, I picked up an incredibly awesome tool called Enso from Humanized. Enso is all about bringing the ease of creating, navigating and manipulating content through commands. In the old days we used commands to get tasks done. As the GUI undoubtedly made things much easier to work with, it has also made things undoubtedly difficult to work with as everyone has their own opinions and natural bias towards one method of interaction over another - as well as color schemes..etc. But the one aspect that has us seemingly removed in this cumbersome Web 2.0 world is distraction. Some call it multi-tasking, I would disagree and say that we have created a monster for distraction.
Not to say that some distractions aren't bad, but the thought is on how applications are increasing the gaps between the tasks we want to accomplish and the content that we are dealing with. Take for instance the fact that the market is now flooded with a dozen different social networks; there are hundreds of paint tools, editors and more. The market has a way with filtering these products out with emergence - or the difference in what is the best possible yet practical solution for the major audience.
Nevertheless, it brings an motivating perspective towards the very definition of what operating systems are supposed to do for us. When I/O operations became a habitual necessity for computing technology it was added as a standard protocol to which all operating environments follow. However, today we are at a point where the desktop's monolithic structure has created an environment where dozens of applications are added due to what the user has asked for.
The idea of adding feature after feature is fairly common among applications as well. In addition to this, there is integration - where one product's feature must integrate or serve another product in some form. For instance, Vox uses the Flickr API to allow users to add pictures to to posts. But what happens if you don't have a Flickr account, you just want to put pictures you got from your camera. Well, not only does Vox have to integrate with Flickr, they need to handle their own picture uploading service as well. When in reality, the only service that Vox is interested in it giving users the ability to write content to their blogs.
In search technology, we have the ability to look up any website, blog, video and picture that exists on the web. We type a query and off it goes. The web provides a very nice tool for search. But how much have we provided in the web for commands? Telling the web to do something for you isn't as easy, but it definitely could be thought along the same lines. We have had the ability to aggregate content to serve information to users; what we need now is a way to aggregate services to serve tools to users. In that manner, we can begin to bring the level in which developers are typically mounted on up to the user's perspective.
Just in case you didn't have either the time or like in my case, the money, to go the Las Vegas and see Microsoft's Mix 07 event, you can view the video below from some of the keynotes and demos from the event.
And in case you don't know, the Mix 07 event is where all the web designers, developers, industry makers and market professionals gather to show off some of the newest technologies from Microsoft and talk about what's to come in the technology fields. For more information on the event, just go to http://www.visitmix.com
this video contains:
Ray Ozzie key note
Scott Guthrie key note
How Netflix uses Silverlight Demo
Expression media encoder, expression designer, expression blend
Silverlight demos Silverlight
