Posts
411
Comments
228
Trackbacks
42
Monday, March 24, 2014
Project Spark Maze Making Technique

image

When I first started creating Project Spark worlds I would try to build a mountain and then tunnel through it to create halls and rooms.  This really became a test of patients.  Once you have created a narrow space with ceilings it is hard to get your camera in the right place to know which direction your tunnels are heading, how close you are to the outside of your terrain and good luck placing props.  The solution is actually pretty simple.  Use the Add tool with the cube brush and make your corridors and rooms with an overhead camera as displayed above.  Once you have the first level laid out paint the room floors and wall, add props and light sources.  From there you can then use the Add tool again to create the next layer of your maze which creates you ceilings of the first level as you go.  I realize this isn’t anything amazing, but sometimes it is hard to see simple solutions.  Enjoy

Posted On Monday, March 24, 2014 9:04 AM | Comments (0)
Friday, March 21, 2014
Project Spark Development On Windows 8 With A XBox Controller

ProjectSparkLogo2XboxController

As you may have noticed, I really enjoy building Project Spark games.  Until recently you have only been able to create them on Windows 8.1.  Now you have the option of playing Project Spark on XBox One with XBox 360 coming in the future.  While I don’t have an XBox I have realized that there are just some things that you can’t do without a controller.  The biggest one for me is manipulating the size of trigger zones around props.  In order to gain this capability I picked up a second hand controller and quickly found that there was even more of a learning curve than using mouse and keyboard.  I figured if I found this a challenge others might and so this post will cover some of the basics.  As a starting point check out the control layout diagram here.

Zoom Camera

When you first come into the Spark environment you will find that you are zoomed all the way in to the cursor.  This is where the RB is your friend.  The thing you have to realize is that when you hold RB it is going to show you a button menu.  this is for you to change camera modes.  What it doesn’t tell you is that if you hold the RB and move the left joystick you can zoom the camera.  At any time you can tilt and pan the camera with the right joystick.

Switching Tools

This one isn’t that difficult.  The A button allows you to open the tool panels and the left joystick allows you to navigate through them.  Once you are in a tool the arrow pad allows you to navigate the pallet at the bottom of the screen with the up arrow opening the detail menu.  The big difference between between mouse and controller is the fact that with the mouse you click a tool a second time to get its alternate function and with the controller you use the left trigger to apply the tool’s alternate function.

Props

This is the area where I have the most aggravation.  When you are arrowing through the pallet use the right trigger to create a prop.  If you only want the one hit the B button.  If you want more clones just continue hitting the right trigger.  Likewise if you want to select and existing prop put the cursor on it and hit the right trigger and the B button to drop it.  If you want to rotate or scale the prop hold the LB and select the function from the pallet using the arrow pad then while still holding the LB affect the change with the right joystick.  Just remember that the B button and the Back buttons are your friend.  They can get you out of most situations that you didn’t intend to get into.

Terrain/Paint/Biome

Another significant difference when you move to the controller is the concept of setting the height of your brush above the surface.  The mouse is always set to touch current surfaces.  With the controller you need to you the X and Y button if you want to move your brush vertically.  Just keep an eye on the dotted line below your brush to see if you are at the level you want to affect.  Otherwise most of the rules for selecting from pallets apply the same as props.

Brains

Creating Kode in your brains is much slower for me and takes a lot more concentration with the controller.  The nice thing about keyboard development is that if I know the tile I want to use I can start typing the name and filter directly to it regardless of how deep it is in the tile tree.  Conversely, I am probably learning more about the tile tree using the controller.

To get into a brain select the prop with the right trigger and then hold the LB and press the Y button.  To insert a new line or tile where one already exists press the left joystick button.  While you are in the tile tree RB and LB will navigate through the pages of the same level.  RB and LB will also allow you to navigate through your brain pages.  If you are on a line number and press A you will get the arrows to move or indent the line.  Pressing A again will leave this mode.

Test/Save/Settings

The Start button will bring you to the screen where you can test and save your work or change settings.  While on this screen if you hit the Back button it will take you to your profile screen (always have to know progress on your challenges).

Summary

That should cover most of what you need to get started. Experiment with the popup button menus and enjoy. 

Posted On Friday, March 21, 2014 12:05 PM | Comments (0)
Monday, March 17, 2014
Presenting Project Spark At Chicago Code Camp

ccclogoprojectsparklogo

It is conference time again and this year I am speaking at the Chicago Code Camp on my latest addiction: Project Spark.  This is the game that is currently in beta on Windows 8 and XBox One which doubles as a game development environment.  Come and see how you can enjoy this and even spend more time with your kids and subliminally teach them how to code.  Register at the link below.

http://www.chicagocodecamp.com/

Posted On Monday, March 17, 2014 4:28 PM | Comments (0)
Wednesday, February 26, 2014
How Software Architecture Is Like Photography

Camera20140226 (11)_1

I have found over the years that many of the IT people that I work with have photography as a hobby.  Recently I stopped and realized how similar the skill of a good architect are similar to those used in photography.  Below I explore what I see as common traits.

First and most important to both endeavours is the ability to see both the big picture and the details.  Photographers observer both the individual subject such as a bird and the surroundings that it is interacting with.  A beautiful bird alone can make an impressive picture, but if you capture it in an unusual place or interacting with other animals the interest increases exponentially.  Likewise you may look at one business problem to be addressed by a software system and solve that problem, but if you can put it in the context of the overall business process you can greatly improve the way a business operates.

You need to look at things from different angles.  In photography you may look at a subject from above, below or even behind in order to find a more interesting view.  With business problems we will look at it from different users’ perspective in order to make sure that we are taking the most important use cases into account.  Likewise we will look at different technology solutions to address the business needs in order to handle usage scenarios and volumes.  In order to more easily see these different angles you need to explore different techniques.  Spend time when you are not on a project experimenting with proof of concepts, new technologies.

Tools aren’t everything, but they do make a difference.  If you have a camera phone (who doesn’t?) then you can capture a wide variety of images, but if you want to optically magnify an image or change the how much of the subject is in focus then a camera phone just won’t do the job.  Likewise languages like Javascript are very good a general functionality, but if you need high performance or need to talk directly to the hardware you need a more appropriate language and associated tools.

This is just a generalization of the skills you must acquire to be a good architect.  Add these to your toolkit and continue to find ways to improve your projects for your clients.

Posted On Wednesday, February 26, 2014 7:03 PM | Comments (0)
Sunday, January 19, 2014
Project Spark Beta Impressions

image

Many kids are addicted to Minecraft.  It is a game that allows you to build the environment you play in and even create new content if you are willing to learn how to make mods.  Project Spark is an offering from Microsoft which allows you to create and play top quality games.  For the last couple of weeks I have been addicted to the beta of Project Spark and working with my boys to make some games.  Even though it is still in beta there are some great features.  It would take a tome to cover them all, but here are some highlights.

Modifying your terrain is probably the first thing that you want to do.  They have created a number of tools that allow you to create very realistic and varied worlds.  They fall into two categories: adding terrain and subtracting terrain.  The Add/Subtract tool allows you to quickly add large amounts of terrain or carve trenches.  The Expand/Erode tool on the other hand builds or removes terrain is a more even fashion.

Props can be everything from characters, houses and weapons to props that you have built and saved as assemblies.  This means that you are not limited to what the Dakota team has created.

You world will need some color.  Biomes and painting give you the ability to make your game feel like it is happening in a real world.  Painting is about adding simpler textures where as biomes handle adding textures, plants and other objects based on the type of terrain and height.

No game is complete until you add rules and logic to it.  Kode is the name of the programming language that Project Spark uses.  It is a full featured language that allows you to control practically any aspect of your game.  The image below shows a small example.

image

Given that Project Spark is a beta I have run into a number of bugs.  Despite this I think it is really worth your time to sign up and get a beta key.  What you can build is almost unlimited and will be even better in future releases.  In the near future that key will also get you access to the XBox One and XBox 360 beta.  You too could have a new addiction.

Posted On Sunday, January 19, 2014 12:40 PM | Comments (0)
Thursday, November 14, 2013
Visual Studio 2013 Launch Thoughts

Visual_Studio_2013_logo_big

Every new version of Visual Studio adds new features that make it easier to build apps in a maintainable way with best practices.  Yesterday we got to see the latest enhancements in Visual Studio 2013 during the virtual launch event.  I appreciated that yesterday’s event was live streamed, but even more that they didn’t stop the streaming when they left the keynote session.  This made it much easier to go back and catch tid-bits that I missed the first time through.

One of my favourite announcements was for Visual Studio Online which takes VS to the cloud.  The web site says that this product was formerly known as Team Foundation Service (TFS).  It includes end-to-end services: build, deploy, monitor and more.  It is free for teams of up to 5 people and for MSDN subscribers with pricing for other team sizes.  I need to look into it more, but they stated that it allows you to build non-MS based solutions as well.

They announced “Monaco” which is the code name of the web based IDE that is being released as part of Visual Studio Online.  The first release is specifically for building Azure solutions.  I can see this growing into a string of VS Express like offerings for each platform.  The possibilities are exciting.

A lot of what I saw was more about Azure and platform related rather than Visual Studio itself.  There was also a lot of the event was spent highlighting third party tools such as Xamarin.

Of course Scott Hanselman was his usual magnificent showman.  I loved it when he was showing the Browser Link feature in VS2013 for ASP.NET development.  When he told the crowd not to applaud because what he was showing wasn’t cool enough was great.  Any event that has Hanselman and Guthrie is bound to be entertaining and informative.

There are far too many things that were shown during the event to cover in one post.  In the end I think Visual Studio 2013 is making great strides toward the goal of “Any App, Any Team”.  I would add “Anywhere”.  With all the new features and offerings I see development for the Microsoft ecosystem getting easier and easier.  I can’t wait to update my machine and start coding.

Posted On Thursday, November 14, 2013 9:23 AM | Comments (0)
Monday, October 28, 2013
Getting Requirements Right

I had a meeting with a stakeholder who stated “I bet you wish I wasn’t in these meetings”.  She said this because she kept changing what we thought the end product should look like.  My reply was that it would be much worse if she came in at the end of the project and told us we had just built the wrong solution.

You have to take the time to get the requirements right.  Be honest with all involved parties as to the amount of time it is taking to refine the requirements.  The only thing worse than wrong requirements is a surprise in budget overages.  If you give open visibility to your progress then management has the ability to shift priorities if needed.

In order to capture the best requirements use different approaches to help your stakeholders to articulate their needs.  Use mock ups and matrix spread sheets to allow them to visualize and confirm that everyone has the same understanding.  The goals isn’t to record every last detail, but to have the major landmarks identified so there are fewer surprises along the way.

Help the team members to understand that you all have the same goal.  You want to create the best possible solution for the given business problem.  If you do this everyone involved will do there best to outline a picture of what is to be built and you will be able to design an appropriate solution to fill those needs more easily.

Posted On Monday, October 28, 2013 5:10 PM | Comments (1)
Friday, October 25, 2013
What Is A Software Architect’s Job Today?

WP_20131025_09_58_56_1

It was 2001 when a project manager first put my job title as architect on a statement of work.  A lot has changed over the last twelve years.  The concepts around what an architect is has evolved.  In the early days I would have said that they just rebranded the role of the system analyst.  Now we have a multitude of architect titles: application, solution, IT, data, enterprise.  Whatever the title the goals are the same.  An architect takes the business needs and maps them to the solutions that are needed and at the same time works to ensure the quality of the solution and its maintainability.

One of the problems I see these days is that we are expecting every developer to have architect skills.  That in itself is not a problem.  This reduces the need for dedicated architects.  Not every developer though is going to be able to step up to this level.  Some are just good at solving small problems instead of thinking in the larger abstract.

Another problem is the accelerating speed and breadth of new technologies and products.  For an architect to be good at his job he needs to spend large amounts of personal time studying just to stay relevant.

In the end I don’t think the main objectives of an architect has changed, just the level of commitment needed to stay of value to your company.  Renew your commitment to your profession and keep delivering great solutions.

Posted On Friday, October 25, 2013 2:48 PM | Comments (0)
Thursday, October 10, 2013
Carriers Holding Your OS Updates Hostage

WinPhone8Logo

Just a small rant here.  Today the Windows Phone 8 GDR2 update finally became available for Nokia handset users.  Now I’m not sure that it is AT&T fault entirely that Samsung and HTC users got their updates two months ago and we are just finally seeing it.  It may have something to do with the Nokia Amber update.  But every Windows Phone update on AT&T from 7.1 on seems to have been delayed.  How is it that the premiere Windows Phone carrier is always the last one to release updates?

Smart phone ecosystems are a partnership between the OS provider, the hardware manufacturer and the carriers.  If any one of those partners does not hold up its responsibilities then everyone gets a black eye.  The goal for all involved should be to release updates as early as possible with reasonable assurance of stability.  This ensures the satisfaction of consumers and increases the likelihood of future sales.

From what I have seen so far AT&T has been the one breaking the consumer’s trust in the Windows Phone ecosystem.  Aside from voicing our dissatisfaction we may need to start voting with our feet until they realize that they being a poor citizen has consequences.

Posted On Thursday, October 10, 2013 1:39 PM | Comments (0)
Thursday, September 5, 2013
Windows Phone App Studio: The Social Developer Tool

image

Creating mobile applications is challenging, but Microsoft just made it easy for most people to create their own Windows Phone apps.  People talk about Indie gaming.  The Windows Phone App Studio allows people to create apps to share with their family and friends (as long as they have an App Studio account) using a WYSWYG style web site.  Whether you want an app for your kid’s team, an app that introduces your company or an app for an upcoming event the App Studio can allow you to build them on your own with only modest effort and understanding of concepts.

So what are the attractive features of the site.  The first thing is that you get a preview of what you are working on in most situations.  Depending on how much detail you want to put into an app you can have one up and running in ten minutes and be sharing it with your friends.  The main features of these apps are that they can display text and media and give users the ability to drill down to the details.

Beyond the ability to easily add new pages and data sources, you can also publish the resulting apps to the store and monetize your new creation.  This can be done by either downloading the XAP file or the code for you application which then allows you to make further changes via Visual Studio.

There are a few things on the “needs improvements” side.  The help screens need to be expanded with better explanations of features.  For example you can set your data source to either static or dynamic.  The help seems to imply that if you set it to static that Microsoft will store your data and download it to your users when it is changed, but that is not said explicitly (my testing proved out this is the case).

The data manipulation could also use some efficiency improvements.  There should be was to reset the section or page you are in after you start editing.  You seem to be able to get into situation where you have no option but to start over.

Lastly, I would like to see improved include the ability to use secured RSS feeds and a way to export and import data from the data sources.

This development option looks very promising.  Even while I was writing this post they have added additional templates for apps.  The fact that anyone can create one of these applications and share them with anyone else who has an App Studio account makes app development more social.  This could make Windows Phone more attractive and accelerate it’s recent growth.  Take some time to see for yourself at the App Studio site.

Posted On Thursday, September 5, 2013 7:11 AM | Comments (0)
Wednesday, August 14, 2013
Why Is Windows Phone The Best Camera Phone

WP_20130731_002

I recently went on vacation and over the week was switching back and forth between taking pictures with my Lumia 920 and my wife’s iPhone 5.  It really got me to thinking how much better the Windows Phone is as a camera.  The images in this post were taken using my Lumia 920.

WP_20130516_005

The main issue that got my attention was the faster shutter, or at least the perception of a faster shutter.  I think it is the fact that Windows Phone has a dedicated camera that I can prefocus in order capture action images where the iPhone focuses after you tap the shutter button on the screen.  This caused me to miss shot after shot with the iPhone 5.

Another advantage of the Windows Phone is the multitude of what Microsoft calls filters.  From panoramas, to selectable sequence images, to gif creation to just about anything else a developer can imagine allow you to have infinite flexibility and creativity without leaving the camera app.

The last major feature that I want to point to is the visibility of the screen.  I found it nearly impossible to see the image on the iPhone 5 under bright sunlight compared to my Lumia 920.  Since this is your viewfinder it is critical.  If you can’t tell what you have on the screen you are rolling the dice with you shots.

Ultimately everyone is going to have their opinions.  As a photography enthusiast there is no way that I would own an iPhone.  As always, your mileage may vary.

Posted On Wednesday, August 14, 2013 3:14 PM | Comments (0)
Wednesday, August 7, 2013
Microsoft Is Not Open Source And Therefore Irrelevant?

I saw a YouTube video that when you boiled it down said that since Microsoft isn’t predominantly an open source company that they are irrelevant.

The speaker strikes me as someone who doesn’t live in the real world.  I rarely see a client that is exclusively Microsoft technology especially after a number of mergers.  I have worked often on projects that used Web Sphere long side IIS, DB2 and Oracle along with SQL Server, and open source tools along with purchased frameworks.

Of course we can always go down the argument that open source does not mean free or stable.  Of course you have the source code to fix bugs in open source because you have access to the code, but now you not only have to be an expert in your business code but also all of the cookie cutter framework code.  That is very expensive and can seriously delay projects.  I also don’t find that open source code is any more or less stable than packaged code.

As a developer I have found that Microsoft’s tools are much better than those that I have seen in other development spaces.  They make development much more efficient and repeatable.  Are they perfect?  Not by a long shot.  Do many of the Microsoft tools and products leave much to be desired? Sure!  But so do open source tools, languages and products.  If you think anything is a silver bullet then you are deluding yourself.

Irrelevant? As a generalist in the IT space for the last 20+ years I have found that every technology and platform has its place.  Don’t discount anything off hand.  Learn as many different languages, platforms and tools as you can without losing your sanity and understand where they give you the most benefit.  I feel that is the most responsible way off approaching technology.  Let’s stop being so absolute with our determinations of technologies and approaches.

Posted On Wednesday, August 7, 2013 1:29 PM | Comments (0)
Friday, July 12, 2013
Review: Windows 8.1 Preview First Impressions

I have been using Windows 8 since just before the release candidate came out.  While don’t see it as a perfect operating system I really enjoy it in both Metro mode and desktop mode.  So what does the 8.1 Preview bring to us?

Start Button

image

The public screamed and Microsoft responded.  They put a start button on the task  bar in the desktop.  I never use the button because there are already three other ways to accomplish the same thing (the keyboard Windows button, the hardware button on the Surface Pro and the Windows button on the charms bar).

Search Changes

The search changes were one of the most disorienting changes for me.  I had gotten used to the app listing and being able to pick where I wanted to search.  The new search results are nice, but now you are forced to use search boxes within the application which I think like Windows Phone before it is a step backwards.

Along with the changes to the search charm they removed the Bing app.  While this makes sense I can see how this could cause confusion with users when they upgrade.

Launch To Desktop

One of the complaints that users have had about Window 8 is that they spend most of their time in the desktop.  With 8.1 you now have the option to boot straight to the desktop.  While I don’t see this a necessary I do believe that it is a good option so that people can get straight to work.  The dialog below shows the start screen options which not only allows you to go directly to the desktop on start but also but also how the background acts and how the start screen displays.

image

The Store

image

I also have mixed feelings about the new store interface.  There is a lot more information available in the main view, but it seems overly busy.  The app bar is where I think the new store has the advantage.  It is now easier to pick a category, go to the home page or even see a list of all the apps you have purchased (installed) on your account regardless of the machine they were installed on.

Snapping/App Launcher

One really nice improvement in 8.1 is the new app snapping features.  Being able to snap in just about any possible you want allows for much better multi-tasking.  Hypothetic

ally if you were checking on your favorite sports team and wanted to find sports apps in the store you could have a 50/50 split like below.

image

Along a similar vein is the feature that when one app launches another such as a link from Twitter launching IE it automatically puts it in a split screen view.

Summary

I don’t see Windows 8.1 as entirely positive or negative.  On one hand it is great that Microsoft is listening to its customer.  On the other the customer may not have felt that way if their marketing message had been better.  Once we get past the lightning rod topics of the start button and boot to start though I think there are some good improvements that will improve the user experience.  When the final bits come out in late August or early September be sure to install it.

Technorati Tags:
Posted On Friday, July 12, 2013 9:15 PM | Comments (1)
Thursday, July 11, 2013
Review: Surface Pro 128

At the BUILD 2013 conference this year the attendees were lucky enough to get Surface Pros as one of the give-aways.  I realize this is a device that has been in the market since January of this year, but I wanted to record my thoughts as a user and a developer.

Pros

There are a number of things that I really find attractive about the Surface Pro.  One of them is the screen which is crystal clear and bright.  It is especially impressive after seeing the screen on the Acer W3 which looks like it belongs on a Fisher Price toy. 

Another perk that the Pro has over the RT is the stylus.  I spent a lot of time at the BUILD conference writing notes in the OneNote app.  It has amazing hand writing recognition.  If it can understand my chicken scratch without teaching it then it should impress most people.

Before I got the Surface I tried out both the Type Cover and Touch Cover at the Microsoft Store.  I quickly realized that at that if you are going to use the Surface for more than a few minutes at a time you are going to want the Type Cover especially if you are a touch typist.  While the first commercials highlighted the super-magnet attachment it actually is a well working system that gives you a very compact form factor.

What good is a tablet if it doesn’t work well as a tablet.  Whether it is watching videos, interacting with Twitter or playing any number of games available from the Windows Store, there are plenty of well design consumption apps that work in the tablet mode.

Cons

It is great that the Surface Pro has the Windows Desktop and can run all the same applications as Windows 7.  The one challenge is the resolution.  It is hard to read text sometimes in the desktop and the touch points are too small to use your fingers (this is where the stylus and keyboard come in handy).  As a developer this makes it a little hard to work on this as a primary device although it is doable.

Battery life is good, but it was a bit of a challenge at BUILD where there wasn’t much time to put it on the multitude of available charging stations for more than a couple of minutes between session.  On average I could get through about 3/4 of the day on a single change.  Hopefully the Surface Pro II will run on Haswell and this issue will be a thing of the past.

While Office comes with the Surface RT it does not come with the Pro.  I suggest that it is worth getting an Office 365 subscription to round out the device. 

Summary

Until I got the Surface Pro I thought that a tablet was simply a very nice toy.  After using the Surface Pro for a couple of week I have found that it has become my primary device and I am only turning to my laptop when I need the extra storage that I don’t have on the Surface giving me many more Windows 7 apps that I can run.  I would suggest that any IT pro or developer give the Surface a try as I think you can improve your productivity with it’s capabilities.  Enjoy

Technorati Tags: ,,
Posted On Thursday, July 11, 2013 6:58 AM | Comments (0)
Thursday, July 4, 2013
BUILD 2013 - Build for Both: Windows and Windows Phone

WinPhone8Logo Windows8Logo

This review is more person to me since I have known Matt Hidinger for a couple of years now and the fact that he just announced that he is leaving Chicago to join the Windows Phone team at Microsoft in Redmond.  So let me first say congratulations to him again.

Now I can’t say that I always agree with Matt, but I do respect him.  One area that we disagree on (at least from his statement during this presentation) is that the official Twitter app is a good platform example.  His point was more that they are both built in modern design language and look like the Twitter site.  My complaint is that Twitter didn’t go far enough to enable the rich functionality that we have come to expect in the third party apps.

So what was Matt really trying to show in the session? He started by comparing and contrasting the interface components and how the same information is displayed by the two form factors.

The main key he showed for building for both is using Portable Class Libraries (PLC). When you select the platforms you want to support in the PCL template it will limit you to the APIs that are available in all the platforms you have selected.  This ensures that you won’t build code that works with Windows 8 but doesn’t run with your Windows Phone app.

He also pointed out that a good starting point for building the XAML of your applications is using copy-and-paste.  While this will not give you a finished product, it can jump start your UI development.

There was tons of other good information that Matt presentenced. I would really encourage anyone who is looking to build both Windows 8 and Windows Phone apps to check out the recording of this session.

Posted On Thursday, July 4, 2013 8:34 AM | Comments (0)

Tim Murphy

Tim is a Solutions Architect for PSC Group, LLC. He has been an IT consultant since 1999 specializing in Microsoft technologies. Along with running the Chicago Information Technology Architects Group and speaking on Microsoft and architecture topics he was also contributing author on "The Definitive Guide to the Microsoft Enterprise Library".



I review for the O'Reilly Blogger Review Program



Technorati Profile

www.flickr.com
Tag Cloud