# Tuesday, 23 August 2011

Last month I was interviewed by Stephen Ibaraki for the IT Manager Connection. I talk about a bunch of stuff including: entrepreneurship, cloud computing, the business of Scrum certifications, speaking in the Middle East, and going to Nepal for charity. You can download the podcast on this page.

Interview Time Index (MM:SS) and Topic

:00:46:
Stephen, can you profile your eclectic history prior to your current role, and three valuable lessons you wish to share from these roles?
"....For entrepreneurs, recessions are the best time to start a business....You're never going to implement that original plan. Every startup needs to (what I call pivot); there's going to be some kind of inflection point where you and your cofounders see that the original plan is not necessarily going to work and will need to go to Plan B...."

:06:13:
Can you profile your current role and the value you are delivering through your products and services?
"....I make the argument from a business model point of view that when the gold rush was going on, a lot of people had train tickets out to California. The people who made all the money were the people selling the shovels to the people and that is actually what Telerik does. My job is to find new areas for shovels – whether it's do we invest in emerging markets, do we invest in different product lines? That is where the Strategy Officer title comes from...."

:08:30:
What are your top five tips for founding companies, engaging VC, and then selling companies?
"....Just get started.....Minimal viable build, ship early, ship often....You need less money than you think....Look for very low types of capital infusions in the very beginning....Don't get too worked up on the Letter of Intent...."

:16:36:
With your long history as company founder, CTO, chief strategy officer, what are your top leadership tips?
"....Leading by example....Symbolism is important....A problem with an employee is a problem or failure in management....A leader has to be personable and engaging....A leader has to make a team feel proud...."

:24:03:
As a certified SCRUM Master, what special insights and success stories can you share to benefit the audience?
"....I fully believe that you can 'bend the rules' and you don’t have to call it Scrum. Just say that I’m using an agile methodology that's based on Scrum and everyone will be happy...."

:26:20:
Let’s pretend I'm a listener out there and I want to be a certified Scrum Master. What are the 3 or 4 steps that I have to take to become a certified Scrum Master?
"....The first thing you need to do is to convince your boss to pay for it....All three of the groups that do the certification do a great job...."

:28:29:
What special tips can you share on .NET and SQL development?
"....The advice I would give is, take a look at SQL Azure which is the SQL server database that's up in the clouds. It has almost zero learning curve if you are using regular SQL server....Once you've gotten into SQL server and SQL Azure and exploring some of the CTP, then you can start to look at things like what does it mean by putting my application in the cloud and does it make sense?...."

:32:04:
What lessons can you share from each of these roles: Author, Microsoft MVP award recipient, Microsoft Regional Director, INETA speaker, and co-moderator and founder of the NYC .NET Developer User Group?
"....If you do a good job, at worst you are contributing to the community so that when you Google something and look for things in the community you'll get a response and at best, if you contribute a lot and do a great job you will build a name for yourself...."

:34:54:
In your current role, what are your top challenges and top opportunities?
"....My role is partly a senior management role so most of my challenges and opportunities are interwoven with the company....Challenges: Keeping the great culture of the company intact as we grow....Finding the right people....Communication....Opportunities: Emerging markets....Cloud plus business intelligence....Application Lifecycle Management...."

:39:25:
What specific technologies should business and IT executives be embracing today and in two years, five years?
"....We are entering the device plus cloud era...."

:40:36:
What are your current projects and what one lesson can you share from each of your major projects?
"....The biggest lesson from that is you make these assumptions that the markets you're entering are slightly different (maybe you need to localize the product into the local language and you're done), not realizing there are sometimes drastic cultural differences...."

:43:06:
Please make predictions for the future, their implications, and how we can best prepare?
"....The platforms that we use today will not exist in 5 years or if they exist (and they are called those things), they will exist just in name only. They will have to be radically rewritten to deal with the multi-core parallelism environment...."

:45:15:
What valuable insights can you share from the side of your life that encompasses Nepal, Mt. Everest, and charities?
"....If you are affected by an issue, go out and do something about it. You'll be surprised how many lives you can touch and how much of a difference you can make...."

:49:16:
What social lessons can you provide from the work that you have done in the developing world and the Middle East?
"....One of the things that you can do if you have speaking skills, go an speak at a Pakistani Developer's Conference....Connecting with the people, I've built relationships with which I still have to this day, which gives me a unique insight whenever there is unrest going on in these places...."

:51:36:
Why should IT executives attend the IFIP World CIO Forum or WCF? [Editor's note: For more information go to:www.worldcioforum.com; Call for papers; WCF news in the IFIP Newsletter].
"....When I go to these events I learn as much from my fellow attendees as I do from the lecturers. The event itself is only half of the equation, the other half of the equation is networking and learning from your fellow executives, peers and people you collaborate with...."

:53:52:
If you were to speak at the WCF, can you profile your expected outcomes from your talk?
"....I've always said I don't judge my sessions' success or failure at my software conferences by the evaluations that people submit....I judge the success or failure of my sessions by the number of emails I get from people after the session...."

:55:50:
What are your thoughts on computing as a recognized profession like medicine and law, with demonstrated professional development, adherence to a code of ethics, and recognized credentials?
[See www.ipthree.org and the Global Industry Council, http://www.ipthree.org/about-ip3/global-advisory-council]
"....I actually consider myself more of a libertarian, kind of like a Milton Freedman....The reason why I say that is if we went down the road of building a recognized profession in the way we have with medicine and law, then you will actually have true degree programs for software engineering. Today if you hire somebody with a Computer Science degree they're not going to really know how to write a line of business applications. They could build you a compiler and they could work at places like Google and Microsoft or Apple, but they're not going to want to go to work at places even like Facebook. They're not going to know about things like Semantic markup, Java and .NET the way that we use it in the business environment....."

:58:19:
If you were conducting this interview, what questions would you ask, and then what would be your answers?
"....Were you nervous the first time you went to Pakistan?....Did you take your laptop up Mt. Everest?....Do you need an MBA to succeed in this business?..."

posted on Tuesday, 23 August 2011 06:10:49 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, 22 August 2011

Announcing a unique opportunity coming to the Philadelphia metro area in early September 2011:
The Philadelphia Day of Agile Conference!
Building on the success of similar events over the past three years in the Midwest, Philadelphia Day of Agile is a single-day, three-track conference introducing the elements of Agile Software Development to newcomers as well as fostering stimulating conversation for those more advanced in the subject.
Conference Tracks
At this one day Conference on Saturday, September 10th, 2011 you will have the opportunity to attend sessions in any of three different tracks:

  • TRACK 1: focusing on those new to Agile
  • TRACK 2: targeting those with some agile experience who want to grow their skills
  • TRACK 3: for experienced agilists interested in exploring new horizons in their Agile adoption
  • There is a strong possibility for a fourth track that will focus on "hands-on" workshops for both beginner and advanced alike
PMI Professional Development Units Provided!

Are you keeping your PMI Certification current and looking to aquire Continuing Certification Requirements credits (http://www.pmi.org/Certification/Maintain-Your-Credential.aspx)?  This event offers six PDU's from PMI for attending!

Sessions and Speakers
This event features a great mix of national, regional, and local-area speakers with wide and deep Agile experiences to share!
Sessions include:

  • What is Agile and Why Should I Care? (Steve Bohlen)
  • The Testing Pyramid (Nancy Chacko)
  • Intro to Kanban (Jon Mills)
  • Selling Agile Into Your Organization (John Petersen)
  • Agile Teams - From Good To Great (David Bulkin)
  • Making Distributed Teams Work - Effectively, Even (Jim Holmes)
  • Help! There's a waterfall in my Sprint (Jim Schiel)
  • 5 Dysfunctions of Agile Teams (Bob Hartman)
  • Agile Project Owners - What Ails Them (Anupam Kundu)
  • Risk Adjusted Release Planning (Bob Hartman)
  • Introduction to Test Driven Development (James Bender)
  • Beyond Metrics (Andre Dhondt)
  • Enterprise Agility (Philip Japikse)
For a complete schedule for each track, see http://dayofagile.org/agenda
Registration Details

Attendance for this conference is $50 per person and covers the costs of the facility, breakfast, lunch, and beverages throughout the day.  Registration will remain open until all tickets are sold but seats are going fast so RSVP as soon as possible to guarantee yourself a seat at this exciting conference event!  Register now athttp://phillydayofagile.eventbrite.com
Register before midnight on August 28 and be entered to win a 5-User License for Telerik's TeamPulse ($1,295 value), or a Telerik Ultimate Collection License ($1,995 value)!
For the most current information, please see http://www.dayofagile.org orhttp://phillydayofagile.eventbrite.com.

posted on Monday, 22 August 2011 20:43:18 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, 19 August 2011

A few days ago in Part I of this blog post, I described how we are moving into a new era in application development, the Device+Cloud (D+C) era. I mentioned how just like 15 years ago we had the “Windows or Web” debate, we are now having the “Native or HTML5+JS” debate. Just like 15 years ago, the answer is that we should take a hybrid approach. Some projects will require the reach of HTML5 and others will require the tight OS integration and custom experience of a native app. Some companies will build a HTML+JS version of their app for broad distribution and then choose to build some native apps on popular devices that they are specifically targeting. Think of Amazon’s Kindle Cloud Reader built in HTML5 and its native Android tablet app.

I know many developers that are throwing their lot behind either HTML5+JS or Native. They should be learning and supporting both. If you believe the rumors about Windows 8, they take a hybrid approach where you can write apps in either a “native” XAML or HTML5+JS approach. That said HTML5+JS is a technology that is here to stay. This leads us to the problem with building HTML5+JS applications today.

The problem with building HTML5+JS Applications 

Building an HTML5+JS application will undoubtedly involve using jQuery due to its ease of use and near ubiquity. That said, you have to wire up a lot of different components to get your application up and running. Depending on your application, you may need things that are not part of the core jQuery libraries, including:

  • Templates
  • Data Binding
  • Data Source
  • Localization
  • Validation
  • Drag-and-Drop APIs
  • Universal touch support
  • UI widgets

Here lies the fundamental problem with HTML+JS development with jQuery today: there is no underlying framework or “base class library” that provides all of these services. Many libraries/plugs-ins/frameworks exist for each of the services I listed above, however, you have to search Google for the best one to provide the service you need, then learn, master, code, and distribute it. Each will work similarly, but have subtle differences, especially when you integrate them with your application. You may spend a long time learning a popular framework for localization, however, on your next project at a new company, find that it is either incompatible with what you are doing or not the preferred framework at that shop.

A new, modern, one-stop shop for HTML5 plus JavaScript development

At Telerik, we saw this problem and decided to build a complete framework to address this issue. We recently released a beta of Kendo UI, a HTML5, CSS3, and JavaScript-based framework for building modern HTML apps. As we said when we launched, it, Kendo UI combines the best of emerging HTML5, CSS3, and JavaScript technologies with robust, cross-browser techniques to deliver a framework that is both powerfully rich and broadly compatible with older browsers.

Kendo UI combines everything that a developer needs to build a rich JavaScript app, eliminating the traditional challenge of manually researching and combining all of the needed plug-ins, frameworks, and libraries needed to build apps. Kendo UI includes rich UI widgets, a JavaScript DataSource, fast Templates, cross-device Drag and Drop API, Build in Touch support (great for mobile development!), and more.

image

Just to prove that I am not all talk, check out our live demos here. You can also download the beta and to get started all you need is a text editor, nothing else.

Telerik: Our Strategy has NOT Shifted

If you know a bit about Telerik, you would know that we are famous for our user interface components and developer productivity tools on the Microsoft .NET platform. You may be thinking, “Telerik’s strategy has shifted, they are now offering non-Microsoft technology.” While Kendo UI is our first developer product not reliant on .NET and truly cross platform, it fits right into our core competency and sweet spot: making developers more productive. At Telerik we have a passion to make the developer’s life easier. Why? We are a company made up of developers! Smile

If you are a long time Telerik customer, you may be thinking that we are abandoning our Microsoft product lines or we are taking sides in the Silverlight v HTML5+JS debate. As our CEO said last week, our strategy has not shifted and we will continue to innovate and release our industry leading .NET developer components. We will continue to innovate and release everything including “older” technologies such as Windows Forms. As Microsoft evolves its XAML tools, including Silverlight, we will continue to innovate and evolve our XAML tools as well.

As Kendo UI matures and gains traction, expect to see some tight integration with Kendo UI and some of our existing products. In the future as a Telerik .NET customer, you can have the best of both worlds, choosing to use Kendo UI as the front end on some of our existing platforms. If you come from a non-Microsoft background, you can use Kendo UI independently.

We are not taking sides in the “Silverlight vs HTML5+JS” or “Native v HTML5+JS” debates. At Telerik, we hold the view that I spoke about in Part I of this blog post: modern developers will have to take a hybrid approach and build some applications using HTML5+JS and some with more rich technology, such as our XAML tools. This is clearly the direction that Windows 8 is taking, allowing you to build applications with both HTML5+JS or .NET/XAML. As the modern developer evolves, so are we at Telerik. I hope you enjoy Kendo UI, let us know how you like it, your feedback will determine its roadmap.

posted on Friday, 19 August 2011 02:50:39 (Eastern Daylight Time, UTC-04:00)  #    Comments [5] Trackback
# Tuesday, 16 August 2011

Roughly speaking, we have had four “eras” in the computing industry, each era defined by the dominate platform at the time. The eras were:

  • Mainframe
  • Minicomputer
  • Client-Server
  • Web

I believe that we are now entering a 5th era: the Device + Cloud era. Simply said, the Device + Cloud (D+C) era is defined by users having multiple devices and running thin applications that share data via the cloud on each of them. As your use of the devices goes up, you rely on the applications more and more.

I have five devices that I use and travel with: a Zune HD, a Kindle, an iPad, an Android 2.3 Nexus One Phone, and a Lenovo Laptop computer running Windows 7. Since my Zune and Kindle are dedicated devices for one purpose (even though that they try to be more), I use my Nexus One Android, iPad, and Lenovo as my primary computing devices. I use similar apps on all three devices, apps that use the cloud for execution and storage. Examples of apps that I use on all three devices that I can’t live without are TripIt, GMail and Evernote. These apps represent the future of software development: cloud storage, cloud “logic” engine exposed via an API, and multiple native clients.

Applications in the Device + Cloud Era

While email, social networking, and travel apps were the early adopters of this paradigm, I consider Evernote to be one of the “killer” apps of the Device + Cloud era. (There are several other killer apps, but I will focus on Evernote for this discussion.) By looking at how I interact with Evernote, the Device+Cloud paradigm will become more clear.

I interact with Evernote in one of four ways. For my job at Telerik, I spend a lot of time in front of my laptop. At any given time I have four applications open: Chrome, Skype, Evernote, and Tweetdeck (as well as a VPC with my development environment). I use Evernote as my main “writing” client, writing out memos, keeping lists of stuff to do, blog post drafts, and archived PDFs of important documents, etc. I share notebooks with my wife that lists of the wines we have tried, what songs we are going to play at our wedding party, and of course the grocery list. My interaction with Evernote is with its native Windows client. It gives me the ability to copy and paste, use rich formatting, drag and drop, right click menus, and all the things you would expect with a Windows application.

image

Later in the day when I am out and about, I use Evernote on my Android. This too is a native Android app and it takes advantage of the Android operating system, giving me tight integration with the OS and a live widget to sit on my home screen. It is touch integrated as well its UI is tailored to take advantage of the Android system. When I am at the store, I look at Evernote for the items I need to buy as well as look up the passcode to my apartment buzzer. As I cross off items on my to-do list in Evernote, I update the note on the fly. Also when I see something and want to remember it for later (like a friend telling me the name of a good book or movie), I make a new note.

I also interact with Evernote on my iPad. I use my iPad mostly for reading the newspaper, Flipboard, Hacker News, and email or watching TED videos while lying in bed. (I know Steve Jobs had a grander vision for the iPad, but that is my reality.) The iOS also has a native Evernote client. The client there is visually stunning and multi-touch enabled, but slightly behind the other clients, not allowing rich text and media editing. I usually jot down notes while reading in my Evernote iOS client.

Lastly, I also interact with the Evernote Web app. Usually when I am trying to log onto Telerik’s VPN from an Internet Café in some far away place like Nepal and I need to look up my VPN password stored in an Evernote note (please don’t tell the Telerik Admins this!)

Evernote is a productivity app, not a Facebook client, so it is no longer easy for the “mainstream” to ignore the new era. To be fair, they have not, I interact with native clients on my devices for my bank, credit card, airline, brokerage account, the Hong Kong public transportation system, local TV station, as well as “official” apps from my favorite sports teams, etc. The D+C paradigm may have been started by social media, embraced by start-ups next, but it is now going mainstream.

Application Development Complexity in a Device + Cloud World

Building an application is no longer so simple in the D+C world. Evernote is making use of several different technologies to build its client natively on each platform. This is not a huge problem since most of Evernote’s core is in the cloud. Evernote has backend storage, upload, synchronization services, and user authentication and authorization services in the cloud. They also have APIs to expose all of this so most of the logic of the application is pushed to the cloud. (As a bonus, they get to expose their API to 3rd party developers who get to build on top of the Evernote API, but that is a benefit of the D+C era that we can talk about in a different blog post.) Evernote then has to build a thin client for each platform that it targets, the clients are mostly UI components that call the services and APIs in the cloud.

While Evernote chose to build native clients for each platform in order to get the richest experience and best performance, they could have chosen to have a single client written in HTML5 using JavaScript to call the back end services and APIs. This is a popular route taken by many these days due to the cross platform nature of HTML (every device these days supports HTML5+JS) and developer familiarity with HTML and JavaScript.

Native v HTML5

Building applications in the D+C era will come down to two choices: Native v Web (HTML5+JS). Each has their own advantages and disadvantages. Native gives you the most fidelity, platform flexibility, tight integration with host OS (think of status bar notifications), and the best performance. However, you have to maintain separate code bases for each device you target as well as master multiple platforms (and languages). Web/HTML5+JS gives you one code base to use across multiple platforms. HTML5+JS will give you a faster time to market. HTML5+JS is also a “one size fits all” approach, where the app may not “fit” well with the native OS. (Just look at any Web app that was built with the iPhone in mind on an Android of WP7 phone, it just feels wrong.)

I am not going to take any sides in this debate since I feel that there are needs for both approaches. Companies will weigh the pros and cons of each approach and sometimes choose to go native and sometimes choose to go HTML5. They may also choose a hybrid approach like some other popular apps have done where they have both an HTML5 application and a native application (see the Kindle and BBC news on the iPad for example.)

Developers today will find themselves working on a project that requires a Web/HTML5+JS approach and on their next project having to brush up on objective-c and Java and take a native approach. Just like if you were a developer in the late 1990s, you had to have solid Windows client/server programming skills as well as solid Web skills.

I have seen many blog posts indicating that you should forget native and only build cross platform web apps. I have seen many blog posts saying the opposite. I think both are wrong, you will have to embrace both in the D+C era. In my next post I will take a look at the state of building applications with HTML5 plus JavaScript.

posted on Tuesday, 16 August 2011 21:27:17 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Tuesday, 09 August 2011

Thursday, August 18, 2011
Developing A Windows Phone Application Using Windows Azure

Subject:
You must register athttps://www.clicktoattend.com/invitation.aspx?code=155740 in order to be admitted to the building and attend.
You are building a Windows Phone application but what would happen when millions of consumers start to use your application? To plan ahead for the huge number of users your application might attract, a more robust architecture must be considered. Windows Azure is exciting platform that empowers you as the developer to off-load the infrastructure needs to the cloud and helps you focus on building an application. In this session, you will learn to build Windows Phone Notepad application that will utilize the WCF RESTful service layer with SQL back-end built in Windows Azure cloud.

Speaker:
Henry Lee, NewAgeSolution.Net
Henry Lee is founder of NewAgeSolution.Net and is passionate about the technology. He is also the author of the book Beginning Windows Phone 7 Development from Apress (http://bit.ly/wp7apress). He works with various Fortune 500 companies delivering mobile applications and rich internet applications. He recently formed start-up company called ToeTapz.com focusing his energy on delivering mobile applications to the consumers. In his spare time, he dedicates his effort to help his .NET community by delivering sessions at the technology events. He enjoys talking with other technologist about current trends in the technology and sharing business insights with fellow colleagues. Often you will find Henry at local cigar bar enjoying a cigar and a drink trying to come up with next big mobile application.

Date:
Thursday, August 18, 2011

Time:
Reception 6:00 PM , Program 6:15 PM

Location: 
Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

Directions:
B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Tuesday, 09 August 2011 04:43:47 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, 08 August 2011

When people think about Kanban, they usually get the impression that Kanban is either an inventory control mechanism or a system to manage an assembly line of workers. This is due to Kanban’s historical roots as part of Lean Manufacturing and the Toyota Production System.

When I talk about Kanban, especially in reference to using Kanban with software development, I stress the importance of flow; how you pull items through the production system while limiting the work in progress. My favorite thing about Kanban is the Kanban card itself. Kanban gets its name from the card; Kanban translated from the Japanese means “signal card”. According to Lean definitions a Kanban card contains information about a part used in production. It is a signal that tells someone upstream to order more of that part, or move more of that part (from inventory to a production queue for example), or build more of that part. In essence a Kanban card is a visual signal that triggers an action to happen in the workflow.

Kanban has evolved to be used outside of the manufacturing world and has started to gain acceptance in software development. Kanban is also being used in operations outside of manufacturing and software. In his book, Kanban, David Anderson described how Kanban is used to do crowd control at the Imperial Gardens in Tokyo, limiting the inventory or “work in progress” (visitors.)

IMG_20110806_123850I had a similar experience this past weekend in Japan. I was on a short weekend vacation in Tokyo with my wife. What had started out as a trip to watch some professional Japanese Baseball, slowly was evolving into a shopping trip for my wife. Hot, tired and trying to avoid shopping for shoes, I suggested we duck into the local Starbucks. As my wife snagged us a table, I tried to order by pointing, smiling, and hand jesters. Somehow I was able to order my old reliable a Tall Soya Chai. After I paid, I was handed my receipt (never walk away in Japan without first taking the receipt) and a strange looking card.

I did not really know what this card was for, but it did say “Soymilk” in English as you can see from the photo. I was intrigued and figured that maybe it was information about the Soya Milk that they use or maybe it was something about the organic certification.

 

Then I figured that it was probably some rock star Japanese targeted marketing, the Soya Milk company probably paid Starbucks to place an advertisement for their soya milk so you can buy it for use at home. I decided to flip it over since, this being Japan, I figured that there was probably a bar code for my Android phone to scan and I can see the ad. I wanted to see if there was a link to buy it, with a discount, with one click. (I’m sorry, but this is how my mind works.)

To my shock, when I turned it over, I realized that I was holding not a marketing ad, but a real-life Kanban card! The back of the card read in both Japanese and English: “Please hand this card to our Barista at the hand off.” It went on to say at the bottom: “We sincerely serve our soymilk beverages to our customers by using this card to prevent milk allergy incident.”

IMG_20110806_123858

Wow! As someone with a milk allergy and someone who teaches Kanban, I was blow away. I have been drinking Soymilk Chai for almost 10 years and have been to tons of Starbucks around the world and never have been given anything to signal to the Barista that I received the correct beverage. (Actually I find that the Barista’s in New York consistency screw up my order.)

Now you may be thinking, “Steve, this is a stretch. Kanban is about work in progress and just in time delivery, not coffee.” At the surface you are correct, but Kanban is about using a physical visual signal card (Kanban Card) to trigger an action in a workflow. Usually this trigger is to order more inventory. Sometimes that inventory is car tires (as in the assembly line in Toyota) and sometimes it is people (as in David Anderson’s visit to the park.)

In this case, Starbucks in Japan (I went to several other Starbucks to be sure), uses Kanban to manage the ordering, making, and drink pick-up workflow by verifying (or limiting the work in progress) inventory of Soya beverages made. In the “Soya” case, the cashier starts the workflow by processing the Soya request and gives the Kanban card to the customer and alerts the Baristas to the order. When the customer hands the Kanban card back to the Barista, one Soya beverage is removed from the queue; the number of Kanban cards must equal the number of Soya beverage inventory at the counter. In essence, the Customer “pulled” the work (the Soya beverage) through the system and the Kanban card is ensuring quality.

Remember, a Kanban card is about a visual signal that triggers an action in a workflow. The Soya Milk Kanban card signals to the Barista that they must remove one Soya drink from the inventory of drinks in front of them. (If you have ever been to Starbucks, you know that the Barista may have 5 or even 10 drinks in front of them in “inventory” at any given time.) When you look at this system as a whole, it is pretty simple, yet brilliant. Maybe we can start to use visual signal cards as part of the QA process in software development. I left Japan inspired by Starbuck’s embracement of Lean manufacturing and Kanban for quality!

PS: I tried to bill my employer, Telerik, for the drinks I consumed in Japan this weekend on an expense report, saying it was “market research”. When my expense report was rejected, they told me that the accounting department is now using a Kanban system to maintain quality and my expense report was flagged. Winking smile

posted on Monday, 08 August 2011 03:33:04 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Thursday, 14 July 2011

Thursday, July 21, 2011
WPF Validation - Techniques & Styles

Subject:
You must register athttps://www.clicktoattend.com/invitation.aspx?code=155685 in order to be admitted to the building and attend.
Of all the things that WPF gives us, a validation framework is not one of them. There are a few different ways of capturing validation information and providing rules for validation and there are many ways of displaying broken validation rules. In this session, I'll show you what WPF offers in the area of validation, how to include validation in your View-Models when using MVVM, and a few different styles for elegantly reporting validation errors to the user.

Speaker:
Miguel Castro, IDesign
Miguel Castro is an architect with IDesign with over 26 years of experience in the software industry. He’s a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider. With a Microsoft background that goes all the way back to VB 1.0 (and QuickBasic in fact), Miguel speaks regularly at numerous user groups, code camps, and conferences in the US and abroad. He has also been featured on the technology talk shows, .NET Rocks, .NET Rocks-TV, Microsoft’s ARCast, and The Polymorphic Podcast on numerous occasions. He specializes in architecture and development consulting and training using Microsoft technologies. Miguel is also a regular author with CoDe Magazine and a proud father of a very computer savvy 7-year-old girl.

Date:
Thursday, July 21, 2011

Time:
Reception 6:00 PM , Program 6:15 PM

Location: 
Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

Directions:
B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Thursday, 14 July 2011 02:27:10 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Tuesday, 05 July 2011

A few weeks ago I was in the Telerik cafeteria at our world headquarters in Sofia, Bulgaria, and a colleague walked up to me and asked: "Is Silverlight dead?" I replied: "No, but it has seen better days."

Since Silverlight's absence from last year's Professional Developers Conference (PDC) in Redmond, WA, the infamous "our strategy has shifted" comment made by Microsoft Server and Tools Division President Bob Muglia, Scott Guthrie's move out of DevDiv, and the recent reorg of the XAML team, the community has been in an uproar assuming that Silverlight is dead. So the community has voted, Silverlight is dead and HTML5+JavaScript is the future.

First a few words on HTML5 + JavaScript

Many people in the IT industry assume that HTML5+JS is the future of software development. While it would be easy to say HTML5+JS is the absolute future of software development, HTML5+JS still has its limits coming from its roots as a rendering platform with some scripting, communication attached. While I feel HTML5/JS will be huge and have a place in every developer’s toolkit (just as HTML4+JS (AJAX) does), to build true LOB applications, you will need more power, just as you do today.

HTML5+JS is finding its sweet spot with media, interactive content apps on the web (think Google Maps) and cross platform apps for mobile devices. While Microsoft is fully embracing HTML5+JS, I can never see them making it their main development strategy; Microsoft would never cede its development strategy to a standards body or a 3rd party. Realizing this, Microsoft is going to have a development platform that embraces and extends HTML5+JS, just like .NET/ASP embraced and extended HTML5+AJAX.

I think that all of the recent focus on HTML5+JS by Microsoft is to hook the non-Microsoft developers who know nothing about Silverlight or .NET on the Windows 8 Tablet and get them building apps to compete against Android and iOS. I believe that what will evolve is that for the developer ecosystem is that HTML5+JS will primarily be used for building "apps" on the Tablet, but not for "real" line of business applications on the Web, “native” Windows, and XBox. 

Is Silverlight Dead?

I will admit, when Steven Sinofsky and Co were showing off the new Windows 8 operating system and all of the HTML5+JavaScript developer hooks, I was tempted to join in the "Silverlight is dead" chorus. After some deep thought, I realized that rather than killing off Silverlight, Microsoft may have something else in store for us. If you read in-between the lines and take with a grain of salt what the blogs say, it is possible to draw some conclusions about the future of XAML and Silverlight. 

One popular blog talks about a new native user interface library, DirectUI, that builds on top of the native Direct2D and DirectWrite APIs that were introduced with Windows 7. According to the blog, a new platform code named "Jupiter" is part of Windows 8 and is a "Native XAML" runtime that runs on top of DirectUI.

If the blog about the Native XAML and DirectUI/Jupiter project is true, then re-org of the XAML team makes complete sense. In case you missed the leaked news, the XAML runtime team at Microsoft is moving to join the Windows team, the XAML runtime team for Windows Phone 7, Xbox, and browser plug-ins is moving to the Windows Phone 7 team, and the XAML tools team will remain in the Microsoft developer tools division. 

To me, this looks like Microsoft doubling down on its XAML strategy, not abandoning it. By putting the XAML runtime team under Windows, Microsoft is making XAML part of the core operating system. This is huge. Anything included as part of the Core OS is treated as royalty inside of Microsoft. It also means that any XAML based application (either in WPF or Silverlight) will run natively as part of Windows, opening up the door to even faster performance.  (History buffs may recall that this was the original vision of XAML, aka Project Avalon, that was presented at PDC 2003. Better late than never? ;))

The Future: Native XAML

I see XAML as a native part of Windows 8, Internet Explorer 10, Windows Phone 7, and Xbox- the common thread that unifies development for the Microsoft stack, even more so than .NET (which does not fully run on all of these platforms) If HTML5 gets fragmented, as it surely will, I can one day even see a native, hardware accelerated runtime of XAML being released for the Mac (there already sort of is one), Android, iOS, and maybe even Linux sometime in the future. 

Notice that I have not been saying "Silverlight" or "WPF,” but instead “XAML.” It is more than possible that WPF and Silverlight will merge into "Silverlight+" or something like that, but XAML is the star. Since the XAML runtime has moved to Windows core and is no longer part of .NET, a "Silverlight" app that is deployed on the web, can run natively on Windows and take advantage of the local system and hardware, blurring the difference between WPF and Silverlight. It’s a natural evolution since the WPF and Silverlight teams at Microsoft were really one big team at this point. 

Since the Silverlight brand is popular and has a cool name (something Microsoft never seems to do), I have a feeling that Microsoft will leverage the Silverlight brand when releasing "Jupiter". I expect to see one native XAML runtime and development environment ship as part of Windows 8, effectively merging WPF and Silverlight. 

I don't see Silverlight as being dead, but rather reborn bigger and better. Instead of being its funeral, the Build Conference will be Silverlight and XAML's graduation party.

At Telerik, we are also going to double down on our XAML strategy. Since the beginning, we have always had only one XAML team with one XAML code base, so our WPF and Silverlight share the exact same codebase and our Windows Phone 7 tools are a subset of that codebase. We see Native XAML as a massive opportunity and will continue to support our XAML tools now and in the future. We’ve recently released a beta of our XAML controls that features a Persistence Framework and DataServiceDataSource as well as some spectacular Data Visualization controls. Our XAML tools, including Windows Phone 7, will ship the Q2 release later this month. We have our Q3 release scheduled later this year which should include some great new charting capabilities, new DataSource controls, and a ZIP compression library.

We will continue to make improvements to our XAML tools, including our Windows Phone 7 controls and our Facebook application, telerik fdeck, built on top of WPF and look forward to Native XAML’s long future.

posted on Tuesday, 05 July 2011 09:29:15 (Eastern Daylight Time, UTC-04:00)  #    Comments [7] Trackback
# Friday, 01 July 2011

As most of you know I do a lot of speaking in the Middle East. Many people, including my Mother tell me that I should not go to the Middle East since it is “dangerous.” Someone forwarded this to me, it was a session I did in December 2007 for the Cairo, Egypt .NET User Group. I did almost die right before the meeting, but not to terrorists. Winking smile Fast forward to 9:50 for the story. Enjoy!

posted on Friday, 01 July 2011 16:42:44 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback