Archives For tag

Last night at the Twin Cities Cloud Computing User Group we officially kicked off Project Thor. We had some great discussions about the project is, why we’re doing it, and what we hope to accomplish. At the end of the meeting a total of 12 people volunteered to help deliver Project Thor.

However, we don’t want to limit participation in the project to just people who attended last night’s meeting. If you’re interested in working on this project contact me via one of the following methods:

When you contact me, let me know which area you’d be interested in working on (i.e. UI, middle tier, storage, etc.) This will help me allocate resources for the project. Last night we mentioned there are a several things you should do now to get ready to start working on the project. Here’s the list:

  1. Request an invitation code for a Windows Azure Account here: http://go.microsoft.com/fwlink/?LinkID=129453. Do it now, I’ll wait. There is a waiting list, so once you make the request, send me the email address you used to request the invite code. I may know of someone who can expedite the process for you.
  2. If you want to work with SQL Azure, you’ll need to request and invitation code for that as well. You can make the request here: https://connect.microsoft.com/Survey/NominationSurvey.aspx?SurveyID=5719&ProgramID=2089&SiteID=547.
  3. Sign up for an account on CodePlex.com. Once you have your CodePlex username, email it to me so I can add you to the project.
  4. Download the design document from the project’s website (http://thor.codeplex.com). Keep in mind, this is a first cut document, and will undoubtedly will be modified greatly in the coming days.

You’ll also need to get your development environment set up. Here’s what you’ll need:

  1. Windows 7, Windows Server 2008, or Windows Vista w/SP1
  2. IIS 7.0 (with ASP.NET, WCF HTTP Activation, and optionally CGI)
  3. Visual Studio 2008 SP1 or Visual Web Developer 2008 Express Edition with SP1
  4. SQL Server 2005 Express Edition (or above)
  5. If you’re going to be doing PowerShell development on Windows Vista you’ll need to download the PowerShell 1.0 Installation Package here: http://www.microsoft.com/downloads/details.aspx?familyid=C6EF4735-C7DE-46A2-997A-EA58FDFCBA63&displaylang=en

Here’s a list of resources that you may find useful during the development process:

We will be hosting a weekly status meeting via LiveMeeting. The idea is to open a LiveMeeting session up for a couple of hours one night a week where people can drop in and discuss what they’ve been working on and any issues they’ve run into. I’m working out the details now, but I’d like to have this meeting on Thursday evenings from 7-9. If there’s a better day of the week and/or timeslot let me know. We’ll use our first meeting next week to really dive into the guts of the various components. I’ll send out a meeting request later today/this weekend. Finally, if you know of anyone else who might be interested in working on this project feel free to invite them. The more people the better.

Project Thor Part 5: Prototype

November 10, 2009

In my last post in this series I did two things. First I showed you a prototype version of the mobile piece of project Thor. Second, I told that my next post would include architectural/design documents. Well, I changed my mind a bit. Before we can really discuss design, I wanted to be able to give you a way to play around with the UI components of Thor, so you can get a real hands on feel for what we’re trying to accomplish.

There are two UI components:

  1.  Admin. Users utilize this component to specify which calendars they want to expose via the website. Once a calendar is setup, backend processes (i.e. Azure Worker Roles) will query the Exchange for the calendar’s appointment data and update a cache that will then be utilized by the mobile component.
  2. Mobile. Users will be redirected to this component after they use their mobile devices to capture the tag associated with the calendar. Users will then be able to book an appointment on the calendar.

I used SketchFlow to create a prototype that will allow you to explore the two components using. There are a number of notes on each screen to explain intent. Take a look, play around, read the notes, and let me know what you think.

You can view the prototype here.

Next up, architecture/design docs, I promise! Stay tuned…

Project Thor Part 4: Demo!!

November 9, 2009

In the first three parts of this series I laid out the problem statement, assumptions, business requirements, and technical requirements. In this post I want to demo the functionality we’re trying to achieve. Check out the screencast below (brought to you by Silverlight and the Simple Silverlight Media Player.)

A few notes about the demo:

  1. The website shown in the demo is not currently hosted in Azure. The current prototype is, um, somewhat, how would you say, INSECURE. Thus, there is no way I would release it to a production environment. However, the code is running on my local Azure development fabric and was created the Azure tools for Visual Studio 2008 SP1.
  2. Thor is supposed to show schedules for conference rooms. In the demo I show my calendar from RBA. I didn’t want to expose unnecessary data regarding RBA’s Exchange setup.
  3. Part of the demo includes using a jailbroken iPhone. The jailbreak was done to allow VNC connections for the purpose of the screencast. Keep in mind the end product of Thor will not not require a jailbroken iPhone. Thor will work on an iPhone, an Android phone, an oh, yeah, a Windows Mobile Device :) .

Here’s the screenast:

 

Install Microsoft Silverlight

Alternatively, you can download the .wmv file for offline viewing here.

(P.S. – Sorry about the audio quality, still working on getting that  better mic).

(Note: Typically I’m not a fan of cross posting, but I wanted to post this information on my site as well in case people aren’t following the Twin Cities Cloud Computing User Group)

In Part 1 of this series I described the problem we’re trying to solve with Project Thor. In Part 2 I walked through the assumptions and business requirements. In this part I’m simply going to lay out the technincal requirements. So, without further ado, here you go:

Technical Requirements

  1. The Thor Service will be developed to run on the Windows Azure Fabric
  2. The Thor Services will be architected to support supplemental services to be added to the application as needed
  3. The Thor Services will be architected securely
  4. The Thor Services will be designed to be stateless
  5. The Thor Services will be designed to support different Exchange Providers
  6. The Thor Services will be designed to support both on premise as well as BPOS implementations of Exchange
  7. The Thor Services will include PowerShell scripts necessary to deploy and manage the Thor Services themselves

In the next part of this series I’ll actually demo (via Screencast) a prototype of Thor to give you an idea of what we’re going for.

Stay tuned…

(Note: Typically I’m not a fan of cross posting, but I wanted to post this information on my site as well in case people aren’t following the Twin Cities Cloud Computing User Group)

In Part 1 of this series I described the problem we’re trying to solve with Project Thor. In this part I’ll go through the assumptions and business requirements.

Assumptions

  1. Users will have a smart phone capable of supporting the Microsoft Tag Applet
  2. Users will have an active internet connection to their mobile device
  3. Users accessing the Thor Service will have an account on the source Exchange infrastructure
  4. Users will have a browser on their mobile device capable of supporting Java Script

Business Requirements

  1. Users will create unique Microsoft Tags for each resources to be access via Project Thor’s Services
  2. The recognition and processing of these tags will be done by the Microsoft Tag Smart Phone Applet
  3. The content returned to the smart phones as part of the Tag resolution process will supported on all Smart Phone OS’s supported by Microsoft Tag (Browser Neutral)
  4. When the user is redirected to the Thor Service, they will be prompted for UserID, Password and Domain account and given the option to remember this for future requests
  5. The user will be provided with the current schedule for the resource requested in a visually pleasing format
  6. The user should have the ability to “book” the resource from the Thor UI.
  7. The Booking feature must be configurable to allow a different account than that of the resource to be the target of the request (Conference room schedules may not be monitor but be schedule via a common email like MNConferenceRooms)
  8. The Thor Service must be configurable to allow the modification of the Exchange Services URL

In the next part of this series I’ll walk through our technical requirements.

Stay tuned…

(Note: Typically I’m not a fan of cross posting, but I wanted to post this information on my site as well in case people aren’t following the Twin Cities Cloud Computing User Group)

 As I announced earlier this week, the November meeting of the Twin Cities Cloud Computing User Group will serve as the kickoff meeting for a community based project designed to give people experience developing a meaningful cloud based application. My goal in the days leading up to the meeting is to provide a background on the project, so, when the meeting rolls around, everyone will be on the same page with what we’re trying to accomplish and how we’re going to get there.

The first installment in this series is a quick description of the problem we’re trying to solve. After all, we might have some great technology at our disposal, but without a problem to apply it to it doesn’t do us much good. With that said, here’s the problem as currently envisioned:

Most large companies have a significant number of conference rooms in their facilities. Often the schedules for conference rooms is managed as resources in Microsoft Exchange Server. But frequently, people have need to host an impromptu meetings. In many of these cases, people don’t either have their PC’s with them or the time to access Exchange to determine if a conference room is free (Or even if they could access Exchange find the correct resource). In these cases, the users tend to make a quick pass of physical facilities to see if any rooms are available. If the room is empty, its assumed its free. This can of course be a bad assumption.

Project Thor is an attempt to make the schedule discovery for a conference room or even resource quick and easy by allowing users to create two dimensional bar codes via Microsoft Tag for each conference room in a given Exchange server. These glyps will be resolved via the Microsoft Tag Applet to a given resource’s calendar which will be rendered to the mobile device via an AJAX web page. If availability exists, the user will then be able to book the resource.

I want to keep these posts short and sweet, so I’m going to end this one here. In the next post I’ll lay out our assumptions and business requirements.

Stay tuned….