Short answer yes, why not? The key is to come up with what you expect your user to get put off it; and then from the point of view of the user, and what they expects out of it. The intersection of the two sets gives you the minimum required to successfully go mobile.

Going mobile can mean different things and because of that implementation may vary. In most cases it means a mobile version of the current offering via a mobile browser. Now I chose my previous words carefully because mobile could mean two things; a mobile application or a mobile website.

Mobile Web Site

This is a mobile version of the standard website. It may or may not contain all the information the main website has. Mobile sites currently are stripped down with plain html and css, currently only next gen phones such as the iPhone, android and windows mobile 8 phone support more complex CSS and javaScript. Even though this is quite a limitation it those not mean that you cannot have a usefull and compelling mobile site that runs on even a cheap prepaid phone. The key is to simplify and keep it clean.

Mobile Applications

Mobile applications fall under two buckets:

  1. Mobile Web Application: This is a mobile website that is not just informative but provides some functionality to the user.
  2. Phone OS Application: Most phones use the JAVA ME framework for developing and running application on you phone. The iPhone uses objective-c and cocoa for its rich applications, And Windows Mobile Phones use the .Net Compact Framework.

The hard part is figuring out exactly where your demographics lie and the proper method of content delivery.

I was out with a couple of fríends recently, geek drinking at best. The group consisted of two generations of programmers, the main theme was Management horror stories.Since I am on the younger end of the age spectrum I guess it is naive of me to think that with all the project management Systems out there that we could pick one and be productive in of.

I think that part of it is plausible deny-ability of accountability. What I mean about this is that if there is no system in place then You can’t be held accountable. Im starting to think if anyone used project management systems properly at all, i know they buy them….but do the really use them.

If you think that twitter is infallible then stop reading now…. Ok still with me good. Like many people I know we believe that twitter could be a use full messaging system. But as of late it has become 80% noise, posts about you just getting in your car and arriving at work is really just noise. There is really no use full information there, I call these people the “nit-twits“. Keep that on your facebook/myspace pages because if you make post like the one previously mentioned then most likely you have an account. The idea is short meaning  full messages, and that kinda got lost.

Twobble with Twitters (very funny video and proves the point)

Effective uses of twitter (whether they are evil and using it for financial an personal gains is irrelevant):

News Alerts

While a bad execution because i don’t believe CNN needs 5+ twitter account, the idea of having headlines on twitter is appealing because most of the time when you listen to the news you only take back with you the headlines and then, maybe, sometimes if you are really really interested you will sit down and look it up.

Artists connecting with their fans

Bad example Jessica Simpson “I love La Mer. Is it bad that I want my pool filled with it? I could jump in and just swim.”  …ok so maybe that’s was too easy. Good Example Metallica “A Few Thoughts From Cleveland at 3 am: IT’S BEEN special..”

Software Updates

Companies announcing update, patches or new release  of software.

In the end if you want twitter to succeed help it become more than just a fad, right now they only make money by investors…eventually they want return on investment and there just going to end up owning meaningless noise.



When you come to think of it web2.0 was about rich Internet applications, using platforms like Ajax. Flash and Siverlight. rich in the sense that they could function and animate as well as desktop applications. But web2.0 didn’t necessarily mean that you had a rich user experience. An example is Facebook here is a nice web2.0 application but it still lacked user experience, it was somewhat cumbersome in how I interact with parts of the web site( or web application). 

Rich User Experience is what keeps the user engage. Engaging the user and keeping them engaged is a complex thing to so. Giving In you face content or the BAM! factor will cause some people to engage but not all users will respond the same way. I don’t believe that Rich User Experience has to always be something that is flashy or slick, It measured by the user time on your web site plus the re visiting of the user.

I believe that one can achieve this by building intelligent sites that offer a passive guidance to the user as he/she navigates the web site. Amazon has been doing this for years and are a good example. How good is a web site that I don’t engage with frequently.

So this weekend was my brothers graduation and all the family came over big party the whole 9 yards. I was having a conversation with my cousin in law who is a dentist and the subject of humility in ones field came into play.

How the Customer (or Patient) would rather feel the sense that you are going to make things ok and get it done, but at the same time treating them as an equal or better yet a person. Not just someone’s that going to write you a check.

I think sometimes we loose the human interaction between both parties. For example here a situation that happen to me.

My DSL was acting up so I called tech support, person on the other end walks me through steps that they are reading off the screen. We thought the issue was resolved and i was giving a ticket. 30 min’s later my DSL goes down again, I call back and give them the ticket number and they proceed to walk me through the same step, even though I told the guy and he knew I had been through this wasting both our times. If i wanted that kind of service… i would have much rather preferred an automated system, at least an you known that the automated system doesn’t think and cant expect to much from it. And so now next time I call back I’m going to be a little negative about them helping me.

And thats the important part making the customer feel like you really tried to help them not that there just an Item in Queue…even if they are just an item in queue.
…this is the end to my rant

A good friend forwarded this Why Top Employee’s Quit.
This is usually and issue that top Exec’s don’t even get to see, because it’s handled by middle managers or they have it’s not my job attitude. It’s all about the environment my favorite quote from this article is “$30K a year with a company full of stiffs is worse to me than $28,500 with a fun energetic company”

It’s a good little read and very informative

Another Good link from the same site is 50% Ways a Manager Can Get Employees to Quit

What cause failure in a project from my point of view are a couple of small basic Issues.

  1. Sufficient Information.
  2. Leadership
  3. Talent

I know it seems like I’m over simplifying things, but I’m about the general case why projects tend to fail. Not because the company got sold, or one day you your systems collapse the day before ship or anything short of divine intervention.

1. Sufficient Information:

Providing proper documentation about the project is essential to the success, a lot of people are of the notion that the developer doesn’t need to everything about a project. While they don’t need to know everything it would be nice to know most of it. This means that the Analyst or PM must provide all work flows of how a user’s will be accessing and using the application. so that there are know gotcha’s in the end. I do not place most the blame on the Analyst or PM because the user might not at the time tell them everything. But that is there job… to quote Billy Hollis ” this is where prototyping with a rapid feedback loops is essential.”

2. Leadership:

There needs a to be a person providing the direction technical or non-technical direction, but someone with a vision of some sort. This is so that the project feels more than just that, making the people involved as part of something greater; giving them a sense of ownership in what there doing.

3. Talent:

There needs to be a person that pushes the envelope and set the bar. There something to be said about people who truly love what there doing, if you project is full of people that just want to be there 8 to 5 and just get there task done…well you gonna put out something that reflect 8 to 5 and just works, and feels like any other application.

.

So I have been getting into XAML, And actually witting the markup by hand. And it reminds
me of java and how we had to arrange the UI with the swing components using panes. But for the most part it was basically the same except it was all done in XML instead of programmatic (even though you can still do it programmatically WPF).

Then i went and downloaded the trial edition of Microsoft Expression Design… Think Flash meets Photoshop. You get all the Glits of photoshop and the vector graphics of flash. So i created a small project and placed objects, applied a couple filters to give it the Photoshop type glitz. So i got curios what would the the XAML file look like after i export it. I exported it to a XAML file and opended it in notepad. Man it was huge…but i could understand what was going on still….so you still have the option of going in and tweaking things by hand. You could never get those effects with out a design tool, it would just drive you insane

In my previous post i was talking about retro fitting extreme programming into agile programming… well guess what its been already defined… its called… SCRUM

So what is Scrum development?
It’s a team based, project segmentation development pattern. So whats so new about it nothing really its just a mash up of old and new practices. The project gets split into small segments( or feature for you agile guys) and each team (like in extreme programming) works on a segment.

Since this is basically building developing a project out of small components. The smaller the component the faster you can build the system.

the reason i like this idea is because its an extensible development process.

References:

  1. Control Chaos: http://www.controlchaos.com/about/]
  2. Wikipedia: http://en.wikipedia.org/wiki/Scrum_%28development%29


What do i mean by Retro Fitting Extreme Programming Into Agile development?!?!???

Agile Development also known as Feature Driven Development, this is where you build a list of features and the order that they are to be implemented. This responsibility can be placed on the Software Architect or Senior developer.

Extreme Programming also known as Test Driven Development is where you build your test before you code. This responsibility usually is place and should be placed on the Developer and programmers at a slightly Lower level.

I don’t see a reason why these two styles (or methodology) should conflict. You can simply write a set of tests for a feature in your feature list. This should give FDD a bigger success rate.