Andrew MacNeill - AKSEL Solutions

Monday, January 04, 2010

Disrupting the Business Application Market Place

This will likely be the year that Apple unveils a tablet-based PC. Nothing innovative in that - Microsoft has had Tablet XP and Vista for years and Scoble used to schill those as well.

My thoughts on the consumer aspect can be found here.

There is a bigger issue that developers need to pay attention to.

Since the tablet will use a similar form factor (as reported right now) as an iPhone/iPod Touch, the tablet will likely support existing iPhone apps. So unless "full screen tablet apps" cost more than regular apps, Apple will need to change the entire pricing model for existing tablet style applications. When someone built an application for the Windows XP Tablet, it would be priced just like an existing Windows based application, so about $200-300. MindManager, for example, cost $395. The iPhone version costs $7.99.

It will have to hit a lot of users to match the original price.

Apple revolutionized music pricing with iTunes and even though the tablet may change the print or publishing industry (which Apple already did back in 1986), how it affects regular apps could become critical.

There are some arguments that if the tablet is focused on the print industry, then the disruption has already happened with Amazon's Kindle but the tablet isn't supposed to be "just" an e-reader, if one at all.

Apple certainly doesn't mind being disruptive - in fact, it's built its reputation on it. There are also some benefits in creating different pricing models. Changing the tablet/publishing pricing model would effectively show that a tablet isn't the same as a regular PC and therefore it should be priced differently. It might also force developers to focus on making application features specific to a physical form factor instead of the current "throw it all in" approach.

But the iPhone has also changed how people perceive apps. Why pay $200 for a GPS when you get the same results with Google on your iPhone? Why pay for traffic subscription services when you get it for free with the INRIX app?

How and when this perception moves into the business application world could cause some major disruption.

Should you build applications based on unique features that integrate with others? Or try to put it all in yourself? In my experience, most businesses want everything integrated and the best way to get that is usually from a single source. But that may change, especially with a device that isn't just a phone but a possible business changer.

Has the Surface disrupted the industry yet? No, but Microsoft is reportedly working on more of a consumer or smaller version. But how would a "single-location" multi-touch PC compete against a portable version? I don't think it can.

I also don't buy the whole "Internet Net-book thing". Internet applications have come a huge way in the past few years - and the fact that you can skin your regular web sites to look like iPhone apps is useful too, but I believe that the form factor of the tablet will also bring about at least one "killer" feature, one that is not easily reproducible on the web of today (tomorrow is another day). The current alpha version of Chromium isn't there...yet.

I'm excited about what these changes will mean in 2010 and beyond but just as intrigued about what happens when these changes hit the business application development space.

As a developer, the next time you look at your application, instead of trying to make it run on as many platforms at once, try to envision a specialized version for a given form or input factor.

What would you change to make your application run on:

a) an iPhone or SmartPhone
b) a touch-based desktop computer
c) an audio-only implementation
d) a web-only version
e) a flat 10 screen multi-touch

Thursday, December 31, 2009

Xsd2Code - better than XSD

I've been working on a few ASP.Net projects and one of the key aspects of this project is creating some usable XSD schemas that are then translated into objects.

At first, I started using the regular xsd.exe that creates a class (in either VB or C#) from a schema with the simple statement.

xsd "myfile.xsd" /l:CS /o:"C:\MyOutput\" /c

But I always wanted to have this directly within Visual Studio. I'm sure there's another way (so please let me know) but then I found
Xsd2Code .net class generator3.0.

It does the same thing that XSD does but also lets you create add Serialize and DeSerialize options, making it easier to convert a basic XML file into an object.

var o = FormInstance.Deserialize(xml);

The best part is that it's a Visual Studio plug-in (from Codeplex of course), so you can right-click on an XSD file and have it generate the necessary code. By default, the Serialization methods aren't included - but it's an option right from the generate dialog, shown here.



Anyone know of other tools for this purpose?

Labels: , ,

Wednesday, December 30, 2009

Jun Tangunan's Nicely Designed Controls

Just because a lot of cool stuff exists in VFPX doesn't mean there are other sources for inspired design.Jun Tangunan has been showcasing a number of his creations on his Foxite site.

Following Craig Boyd's lead to create "good-looking" applications, Jun's collection currently includes:

- An awesome looking button class
- A custom TitleBar class
- A switchbox class
- A calendar sidebar class
- A non-ActiveX based Date Picker
Jun Tangunan : Presenting SSButton Class


I just wish Jun would put his goodies into VFPX so they can be packaged at some point.

Great work!

Thursday, December 17, 2009

One Great Resume

VisualCV is a great service for consultants and just about anyone who is looking at building the next generation of resumes. But they also have a great sense of humour. Take a look at this CV

Thursday, November 26, 2009

Tip: Add your application in Control Panel

Here's another Foxite goodie: Add your application in Control Panel

Of course, this works for any application, not just VFP apps - but if you've ever wondered about how to easily add your application to the Windows control panel, here you go.

I ran it with Windows 7 and it added it with only 3 security warnings.

Wednesday, November 11, 2009

Tom's Planner | Online Project Planning

I first read about this tool over on TechCrunch and noted it down. I just tried it and have to say "wow".

Project Management can be hard but this tool makes communicating it super easy. Even better, the project manager can publish it online (with password protection for easier review)

It's certainly not as powerful as MS Project but many times too much time is spent filling in details that are never used when the most important part of handling a project is communicating where it's at.

Project files are stored on your own computer so you still have control over them but you can publish it, export it as a Project file or even just as an image.

The file format is simply a text file with details (this might be the beginning of a nice open standard project format)

This is a great online tool to do just that.

Thank You



On every day, we are thankful for our freedom. Thank You. To all of the veterans, of every nation, everywhere, who have given us that freedom.

Sunday, November 01, 2009

Windows 7 - review for developers

(note: the title refers to a review for developers - this is not about how to develop specifically for Windows 7 but rather a review of Windows 7 from the point of a developer and how its changes may affect you.)

Ars Technica does a very detailed review of Windows 7, going through key features and also the left-over bits of Vista. I'm using Windows 7 and find when I move over to XP or even Windows 2003, I really miss many features and so definitely recommend upgrading but let's go through the details on the review.

I've been using Windows 7 on and off now in beta and in its public form for over a year. While I never could wrap my head and get totally into Vista (I typically used Windows 2003 as a workstation - but I had to install and remove it for Trish twice), my first impressions of Windows 7 were very positive. The way Microsoft has "fixed" UAC for security is HUGE and while I still get a few "Are you sure you want to" dialogs, it's far less frequent than in Vista and one of the main reasons, in my mind, for developers (and users) to upgrade.

For an end user, the review is good but software developers should really take note, as it delves into the new user interface guidelines (also available in PDF) and even points out how inconsistent some Windows 7 pieces can be.

One feature I love about Windows 7 is the new Snipping tool. Developers with Snag-It will scoff at its limited feature but it does make it much easier for grabbing screen shots for regular users, instead of the old Ctrl+Print screen. I use Jing a fair bit on non-Snag it machines and it has stopped working occasionally in Windows 7, making the tool that much more useful.

But let me address some of the review points head on:

Ars actually slams the Windows 7 UI on several points, many of which I agree with. It's very bizarre to switch between the new UI in the control panel and find that some elements conform to the new user interface whereas others go back to the old Windows-XP style dialogs. Hey, you can't redesign everything - but just it feels wrong, as though even a little change would have been more welcome.

Some quick examples can be easily seen in the Control Panel. The Power options look new and fresh:




While the system Properties looks like Windows XP:



So far, I see three different UI approaches going on : the new look (like the Power Settings), the old XP properties and then the hybrid MMC look, found in the Device Manager, etc. As I go through different aspects of the Windows 7 control panel for the first time, you never really know which one you're going to get. Granted, there are definite problems with the new approach for complex dialogs but even the basic experience just feels "confusing".

As Those who have read some of my Advisor articles know, I do enjoy the inductive approach to user interfaces (while others don't) so it's maddening to me that Microsoft is still going between the three choices. There are pros and cons to each - but choose one already.

But as a developer, I understand this. I'm converting over a legacy FoxPro app that started as a DOS app and I'm moving over the key pieces into a more current interface based on the functions users use. Sure, while VFP 9 can run backward-compatible so a DOS-based UI can be used, the switching between a new interface and the older one definitely shows inconsistencies in an application. (I'll post on this later as it's definitely an experience).

The new Taskbar
I first lamented the loss of the Quick Launch (you can still reactivate it if you really miss it) - but I'm finding between the Jump List and the ability to pin on demand, it's a very welcome replacement. The comment on Ars where "number of applications offering this level of integration is currently low" is really related to the right-click functionality. Any application that supports document opening from the Explorer immediately supports the Recent functionality, including Visual FoxPro. Of course, if you're constantly opening VCX and SCX files, it may not really help. I've been running Ubuntu on another machine and the Taskbar concept is fairly similar between the two, making it easier to switch back and forth.

What I'm finding very useful about the new task bar is the awareness of what apps I'm really using. I use Wakoopa to track what applications I use on a variety of machines but on my primary workstation, it has helped cement my regular tasks to the point where I don't use SlickRun half as much as I used to.

The Start menu itself also makes it easier to find those recent files. I don't have FoxIt Reader pinned to my task bar, even though I use it frequently for reading, but the ability to immediately see what I've recently opened is definitely welcomed.

That said, the other part of the new start menu, the Start Menu search, is still as unusable on my machine as under Vista. I know many people rave about how nice it is to find applications but on my laptop (a Toshiba Satellite L300 with 4 GB RAM), searching for a simple word like "Feed" or "Hand" takes an initial 3 seconds simply to get any results. I find other areas of the Windows Explorer UI just as sluggish.

Document Libraries
Windows 7 introduces the concept of Libraries which is a huge improvement over My Documents. Rather than forcing users to put files into My Documents, Libraries let you specify which folders you want to use for Documents, Video, Music, Pictures, etc.
So immediately, I add my own "Projects" folder to My Documents and ensure it is indexed so I can find them fairly quickly. You can also add network drives so it isn't just limited to your machine.

One thing to be aware of is that thumbnails seem to be gone and some of the previews don't show. The secret is that the default option under Advanced for viewing is "Always Show Images, not thumbnails" - who thought of that?

Search? What search.
The Windows 7 and Vista search suffer from the "Google" UI approach - a single box where you have to know what the modifiers are to make it useful (datemodified, size). I recall a post by yag, where he commented on how new interns follow that concept, just put a single search box and have it search everything. This sounds great in concept but in a real application where users are comfortable putting information into fields (like Date Started or Customer Name and Part Name), users almost always wanted the traditional search where you put details into what you wanted to search for. That's a generational difference for sure, but having to know the modifiers, yuck. I see some experienced computer users who still type text into the search box and then instead of just hitting enter, move their mouse over to the Search button to initiate the search.

A list of default search modifiers (or filters, as Microsoft calls them) is available here. They also work with Windows Desktop search in XP and Vista.

Developer hint: you can create your own filter handler tags - see the MSDN article here.

One issue I have with the Windows Library concept may be specific to my machine (but others might be experiencing it) is a lag that seems to occur when searching or loading a simple folder. Sometimes the folder automatically refreshes (like XP) when I drop a new file into it, but other times I have to hit F5 to refresh it. I suspect the problem is related to when in an actual folder vs. a "library", which is akin to a virtual folder.

Devices
Ars Technica goes through the Devices page in details but one thing that I have observed is that it is *imperative* that you upgrade your drivers, especially if you are using things like SD Cards that are built into your computer. Sometimes, perfectly good SD cards don't show up or refresh until after I either a) restart or b) reload the driver.

Ars goes through more of the details for under the hood enhancements and some of the built-in applications. I think everyone will immediately notice the changes to Paint (making it more Office 2007-like) and others - but many of the changes are things that I don't use much anymore. I switched from a Windows Smartphone to an iPhone so the Mobile sync doesn't really apply that much and most of my Mail (now handled through Live Essentials) is done through gMail. One weird change was that Movie Maker is now part of Live Essentials instead of the operating systems. The main reasoning behind that is the development life cycle. There can be improvements rolled out to that product that are separate from the OS updates. It also elevates the Live brand a bit more but is Movie Maker really a tool that belongs in a "web-based" suite like Live? I haven't worked with it that much in the new versions but it doesn't quite make sense in that regard.

Multi-touch needs to wait for more devices and as we've seen, some of the Vista enhancements like Sideshow have never taken off. Multi-touch shows a lot of promise, though, as its implementations are being felt across the entire industry.

At the end, Ars reverts back to the old comment that Windows 7 is really "Windows Vista SP2", even so far as version #s go. I think it's the other way around. I think Windows Vista was more like a badly released beta and that Windows 7 is what they should have released in the first place. Considering that gMail was in beta just until recently, I don't think that's a far stretch.

Wednesday, October 28, 2009

New Hentzenwerke Visual FoxPro Book

Jim Booth has released an update to the popular "Effective Techniques for Application Development with Visual FoxPro" book from Hentzenwerke.

Published by Rainer Becker (and dFPUG c/o ISYS GmbH) and Whil Hentzen in both English and German, the eBook covers Visual FoxPro pretty much from soup to nuts but as Jim notes, " Although there is a lot of Visual FoxPro specific information in the book, there are also discussions that transcend any particular development tool or language."


Hentzenwerke Moving from Windows to Linux

Saturday, October 17, 2009

SWFox Conference on Twitter

For those who aren't attending SW Fox, they're doing a great job keeping people up with live streaming as well as call-outs to twitters - for example, Eric's first day wrap-up.

But as well, Joel Leach over on Foxite is also posting his thoughts bout it, including individual sessions, like Dealing with Legacy code by Alan Stevens.

SWFox Conference (swfox) on Twitter



 
milf big naturals cumfiesta mike's apartment