preload
May 11

I love playing with technology and I’m often developing applications just for fun and to explore possibilities. Since I’m in the mobile business I now want to develop an application for Windows Mobile devices. I have several ideas on what to make, but I want to know what the application of your dreams are. To find out I posted this tweet on Twitter:

What’s the Windows Mobile application of your dreams? I will pick the best suggestion, develop it and distribute it for free! #WinMo

This post will be updated with the replies I get from the twitter community and when I get enough suggestions I will as stated pick on of them to develop and distribute for free. I might also post some “behind the scenes” source code while doing so.

When I have found the perfect idea for an application I will write a post with details about the chosen application. Comments to this post will also be added to the suggestion list.

Continue reading »

Tagged with:
May 06

Yesterday Windows Mobile asked this question on Twitter (windowsmobile):

Question for developers: what are the top 5 questions you would have when investigating application development for mobile devices?

My response to this question were:

@windowsmobile device fragmentation, GUI possibilities, transport protocol, patterns & practices and application distribution

I don’t know if they were asking this on a technical view or on a business view, but since I’m a “tech head” I gave them my technical view on this question.

Continue reading »

Tagged with:
May 05

A few days ago I wanted to create a fresher UI then what .NET Compact Framework offers out of the box. I wanted to create a gradient background for the screen and I wanted to have transparent labels on top of the background. In my opinion this is not much to ask for and I was a bit surprised that I actually had to do this myself.

Well after a few hours I made a gradient background and a transparent label. I will now step by step go through my solution.

The first thing I started with was to create a gradient background. I found that the best way achieving this would be to override OnPaintBackground in the Screen class. I found a very good article on how to do this on MSDN: How to display a gradient fill. I copied the GradientFill class and the Win32Helper class into my project, I didn’t bother using the GradientFilledButton class since I only needed gradient for my background.

Then I override the OnPaintBackground in my Screen, giving me this Form:

using System.Drawing;
using System.Windows.Forms;

Continue reading »

Tagged with:
Apr 29

microsoft surface logoCurious about developing applications for Microsoft Surface? I can assure you that you are not the only one. I have done some research on how to get started doing so.

The first thing you need to do is to get hold of the Microsoft Surface unit, this is yet only available for commercial purchase. If you are working in a company that are a Microsoft partner or using/developing within the Microsoft family it should not be too hard to acquire one. Have a look here for detailed information on how to by the Microsoft Surface. Actually you can develop and test Microsoft Surface applications on your PC using the Surface simulator, but guess what this simulator is only available from the Microsoft Surface SDK and to get hold of this SDK you need to purchase the Surface Developer unit. With good connections within MS it should not be impossible to get access to the SDK and simulator without purchasing the unit…

The Microsoft Surface unit is available in two versions:

  • Commercial version that is delivered with Microsoft Surface Runtime software, Windows Vista  Business OS and all software required to run touch-enabled applications.
  • Developer version that is delivered with Windows Surface SDK 1.0, Windows Vista Business OS and all software required to run and test touch-enabled applications.

Continue reading »

Tagged with:
Apr 13

pnp_logoI recently downloaded and read the Mobile Architecture Pocket Guide by Microsoft patterns & practices. The purpose of this guide is to improve the effectiveness when building mobile applications on the Microsoft Platform. The primary audience for this guide is solution architects and development leads.

Chapter overview (quoted from the book)

• Chapter 1, “Mobile Application Architecture,” provides general design guidelines for a mobile application, explains the key attributes, discusses the use of layers, provides guidelines for performance, security, and deployment, and lists the key patterns and technology considerations.
• Chapter 2, “Architecture and Design Guidelines,” helps you to understand the concepts of software architecture, learn the key design principles for software architecture, and provides the guidelines for the key attributes of software architecture.
• Chapter 3, “Presentation Layer Guidelines,” helps you to understand how the presentation layer fits into the typical application architecture, learn about the components of the presentation layer, learn how to design these components, and understand the common issues faced when designing a presentation layer. It also contains key guidelines for designing a presentation layer, and lists the key patterns and technology considerations.
• Chapter 4, “Business Layers Guidelines,” helps you to understand how the business layer fits into the typical application architecture, learn about the components of the business layer, learn how to design these components, and understand common issues faced when designing a business layer. It also contains key guidelines for designing the business layer, and lists the key patterns and technology considerations.
• Chapter 5, “Data Access Layer Guidelines,” helps you top understand how the data layer fits into the typical application architecture, learn about the components of the data layer, learn how to design these components, and understand the common issues faced when designing a data layer. It also contains key guidelines for designing a data layer, and lists the key patterns and technology considerations.
• Chapter 6, “Service Layer Guidelines,” helps you to understand how the service layer fits into the typical application architecture, learn about the components of the service layer, learn how to design these components, and understand common issues faced when designing a service layer. It also contains key guidelines for designing a service layer, and lists the key patterns and technology considerations.
• Chapter 7, “Communication Guidelines,” helps you to learn the guidelines for designing a communication approach, and understand the ways in which components communicate with each other. It will also help you to learn the interoperability, performance, and security considerations for choosing a communication approach, and the communication technology choices available.
• Chapter 8, “Deployment Patterns,” helps you to learn the key factors that influence deployment choices, and contains recommendations for choosing a deployment pattern. It also helps you to understand the effect of deployment strategy on performance, security, and other quality attributes, and learn common deployment patterns.

Continue reading »

Tagged with:
Mar 09

Martin_MECH.qxdAfter participating in a project with focus on architecture, patterns and clean code I got a revelation: Clean code principles should be used in every software development project. I also started feeling that using clean code principles is not only a good tool but it’s a matter of taking pride in what you do. Who wants to deliver code that is unstructured and hard to read and understand?

During this project I also read a very good book about clean code: Clean Code – A Handbook of Agile Software Craftmanship, written by Robert C. Martin

This book starts with the basics; code formatting and using meaningful names, and continues with unit testing and concurrency.

The book is written with Java programming language in mind but the content can easily be adapted to other programming languages.

Continue reading »

Tagged with:
Mar 07

mcprgbFor the past three years I have been working with Java (mainly J2ME) but now I have started using C#.NET technologies. To get a jump start and get to know C#.NET better I signed up for a Microsoft certification. I choose exam 70-536 : TS: Microsoft .NET Framework – Application Development Foundation. The time was short, I now had only one month to go from Java to C#.NET.

Lucky for me the similarities between Java and C#.NET are clear so I could take use of my Java experience. By the way for Java developers emigrating to C#.NET this website is a good start to have a look at. It compares the Microsoft C# programming language to Sun Microsystems’ Java programming language.

I ordered the MCTS Self-Paced Training Kit (Exam 70-536) which contains:mcts-training-kit

Tagged with:
Mar 07

smileySoftware development is like all other business driven by money. The overall goal for all projects is to get as much as possible done at the lowest possible cost. And off course the quality and functionality must be high. Due to this the project managers constantly asks them selves how to get the project members increase their efficiency. My simple answer to this is keep your developers happy!

By happy I don’t mean that the developers should be playing around at the office… This is more focused on the mind set. So what is a happy developer? Developers are different just like all other human beings but in my opinion there are several common factors that will apply to the majority of them.

Let the developers:

  • Be involved from a early phase of the project
  • Take part in scoping and estimating the project
  • Feel that they hava a part in the project
  • Be creative
  • Focus on their tasks and use some extra time when needed
  • Be involved in choosing methodology (Scrum, XP etc.)
  • Speak freely and listen to what they have to say

Continue reading »

Tagged with:
Subscribe to my feeds Follow me on Twitter
DZone MVB