DevComponents.com  
Denis Basaric: DevComponents Blog

Real Progress Changes How You Look At Things

June 20th, 2009

You know that something better has been made when you try it and after that the “old new” starts to look outdated and feels like its gotten older quick over short period of time.

That’s how I felt about iPhone after using new Palm Pre for couple of weeks. While it is not perfect, it did made my iPhone look kind of old, industrial and UI not so cutting edge anymore.

gallery-pre-01

And that is how you know that something new, better has been introduced. There was nothing wrong with iPhone and it did not feel this way before Palm Pre exposure, but after you get introduced to something better, when there is something equal or better to compare to, the perception changes.

iPhone is phenomenal device but I think it has now a worthy competitor. Dare I say king might be dethroned (at least in some areas)? And that is wonderful. Both will get better from it.

I think of Pre as iPhone 2.0

2.0 in sense that it is device that you would design if you used all knowledge you had designing 1.0 and build new one from scratch without constraints of legacy support. And in sense this is the case since lot of Apple engineers have been hired by Palm to design Pre.

I highlight one category that’s big for me. Pre beats iPhone by wide margin in messaging. The push simply works great. IMAP IDLE, ActiveSync Exchange and as many accounts as you want. Notification system is way better than iPhone.

sprintdashboard

On iPhone push email is afterthought (you can use only single Exchange account) so you have only one push account plus Mobile Me Apple service ($99 a year).  The notification system is a modal message box and you do not even get that on new emails. It was fine at beginning, but not anymore. It is crude.

Pre has multitasking and that works great. The application switching through cards is super intuitive.

cardviewpebbles

User Interface is warm and inviting. Shape of device is softer, more approachable. Lot of small things are done right to make you feel at ease with device.

I had chance to play with new iPhone 3GS and while it is nice it is more of the same old, same old, and Palm at least for my usage scenario is much better fit.

Who would have thought this? When I started using Palm Pre I did not think it had chance, but after using it for couple of weeks it really changed my mind. Kudos to Palm. Bravo! Now get application store going, release SDK and fix the bugs quickly :-)

But the point is you know that something new, something that you should pay attention to has happened when things don’t look the same after it. This happen after iPhone and is happening now with Palm Pre.

Is your code quality connected to time?

June 10th, 2009

Do you hear yourself saying my code quality depends on time, if I had more time I would write better code? I heard developer say that other day…

Bullshit. It is an excuse. You should always write the best code you can. The quality of your code is not connected to the time you have. It is connected to love that you have for what you do. Time, has nothing to do with it.

If you write crappy code, you write crappy code because you choose to do so. You write crappy code because you are lazy. You write crappy code because you refuse to think clearly. Time, has nothing to do with it.

Don’t do that to yourself and ask why you are not happy with what you do. If you have no interest in bringing quality into this world find profession that inspires you to do so. You’ll be happier.

You fit quality into time that you have. If that is 50% of features that need to be implemented then that is what it is. But crappy code gets you nowhere.

TweetPow Twitter Client Released

June 2nd, 2009

Oh by the way, I forgot to mention it in my previous post, we also released DotNetBar showcase application TweetPow.

TweetPow is an free, easy to use, non-intrusive Twitter client developed using DotNetBar for Windows Forms. I got tired from seeing all Twitter clients developed in WPF and Adobe Air so here is great looking Twitter client developed using trusted WinForms technology powered by DotNetBar. Here is screen-shot of this little application:

So head over to TweetPow,

Look around and say WOW,

DotNetBar is hotter than sun,

Today I am buying me one!

Download it and let people know about it. This is one of the easiest to use and best looking Twitter clients for Windows. And its free…

DotNetBar for Windows Forms 8.0 Released with Advanced Property Grid

June 2nd, 2009

Hi Everyone,

We just released DotNetBar for Windows Forms 8.0 with all new, from scratch built, Advanced Property Grid Control in Office 2007 style. Many of you asked for it so here it is.

Advanced Property Grid is designed from ground up to allow you to customize appearance of properties as well as customize editors, values and property names as they appear in property grid all without modifying underlining object. With standard PropertyGrid you have to inherit the object you assign to the property grid and then override and decorate properties with attributes to change any behavior. With Advanced Property Grid you do not have to do any of that. We provide handy events and settings that you can use to do all customization without using inheritance. You can still do it using inheritance but now you have choice.

You can also customize appearance of every single property in the grid including colors, fonts etc. You can map property values so for example true/false value is displayed as Yes/No as in screen-shot below:

Some of the Advanced Property Grid control features:

  • Office 2007 Styling
  • Easily customize property appearance in grid
  • Property value validation
  • Property value mapping, so you can easily change the textual value of properties displayed in grid
  • Display property description as either Super-Tooltip or in help panel
  • Customize property grid toolbar
  • Search for properties using Quick Search
  • Multiple objects support
  • Easy localization support

You can read more about Advanced Property Grid here.

If you already own DotNetBar license and have active subscription head over to Customer Only web site and grab latest release. If you don’t own DotNetBar license, now it is time to try it out. Fully functional trial is here.

We are already working and planning next release… Join us on forums and suggest what you want to see new and improved. Thank you for using DotNetBar!

Google Wave, Silverlight, Air, RIA

May 31st, 2009

I completely missed this discussion going on everywhere, but after Google Wave demo people started talking about Wave being Silverlight/Air killer. I read through the longish post by Tim Heuer (Program manager at Microsoft) where he tries to put this in context. His summary is pretty much that Google Wave is product not platform, let alone RIA platform so there is no really a point for comparison. Agreed.

As I was reading his post I nodded my head… But then I remembered…

While I was watching Google Wave demo one thing caught my ear. They said that Wave was built using Google Web Toolkit, in fact they said that they would not even think about building Wave without GWT. They also said that controls that were in Wave will make it into the GWT.

When I heard that I  immediately made mental note to check out GWT. I heard about it but have not paid attention to it. Seeing really good Google Wave demo had me intrigued.

In essence the GWT is a client side toolkit where you write and debug your client side code in Java but when you are done it compiles into the pure JavaScript that you run in any browser no Java required. This is huge because you get strong typing and all good language features from Java.

The UI is done in very similar manner that we do UI using Windows Forms or even WPF and Silverlight, though it seems everything is done using code.

Layout approach is similar to WPF, Silverlight where you use panels etc. GWT has built-in AJAX support which from demos looks solid. On server you can use anything from PHP, ASP.NET, Ruby, whatever. I assume Google Reader and GMail are built using GWT which is impressive.

I ended up buying a book so I can learn more about it. It is interesting.

I can see where comparison to RIA platforms is. If you can build such rich applications with GWT why would you use Silverlight or Adobe Air? There is no run-time to install as with the RIA platforms and GWT runs everywhere and abstracts browser incompatibilities.

So the real comparison maybe GWT vs RIA platforms. I think people will use both. There is a need for pure HTML/JS web apps and there is a need for RIA’s. Having them all compete is really good for us developers… Can GWT really displace Silverlight or Adobe AIR? For certain kind of applications, definitely.

What do you think?

DotNetBar for WPF 5.1 Released with Multi-User Support in Schedule Control

April 7th, 2009

New release of DotNetBar for WPF 5.1 is out with over 25 new features and enhancements. Highlight of this release is often asked for multi-user, multi-calendar support for Wpf-Schedule control. Here is screen-shot of 3 users displayed on the calendar:

New Features included in 5.1 release:

  • Easy to use multi-user support through single property setting (Owner)
  • 12 predefined calendar color schemes for multi-user support
  • Custom style per appointment support added using Appointment.StyleResourceName
  • Free-text entry support for double and integer input controls
  • Much more…

DotNetBar for WPF 5.1 includes 12 controls that help you create professional WPF Applications with ease.

If you already have DotNetBar for WPF head over to Customer Only web site to download latest bits.

Download fully functional trial version at http://www.devcomponents.com/dotnetbar-wpf/

Thank you for using DotNetBar for WPF. Feel free to contact me at any time with your suggestions and questions.

Latest Research in: Email your customers every day and make gazillions

April 4th, 2009

Really? No, not really. But for some reason companies are still doing it. How stupid is that? They reward trust people place in them by treating them as garbage cans. When I see this I see business that has run out of ideas.

I don’t care about template email from CTO “thanking me” for buying. It is meaningless. If you care, send personal note not stupid template.

And I don’t care about those little stupid tips, little “nuggets” of wisdom, that get sent every single day to my inbox. Let me break it to you, those nuggets are stinking turds. Put all your tips on your web site and people will find them, when and if they need them.

There is this notion in marketing circles that you must “touch” your customers every single day/week to keep them aware of you and you will supposedly sell more. You are supposed to” nudge” them into the buying decision. The only cliff you are going to nudge them off is the one of sanity.

And if someone downloads your trial version you are supposed to email him every week for eternity until he buys and then thank him by increasing email frequency to every day. Just so, you know, you stay in touch.

Bullturd! This is same fallacy as long sales copy. You know those sales letters that are so long as if they were written so they can fit on role of toilet paper. Because that’s what those long sales pitches are only good for. Use in toilet.

I don’t want to hear from any business every day. I don’t want to hear from any business every single week.

And these marketing tactics will not generate more sales, same way those deep discounts won’t. They will hurt long term sales. Companies that do this are out of ideas.

What happened to notion of making the products better? What happened to notion of polishing and adding useful features? Or listening to your customers? That will generate more sales and more goodwill than sending meaningless emails every single day.

Now, I am not against contacting your customer base. If you have permission you should. But you contact your customers with news that are valuable to them. I want to hear about significant new features that you added to the product. That is valuable to me. I don’t want to hear about that every day or every week because you can’t develop and test them that fast… Keep those things for your blog and Tweeter.

But knowing what is new in product, knowing that you are improving it, now that is valuable. Template message from CTO and daily turd nuggets, not really.

Let your products stand on their own merit. People are smart to evaluate products on their own and they don’t need daily emails to submit them into buying. Actually they hate it. If product is good, valuable and useful people will buy it. It is really as simple as that…

You probably guessed it… I bought some software recently :-)

Deceptively Simple

March 31st, 2009

It takes nature 3000 years to form solid granite, but I do it in a day just like there is nothing to it. That’s what I am thinking while using my chisel to break apart pizza I just baked. How did I go wrong? 5 simple ingredients, but I still managed to screw it up.

I thought I did everything right. Let dough rise for 24 hours. Punch it down, let it rise again. Bake it on stone on 500. It looked great… But I might as well eat that baking stone. There was no difference between it and my pizza. Even my dog didn’t want to come near it.

And this brings me neatly into why simple things are deceptively simple. Dealing with simple things is like dealing with used car dealers. On the face of it you’ve got great deal on car grandma used to drive once a week to church, but what you actually got is drag racing car driven 100,000 miles by substance abusing drunken teenager and then rolled back to 7,000 miles…

In simple things every single detail matters much, much more. Every single ratio, every single interaction is that much more important. And that is what makes them deceptively simple. Appearances lower your guard and you stop paying attention to every little detail. You rush through it, when you should be taking it slowly. You stop paying attention to what you are actually doing. How hard could it be, right?

It’s like with my pizza dough, I did one little thing wrong without even thinking about it. Or, like making that easy, simple code change that brings down production at plant in China. Or why you can’t buy good bread on every single corner.

Whenever something appears simple be on lookout. Pay attention to details. Pay attention to every single interaction. That is what is required to do simple things right.

And simple things take longer to do too. Friend of mine posted Tweet quote couple of days ago from Mark Twain that says:

“I didn’t have time to write a short letter, so I wrote a long one instead.”

Works well for applications too:

“I didn’t have time to write simple application so I wrote complex one instead”…

So what went wrong with my pizza dough? Once I started stretching it into final shape, I did not have enough dough to stretch it to size I wanted by hand. I had brilliant idea to use rolling pin to help me out. It helped… It also knocked out all air bubbles, compressed the dough and made it rock hard…

DevComponents 10 Years Anniversary

March 19th, 2009

We’ve been around for more than 10 years but I like to go with the date domain was registered which was way back on March 19th 1999.

We’ve started in ‘99 with the MDIExtender product for VB5 and VB6 which was not huge success, but has helped us learn the ropes so to speak. Today we have WinForms, WPF and tomorrow Silverlight product range and really fantastic growth.

I like to thank our customers for that. Thank you for using our products and spreading the word. Thank you. We’ll do our best to help you and support you along the way.

When you need components to make your applications look professional and amazing give us a try!

Silverlight 3 Beta Out, Who Needs WPF?

March 18th, 2009

I’ve been thinking about this for quite some time and with the announcement on feature set for Silverlight 3 it seems that there is a critical mass of functionality there to make me ask who needs WPF? It seems to me that Silverlight 3 and probably 4 will have much more appeal than WPF for lot of developers.

Why do I think that? Well with Silverlight 3.0 you get out-of browser support which means that your apps can run as native stand-alone applications. You get auto-update support, online offline support etc.

But that’s not where the meat is. The Silverlight runs on Mac and PC (future on Linux too). It does not require .NET Framework to be installed at all. It will have hardware supported acceleration for graphics and it is about 4.5 MB in size.

.NET Framework 3.5 is whooping 231.5 MB, it runs only on Windows XP and later only. No Mac, no Linux. Deployment is not nearly as easy as Silverlight.

Sure, WPF is much more powerful, but for lot of developers simpler, smaller Silverlight might have more appeal and it runs easily in browsers.

The saving grace for WPF right now is that Visual Studio 2010 is using it which is big… We at DevComponents support WPF as well so that’s big too ;-)

We really like WPF, but I am wondering at which point Silverlight will displace WPF… Or perhaps at which point these two will merge, which is what I think we will end up with.

What do you think?