Saturday, 27 July 2013

Death of Windows?

I have been using and developing software for Microsoft Windows for over 15 years now and have been a fan until the last couple of years. It seems Microsoft keeps making basic bad decisions in the way their software works and the latest offering is Windows 8, which is confusing and chaotic and shows they need to make some better decisions in the future to survive. Here are some reason why I think Windows is a dying operating system, after using it for a very short period.  
  • It's feels like an incarnation of the previous version, with more features, but not as user friendly.
  • The way you use it seems confusing with options to run in 2 different ways depending on what you are doing.
  • The new design does not wow and is pretty boring, I did not like using it and it is not intuitive enough. It seems to also seems to break some UX design rules, including hidden controls, ugly icons and everything is very boxy and flat.
  • Search is still slow, Microsoft really needs to sort this out, iOS is far better and easier to use.
  • From using it for a short time it made me feel that I should stick to Windows 7. 
  • Messages are sometimes unfriendly, condescending  and techie. 

I think it is a case that in the future Microsoft will see that Windows 8 was a bit like ME and Vista and will need to get it right with Windows 9. These are the features that I think are required in the next version of Windows.
  • Improve startup and shutdown times.
  • Get rid of the 2 personalities of Windows 8 and Windows 7 desktop, and make it feel like a single OS.
  • Don't hide features and expect users to explore to find hidden treasures, it's not a game.
  • Get the search working properly so its quick, easy and finds the results, look at how Google and Apple do it.
  • Needs to be more intuitive.
  • Make it more innovative and include support for future technologies like Kinect, 3D and voice recognition.
Microsoft is in a difficult position at the moment with not just Windows, but their Office suite and their new XBox looking like it might be overtaken by the PlayStation 4, which from the specs is a superior games machine. I think they will need to have a good look at themselves, their competitors and the market place and come up with some great new products to survive, and there is a good chance they will.

Tuesday, 9 July 2013

How to insert a horizontal line in MS Word

I'm not a great fan of Microsoft Word, over the years it has become too busy and harder to find the feature or option you are looking for. A good example of this poor design is how to add a horizontal line, here are the steps for Word 2007, it is similar in other versions I have used.

  1. Select the 'Page Layout' tab page along the top.
  2. Click on the 'Page Borders' button.
  3. In the bottom left corner there is a button to add a 'Horizontal Line'. Highlighted on the image with a red box.
This seems a strange place to put this feature and I think it should go in another area of the software.

Friday, 5 July 2013

Delphi XE4 - The future of software development?

I have been working in software development for 15 years and have seen some changes, but nothing as much as what has happened recently. Over the past few years we have seen the explosion of Apps onto our smart phones, tablet computers, Smart TVs and more choices when it comes to operating systems. With all these new devices with varied screen sizes, different interfaces and different operating systems does software development have to change?

Firstly it depends on the type of software you want to develop, if you are developing traditional desktop applications then the current suite of languages and environments works well. But if you foresee that in the future you want to develop for other platforms and devices what options do you have. Here is a list of possible options all most likely require developing the business logic in a web service, depending on what software is being written.

  • Develop the apps in native code for each type of device, for example xCode for iOS.
  • HTML5, produce the app like a web site.
  • Embarcadero Delphi XE4, allows you to develop for both and deploy natively.
From these options it depends on the business which one is chosen, recently Facebook has been open in its development of a mobile App and said it tried HTML5 and failed to deliver a suitable one, and now believes in developing in native code. HTML5 does however seem like a good solution from a cost perspective, developing for each mobile platform requires more resources, time and management. 

The ultimate software development solution in my mine would be to combine the advantages of both, and develop in the same IDE, but deploy to multiple devices natively. Embarcadero's Delphi XE4 from what I have seen so far seems to be getting close to this. I have seen demos of developing iOS Apps on a Mac in a Windows environment, which can then be built and run on the Mac and deployed to an iOS device. This also means you can develop standard Windows software and web services in the same IDE, so all the code is done in the same development environment.

One issue with Delphi is that there are not many developers using it, but this is not that much of a problem seeing as it is very similar to C#, and I manage to switch between the 2 fine. So anyone who is competent in C# or another similar OO language should pick it up fairly quickly.

One downside of Delphi is the price, it is more expensive than other options, but taking into account cost savings of time and resources it most likely will recoupe this cost fairly quickly.

I have not yet started using Delphi XE4, so cannot give a full review of it, but at this moment it looks like a very exciting product that shows where software development needs to go. I will keep this blog up to date with more news of Delphi XE4.