January 2013 Entries

There are small perks that go along with blogging. In this case it looks like it is cubical war time. I got home yesterday to find that DZone had sent a goody box including stickers, post cards, a cozy, ref cards, note pad, a thumb drive and best of all ICBMs (Inter-Cubical Ballistic Missiles). Very cool.

So what is all this for. This blog is reposed on a regular basis on DZone where I am part of the MVB (Most Valuable Blogger) program. Be sure to check out my posts and all the content on DZone.

I heard someone mention the other day that they have forgotten more programming languages than most developers have learned and it made me remember all the suggestions to learn a new language every year. I have probably even made this suggestion before. As I thought about it I realized that it isn’t important for it to be a language that your learn, it is just important that you learn something new. Experiment with a new platform, study data theory, join the enemy’s camp and understand their point of view.

I have learned a number of programming languages over the years: Basic, C, C++, Visual Basic, Perl, C#, Sed, Awk, COBOL, JCL. The list goes on, but I have also experience a number of platforms: mainframe, DOS, AS400, HPUX, Linux, Windows, mobile, tablet, web. The important thing is to discover a new way of viewing and solving problems. Learn how to relate to the viewpoints of the team and stakeholders around you.

Don’t restrict yourself to technical discovery either. Learn about math, science, art or sports. Each of these can glean possible insights that can help you to turn a problem on it’s head and find a new way of attacking it. If I understand how accounting works and the regulations around accounting I can better advise my team when there are stumbling blocks. Spend some time with game books or even video games. Not only is it a great way to keep your mind flexible, but it is also a good excuse to have some fun with your kids.

In the end the point is to never stop learning. You will be better at your job and probably happier doing it. Enjoy!

In most companies it is important to keep up with the latest technologies. In a consulting firm it is critical because what you are selling is knowledge and experience. The ability for a consultant to advise a client both from a business perspective and from a technology perspective adds to the value of your people. The business knowledge relies on real world experience, but the technology knowledge mean many hours of research and prototyping with betas.

A company needs to look at the time and money spent doing this research the same way they do as creating marketing efforts. This is an investment, not an expense. Each consultant is the product being sold to the client. Would you decide not to add a screw to a device that you were selling that make it unusable?

How do you decide how much you should spend on a particular consultant per year? This needs to be a return on investment decision. How important is a particular technology or topic to bringing in new business or new talent? If a $3K investment per year gets you one new client that puts 4 consultants to work for the year it would seem the investment was justified. At the same time the fact that you invest in your consultants attracts some of the best talent because they know that you are working to ensure both their future and the company’s future.

How do you what to invest in? First make sure that your consultants have the tools they need. In the Microsoft ecosystem this means having the latest version of Visual Studio and access to MSDN accounts so that they can experiment with beta tools. In any ecosystem you need to give your consultants the ability to go to conferences, whether that is on site or via webcast. The advantage with going to on site conferences is that they have a better chance to ask questions and interact with experts directly (as a side benefit they may find a new client or potential employee).

You are going to make some mistakes as you grow you research and development allocations, but if you start out slow and align them with your business goals they will return you dividends. Take the steps to improve your team and you will have happier employees and clients.

The ITA/TechNexus host the Chicago Information Technology Architects Group meeting as well as many user groups and events. There is an upcoming event on Big Data that you may be interested in if you are in the Chicago area. Below is the information. Check it out and support our host.

This month we had a great turn out. I was glad to see so many people come out on a cold Chicago evening. Shankar kept the subject as light as possible with a number of humorous images and one liners. The presentation was packed wall-to-wall with information for those of us who had not investigate NoSQL up to this point. I came a way feeling that this is a subject deserves a lot more attention and could also take a lifetime to become proficient in. I am encouraged that there are solutions such as NoSQL as alternatives to the database clustering solutions that I have seen at fortune 500 companies in the past. Great job Shankar.

Shankar has supplied us with the following links and a request from his presentation.

It is the beginning of a new year. No better time to take a look what we want to accomplish over the next year.

My first goal is to have more Windows 8 and Windows Phone development content. This is a technology that I really enjoy developing for and I see challenges that every developer would like answers to. Things are also evolving on a daily basis which gives us a lot to discover and discuss.

I am also looking to have more architecture topics. These will be both high level concepts and integration of technology into your architecture subjects. As architects we always need more inputs for decision making as well as new way to improve our evaluations. These will be my targets.

I would also love to hear from regular readers who have specific topics they would like to see addressed. This is an open forum and I always enjoy your input.

I realize these are goals in broad stokes, but I’ll post some details in the near future. Overall I see more posts coming this year than in previous years with the industry changing at an ever quicker pace. Stay tuned.

This Christmas our household got its first Android devices. They were a couple of off-brand tablets and I have come to hate them. We bought them because they were cheaper. In this post I will be looking at this from an average consumer perspective. What was the experience and how does it affect my view of the platform.

The main issue is the ability to download apps. This particular tablet did not come with the Google Play Store app. Instead it came with a link to download the Amazon Store app. I found this confusing, but lets accept that for a second. Downloaded the Amazon Store app and logged in. It allows me to search for apps, but that is where the app stops working. You tap on an app icon and nothing happens. You can’t get to the point of purchasing and downloading.

Fine! Let’s try this from another angle. I went to the Amazon site and searched for the app I wanted. It said it was available for my registered device. Purchased it and the site says it will download to my device soon. That never happened. I opened the Amazon Store app and reviewed My Apps and it doesn’t show up.

At this point my frustration level is pretty high. I think most average consumers would have returned the device by now, but being a techie I try another approach. I searched online to find a way to download the Play Store app directly for Android 4.0.3. Guess what! It crashes every time I try to run the app! It is great that there are so many apps in the Google Play Store, but if I can’t get to them I just bought an expensive browser.

Windows has had inconsistency problems on different hardware vendor devices throughout its history, but Windows 8 and Windows Phone 8 address this in the Microsoft ecosystem. If I go to the store on Windows Phone or Windows 8 apps install without an issue. Now that doesn’t ensure the quality of the app, but at least you get to find out. This is also built into the OS so that the experience is the same no matter who the hardware vendor is.

I understand that higher end device vendors are probably better tested, but this is about consistency of an ecosystem. In the end I think that if Google doesn’t address issues like this with Android platform the lead it has gotten by being cheap will be lost to other platforms such as iOS and Windows 8 out of frustration. There is no way after this experience I would suggest Android devices to a friend.

It seems we all survived the end of the world. Welcome to 2013. The Chicago IT Architects Group is kicking off the year with our first meeting on January 15th. Shankar Ramanchandran will be discussing NoSQL In Cloudy Skies. Be sure to come out and join us and get to know the other people in the Chicago area that work in the IT architecture space. Please register at the link below so that we can get you through building security and order enough food. See you there.

Your Enterprise Windows Phone 7.5 application has different requirements and restrictions than the majority of apps in the store. While we now have Windows Phone 8 with different distribution methods, your client may still have 7.X devices that require using targeted distribution via the store. You need to consider how to allow the certification team to test your app without exposing sensitive data or affecting production systems. There are a few choices you have:

Supply the testing team with test credentials to your system

Make your app redirectable to a test system

Apply for a technical exception

The first thing you will need to do is mark the app as hidden in the Distribution Channel section. This will make it so that you can send the URL for the app to each individual who should have access to it when it is published.

All of the your options from this point will require using the More XAP Options hidden area of the Upload XAP section. If you chose to give the certification team access to your app by either method you will need to give the team instructions through the Certification Notes area. Otherswise you will need to check the Technical Exception option and follow from there.

I can’t say that this any of the options are going to give you a clear cut path to certification, but if they testing team cannot test the functionality of your application I can garuntee that it will be rejected. It does seem that the threshold for technical exception is probably pretty high, so this should probably be your last option. From here you are going to have to decide which approach makes the most sense for your situation.

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".