Thursday, January 31, 2008

(Un)Happy Anniversary, MS Vista!

On January 30, 2007, Microsoft released Vista to the general public, with the hopes that every computer on the market would run the "enhanced" OS. The one year anniversary has come and gone without much (positive) fanfare. Ironically, some of the features deemed enhancements are the very ones that seem to drum up the most criticism: Security, Graphical Display, Memory Usage.

Now, if you were to ask me, I'm lukewarm-leaning-toward-cold on Vista. About the only thing that's "cool" to me anymore is the breadcrumb navigation in Windows Explorer. Yeah, I used the Sidebar for a while, with a "gadget" that showed how my system was performing. Yeah, I was all geeked out over "Windows Flip 3D" and all the other slick Aero features. But being a software developer who actually knows what he wants to install, modify, delete, I immediately turned off UAC! Sure, Vista warns me that it's turned off every time Windows Explorer restarts (which reminds, me I'm about two warnings away from turning off warnings!!!!!!) but I've learned to live with it....sort of. I agree with what's written in this article: http://www.pcmag.com/article2/0,2817,2254104,00.asp

For the record I have a Dell Inspiron e1505, 2.0 Dual-Core processor, mid-range graphics card, 2gb RAM with Vista Ultimate --$949 in the Dell outlet early last year. My wife has a $300 Acer with a Celeron processor, 512MB RAM and Vista Basic. (Don't judge me! We bought my wife's laptop right before the parents sent their kids of to college. She only needs it for Napster and email....seriously!) Do I even have to describe the pain of using her laptop? Do I even have to say that every forum recommended "downgrading" her laptop to Windows XP? But think about it: of the people buying $300-500 laptops, how many of them are thinking about how well it will perform vs. XP? My wife's a brilliant women in her own right, but she'd never think to search online in a forum for instructions on wiping out her laptop and resinstalling drivers, software, etc!

I'm sure most people are merely satisfied with whatever they are given. They probably have the "so-long-as-I-can-still-do-x" mentality. But people on the fringes -- the tech savvy on one end and the tech newbies on the other -- are going to be frustrated with the standard OS offering. So who is Micro$oft going to please: 80% of the users in the middle, or the 10% on either end? We'll wait for the answer. Until then, (un)happy anniversary, MS Vista! Thanks for the memor...uhm...thanks for...nothing.

Wednesday, January 30, 2008

The iPhone "Unlock" Issue

Who would think that unlocked iphones would be such an issue to Apple? Don't other companies deal with unlocked phones and get over it?


When 1 million are "missing in action" according to  the Reuters.com article "Quarter of Apple iPhones "unlocked": Analyst" anyone would take notice. Being an iPhone user (one of the best company policies we've enforced so far) I'm pretty glad that I have a "virgin" phone.


The reason I'm so glad for having a virgin phone is that Apple is going to have to make some interesting decisions concerning the future of the iphone. Those decisions I feel will make it harder to have the iphone on any other network unless Apple says so. Here is the conversation that pSw (fellow blogger and LightCube Solution Associate) and I were having on the issue. I've decided to take it to the blog so that others can chime in.


Conversation to date:


pSw: Should Apple [if they could] block all those phones that are missing? 


Let's loosely define "block" as jailing the phone so badly that the iphone elite team, Installer.app team, geohot and others would have no other recourse but to raise the white flag. (I personally think someone will always have the ability to jailbreak the phone but thats another blog entirely)


fhagard: It's amazing that they could sell so many phones yet suffer financially because of it.


pSw: The loss will only be for AT&T if that were to happen. 


fhagard: Apple would also lose on the deal because they make their money on the AT&T activation of the phone and not the phone sale alone. As stated in the article: 


"If Apple cracks down on unlocked phones it could preserve its high margins but miss its sales target, whereas allowing them could erode profitability and make it tough to sign more carriers to similar revenue-sharing deals."


pSw: Sign other carriers! Unlock the phones, or make a version for each carrier...that strategy cuts into profit margins on the phones themselves. But the returns are better in the long-term.


fhagard: Apple is all about the immediate returns for the hardware traditionally. If they focus on long-term returns they will never please their investors because they are coming out with something bigger in the next Macworld.


pSw: The problem with that is they already make a tidy profit from all their other hardware sales. If Apple were more like, say, Research-In-Motion, then that focus would make more sense. RIM makes the functionality possible; Qualcomm makes the phones. Their joint venture remains profitable only by making multiple versions of the same phone(s) for different carriers. Who's to say that Apple can't adapt to this and become bigger than Motorola, Samsung, and LG combined?


In response to pSw’s last comment I feel that Apple wont adapt to become bigger than Motorola and the rest. Why should they focus on making several different phones for different users/wireless companies when they can make THE best phone? They have always defined their game by being separate from the pack. They keep it simple and separate making the statement, 'we play well in the sandbox when we own the sand'.


So in the long run I’m very glad for my AT&T branded iphone playing in the sandbox the way Apple wants. More power to the dev teams who are able to unlock the phone, but I think the battle is on.


Thoughts Anyone?

Tuesday, January 29, 2008

Linux From Scratch

No blog of mine would be complete without a reference of some sort to Linux From Scratch. If you've never heard of it before, Linux From Scratch (LFS) is an online community that produces a book containing instructions on how to create your own complete, functioning and customized Linux system by hand. As you follow the instructions in the book, you compile all the software from source code and manually create nearly every configuration file within your system.

Apart from creating a lightweight, reasonably secure, custom system and the pride of knowing that you made it all happen, as you go through the book you also get a good picture of what makes a Linux system tick.

Personally, because of the LFS project, my abilities in shell scripting and the Unix command line increased dramatically. This, in turn, led to my being able to contribute back to the project. I initiated the LFS LiveCD subproject, created and introduced to the community a program called jhalfs that automates the LFS building process (it has since been revised by a few talented individuals), and even helped develop the actual LFS book (a copy with some personal changes lives here). It was a fun ride.

LFS continues to receive good reviews as there appears to be many who enjoy the experience of customizing completely their own personal Linux system. Here's a recent article that contains a fairly thorough review. The section on LFS begins on page 3.

Tuesday, January 8, 2008

Technology at Kennedy High School

John F. Kennedy High School is located in the Southwestern part of the Bronx, right on the border of Manhattan. Within the past two years, it has seen tremendous growth in the way it makes use of technology as an education tool. To a very large degree, the man behind that growth is Ali Shama. His vision has been driving many of the wonderful things happening at Kennedy recently.

In 2006, Ali brought me in to help implement and maintain the network services he needed in order to achieve his vision. Together, we installed four Apple labs consisting of around 34 iMacs each and an Xserve to handle default settings for those workstations. We then tied them into our existing Windows domain, allowing students access to the same network files and folders they would have when logging into a Windows workstation. We also set up at least 4 PC labs with 34 stations each and configured several network based applications, such as Rosetta Stone, Plato and Microsoft Student for use in those labs.

The impact this work has had on the school has been tremendous.  Students are learning to create, with very professional tools and in a very professional setting, digital video, audio and print. There more details about this in a great write-up Ali received in the New York Daily News.

What has been done at Kennedy, especially in connection with Apple hardware and services, is an example of what LightCube Solutions is offering.  In fact, I believe the work at Kennedy will serve as a springboard for future LightCube work. Thank you, Ali, for the great privilege I have had in working with you. 

Monday, January 7, 2008

Open Source Courseware

In my first post (Light it up!), I mentioned that LightCube Solutions has an opportunity to pioneer an open source courseware application. Here are a few more details:

In a nutshell, the idea is to create a web application (at the moment it is powered by PHP and MySQL) that allows High School students to study content on their school's intranet. Teachers will have access to add/create content and publish tests. When the students take the test, their scores are recorded in their profile. Teachers and other administrators can monitor their progress, scores, course history and so on. We want to keep it open source to allow a wider scope of input and collaboration.

Currently, the project is being organized here: http://www.lightcubesolutions.com/ScribbleAppTrac/
And a demo of the current code is here: http://www.lightcubesolutions.com/ScribbleApp/

The name of the project is likely to change, so stay tuned for more info.

--
JH

Wednesday, January 2, 2008

Be Agile, not Fragile!

All you want to do is write some code, and somehow remain profitable. Well, maybe that's not all you want to do. If you have one, you might be interested in fulfilling your client's needs, while not going on any "death marches" in the process. You probably want to work on features that excite you with technology you want to use. You might want some flexibility on deadlines in response to unexpected problems. Ok. Great! Now, choose your flavor of methodolgy: Agile, XP, RAD, TDD, Waterfall, RUP, SCRUM...should I go on? Which do you choose? How do you know what will work best for you and your needs? When in doubt, do what everyone else is doing!

Agile with SCRUM is certainly en vogue. The values of Agile development are captured by the Agile Manifesto: http://agilemanifesto.org/ (also see: http://agilemanifesto.org/principles.html) SCRUM is a way of managing the work and communicating status. The two combined certainly make for an effective set of tools and guidelines to make everyone happy. But the first thing you learn about SCRUM (or the first thing I learned anyway) is: SCRUM is common sense! Meaning, if you have bad developers, or good developers with bad practices, SCRUM/Agile won't help you; firing the developers will! See, common sense at it's finest.

But seriously. One of the advantages of Agile with SCRUM is that work is clearly exposed as knowledge changes. For example, say you agree to deliver the user administration widget in 4 weeks. But as the days pass, you complete work, but new features are discussed. You can choose with the stakeholders what to do with those features: do we try to squeeze all of them in, or can we release the most essential ones first and then the others as enhancements later? Developers get to talk to stakeholders without all that messy project management stuff getting in the way. Of course, there's a Product Owner (Team) and a ScrumMaster. But their roles are mainly about helping the developers work on the most important features without any impediments.

I've worked with Waterfall, Spiral, a little RUP, and now Agile with SCRUM. I love it! It's lightweight, it's simple, it allows for quick response to unexpected issues. I'll be posting more on this topic as my experience as a ScrumMaster increases.

WebApps Vs. Data Tennis

It's a common practice for businesses small and large to use spreadsheets in their business processes. The dependency of these files grows to the point of painful return. 

Consider the common scenario:

Team A works on a simple spreadsheet for data tracking. This file (on a daily or weekly basis) needs to be sent to Team B as an input to their workflow. Unfortunately the update to the file was not complete. Team B needs to send the file with their changes back to Team A for updates and validation. Here are classic complaints of this common scenario:
  • You are KILLING my inbox -  We are now zipping 7Mb files to email.
  • Can I change the way this spreadsheet looks? Answer: Yes- But it will mess up the formulas and conditional formatting.
  • It takes forever to run the macros on this data.
  • Some of this data (from 10 versions ago) was fat fingered. I wonder what else is wrong.
Picture the WebApp:

Team A updates a webbased version of their spreadsheet tied to a secure database. Team B has access to the database via the same webapp and is able to read and write on their timetable. The database and webapp apply version control, user access, routine backup and enhanced functionality. Classic comments:
  • I didn't know that this web stuff was so fast and flexible. 
  • This thing corrects me every time I enter something wrong, saves me plenty of time later on.
  • I get the solution to my data request right away. My macros used to take forever.
  • Both my teams can work almost simultaneously. They communicate much better with this WebApp in place. 
Yes its true. You can use conditional formats, data validation and scripting in spreadsheet applications. The problem is that over time managing these custom scripts files becomes a pain when going between different teams and business processes. Web based applications allows custom functionality without the overhead of large files. Yes its debatable, but why not limit the data tennis?

Telecom/Trunk ordering, resource allocation, reporting spreadsheets and the like can all be moved from 7Mb files (and growing) to a WebApp. Any questions?