| Login
 Blog    
Notes from Software World

By ashvil on 6/20/2006 8:35 AM

 

One of the hard lessons of my startup experience was that ideas are worth very little, It’s how you implement the idea that matters. Execution.

When I see founders hide what they are doing, I smile and think – Been there, done that.

But if the idea is not important, what’s are these folks trying to hide. If the founders are smart enough, they would be talking to everyone about their idea but talking to only a select few on how they are going to implement their idea. How you uniquely execute on the idea is what you need to protect and patent if possible. This is your secret sauce and will be what investors will pay for.

Take Jack for instance - Jack decides to go after Steve Jobs and his iPod and create the ultimate portable Media player. He silently assumes that his mini laser projection display for his Next Gen Media Player will knock the socks of the iPod. After all who would not want to see videos on a bigger screen. He and his founder buddies decide to keep the fact that they are building a Next Gen Media player a big secret. All they tell others is - we are hot startup doing something secret.  

It would be better for Jack to tell others that they are building the Next Gen Portable Media Player. Others can validate their idea and give them a reality check. Jack and his buddies are now operating on their invalidated idea that adding a mini laser projection is all that is required to build the next portable media player.

If they actually would tell folks (or even ask folks what they are looking for) in a Next Gen Portable Media player they would get the following comments …

  • Bigger screen for videos
  • More choice for videos and music
  • WiFi
  • Subscription service
  • Improved battery life
  • Cell phone integration
  • Faster sync for videos and music
  • ITunes service
  • Photo slideshow
  • Games
  • etc., etc,

By keeping the idea secret, they have eliminated all the useful reality checks that they would have had and instead set themselves up for a reality shock later.

The right thing for Jack to do would have been to patent the method of Adding a mini-laser projection system as a Display for Portable Media Players and then they would not have to play these secret games.

So next time someone tells you that they are working on a hot startup but cannot reveal any details – wish them best of luck and slowly back away ... :-)

 
By ashvil on 6/4/2006 5:49 AM

 

Sometimes the best way to convince someone that their way will not work is letting them fail early without any major impacts.

In my first job in the early 90s, Microsoft shipped a version control called Delta with MSDN. It was not really good and did not have any Developer tool integration but it supported basic version control features like Check In and Check Out and it was free with MSDN, so I did not have to go through an approval process to get it.

Delta provided some basic features and I and my team was happy using it compared to the previous option of using nothing.

One of the developers in my team was very unhappy that he had to ‘Check Out’ a file before using it – This meant that he had to switch to Delta from his C++ editor and check out and come back again. So he decided to just change the read only attributes of the file and continue working. He explained to me that since he was the only person who owned that file, it would not matter.

This was an accident waiting to happen. Even if you are the only developer, you will want to pull up an older version to compare the changes to figure out why - what you did today broke something else.

Sure enough a week later, he came to me one evening and told me that he messed up and wanted to go back to an earlier revision of the file but since he was not using Delta, he ended up wasting the entire day trying to backtrack his changes. Sheepishly, he admitted that he had learnt his lesson the hard way and would always use a version control system.

[If there is any one from the Microsoft Delta team reading this, then it is nice to know that however feature challenged Delta was, it convinced few folks that versioning was important] 

I suppose I could have taken a heavy handed approach and told him that the policy was to use version control or else but that would not solve anything. I still do this and it confuses the folks sometimes but it works.

Letting people fail in a controlled environment is the best way to learn – if they are not willing to listen. After all that’s how most folks learnt to ride a bike.

 
By ashvil on Thursday, April 20, 2006 3:27 PM

 

As I was doing spring cleaning on Ashvil.Net, I came across HTMLX, a presentation I have given at the W3C Future of HTML conference in 1998.

I proposed that HTMLX would be a universal container for different data types like Text, vector graphics, audio, video, 3D, Speech, etc. It would also support the entire document lifecycle to allow collaborative applications.

Most of the concepts in this 1998 presentation have been implemented by WPF (Avalon) and XPS. It took a few missteps like ChromeEffects and Web 3D but Avalon is looking to break that jinx and will hopefully ship this year. Eight long years after I first asked for these features, I can now use them and folks say that the Software Industry is fast paced.

It is unfortunate that HTML did not evolve into a Universal container, that I envisioned and there is no open format that can do what Avalon can do. At some point of time the W3C should wake up and take the responsibility for dropping the ball in the HTML UX space and the current recommendations of HTML/DHTML/AJAX provide a lousy UX platform.

 
By ashvil on 4/13/2006 11:07 AM

 

Karsten makes some good honest comments on WPF learning curve.  WPF integrates multiple visual technologies into one unified API and that brings with it a big learning curve.

The good news is that once you are past the learning curve, you will totally change the UX (User Experience) in your software (hopefully for the better).

So how do you get there?

Here are some steps that may be helpful…

  1. Take a step back and forget what you know about Win32, GDI, Windows Forms, etc.

This is a very important step. If you bring in the baggage of how things were done in the past, it makes the curve steeper.

  1. Understand the fundamentals

The PDC 05 videos are a great place to understand fundamentals like

·       Every XAML element is a .NET CLR object

·       A WPF XAML file is an object tree that describes rendering information.

·       How WPF works at the bits and bytes level – Logical and Visual trees

·       And so on …

  1. Translate those fundamentals into each area of WPF for an in-depth understanding.

Now that you understand the fundamentals, understand how they are used. For example, a Button is a template that contains visuals and behaviors. You can re-define the visuals and behaviors to define your own control template and change the look and feel of the button.

Explore Control templates, Styles, Layouts, etc. to understand how low level primitives are used to create complex UI mechanisms.

  1. Read, Code and understand simple samples in each area.

The EID videos, tutorials, WPF labs, Channel 9 videos, WPF Samples, etc. are a great way to start coding away at simple examples that will expand your understanding in each section of WPF.

  1. Put it all together to solve a problem you care about.

Now that you understand the tool, you need to actually use it to fix all the UX issues that were too difficult to implement earlier.

  1. Congratulations – You are over the WPF curve

If all this took more than a few weeks, don’t worry, you are not alone. Just make sure not to misuse all this knowledge to create UIs that suck :-)

 
By ashvil on 4/10/2006 6:50 AM

 

Every version of incorporated some nice visual elements, that third party control vendors rushed to incorporate in their toolbox. Most of the elements enhanced the looks of items like toolbars, menus, etc.

However, with Office 2007, the changes have been behavioral too. The user needs to change their behavior to use Ribbon, it context sensitive tab and floating toolbars. In my case, it was couple of hours and then everything felt right in place.

Using Expression Interactive Designer and Visual Studio and navigating to their multitude of toolbox windows to set a few properties, these products could do with a strong dose of the Ribbon.

And if you are designing UIs for Desktop software, then Dennis has Windows Forms Ribbon control, which I encourage to try out.

 
By ashvil on 4/5/2006 5:52 PM

 

As some one who cares about User Experience, I have been following Jensen Harris blog for some time now, but I actually wanted to use Office 2007 to do real work before commenting on UX.

I have been using PowerPoint 2007 and created couple of presentations and the UX rocks. The Ribbon brings the entire power of PowerPoint at your command. Contextual tabs and contextual translucent toolbars allow you to focus on what you are currently working on. And IGX (data driven graphics) is the icing on the cake.

This is the first version of Office that I would recommend buying since Word and Excel for Windows 3.1. Jensen’s blog details on how they went about re-designing the UI. If you do any UI or UX work, it’s a must read. If you are on the Open Office team, then you should print it out and pin it around your office.

Now only if Visual Studio, Sparkle and the other applications I use would adopt this UX.

And to folks who say Office is dead– Are you sure what you are smoking is legal?

 
By ashvil on 4/5/2006 5:04 PM

 

Apple announced Base Camp, a dual boot manager for running Windows XP.

I can't figure why Apple did not support Xen - the Open Source Virtualization solution. This would allow Windows running side by side with Mac OS X and would be more useful for Mac users.

Dual boot managers were available for the PC in the 1980s, so I am not sure how this brings the Mac to the 21st century.

 
By ashvil on Wednesday, February 15, 2006 9:43 AM

 

Guy Kawasaki has some great points on building a community.

  1. Create something worth building a community around.
  2. Identify and recruit your thunderlizards—immediately!
  3. Assign one person the task of building a community.
  4. Give people something concrete to chew on.
  5. Create an open system.
  6. Welcome criticism.
  7. Foster discourse.
  8. Publicize the existence of the community.

Looking back, i3Connect did a great job in items 1, 4 and 5. We did a OK job in 6 and 7 and a poor job in 2, 3 and 8. This article would have been very helpful for us in 2000 when we were starting out. For a startup like i3Connect, a community is what would make or break it and our poor execution on the points above proved to be fatal to us.

All said and done, I think Microsoft is one company that has done a good job on creating a community, especially on item 5.

 

 
By ashvil on Wednesday, February 15, 2006 8:10 AM

 

Sorry for the lack of updates to both the site and blog. The site was difficult to update via  web browser (thanks to the custom ASP.NET engine I wrote) and blog running Community Server was infested with comment spam. This is a classic syndrome of the Broken Window concept.

 

The site runs DotNetNuke 4 (on ASP.NET 2) and uses modules like Blog, Articles, etc. Thanks to Orina’s help in migrating the blog entries from the old blog server, all the earlier posts should be there.  

 

Now that the technology problems have been addressed, I hope to post information you may find useful. Unfortunately most of my work and information that I learn – is covered by some form of NDA. That said I will try to work around those restrictions and post in areas of Software Management, User Experience, Startups and cool technology.

 

If there is something particular you like to see, let me know.

 
By ashvil on 4/2/2005 2:15 PM

 

These folks have done a great job in documenting how VSTS helps the SDLC process. If ever there was a picture that was worth a million words, this is it. Microsoft needs to use this picture for their VSTS marketing efforts and hire these folks.

 
   
 Print   
 Blog_List    
   
 Print   
 Blog_Archive    
   
 Print   
 Search_Blog    
   
 Print   
Inspired by Nina