News aggregator

Young != Old

LonghornBlogs.com - Mon, 2005/10/10 - 9:26pm

I find it interesting how out-of-touch everyone is:

Web 2.0: Conversation with Five Teenagers

And, I assure you that those kids don’t represent the majority in any stretch. People use computers because they have to--not at all because they want to. The problem is that the computer industry has miserably failed to make any enjoyable experiences, thus far.

How about something that I use because I have fun doing it. Or, what about emotions. Ever seen those?

No, no, no. The problem is that people who design the software don’t ever take into account the user. In the rare case that they do hire a design firm (which there are only a couple worth the time), the developers scrap the ideas.

Build 5231 is NOT Beta 2

LonghornBlogs.com - Sun, 2005/10/09 - 9:39pm

Despite it saying "Beta 2" on the desktop label at the bottom right hand corner, Build 5231 is NOT Beta 2. Pretend is a Beta 2 preview, that's all. Build 5231 most likely will be a CTP, or Community Technology Preview. CTP's are not Betas.

When Beta 2 comes for Windows Vista - you will know it.

I'll finish up my article on Builds here in the next few days to help explain things a little better.

Build 5231 to be October CTP?

LonghornBlogs.com - Sun, 2005/10/09 - 6:00pm

HardwareGeeks.com put online some screenshots of what looks to be like Build 5231 of Windows Vista. It has yet to be confirmed whether or not this build will in fact be the October Community Technology Preview (CTP) or not - although its being widely reported that it will.

From the screenshots floating around on the net, we can possibly expect to see our first look and Windows Media Player 11 and the new "Network Center".

EDIT: My apologies go out to HardwareGeeks.com. I had commented on how leaked software sucks because it takes things away from the testers. I did not intend this comment to be directed at HardwareGeeks.com nor did I intend to make it sound as if the screenshots were bad. I appreciate the sneak-peak on what's to come and thanks to their galleries, I am more excited for the October CTP than before.

Those of you who want to see what's coming up in the next CTP for Windows Vista, visit HardwareGeek.com's image gallery or some pretty cool screenshots of what's to come!

Example of DataTemplate failure

LonghornBlogs.com - Sun, 2005/10/09 - 3:26pm

Here’s a good example of a DataTemplate failure: 

(From John Gossman’s site)

 

Check out the “Appearance” section in the middle. There are 2 items in the list, Fill and Stroke--and, each has a little box with the preview of the value.

 

Here is a likely representation of the data:

    public class Property

    {

        private string name;

        private object value;

 

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

        public object Value

        {

            get { return value; }

            set { value = value; }

        }

    }

 

Here is the DataTemplate:

           

                 

                       

                             

                             

                       

 

                       

                       

                       

                             

                       

                 

           

 

Note: There is an IValueConverter that converts the object into type Brush.

So, that’s all cool. It works fine. But, with all good design, you iterate a bit more and figure out it would be a lot better if when you change the color, the little box animates from one color to the other (Or, does it by Opacity).

 

This is something that I would consider necessary, and yet the DataTemplate will not let me do it.

Transitions are King

LonghornBlogs.com - Sun, 2005/10/09 - 11:53am

Most everyone probably notices a disconnect in the practices that I suggest in comparison with other members of the community--which more or less boils down the scenarios we are attempting.

 

So, although I can’t tell you what everyone else is working on, I will try to explain the types of things I am doing so you can understand why it seems that I need to break all of the rules.

 

First of all, transitions are king. Here are some different examples:

  • Fading an element in by changing the Opacity from 0 to 1
  • Translating a element from an off-screen location to center stage
  • Cross-fading colors
  • Scaling an item from one size to another
  • Wiping an OpacityMask across an element
  • Using a 3D composition (spinning, etc)
  • Etc

 

The list goes on, and it’s pretty much limitless. Anyway, I think the next generation UX relies on animations. These subtle, yet slick transitions are what make a meaningful experience. So, the value isn’t in stark animations, it’s in something that is transparent to the experience in the long run—but in the short run--make it fun to use. The thing is that development time never gets shorter--instead we use it for other things. So, in this case, we use it on the interaction design--which by the way is something that isn’t too easy for designers to envision, so it really allows a creative outlet for the developers. Switching out these transitions and trying different stuff is where the fun is at. It’s really just creative time, because the developer gets to experiment with all the different transitions and find the best one.

 

Anyway, back to the point. I can’t stress enough how important transitions and animations are to the experience (But I also can’t tell you what good design is. The closest I can get is a rough guideline, but in the end, it’s just chaos). The thing is that most of the time it takes a stranger and more robust solution to fulfill these needs. It requires more logic, which requires more handling on the actual elements. So, this is why I questioned the viability of DataTemplates. In practice, the data is probably coming in asynchronously, but the UI is loading immediately, so you have visual queues representing the current state of the element, while also having a nice UI.

 

John Gossman talks about switching out DataTemplates when you want to represent different states in a UI, and this works fine for some things, but the reason it doesn’t work for me is because you can’t have transition animations when you rip out one template for another. And, if you remember, I believe that transitions are essential to the experience. You can go 2 ways with your application--you can design it for the users, or you can design it for the coders. The user experience isn’t an afterthought. It’s not something that you add in later--it’s something you mold the code around (Leave the back-end part of your application to robust software architecture, but code your front-end around the idea of ripping it out at any time).

DataTemplate Viability

LonghornBlogs.com - Sat, 2005/10/08 - 2:40pm

What’s the long term viability of DateTemplates?

 

In theory, it’s an excellent idea. In practice, though, I don’t think it pans out.

 

For the unknowing:     A DataTemplate is an automatic visual that replaces a data type within an ItemsControl (ex. ListBox). So, I could add a data structure named Person to a ListBox, and it would automatically replace it with a DataTemplate that I have defined. The nice thing is that you only have to work with data structures.

 

So, the problem is simply this—data is dynamic, dynamic data needs more logic to run. DataTemplates have no notion of logic.

 

You see, in trying to separate the data from the presentation in such a way just doesn’t work. You need to be able to talk to the visual at any time, and with DataTemplates, that just isn’t possible. And, believe me, I’ve tried various things (tying to add properties within the actual data structure, so the DataTemplate can respond—besides this being a no-no in terms of data management, it just doesn’t really work).

 

So, the ContentControl is where you need to be. But, don’t use the automatic DataTemplate swap-out (which means don’t define a DataTemplate for the data type of the content you are placing in the Content property). Also, subclass ContentControl—because this is where you get to place interesting logic that can manipulate the data and fire events for the ControlTemplate to recognize. In general, this class is the façade between the Visual and the data. Using an automatic solution like a DataTemplate just doesn’t work.

 

Now, in cases where the data isn’t dynamic, by all means, use the DataTemplate—it’s too easy to pass up. But, obviously everyone probably understands that most data within an application is dynamic, so…

Hand-written XAML

LonghornBlogs.com - Sat, 2005/10/08 - 2:00pm

Although I was an initial critic of the mini-languages in XAML, the productivity gains are far too great to keep that opinion. The debate is pretty interesting, though, and it boils down to two sides: tools, or hand-written.

 

I think the mini-languages are mostly going away because Sparkle couldn’t handle it. Obviously, it’s harder to guarantee consistency in a XAML file when you have both hand-written and tool-generated code going in. It’s also easier for the XAML parser. All around, the tools favor one representation of an element, and that’s just life—it’s easier.

 

That’s not the real question, though. The real question is whether the tools are going to be good enough to use. If so, getting rid of the mini-languages is a non-issue. On the other hand, if they aren’t, well, we have really shot ourselves in the foot.

 

More so, some people will always use the tools—they just don’t know how to write code. So, the question gets bigger when you decide which segment of the market should be favored. The guys who don’t know the code at all, and use tools—or, the guys who spend all day hand-writing XAML…

 

 

Of course, there is one tool that you could change and this would definitely be a non-issue. Just add code snippets into Visual Studio for these things…Or, better syntax completion…

 

Don’t get me wrong, I don’t really have an opinion, I just write XAML that is accepted by the parser, and that is usually good enough for me.

New RSS buttons from the RSS Team

LonghornBlogs.com - Sat, 2005/10/08 - 1:15am

The Microsoft RSS Team has released some information regarding the new RSS Icons we'll be seeing in Internet Explorer 7. They also talk about their thoughts behind these new buttons which I think are pretty cool buttons. I think their new buttons definately convey the concepts they were going for which they talk about below as well as in more depth on their blog:

"There are five parts of the experience for feeds in IE7: discovering if a webpage has a feed, previewing the feed, subscribing to the feed to get continual notifications of new items, managing the list of the subscribed feeds, and reading the feed contents. The icon in this post is for the first two parts which shipped in Beta 1. The icon is visible in the IE7 frame to indicate the presence of a feed for the current webpage. Clicking on the feed icon takes the user to readable preview of the feed from which the user can subscribe to it."

"The choice of what icon to use is challenging because it should be universally symbolic, but today there is no single icon for that represents feed. Instead there’s a variety of mostly orange rectangles with the words 'XML', 'RSS', 'ATOM', 'FEED', or 'Subscribe'.”

"Our goal is to make sure that the icon is something that is understandable by all of our users: novice, advanced, developer, business, international, etc."

I've been following the RSS Team's blog for a few months now. I'm very excited to see the RSS-enabled features in IE 7 and Windows Vista. Head over to their blog to check out images on more buttons!

Antispyware and Antivirus in Windows Vista?

LonghornBlogs.com - Fri, 2005/10/07 - 2:44pm

Microsoft announced Microsoft Client Protection which is antispyware and antivirus protection for businesses and servers a few days ago. You can read an interesting FAQ from News.com about it here. Its pretty exciting.

But I am a little lost on what plans Microsoft has for Windows Vista in terms of Antispyware and Antivirus. According to the above mentioned FAQ, Microsoft Client Protection will be available for Vista. Thats great and all but its made for businesses and servers not the home enviroment. I was told by several people that Windows OneCare will not support Windows Vista - that's really disappointing as OneCare has proven to be a great program on Windows XP. We know Microsoft Antispyware works on Windows Vista though so that's cool.

So we know for businesses whom adapt Windows Vista can use Microsoft Client Protection. We know home users who go to Windows Vista can protect themselves from spyware by downloading the free Microsoft Antispyware. Of course, by default, Windows Vista has excellent features to stop malware built right into the operating system via Internet Explorer 7 and UAP.

I guess there seems to be some middle ground security protection services that seem to be missing for home users for Windows Vista such as virus protection.

I really would like to see the Windows Vista Security Center upgraded to act very similar to Windows OneCare and possibly a built in antivirus protection engine directly into the operating system.

EnsureVisuals

LonghornBlogs.com - Fri, 2005/10/07 - 10:24am

Clarification:

Logical Tree – the hierarchy of controls that compose your overall UI.
Visual Tree – the hierarchy of elements that compose a single Control.

In the case that you are wiring up dynamic controls, and then quickly after, firing events that access elements within the VisualTree, there is something you need to know…

If the debugger throws an error that it can’t find a certain element within your VisualTree (which is the hierarchy within a ControlTemplate), it means the VisualTree has yet to be composed. The quick and dirty way to fix this to call EnsureVisuals() on the Control before firing the event.

Most people won’t hit this, but I’ve started to notice this somewhere around the 5215 timeframe. Prior to this time, there was obviously a different loading strategy and you wouldn’t run into these problems.

Frames

LonghornBlogs.com - Fri, 2005/10/07 - 10:14am

How do I get a web browser within Avalon?

Until yesterday, I had been creating a WindowsFormsHost that held a WebBrowser (WinForms interop).

But, there is a better way…

A Frame is a generic Avalon Control that can be placed anywhere. And, in case you’re wondering, there is going to be another story around HTML for Avalon that has yet to hit the street.

CNET's Blog 100 - we're on it!

LonghornBlogs.com - Thu, 2005/10/06 - 11:54pm

CNET's News.com has put together their first Blog 100 List. News.com reporters and editors choose the internet's best blogs for news and views on the web. Now what's really super cool is LonghornBlogs.com is on the list!

This is a great honor and this is awesome that News.com's editors feel our site is a great source for news and opinions on Windows Vista and Windows Vista technologies.

XAML & C# cont'd

LonghornBlogs.com - Thu, 2005/10/06 - 2:51pm

More clarification:

XAML is a language (technically this is false, since it is compiled into C# first and then into IL, but you get my drift). So, if XAML is a language and C# is a language it's perfectly legal to compare the two.

At the root, the comparison is about speed of development. XAML has no preference towards UI—it just happens to be good at it.

So, in the end, don’t think of XAML in terms of the presentation. That’s where everyone gets mixed up. I let people call Avalon=XAML, but that is only for consistency. They are different. They have no relation. But, there is a strong correlation between Avalon programming and XAML being the language of choice for the presentation aspect.

So, the initial point I was trying to make is that you do have a choice between using XAML and C#. Each has its strong points, which I laid out in my previous post…

The more dynamic the UI, the harder it is to use XAML. XAML is a pre-compiled thing (at least if you care about performance). So, if you need to programmatically add the elements, you’re probably looking at C#. If it’s static, you’re probably looking at XAML. These aren’t hard rules, just merely the probabilities.

My Windows Vista Experience Thus Far

LonghornBlogs.com - Thu, 2005/10/06 - 3:00am

When I was at PDC 2005, I had the pleasure of meeting Jerry Pournelle. I talked about "journalistic integrity" this morning... well, when it comes to journalism, it doesn't get much better than Jerry. In his PDC opening day article for Dr. Dobb's Journal, he quoted me as saying:

Robert McLaws of http://www.longhornblogs.com summed it up this way: "Up to now the only emotional connection Microsoft Windows has with its users is to generate a deep-seated desire to see how far they can throw it out the window." But, he added, Vista may well change that. Microsoft is clearly trying to get its users excited, to be as cool as Apple; to generate the kind of love for Microsoft that Apple users have for their systems.

Well, I know it's just a beta, but lets just say that I've reconnected with that deap-seated desire. Testing Windows Vista has been the most miserable experience I've ever had testing software. I've installed it on my Toshiba Tecra M4 no less than 9 times. I installed Beta 1 three times, and I wiped out the whole thing, and tried to dump XP for the September CTP. BIG MISTAKE. I installed it 6 times, and I couldn't stop getting bluescreens for the video card or the network driver. The whole networking experience has really left a bad taste in my mouth. I cound't connect on my wireless card to anything, even with the XP drivers. It's been two weeks since I dumped Windows Vista for XP again, and I'm still not sure if my WiFi card is broken or not. To this day I cannot connect to T-Mobile's WiFi.

So today I found the Virtual PC Additions for Vista Beta 1 on the MVP Download site, so I thought I'd try them out. Well, they don't work on Build 5219, that's for sure. I was able to extract the files long enough to install the emulated video card

Maybe it's just me. Maybe it's just my Toshiba. Maybe it's just a beta. I'm hoping that things get better in a couple weeks with the next CTP. But from my interview with NVIDIA a couple weeks ago, somehow I don't think my video card is going to support Glass until Beta 2 or later.

Having said ALL that... I'm still excited to see what's going in for Beta 2. I've bet a lot on Longhorn/Vista... and nobody wants it to work more than me. Well, OK... maybe Jim & Bill want it more.

XAML & C#

LonghornBlogs.com - Wed, 2005/10/05 - 11:01pm

Where do you draw the line between XAML and C#?

When to use what and where?

The short of the stick is that many people associate XAML as the same thing as Avalon. In their book, it is the same (XAML is a catchier word than most other substitutes). As can be proven, XAML is actually a general purpose language for describing “things” in XML, but who cares about that. For now, it is related to Avalon.

So, the deal is that XAML is XML and XML is goodness. No, the truth is that both XAML and C# bring different things to the table—both must be equally accessible in the tool belt.

XAML is good at describing a hierarchy of “things,” which is perfect since we use the same concept of hierarchy to build a UI. We nest Buttons within Panels which are nested within Windows. Perfect. So, the beauty is that you get automatic insight into your hierarchy, which can greatly speed the time to produce a solution. More so, it is easy to navigate to particular section on your dialog and rip it out to replace with something different.

Secondly, XAML in many cases is definitely the shorthand version of the same thing you could write in C#. So, the question is why wouldn’t you use it? Defining a Fill is as easy as writing Fill=“Red,” while in C#, that can be rectangle.Fill = new SolidColorBrushes(Colors.Red);.

Thirdly, and less obvious, it is highly invaluable to save the naming of “things” (within your XAML) for the most important “things” you want to reference in C#. You see, if you only have to name one thing—like the Ok Button, for instance, you can make a very understandable name. On the other hand, in C# code, you have to name each “thing,” so creating the Ok Button could lead to these objects with various names: OkPanel, OkTextLabel, OkButton, OkButtonAnimation, etc…The list goes on…

Now, since I have just finished bashing C#, why in the hell would I use it. Well, I spoke so highly of XAML, but the truth is that I probably use XAML for 15-20% of my total code. Why? Well, programs are full of logic—that is the value-add. And, the truth is that C# is far superior, considering XAML doesn’t even have a notion of logic. So, although you can get 20% of the way with XAML, don’t forgot that people want interesting applications, and those only come with a strong C# background (A Computer Science background wouldn’t hurt either—for the logic part). Oh, and by the way, most of what I build are demos and prototypes. So, the 15-20% goes way down as you start building real applications—way down…

The trick is obviously finding the right balance. Defining your Control hierarchy in XAML is a definite must. Also, it is highly productive to write all of your Storyboards and Triggers in XAML. They tend to grow rather quickly in size…

So, here’s how I break things up. I create a class in C# that subclasses ContentControl. Then, I create a XAML file with the same name that has a top-level element as ContentControl. Within the body of the XAML for ContentControl, I define my hierarchy in any way I see fit (naming any controls that need to be referenced in C#). And, within the Resources section of the ContentControl (still in XAML), I create any DataTemplates or Styles that I need. Obviously, all of the logic is within the C# that handles the hierarchy in the XAML. The trick for any XAML to be wired up to the C# comes in one quick method that you call from the constructor of your class ->InitializeComponent();. Remember, that’s where the tire hits the road…

Going even farther, I usually want custom events and DP (DependencyProperties) for my Controls within the hierarchy—like my items within the ListBox, so I create a Style for that. You may ask why I want custom events and DPs. The reason is that it is far easier to respond to Triggers and EventTriggers within a ControlTemplate than anywhere else. So, to get the custom events, I have to subclass the Control and add them (ListBoxItem for example). Then, in C# code, I can easily fire the event that will make that item fade in and out in opacity—which is a joke to wire up in the ControlTemplate.

I’m rambling at this point, but you get it…

Journalistic Integrity Revisited

LonghornBlogs.com - Wed, 2005/10/05 - 12:58am

I came across a post from colleague Ed Bott that got me thinking today. Since when did blogging trump journalistic integrity? More importantly, why the hell are people still listening to Paul Thurrott? He doesn't link to his sources (or even mention them, for that matter), he doesn't investigate anything her hears, he just posts whatever he can get his hands on (XP Reloaded, anyone?)... how does he even get access anymore? Cause Microsoft is afraid of him?

Ugh. Ranting aside, this brings up the need for some integrity in what we do here. You might say that I drink the kool-aid around here, and maybe I do. But there's such a thing as fact-checking and corroborating sources. Paul does nothing but plagarize everyone else's work, without even giving the author the courtesy of a link. He hasn't had an original thought since the first Bush administration. When is everyone else going to wake up and see that he's nothing but a hack who cares more about being first than being right?

But it's not just Paul. Ed quoted like 5 other sources who also didn't do any fact checking. I love Bink.nu, but Steven makes it a point of stating every chance he can that he's not an MVP anymore, and has no idea why. I'm guessing that posts like these might have something to do with it, although I must note that Steven changed his article after the fact to say it was "Paul's opinion." Steven said the article always has that title, and I apologize, because I thought he changed it.

You know, there ought to be a way to publicly rate bloggers based on their credibility, and they ought to get more press access for maintaining that credibility. Kind of like an MVP program for people who consider themselves "press". Those who report facts and respect embargos can get more access... those who don't sit outside. Maybe then News.com wouldn't get so many exclusives.

It seems like the desire to be first is trumping the desire to be right all over the establishment media... is this a sign of things to come? I sure hope not.

Looks like I fixed the comments just in time. Let the flaming begin.

BillG / Napoleon Dynamite Back and Better!

LonghornBlogs.com - Tue, 2005/10/04 - 2:21am

Well, my Bill Gates / Napoleon Dynamite spoof footage was a huge hit all over the web. It sucked pretty bad, though. Granted, it was shot on a dinky HP snap camera with no tripod... but it did the trick.

Well, I was able to get my hands on some super-high quality footage from a friend of mine, and now it's back online! The video's better, and more importantly, the audio is far better, so you can hear all the jokes. It's up on iFilm.com and MSN Video now... so enjoy!

The stakes are going up...

LonghornBlogs.com - Mon, 2005/10/03 - 9:37pm

I think you should use the technology that makes sense when you build a solution. If this is ASP, fine. If this is Flash, fine. If this is WinForms, fine. I really don’t care. Each platform was created for a specific purpose, and probably still survives because it does it rather nicely.

Interestingly enough, the number of cell phones sold each year outnumbers the total number of computers ever sold…So, you may ask why I haven’t jumped ship into the handset market. And, yes, I’m watching it very closely. But, for the most part, the technology just isn’t there to do anything interesting, yet. Simple animations are totally off-limits as it will eat the battery alive. Not to mention, the notion of a ‘Data Plan’ has yet to catch on as a commodity for carriers which means you have to spend an extra $20 a month just to get internet access. And, by now, you probably know that to have an interesting app, it must talk to the internet in some way. So…the technology and tooling just aren’t there yet, but it’s coming.

What else is out there? AJAX? Most people hypothesize this huge value-add in AJAX, something unprecedented (Web 2.0?). But, I think most people are missing it. Asynchronous method calls from within a web page are useful if you want to drag-and-drop to a shopping cart or something. But, the real issue is this. What’s so wrong with a page refresh? The fact that internet connections are increasing at an exponential rate means that a page refresh is a joke. I can refresh the page in a blink. So, you may wonder whether AJAX is such a necessary rage. I don’t think so. Don’t get me wrong, I’ll put it in my tool belt and use it where I think it makes sense, but I don’t think it’s a reinvention of the web by any means.

So, where do we go from here? Should I try to sneak in a pitch for Avalon, claiming the total reinvention of the client space? No—Avalon is not a new technology in the sense of old technologies. Avalon brings nothing new to the table other than this: it is a complete unification of the means to present and deliver a user experience. So, where is Avalon going to take you? Is it going to give you a new visual for your application? Maybe. Is it going to make the development of that visual easier? Maybe. But, contrary to popular belief, it is nothing more than that. There is definite power in Avalon. The problem is that most of the power is invisible. It is the fact that a truly emotional experience may be born into a software application without a technological barrier.

So, to get to the point, the value in the next generation of software is not in the platform space anymore (we have reached that with Avalon). The power is in the design (Visual, navigation, interaction, etc). The problem is that software will continue to be designed in large part by software developers—who on the one hand will never understand the user, and on the other, will probably never want to understand them. So, the predicament lies in a compromise of sorts, which is never to the benefit of the user. When a group is able to turn a software product into something more than 1’s and 0’s, which is all it has been until this day, we will truly be surprised. I think Apple has made a lot of innovation in this space, but they are far from the magnitude I imagine.

Good isn’t even close to good enough anymore. The line has been breached and there are going to be players left in the dark. You are faced with a simple decision, play in the new game, or don’t play at all. Do you know what it takes to make your application fun? How about sad? Or, what about powerful? Sure, I’m spouting off now, but these issues are something you should probably take note on.

It’s going to be a hard market out there. Having a solid development team that is faster than lightning helps none, if you don’t have a rock star design group. Beside the point, you have to have someone who shits gold. Otherwise, you just won’t survive. As I keep talking, the stakes are going up...

So, it’s going to be interesting to see who is on top next year, or the year after...

The stakes are going up...

LonghornBlogs.com - Mon, 2005/10/03 - 9:37pm

I think you should use the technology that makes sense when you build a solution. If this is ASP, fine. If this is Flash, fine. If this is WinForms, fine. I really don’t care. Each platform was created for a specific purpose, and probably still survives because it does it rather nicely.

 

Interestingly enough, the number of cell phones sold each year outnumbers the total number of computers ever sold…So, you may ask why I haven’t jumped ship into the handset market. And, yes, I’m watching it very closely. But, for the most part, the technology just isn’t there to do anything interesting, yet. Simple animations are totally off-limits as it will eat the battery alive. Not to mention, the notion of a ‘Data Plan’ has yet to catch on as a commodity for carriers which means you have to spend an extra $20 a month just to get internet access. And, by now, you probably know that to have an interesting app, it must talk to the internet in some way. So…the technology and tooling just aren’t there yet, but it’s coming.

 

What else is out there? AJAX? Most people hypothesize this huge value-add in AJAX, something unprecedented (Web 2.0?). But, I think most people are missing it. Asynchronous method calls from within a web page are useful if you want to drag-and-drop to a shopping cart or something. But, the real issue is this. What’s so wrong with a page refresh? The fact that internet connections are increasing at an exponential rate means that a page refresh is a joke. I can refresh the page in a blink. So, you may wonder whether AJAX is such a necessary rage. I don’t think so. Don’t get me wrong, I’ll put it in my tool belt and use it where I think it makes sense, but I don’t think it’s a reinvention of the web by any means.

 

So, where do we go from here? Should I try to sneak in a pitch for Avalon, claiming the total reinvention of the client space? No—Avalon is not a new technology in the sense of old technologies. Avalon brings nothing new to the table other than this: it is a complete unification of the means to present and deliver a user experience. So, where is Avalon going to take you? Is it going to give you a new visual for your application? Maybe. Is it going to make the development of that visual easier? Maybe. But, contrary to popular belief, it is nothing more than that. There is definite power in Avalon. The problem is that most of the power is invisible. It is the fact that a truly emotional experience may be born into a software application without a technological barrier.

 

So, to get to the point, the value in the next generation of software is not in the platform space anymore (we have reached that with Avalon). The power is in the design (Visual, navigation, interaction, etc). The problem is that software will continue to be designed in large part by software developers—who on the one hand will never understand the user, and on the other, will probably never want to understand them. So, the predicament lies in a compromise of sorts, which is never to the benefit of the user. When a group is able to turn a software product into something more than 1’s and 0’s, which is all it has been until this day, we will truly be surprised. I think Apple has made a lot of innovation in this space, but they are far from the magnitude I imagine.

 

Good isn’t even close to good enough anymore. The line has been breached and there are going to be players left in the dark. You are faced with a simple decision, play in the new game, or don’t play at all. Do you know what it takes to make your application fun? How about sad? Or, what about powerful? Sure, I’m spouting off now, but these issues are something you should probably take note on.

 

It’s going to be a hard market out there. Having a solid development team that is faster than lightning helps none, if you don’t have a rock star design group. Beside the point, you have to have someone who shits gold. Otherwise, you just won’t survive. As I keep talking, the stakes are going up…

 

So, it’s going to be interesting to see who is on top next year, or the year after…

Comments Fixed - Let The Flaming Begin!

LonghornBlogs.com - Mon, 2005/10/03 - 7:14pm

I finally figured out how to fix the comments on the site. It turns out that one of the comment skins was missing an ASP.NET Server Control. I was finally able to compile and install a debug version of the site, which helped me track down the error.

So now that you can post your opinions again, please try to keep it civil, ok? Rudeness, profanity, etc. are not necessary to prove you point... and if you think they are, then we'll exercise our right to excercise the delete button.

Syndicate content

Warning: INSERT command denied to user 'dbo232544940'@'74.208.16.41' for table 'vno_dru_watchdog' query: INSERT INTO vno_dru_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>INSERT command denied to user &amp;#039;dbo232544940&amp;#039;@&amp;#039;74.208.16.41&amp;#039; for table &amp;#039;vno_dru_sessions&amp;#039;\nquery: INSERT INTO vno_dru_sessions (sid, uid, cache, hostname, session, timestamp) VALUES (&amp;#039;20e93badc07e8df73be14ea971ed6e1f&amp;#039;, 0, 0, &amp;#039;38.107.191.81&amp;#039;, &amp;#039;&amp;#039;, 1283850637)</em> in <em>/homepages/26/d126321691/htdocs/drupal-5.6/includes/database.mysql.inc</em> on line <em>172</em>.', 2, '', 'http://www.vistanews.org/cms/news?page=5', '', '38.107.191.81', 1283850637) in /homepages/26/d126321691/htdocs/drupal-5.6/includes/database.mysql.inc on line 172