Issue: Markus Egger Talks Tech

  • Spring 2000 Editorial
  • COM+ introduces a new way to architect and extend applications:The COM+ Event Service. This service is extremely flexible and much easier to handle and maintain than all other COM based event models we've seen so far. They are especially useful for business events that can now be published throughout the system without losing any control over business rules.
  • Applications grow more and more complex, while turnaround times get shorter and higher quality is expected.Application boundaries are becoming blurred since data has to be available throughout the system in a seamless fashion. Data also has to be available in distributed environments, and as if that weren't enough, distributed systems are also expected to work when connections are down! How do you keep up with all of this?
  • Summer 2000 Editorial Article
  • COM+ gives the developer a way to build a flexible and powerful security system into applications without having to write a lot of custom code.This article will examine how to leverage the power of the COM+ security model.
  • Microsoft has recently announced that the next version of Visual Basic will support inheritance.Visual FoxPro has had inheritance for the past 5 years, since Version 3.0, and Visual C++ has always had it. This article will take a closer look at what inheritance is and what it will mean for Visual Basic 7.
  • Windows DNA (as well as the recently announced .NET), and component based development in general, are fascinating approaches to application development.They provide great flexibility, scalability and freedom of distribution. Unfortunately, there has been a substantial delay in the widespread implementation of DNA applications. Surprisingly, the responsibility for this delay seems to lie with developers...
  • Fall 2000 Editorial Markus Egger and Rick Strahl
  • Automatic asynchronous messaging is an important technique for scalable, component-based applications.Microsoft provided its first asynchronous messaging mechanism in the form of Microsoft Message Queue Server (MSMQ). This technology is the basis for Queued Components, a COM+ feature that makes asynchronous messaging as simple as calling regular COM Components.
  • Business-To-Business (B2B) communications are rapidly becoming an essential component in today's economy.Some say B2B transactions will soon outnumber Business-To-Customer (B2C) transactions. While we have learned how to do B2C quite efficiently, B2B presents an entirely new set of challenges that we have yet to resolve. Previous attempts were successfully used, but were too expensive to be used as often as B2C. Microsoft tries to resolve this dilemma with Microsoft BizT...See More
  • Markus Egger Fall 2000 Services Article
  • HTML and XML have made the Internet what it is today, but both technologies are not necessarily tied to the Internet.Quite the contrary! Using HTML in regular Windows applications has always been a great alternative. Paired with XML and XSL, this technique is more powerful than ever, since there are a growing number of XML sources, such as SQL Server, Web Services, and XML-enabled Business Objects.
  • Inheritance is the single most important new object-oriented feature in Visual Studio.NET. Surprisingly, not much has been written about the subject, and most of the information available is either very basic and an "overview" at best, or just plain misleading. In this article, I give you a real-world overview of what inheritance - especially visual inheritance, can do for you.
  • In previous issues of Component Developer Magazine, we have introduced technologies such as Queued Components, COM+ Security, Loosely Coupled Events, SQL Server 2000 and BizTalk Server.Each of these represents a fascinating myriad of possibilities. But, how do you put all of them together to build a real-life, highly reliable, 100% available distributed application?
  • Inheritance is one of the most fascinating features in the Visual Studio.NET languages. We have discussed this feature in several articles in the past, mainly to explain the basic concepts. Now we are going to take a look at what inheritance can actually do for you, rather than how it works.
  • As developers, we're used to data sitting in tables and databases.However, this is not how data exists in the real world?it's merely how developers want data to appear. Typically, data resides in documents and forms, emails and spreadsheets. Smart Tags are Microsoft's first serious attempt to utilize that kind of information and make it available to knowledge workers in a sensible fashion.
  • For the first time ever, Visual Studio has a language independent Integrated Developers Environment (IDE), which includes a number of new productivity enhancements. However, many of the most powerful features are not obvious.
  • During the Visual Studio .NET Launch February 13 at VSLive! 2002 in San Francisco, Markus Egger and David Stevenson of Component Developer Magazine interviewed a panel of Microsoft personnel about the concept of developer communities.In this free-ranging discussion, we learned how Microsoft desires to support and encourage the growth inside developer "ecosystems" by focusing considerable resources on "community outreach."
  • .NET My Services is Microsoft's first attempt at creating a professional, commercial and widely available Web Services platform.The .NET My Services umbrella hosts a number of different Web services, such as a Calendar service, a Contacts repository, and much, much more. These services are major building blocks for the "Everywhere, Anytime" vision, but best of all, they are relatively easy to implement and use in your own applications and Web sites!
  • This article explains in depth how to implement multi-threading in your .NET applications.
  • Markus Egger discusses the current state of development (2004) and how Visual Studio .NET and Visual FoxPro fit in.
  • The series of test conducted here are based on the "String Processing with VFP" article published in the Spring 2000 issue of CoDe Magazine.
  • Visual FoxPro developers have been using an event-based methodology for a very long time.For most purposes, events are what drive the development effort. The user clicks a button, causing an event to fire, and the developer writes code to react accordingly. All of this happens very transparently and without difficulty for either party. However, from a developer's point of view, there also isn't much flexibility in this approach. But in VFP 8, event handling is changing for the better.
  • Since the earliest versions of the Windows operating system, all Windows have been rectangular.However, the number of applications that break out of this boring mold is rising. Even Microsoft, the king of rectangularity, is starting to create applications that use shaped windows, such as Media Player. Unfortunately, creating shaped forms has always been quite tricky. Until now that is! The .NET Framework and the Windows Forms package in particular make it easy to produce...See More
  • With the introduction of Visual FoxPro 3.0, error handling in VFP changed substantially.Rather than using "on error" statements, "state of the art" error events became available. Now, 7 years later, more sophisticated error handling mechanisms take center stage as Visual FoxPro 8.0 introduces structured error handling.
  • C# has always had a reputation as a clean language with lots of innovation.The Whidbey-release of Visual Studio .NET ships with a new version of the C# compiler that has a number of great new features. Some of them will be implemented as generic runtime features that will show up in other languages as well, and some are truly C#-specific. All of them originated in the C# camp. In this article, I will shed some light on my three favorite new features.
  • In graphical user interfaces such as Microsoft Windows, drawing on the screen is an important task.Everything displayed on the screen is based on simple drawing operations. Often, environments such as Visual Basic abstract those drawing operations away from the developer. However, the same drawing operations still take place under the hood. In Visual Studio .NET, developers have easy access to that drawing functionality whenever they need it through a technology called G...See More
  • GDI+ is a technology that developers generally associate with Windows Forms applications because they use it to draw anything on the screen from custom controls to diagrams.However, you can also use GDI+ in ASP.NET Web applications whenever you want to serve up dynamic images. You can use GDI+ to create dynamic banners, photo albums, graphs, diagrams, and more.
  • In the last issue, I investigated GDI+ and how to use it for image manipulation in Web applications.This time around, I will look at the generation of brand new images using the same GDI+ technology and features.
  • In the Fall of 2002, Microsoft introduced Tablet PCs based on the popular Windows XP operating system.By default, this new platform includes applications with special Tablet PC features enabled, such as Ink Input and Pen-based operation. In order for this platform to become truly popular, third-party vendors will also have to ink-enable their applications. Luckily, this is a pretty straightforward task.
  • Markus Egger discusses mobile development and mobile devices.
  • Markus Egger discusses the use of inheritance in Visual Studio .NET applications, in particular WinForms apps.
  • Markus Egger talks about the needs to learn about the latest development technologies.
  • Markus Egger talks about TabletPC development.
  • Markus Egger discusses team development with Visual Studio 2005 Team System.
  • Markus Egger talks about developing secure applications.
  • .Net is a maturing platform. The first .NET alphas and betas went to a selected group of people years and years ago. At this point, we are approaching the third major installment of Visual Studio .NET (now called "Visual Studio 2005"). Surely at this point, nobody has to explain what .NET and the Managed Platform is. Or do we?
  • Many companies have been relying on COM components in the last couple of years. That includes Microsoft.Using COM components made it possible for different programming languages to reuse logic between them, by agreeing to a standard defined by the COM specification.
  • Markus Egger interviews Steve Ballmer
  • Wow, another year has gone by, and as you read this, you are probably returning to the office after a few more or less relaxing holiday time spent with friends and family and a New Year's celebration. Interesting things have happened in our industry in the last 12 months, but I predict that the next 12 months will be quite a bit more interesting! Seldom before have I been as excited about new technologies and developments as I am now.
  • If you have been involved in a new software development project during the last five years ? and if you read this article, chances are you have ? then you have probably been faced with the question "Web application or Windows® UI?" And in the vast majority of cases, the answer to this question was probably "Web application." For modern, enterprise-wide systems there were simply many reasons and issues that made it hard to implement the desired feature set in a convention...See More
  • And discover why and when you should use .NET.
  • Brian Kernighan [1] once said, "Debugging is twice as hard as writing code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." This quote gets a little giggle out of most developers, but on the serious side, there is a lot of truth in it. Writing code that does cool or useful things certainly is much easier than writing code that does cool or useful things reliably.
  • Discover the differences and similarities between Visual Studio .NET and Visual FoxPro.
  • Markus Egger discusses the new Aux Display feature supported in Windows "Longhorn".
  • If you're starting to work with Visual Studio .NET, you'll find you have a head start when it comes to inheritance.Here are some of the differences.
  • Markus Egger discusses declarative programming
  • Learn about different types of variables, and what it means to perform boxing, unboxing, and casting operations.
  • Markus Egger discusses the importance of a solid basis of knowledge.
  • Polymorphism is the use of multiple objects with the same methods that do different things.Interfaces let you create flexible architecture in your application. Find out how these concepts differ in Visual FoxPro and Visual Studio .NET.
  • Markus Egger discusses the role of business logic in modern application architecture.
  • Unlike VFP, .NET forces you to give up control over the destruction of objects, but you get some benefits in return.
  • Markus Egger discusses user interface technologies developers should familiarize themselves with.
  • Find out how your knowledge of visual inheritance in Visual FoxPro can help you take advantage of Visual Studio .NET's slightly different model.
  • You're familiar with instance members in Visual FoxPro. Now find out how you can benefit from static members in Visual Studio .NET.
  • Markus Egger discusses the evaluation of new technologies.
  • To help you understand .NET development from a Visual FoxPro perspective, this article introduces you to the concept of enums and shows you how to use them to improve code quality.
  • Events play a larger role in .NET than they do in Visual FoxPro. Learn how events work in the .NET world to write powerful applications.
  • C# 2.0 just shipped with a number of interesting new features: anonymous methods, nullable objects, iterators, partial classes, generics, and others. But the innovation does not stop there! Microsoft (and Anders Hejlsberg in particular) have already allowed us a sneak peek at some of the new features that will be available in C# 3.0.
  • To help you understand .NET development from a VFP perspective, this article introduces you to operator overloading and shows you how to apply it for powerful programming in .NET.
  • At PDC 2005, Microsoft announced a new technology called Language Integrated Query (LINQ), which will be available with Visual Studio “Orcas” (the next version of Visual Studio). A lot of exciting new technologies are announced at every PDC, and as a result, LINQ got some attention, but not nearly as much as I think it deserves. LINQ represents the ability to run queries right inside of Visual Basic, C#, or any other .NET language.
  • Markus Egger discusses tools used to create WPF (Windows Presentation Foundation, formerly "Avalon") interfaces, in particular, WinFX Extensions for Visual Studio as well as the Microsoft Expression product line.
  • Markus Egger 5 Year Anniversary Editorial May/June 2005
  • If you are familiar with development on PCs using Microsoft’s tools, you know most of what you need to develop for Tablet PCs.The main addition in the Tablet PC development arena is that of Digital Ink and the features that go along with it, such as Ink collection, Ink management, and Ink recognition. There are also a few minor additional things, such as new user interface considerations and screen operation in portrait mode.
  • Being able to take handwritten notes or annotations is nice, but the real power of Tablet PCs comes from the ability to analyze and recognize digital Ink.Recognition of handwriting is important as it allows for the conversion of digital Ink into standard text strings. Ink analysis takes the concept a step further and adds spatial interpretation to the mix to apply further semantics. Gesture recognition enables the user to trigger real-time actions.
  • Standard Ink collection is incredibly easy using the Tablet PC SDK.For scenarios that require more control or non-default behavior, default Ink collection may not be the best choice. The Real Time Stylus API provides lower-level, higher performance access to stylus input, making this the API of choice for power-developers.Standard Ink collection is incredibly easy using the Tablet PC SDK.For scenarios that require more control or non-default behavior, default Ink collect...See More
  • In all but the simplest applications, data is stored in a central location and accessed over a network.However, in many scenarios, distributed applications can not assume a certain kind of network connection, both in terms of performance and reliability. In scenarios where users access their applications on mobile PCs, network connections may not be available at all. This introduces relatively complex data access scenarios with which modern applications need to cope.
  • Windows SideShow enables users to use PCs even when they are turned off.SideShow allows users to remotely control PCs and servers. It allows PCs to create interactive output on devices other than monitors so users can view useful data stored on their PCs when they are away from it. It enables users to interact with their PCs in scenarios that would previously have been very cumbersome, and allows for the creation of secondary display and interaction devices that would pr...See More
  • Tablet PC and Mobile PC development is very popular today, and it will get more popular and important in the future.For Mobile PC developers, there are significant changes coming in the near future, some in the Windows XP timeframe, others in Windows Vista. This article provides an overview over what’s on the drawing board or already available in technology preview builds.
  • Markus Egger discusses the need to create multi-threaded applications.
  • This whitepaper discusses strategies for managers converting Visual FoxPro (VFP) applications to .NET, and lays a foundation for producing an implementation plan.
  • Markus Egger discusses screen resolutions.
  • At PDC 2005, Microsoft introduced brand new technology known as LINQ, which stands for “Language Integrated Query.”The feature-set hiding behind this acronym is truly mind-boggling and worthy of a lot of attention. In short, LINQ introduces a query language similar to SQL Server’s T-SQL, in C# and VB.NET. Imagine that you could issue something like a “select * from customers” statement within C# or VB.NET. This sounds somewhat intriguing, but it doesn’t begin to communicate the power of LINQ.
  • With Windows XP Tablet PC Edition, Microsoft introduced more than just a powerful platform for users. Through the associated SDKs, Microsoft has also empowered developers to create advanced ink-enabled applications.Recognizer objects provide the means to recognize handwriting as text. Similarly, gestures can be recognized and interpreted in any way the developer desires. Other objects allow for the division of digital ink into paragraphs, lines, and segments. The combina...See More
  • The Windows Presentation Foundation (short WPF) is coming, and it will replace all Windows UIs as we know them today.This means that no developer can ignore this technology. This article provides an introduction to WPF both from a general point of view as well as from a Visual FoxPro specific angle.
  • For Visual FoxPro developers, data access represents the daily bread and butter. Data access is a core feature of Visual FoxPro (which after all is an xBase descendent) and nobody gives much thought to the ability to run a select-statement right within a VFP program.Most languages however (including .NET languages such as C# or Visual Basic .NET) are not as data centric and thus do not support data manipulation as a core language concept. At least until now. But all this...See More
  • At Mix 2007 in Las Vegas, Microsoft announced Silverlight (formerly known as WPF/E) to much fanfare. Silverlight is very intriguing in concept, as it further travels the path previously laid out by WPF (Silverlight’s big brother), and it aims to bring the worlds of Windows and Web development, as well as the worlds of software development and graphical design, much closer together. As more and more details emerge (and the first released version is now available), it beco...See More
  • Visual FoxPro’s (VFP) Data Manipulation Language (DML) is one of VFP’s most compelling features. It is also the most obvious feature VFP developers miss in .NET languages such as C# and Visual Basic. However, Language Integrated Query (LINQ), a new query language for .NET developers is a new feature in the upcoming releases of C# 3.and Visual Basic 9.0 that addresses these shortcomings.
  • CoDe Focus Mobile Editorial by Markus Egger
  • Article on Xiine by Markus Egger July/August 2007
  • With WPF and Silverlight, Microsoft provides both Windows and Web developers with powerful technologies to create rich, professional, and exciting user experiences.However, in general, developers aren’t graphical designers, leaving most developers wondering how to cope with this new world of designed interfaces and polished user experiences. But fear not! With Expression Blend, Microsoft provides a great tool to create such UIs, and even developers with no graphical tale...See More
  • Markus Egger/Tower 48 Advertorial
  • Markus Egger discusses the current State of WPF and Silverlight and the overall importance and acceptance of these technologies.
  • This is where you would normally expect our popular “Post Mortem” column: An interesting article that describes a project after it is complete and some interesting points about things that went well and things that didn’t. This month is different, however, because this is the 10-year anniversary edition of <i>CODE Magazine</i>! So while <i>CODE Magazine </i>isn’t a project that is “complete” and we certainly expect the magazine to continue on for a long time to come (bot...See More
  • July/August2010 Post Mortem by Markus Egger
  • ListBoxes suck. Except that statement is not true anymore. Not in WPF and Silverlight anyway, where ListBoxes have evolved from simplistic controls to true workhorse objects. ListBoxes have been around since the beginning of Windows (and other GUIs) and have served a pervasive yet simple purpose, which can be summed up as “show me a list of labels in a list with a scroll bar.” A premise that has its uses but is not sophisticated enough for advanced data presentation, ...See More
  • The CODE Framework is an open-source application framework by the makers of CODE Magazine. It is entirely free of charge. It covers a wide range of features that can be applied altogether or individually in an À la carte fashion. All of these features revolve around a single concept: Building advanced business applications in a productive and maintainable fashion while maintaining great application architecture. In this article, we are focusing on a subset of the CODE Fr...See More
  • In the last issue of CODE Magazine, we took a look at CODE Framework’s WPF features. This time, we are going to look at a completely different area of the framework: Creating business logic and middle tiers as SOA services. SOA is the cornerstone of many modern applications, creating systems that are more maintainable, flexible, and suitable for a wide range of scenarios, ranging from Windows to Web and Mobile scenarios using a wide variety of technologies, and outperfor...See More
  • A lot of new things are going on at CODE Magazine, both online and offl ine, and both directly associated with the magazine as well as efforts even more directly related to your development efforts. You may have already seen some of the things we do with CODE Consulting (www.codemag.com/consulting) and CODE Training (www.codemag.com/training), but today I would like to draw your attention to other things.
  • In a prior installment of this series of articles about CODE Framework (“CODE Framework: Writing MVVM/MVC WPF Applications”, Jan/Feb 2012), I discussed how to use the WPF features of CODE Framework to create rich client applications in a highly productive and structured fashion reminiscent of creating ASP.NET MVC applications, although with WPF MVVM concepts applied. In this article, I will dive deeper into the subject and discuss the unique benefits of the CODE Framewor...See More
  • The big news about Windows 8 is its new mode based on the Metro design language and UI paradigm. Metro apps are based on the new WinRT (Windows Runtime) and can be built in two distinct ways. One utilizes HTML5 and JavaScript, while the other uses XAML for the user interface definition and C#, Visual Basic, or native C++ as the language behind the scenes. Not surprisingly, the later has often been compared to other XAML-based setups, in particular Silverlight, but also W...See More
  • In prior articles, I have shown how to create WPF-based client applications using the CODE Framework and the default themes it ships with. This is a great way to create applications quickly yet make them very reusable and maintainable. However, using the default themes is just the tip of the iceberg. CODE Framework’s theming system is completely open and the default options are just that: defaults. And it turns out to be surprisingly straightforward to create your own themes.
  • In prior articles, I have shown how to create WPF-based applications using the CODE Framework and the MVVM and MVC patterns. This enabled developers to create quality applications quickly and in a fashion that can easily be understood by developers of all skill levels. In those articles I showed how to use view-models and views to create UIs. In this article, I am going to take this concept further by showing you how you do not even have to create new views and view-mode...See More
  • The CODE Framework WPF features (based on MVVM and MVC concepts) have become very popular amongst .NET developers, thanks to ease of development paired with a high degree of freedom, control and reuse. Another CODE Framework module takes these concepts and extends them into the domain of documents and printing. Many applications use third-party reporting products to create print and report output, and those products certainly have a good reason for existence and aren’t e...See More
  • If you have been following this series of CODE Framework articles, you are already aware that CODE Framework provides the ability to use, create, and customize awesome-looking WPF application themes that also make apps maintainable and easy to build. But not everyone wants to create brand new Themes or customize existing ones. Instead, why not just use one of the great themes that ship in the box?
  • CODE Publisher, Markus Egger, hijacks this issue's Editorial and discusses what technologies developers should spend time and resources on.
  • XAML properties don’t always behave as you think they might. Markus explains how they work and shows you some nifty ways to use these powerful tools.
  • Markus shows us why virtualization gets a bad reputation and how to clean it up.
  • There are a bunch of hot new tools in CODE Framework that you’ll want to explore, including a new theme, new View Actions, List improvements, a Flow Form layout, support for new versions of Visual Studio and the .NET Framework, and enhancements to the View Visualizer.
  • In the second article of the series, Markus talks about keeping your code readable and maintainable by controlling how often and where you reuse objects.
  • Most people troll the Internet for technical details, yet CODE Magazine manages to soldier on in print (and online). Markus takes a look at where we’ve been and what it took to get to where we are today.
  • Markus continues his series on anti-patterns with an interesting look at when to take advantage of certain techniques and when to give them a wide berth.
  • Just when you think a container is simple, your user resizes the screen and mayhem ensues. If you want to know what happened—or prevent it, better yet—read Markus’ piece about the XAML layout engine.