|
 Sunday, May 27, 2007

Live Maps Send to Mobile

I'm an avid user of mapping software. I use it daily. Until last week my favorite was Google Maps. It was simple, quick and had an intuitive interface. All that has changed now. My new favorite is Live Maps.

Google Maps vs Live Maps

I use Google Maps on my cell phone daily, that is, until I found Live Search for Mobile. This works great if your cell/pda is either Windows compatible or runs the Java client. I run a BlackBerry 7105t from T-Mobile, so it works great for me. Now I'm using Live Search on my cell instead. Its much quicker and I like the interface better. Although I have had a problem, intermittently, that says its base location must have a zoomlevel in [1,19]. I'm still looking into that problem. But other than that, it works great.

Mobile Mapping and Client Requirements

For me, Live Maps and Google Maps (mobile) this is perfect. I'm never lost, but I've also been known to be the guy who never gets lost simply because I have a good sense of direction. This is good for me, but for people who cant remember their way around town, this application is light from above. Its a life saver.

BUT... the stipulation is that you have a cell/pda that is capable of running a Java Client. Alas, my wife has a Sidekick III and it does not run the Java Client at all. (Note: You can install the Java Client if you register as a developer on Dangers Developer Site). But lets get real... not everyone is going to do that.

So... enter live maps.

Lets say you're sitting at home and your wife calls you and says "Honey, I'm lost, here's the address of where I am, how do I get to 3101 Central Ave in Phoenix, AZ?". You could then pull up maps.live.com and plug in the address (this is assuming she's lost in Peoria, AZ). Then click on the "Send" link... then click on "Send link to mobile".

After you click on that, you will enter a phone number (mobile number that accepts text messages). The phone will be sent a text message from Live Maps that contains a link that will open a mobile webbrowser. The browser will open a site that contains a mobile version of the directions. (Note: This requires that you have a web browser enabled, and data plan, on your mobile device).

And... PRESTO.. you have driving directions on a phone that doesnt have the Java Client installed. The wife gets to her destination safely.

Enjoy!

#    Comments [0] |

Microsoft Astoria Project

It looks like Microsoft is putting some good research into a new RESTful product, Codename Astoria.

The goal is to expose data through URI's that identify various bits of information from the service. The delivery method is provided by the application but POX or JSON are very open formats that I assume will be the norm.

Currently we have SOAP and WS-* for web services, but Astoria will allow for REST style Api calls. Microsoft will

If I'm reading this correctly, Microsoft will provide a Toolkit that is available for download. The toolkit contains runtime components that allow developers to create and consume Astoria Data Services. Currently Microsoft also has an Astoria online service that can be accessed via the internet. It provides pre-created data-sets exposed as data services. In the future it looks as if Microsoft will allow you to create your own custom data services on their site.

Since AJAX and Silverlight will probably take over the client (AJAX pretty much already has), and since Silverlight supports REST I think this project may be something to keep our eye on.

Check out the project site here: Astoria on MS Live Labs

#    Comments [0] |
 Friday, May 25, 2007

Complexity and Staying Up To Speed

Every single one of use that are involved in Software Development have come to the point where we feel overwhelmed with the speed in which the software industry is advancing. This is completely normal! We all have to understand that software development as an industry is in its infancy. For example, architects have been around for hundreds and hundreds of years, a lot of physics concepts have been tested over the last few hundred years. Many other professions have been tried and tested over very long periods of time. Software on the other hand is relatively new. It’s arguable that the majority of software development has taken place in the last 30 years.  Since our day to day lives depend on software we are now seeing a very complex environment blossoming in front of us. No longer are static HTML pages the norm. We now have complex mission critical interconnected systems delivering dynamic pages to thousands of users per second. Dealing with the technology behind these systems has become very complex and we’re (the software engineers/architects/developers) required to understand it. 

 

 

Knowledge Expectations

The average developer is required to know “everything” about programming. If your boss comes to you and says:

 

I just went to a seminar on ______ and it looks like the future of software development. We need to implement it starting today...

 

They then expect that you know everything about the said technology. Unfortunately this is not normally the case. We work on projects for any length of time, and then move to a new project. Rarely do companies push their employees to stay up to date on new technology on the company dime. The amount of technology that we’re required to know is beyond the capabilities of any of us. There is not enough time in the day to be an expert in everything. So, no, you’re not alone! Everyone in software development feels overwhelmed.

 

There is no way that we can all be experts on the entire .NET Framework,  WCF, WF, WPF, Silverlight, SQL Server, PowerShell, Orcas, etc. You might need to know C#, VB.NET, C++, SQL, PowerShell, Ruby, Python, and the list goes on. It’s just too much for anyone.

 

I once heard an analogy that describes this situation perfectly. You need to build a cabinet at home, so you go to Home Depot to get the materials.  The Developer is you, the home owner, and the technology framework is Home Depot . You can walk in and decide that you can build the cabinet however you feel fit to do so. You can build it with wood, plastic, metal, with screws, nails, or glue. These are the classes and frameworks. You can also buy it pre-built; this could be a third party solution. You can also know that there are right/wrong ways to do something, these are Patterns/Anti-Patterns.

 

 In the end, you could build your cabinet a 1000 different ways. Software is the same. The options are endless and at times we’re required to use many technologies to solve a problem. Sometimes the options each technology offer overlap another technology somewhat. When this happens it becomes difficult to figure out what technology to use.

 

 

Segregation of Duties

As mentioned above, we’re required to know everything about everything in the programming field.

 

Developers are a lot like how doctors were 60+ years ago. Back then doctors took care of everything. If you were sick, they fixed your cold. If your eyes checked out, he checked them out. If you broke your arm, he took care of it. They took care of everything. Right now, that’s what developers are. We are the general practitioners in regards to development. If a problem comes up we are expected to know how to fix it. We are the experts in the computer field and our bosses expect that we know how to fix it. Doctors were the same. If we were sick/broken they were expected to fix it, and they did.

 

Nowadays doctors have specialties. We have neurologists, cardiologists, optometrists, and the list could go on for two pages. The only common ground is that each doctor has a foundation of classes which eventually led into their specialty. In my opinion, this is where software development is heading. We already have SharePoint developers, CRM Developers, Web Developers, Windows Developers. The base developer knows their language and concepts. Each specialty developer has much more training in their respective area.  This is where we’re going to end up.

 

Unfortunately this isn’t the case in 100% of business environments. A lot of developers wear a lot of shoes and that adds to the confusion. A lot of developers “know a little about a lot”.  This is probably the majority of us.

 

 

Staying Up To Speed

 

Since us developers have soo much to choose from and so many things to learn I often I get asked how I stay up to speed on all of the new technologies that are abreast. Here is the best advice I can give.

 

  1. Pick a technology (or a couple of them) and stick to them.
  2. Subscribe to some great blogs.
  3. Listen To Podcasts
  4. Watch Screen casts.
  5. Read technology related magazines

 

Example of my four picks

  1. I’ve decided to side with .NET 2.0/3.0/3.5, PowerShell, SQL Server, MOSS, and some other technologies for fun. 
  2. These are the Blogs that I read
  3. These are the Podcasts I listen to
  4. These are the Screencasts I watch
  5. These are the publications I read

 

Luckily, my commute provides a lot of time to listen to many podcasts. I have free time late at night and early in the morning to watch the screencasts. The magazines are always good to leave lying around the house or at work for break-time reading.

 

Conclusion

As said by Scott Hanselman (and many others – myself included), software development is not a 8-5 job. It’s something that must be a full time part of your life because if its not, you’ll never stay up to speed with what’s going on in the world around you. Then once everything has passed you by you will be wondering how you can catch up. If you want to go to work at 8am, then leave at 5pm and not have to think about programming thereafter ... I’m sorry to say, this profession is not for you. If you love technology like me, then this is the job for you. The key is, you have to have passion for what you do, and if you don't you'll never enjoy it. J

 

 

 

kick it on DotNetKicks.com
#    Comments [2] |
 Thursday, May 24, 2007

Blogs, Podcasts and Screencasts

UPDATE: I added the publications I also read at the bottom. :)

I've been asked what blogs I read, podcasts I listen to and screencasts I watch. So here's a comprehensive list for ya'll. :)

Blogs (in no particular order)

Then at times I'll browse the MSDN Blogs. Also note, these are what I call my "essential" blogs. I read these daily. I have about 30 other blogs that I read if I have time.

 

Podcasts (in no particular Order)

Other Podcasts I listen to when I can

Screencasts/Virtual Labs (in no particular order)

Publications

#    Comments [1] |
 Friday, May 18, 2007

Wireless Rest Areas

During this last week I've been in the process of relocating back to the south west area of the United States. During the drive back to the south west area I noticed something I've never seen before. Wireless Internet at Rest Areas!!!

Apparently this has been up and running for some time now but I was unaware of it. I noticed it at first in Louisiana. While in Texas I really began to notice how it was advertised on the Rest Area Signs. A nice little Wireless symbol was present on the signs.

So, if you're in dire need of a wireless connection, be sure to Google for wireless rest areas in the state you're traveling in. I've looked around and noticed tons of states have this set up already. I'd post links to all of them, but I dont have time to post 50 links right now. :) Enjoy!

#    Comments [0] |