Podcasts I listen to

No Gravatar

Hi people. Just a small notion: I won’t blog a lot as long as I’m employed, so if you wanna keep informed with what happens here, use the RSS feed with a RSS Reader.

Since I’m going to work by bike and need between 15-20 minutes, I begun listening to podcasts on the way. I like tech stuff and software development stuff - so if you like that I’ll give you some hints here. The podcasts I listen to usually go between 1 and 2 hours.

Software Engineering Radio | The Podcast for Professional Software Developers: A nice english podcast (from the accent I think everyone can guess that these guys are germans after all) about software engineering in general. Mostly interviews, nicely prepared, no queer stuff, interesting interviewees. My favourite podcast at the moment. Gets updated all two weeks.

Z! - Zeitgeist, Entwicklung, Technik - der Technik Podcast: A german podcast from two guys about tech-news that I like a lot - updated about every two weeks. Decent and well structured usually. I prefer this one to the next…

Bits und so: … which is another german podcast about techie news. Nevertheless I listen to both of these, to keep myself informed and listen to different views on the things that go on in our binary world. This podcasts most of the time sports about 4 people, so even if they’re pretty good organised sometimes it’s quite a mess. Another negative factor is a lot of commercial stuff in there and a focus on the Apple side of software - but its entertaining and the “picks” where tools get recommended is nice.

.NET Rocks!: As fresh .NET newbie I tried out this english podcast and was pleasantly surprised with its quality. Its fun, updated once to twice a week and usually sports a lot of .NET - tech and interviews with .NETters.

Die Drei Vogonen: I only tried this german podcast once so far, so this is more of a honorable mention. When I looked on the duration of over 6 hours, I was appalled a bit, but took the test nevertheless. First, it was only 3 hours long, then the whole show began anew - to technical issues on this one. Then the guys were more relaxed, also talking about personal stuff like where they went for vacation … and it was also pretty unorganised, despite a well structured layout with picks (same as in Bitsundso), short news (that are too short compared to some beekeeping-hobby-tales) and “deep thoughts” where a certain topic gets highlighted (but in the case of GPG the speakers just didn’t have a clue what they were talking about). So preparation minus, organisation minus, nice ambience plus. As time is limited (in fact the most limited resource in our short lives), I’ll ignore this one till the others have no more stuff for me.

I also tried the chaosradio, but I didn’t like the style and attitude of this one. Oh, and I need to try out TentacleprOn by tante soon.

iPad - Better wait till iPhone OS 4.0 is here

No Gravatar

Just read through some articles on the iPad, Apples new touch-tablet-device. These are my thoughts.

CON: I don’t want Apple’s iPad for the following reasons:

- I got a laptop, an iPhone and an e-book reader.

- The diplay is not e-ink - reading books on it therefore just doesn’t do it.

- It doesn’t fit in my pocket. Its not a phone nor a MP3-device.

- It uses the iPhone’s OS. But when I use a computer, I want multitasking. And I won’t want to have no mouse.

PRO:

- It has a decent resolution for games. The iPod touch / iPhone is already very sucessful, but it has enough space to make complex input fields possible. The iPad can do that. It will be a game machine, I hereby predict.

- It has the “I could buy it my mother, and she’d use a computer for the first time”-effect. It will be a great gift. This is maybe the most impressive factor.

- The programs Apple delivers with it are touch-optimized. But that won’t mean they’re better.

Summary:

Who needs an iPod touch that won’t fit into your pocket? Who needs a touch laptop without multitasking? Nuff said, lets wait for the iPhone OS 4 and what it brings to the iPad, because after all they’re running a standard iPhone OS without iPad optimizations. I guess there will be more usecases after the update, but at the time being I won’t buy one even if the price was 100$. Well, maybe as a present for my mom. Here are some more interesting links by Zemanta …

Windows 7

No Gravatar

I’m using Windows 7 for about a month now and would like to give you an impression of how it feels to me.

Windows 7 is Microsoft’s new weapon of choice. They went back from implementing in C# (–> Vista) to pure old C, as the performance losses of this political descision were accepted with the thought that “hardware becomes faster anyways”. They didn’t think about smartphones and netbooks back then. And got hit by really bad sales. Well, I’m using this platform for about one month now, therefore I thought I should share my experiences with you.

windows 7 in VirtualBox on windows xpImage by nick see via Flickr

Speed: Its not as fast as XP, but MUCH faster than Vista. The boot process is faster, though a bug slows it down for my machine at the moment. Glad you can hibernate. You should.

Its New!: It looks shinyer than Vista. Well, its REALLY shiny. It has all the drivers. If it hasn’t got the drivers you need, you usually get an URL where you’ll find it. But a system thats new also has some few bugs. But the approximately 50 updates I got so far made everything run very stable. Atm my boot process is very slow due to a bug, and sometimes I don’t have the “txt-file” in the “create new”-context-menu, but thats about it. And as its new, it also supports features that you won’t use now, but that you may want to use in the future, such as multitouch. Homegroups make easier network-sharing possible, even if it won’t help much till other devices use the feature.

It has a good search: As I didn’t use Vista, I’m not sure if Vistas search features were good, but 7’s search is really nice and was officially stolen adaped from OSX‘es spotlight. Just type and you’ll have what you were looking for really fast. If you need something from a not-indexed location, you can declare the location as indexed and will find everything there faster next time.

Taskbar: The taskbar is now merged with the quick launch-bar. This means, you can have quick-launch-links and “open-programs” in the same bar. Well this wouldn’t be a good thing, but if you have a quick launch-program open, you just have a rectangle drawn around it. This also prevents opening programs that are already open accidentally. While you hover over open program-rectangles, you get a small preview of the windows. Shiny. O, besides, the tray: You can define which tray-icon-programs may bug you with annoying messages, and which may not. That a nice feature.

Good feeling: I especially like the gesture-stuff you can do with open windows. Especially dragging a window to the upper border of the screen to maximize it and being able to un-maximize it by dragging the window away from there is a feature I use everyday without even thinking about maximization anymore. I don’t use the “shake-window-to-minimize-all-others” and only seldomly find a use for the drag of a window to the left or right border of the screen, which makes it maximize to that half of the screen. That might be a usable feature when you don’t have two monitors, but you can’t use it on the left side of the right monitor for example - which should be fixed.

Good overview: The system-properties are pretty cleaned up and you can find everything pretty fast. Smart guesses help you finding something you might have looked for that is related to the settings you’re just seeing. Hovering taskbar items gives previews of the respective window. If you have place at the right from the windows explorer, content of chosen files gets previewed (as long as its text, pictures or microsoft-stuff like wordfiles). All pictures and music get shown up in virtual folders called libraries. The desktop widgets now can be dragged around on the desktop, as I have found out just today, when I firstly used a yellow sticky note as ToDo-list. Or am I mistaken and this is an office 2007-feature? Well, perhaps my overview here is blurred.

All in all, Windows 7 doesn’t make me freak out. Its nice, futuristic, and has got a lot of nice new stuff. Thinking about what I don’t like I only can mention that I like to define myself, which are my “my pictures” folders and such, but I don’t have any really negative points to say. Well. Make it cheaper, but I guess that doesn’t count. That said, I would definitely advise EVERYONE running Vista to upgrade. XP users who like their interface don’t need to switch by all means, but eventually, XP will be outdated some time, so wrap you head around something new. Something shiny.

What should a good ToDo Tool do?

No Gravatar

About a software - and what you would need it to do so you think it would be useful for you

After trying out many different ToDo tools, I found that none of them makes using these tools fun. I don’t have a mac, otherwise I would certainly use something like “Things“, as the introduction movies look pretty nice and simplicity defines the software.

Nothing on the PC? Well, not entirely: we have A LOT of REALLY BAD solutions for Windows. Firstly, Outlook. This one is too simple, and office is high priced. You cannot organize ToDos with Outlook. Then an unlimited number of applications that fill your screen and give you 1 million buttons. Require about 10 hours to use first time. Missing a good PC-ToDo-tool, I looked for web applications. Toodledo is a nice service, but the interface just sucks. And you won’t use a bad interface anymore, as we’re living in modern times where usability engineeriing is reality … sometimes. Additionally, the web-software needs me to keep an eye on the browser everytime, which I just don’t like. If I want to get things done, I shouldn’t need the browser for that as we all know where that leads (youtube).

Therefore, I only depend on the iPhone-”Todo”-app, the only one thats pretty much usable. Sadly, I don’t have a 3GS, and the 3G needs about 5-8 seconds till I can see the screen and the app is started, so thats not perfect too. I often let this app run at work, but seeing the screen still takes 3 seconds.

So, what would you do? Usually, if you want a certain software-tool that exactly fits your needs, you just try out some, and after you didn’t find what you were looking for, you just use the next best thing OR just decide to throw away the idea completely. Well, that is, if you’re not programming software. So I decided to write down some requirements and asked at Abelssoft (the company I work at) if we could do something like this. Well, we could try :-)

So I’m asking you: What is the most important requirement, a todo-tool should fullfill, so that it would help YOU? What we found out is that it needs to fullfill the following:

  • easy to use, intuitive to use
  • small, compact interface thats in the background, popping up from time to time to ask if you still do <this>
  • tells me what I should do next
  • rapid way of adding new todos (and a rapid way of setting importance, due dates and stuff)
  • only necessary properties of todos (some want projects, some categories, everyone contexts, some tags, some planned time…)
  • good organisation of todos (projects? recurring todos? inbox?)
  • good filtering (if I search something, I need to find it instantly)

We had another giantic list of things that COULD be nice, but we’ll be trying to keep it sleek. And we found out that most people have very different ideas, what a todo tool should do more than the above. My boss wants project planning stuff like how much hours will this item take (I won’t want this). I want it to be able to synch to my iPhone (others don’t use iPhones). Some want dependencies between single todo-items (like this one can only be ready after another one), but how can you build this in without blowing the tool up to one of the complex tools already available? Some want projects while others find them confusing. Some want time-management-functions inclused. Some want further project-planning stuff like delegating ToDos or connectors to projectmanagement solutions like JIRA included. Choose and divide, young jedi.

Also, the GTD-philosophy seems to get in the way sometimes. For example, “Folders” don’t make any sense to me when you have contexts. They’re some kind of tags gone worse. That said, I like tags more. For these and some more reasons, I’m not sure if we should follow a certain philosophy (like the 30-year old GTD), as these were born in times when computers were not that essential in people’s everyday lives.

What do you think? Which feature would let you use a ToDo-organizer?

Writing and Reading Blogs

No Gravatar

I just got inspired for this article here, where Aditya Mukherjee talks about how and why he blogs.I want to talk about that and about why I read blogs - as this is something many people here in germany don’t understand or just don’t want to do.

Aditya Mukherjee tries to get better, develop his way of writing and wants to present his ideas to the world. He tries to keep track of his personal progress. These also motivate me to blog. I’d also give people I know the possibility to read my ideas even when we don’t have real-life contact, as this makes people keep connected. And keeping connected is important to everyone of us. Its not the meaningless facebook-friendship, but the possibility to read, what the other person’s up to. Thats also why I’d love to see more people I know blogging or at least using Twitter. They might think I don’t care about them, but the point is that nobody likes to ask everyday “Hey, whats up in your life?” - and given that you have more than one or two persons you know, its better to have a push- instead of a pull-mechanism to get their updates. When something is important to a friend, I’d like to know it. If he put it on twitter, I get that update. If he even writes a longer blogpost, I still can decide if I’d like to read that thought of if its not important to me.

And writing blogposts isn’t a big deal wither. Okay, it takes some time, and at the moment I can’t find much time to do that either, as I just finished studying and will begin working in a software company tomorrow - and just bought a flat with my girlfriend (well and you have no idea how much time it takes to pick the tiles, the lamination, every bit of the kitchen and get all the bureaucracy done). But writing helps me to order my thoughts and to improve my english. And perhaps someone I happy to hear from me again. You never know.

Same with reading blogposts. I began subscribing to a small number of XML-feeds (from blogs of people I know), but learned some other great blog, that I like to read. Some of them are technical, some are philosophical, some are both. Lately, I posted a blog-link to someone who might have been interested in it, about a management technique that is used in his work and what often goes wrong with it. The response I got was “I don’t have time to read blogs - and this stuff in blogs is all pure theory and has nothing to do with the real world work. And by the way, everyone can read blogs.”

This somehow stroke me. Someone who doesn’t read blogs tells me that everyone can do it. Well, I agree that everyone can read, but reading blogs with content that is about your profession or about stuff you care about is important information for your life. And of course you can’t do that if you don’t take time for it. Some people read the newspaper to know what happens in the world - and they take their time to do that. Some read professional magazines - and also take their time to do that. So whats wrong about reading blogs?

Well, I guess the problem is, that its not really commonplace in Germany to do that. People here are always 4 years behind compared to the trends in the USA - and blogs in Germany are often thought of as homepages where people show off the newest funny stuff they found on youtube. If you’re really picking the good quality stuff, you get much more personalized information than you’d find in any newspaper or professional magazine. The writers are not professional all the time, but who cares? Iknow my posts are not too well thought-out too, but hell where’s the problem? You can skip every blog entry as you could flip a page in the newspaper.

Now back to “everyone can read blogs”: indeed. But not everyone can be patient enough to read blogs, to find blogs that delivers good content and to digest that information in a ways that helps you in your everyday life - or work. Its the same with books. Everyone can read them - but that doesn’t mean everyone takes time to do so. Hell, perhaps it would be better to read books, but if you’re into computers you’ll soon realize that the world changes too fast for books to be cutting-edge.

Well, nevermind. Just a lifesign from someone who doesn’t find much time to blog at this time.

Touchscreens do not suck

No Gravatar

This was meant to be a comment on the post touchscreens suck, but it became a bit long and therefore its own post here. The author basically talks about some main usability issues with touchscreens: having the fingers where you need to read (thus using up viewing space), missing or unnatural feedback (from virtual keyboards) and the missing ability to pick something up and put it somewhere else (that I’ll call “drag and drop“). Its also perfectly possible that some might think I sound like an Apple fanboy in this article, but I’m perfectly willing to use a better mobile phone when someone invents it. I’d love to see a Pre for example. Oh, and I use a PC.

Touchscreens are ALL about usability. The concept is called “direct manipulation“. Humans always try to use their hands to manipulate something they see. If you’d give a caveman a computer-monitor with some windows and items and a mouse and a keyboard and tell him to move one icon around, guess what the caveman would try to do to manipulate the objects on the screen? Touch them. Grab them. Squeeze them.

Direct manipulation feels more intuitive to humans - thats why the mouse was invented in the first place - as the next best replacement for a hand on the screen. Of course people could have gone on using keyboards and shells and being pretty effective with it. But Windows and the Mouse made computers usable for normal people for the first time.

Don’t forget mice and keyboards have been around for a really long time, so the concept is perfected now. As with all “new” technology, its not always nicely thought out well in the beginning. Apple is a bit ahead of the game as they already have Touchscreens on the market for over two years now and you could argue they were concepting on this long before - while other companies really began thinking about copying when the iPhone 3G became such a huge success one year ago.

The iPhone is therefore the touchscreen-device you need to look on when you try to talk about the usability of touchscreens. I held and tried to use A LOT of different other touchscreen smartphones and they plainly ALL SUCKED in some way. Most need too much pressing power to be usable (therefore if you pressed too lightly, the input may not have been recognized), are imprecise, have stupidly laid out virtual keyboards and have weird menus all over the place.

But now let me come to your main critisizm: using a touchscreen instead of a keyboard. Your view on touchscreens seems to be that they’ll replace keyboards. Touchscreens are SCREENS and nothing can stop you from using a keyboard anyways. They DO NOT take up more space. The keyboard is just not used in mobile phones sometimes, as it can be emulated by the touchscreens and you don’t type much on mobile phones anyways. And I must definitely say: yes, if you type a novel or some code, you’ll definitely not want to do that on a touchscreen.

:Image:IPhone_Release_-_Seattle_(keyboard) cro...Image via Wikipedia

Touchscreens are meant to be used with easy-to-use input elements like buttons and sliders. Press a button. Why grabbing a mouse, moving it to move the pointer on an icon and click the mouse if you can just touch the friggin’ icon itself? BUT virtual keyboards work better than expected - on the iPhone at least. If you and me type a 160-character message on our phones, I can guarantee you that I’ll be much faster - I can use my two thumbs on an accurate virtual keyboard with a well-working language-correction, zero response time and good feedback in landscape-mode. I never thought that it would work that well, but it does.

Ah here comes the feedback issue.

Apple also seems to think you’ll need keyboard-feedback, as everytime you type a key on the virtual keyboard you get a keyboard-like clicking sound (in fact I exchanged it via jailbreak because I didn’t like the clicking sound). The popping-up letter that tells you which button you just pressed is only there a millisecond - just long enough to be able to see it. It never interferes with your input. My girlfriend has vibrating feedback on her touchscreen-phone. And already asked me if I could turn that off. So much for haptic feedback. (Meanwhile haptic feedback for touchscreens is in development, the plastic screen can “bubble up” a bit, but I don’t think this will be a big breakthrough.)

Having the hand where you need to see the screen is bad. Therefore the visible area is made smaller, so you have room for the virtual keyboard. The keyboard is usually on the bottom for the screen, so your hands don’t interfere with the rest of the visible area that you need to see. This is a very good solution I think. If you argument that you can slide out your keyboard, I could say that this is not a touchscreen problem. The G1 showed that slideable keyboards can be combined well with touchscreens, an Apple-patent for a slideable touchscreen-device (say an iPhone with a slide-out touchscreen) shows that this is only a problem of miniaturization - not of touchscreens theirselves.

But all this was referring to mobile phones, where typing is not the main problem and novels don’t get written. What about touchscreens in computers? I also don’t think this is very usable. Think about how you sit in front of your PC doing work. Try (for 5 minutes) to click and drag-and-drop on your screen and then think about typing a text on your screen. This would clearly suck. The monitor is too lange to move everything around, go from here to there with your fingers 1:1, and usually a monitor is standing in front of you, so typing on it wouldn’t work well. In a usual computer, a touchscreen could only be an addition - and for an addition, I would be pretty expensive.

Apple again is leading the market here (they already build accelerators into macs so you can bump the screen from sidewards to close a window, but I consider this meaningless - just a funny fact). They’ll present a “Touchpad” soon, a tablet-mac with a touchscreen-only input - and this thing will be used to type on with a virtual keyboard. And this is the whole solution to the problem! A tablet PC. Small screen size. The monitor is on the table if you type a longer text, so its where the keyboard usually is. The screen is large enough so you could type conveniently. But will you be able to type fast on a screen with no haptics? Well, I don’t think so. Or at least, I can’t imagine it working as good as a traditional keyboard.

Conclusion: The smaller the device, the more a touchscreen makes sense and the more the touchscreen will work. Just try out an iPhone or iPod Touch for a day or two, and you’ll see that touchscreens work really good when the device and the system behind it are well laid out for this means of input. But the keyboard will not be replaced in the near future - as command-line-shells won’t be replaced too.

P. S.: Reviewing this post, I just realized that I didn’t talk about drag-and-drop. I must say that I also think that drag-and-drop still works best on a mouse, but I also saw some iPhone-games that really do a great job in this resort. Apple doesn’t use any drag-and-drop in the iPhone, aside from rearranging the icons. Touching an icon for one second makes all the icons wiggle so you know you’re in drag-and-drop-mode, but I don’t think this is the best solution. But they’ll have to make it work on their touchpad I think. Maybe they’ll use multitouch - I’d use two fingers moving from outwards towards the item, which would highlight the item (or make it bigger) and then drag it to its destination, releasing it with a click. We’ll see soon.

Learning to Code - You Really Want to be a Programmer?

No Gravatar

There is a lot that you can do wrong. A lot that I did wrong and that took its time. But after all I think I made it. So here are some simple rules that you should follow if you’re trying to become someone who touches keyboards a lot:

Have a goal. If you just want to be a programmer but don’t know anything that you’d like to program, you’ll have problems keeping yourself motivated. Going into a certain direction of technology is a good idea too, so you know what you can concentrate on.

Just do it. (In fact, this statement is the best you can do in any situation of life.) Every time that you’ll write code, you’ll learn something new that will get you closer to your target.

Never miss an opportunity to code. If you have a project where you’re working / studying, try to take responsibility for some functional piece of software. Documentation or user-testing won’t get you further.

Use an IDE. I began with writing java code in a text editor, compiled it by hand and did so for some time, because I thought “Eclipse looks … complex”. It was an error that cost me soo much time. Embrace all help that you can get, if its an IDE, a build tool or whatever tools you’re friends and colleagues use. They all save time, and thats the stuff life is made of.

Don’t forget to use a console too. There are a lot of graphical things out there that want to make you move the mouse more and the keyboard, but often there are no better solutions than just using the command line. Don’t be afraid of it, you’ll have to learn all the commands sooner or later anyways.

Make a list of skills & experiences that you’d like to have. Making your first objects, Unit-testing, working with threads, building a gui, parsing some HTML or XML, getting data into a database or out of it, using the twitter API, building a website, writing a firefox-plugin; HTTP, HTML, CSS, JavaScript, Flash, (a lot more Web-Technologies), Frameworks of all kinds … write down what you think would be useful whenever you meet something new you want to learn … and then make it some kind of long-term-To-Do-List.

Don’t think too much about inheritance, interfaces, reflection, … you can first live without that or just use it by-the-book and will understand what they do soon.

There’s no magic involved. Just code. Like in JUnit, I somehow thought it would verify that my code has no errors if I just configure it correctly - plain wrong, no magic inside! You have to write code that checks everything in your other code. I also thought Struts2 would make websites by magic - again, just code. There’s nothing visible that you don’t code, its just makes just need very few code to get those websites running.

Framework is a signal word. Its means “Software that makes something easier for you”, but you should be aware that you’ll need to invest some time to learn how to use it. Framework should give you a positive feeling, when you hear it, like “I’m here to help you!”. Again, no magic involved. Usually ;-)

Ask. Use online forums, ask friends or people you work with. Google can’t always help (but don’t ask question that Google can answer easily). There is so much that could be known about technology, that noone knows everything (especially when you don’t have your master in computer sciences and 10 years of field-experience). Just accept that and also accept if others don’t have all your knowledge.

Teach. If someone asks you and you know a solution, then help him. Assume he didn’t understand something basic that you know and be sure that you teach it so he can solve the same task again later on. Never just give someone the code, they won’t gain anything from that.

Find someone to learn with. Someone who is the same stupid guy like you and also doesn’t know how to do that complicated stuff. Where one brain gets stuck, two often find a solution and both learn. Working together on a project is a great way to learn. Just make sure the other person keeps up with you, or vice versa.

Never stop learning. Technology evolves with lightspeed, new languages appear, new technology is invented. If you’re involved with computers, you’ll probably be one of the most-learning-and-training persons of the world. Never assume you’re ready to “just do work”. Where would be the fun then?

Get tech feeds. Or follow twitter-users who have the smae interests that you have. From time to time, there will be interesting articles that will teach you good new stuff.

Don’t be afraid to buy books or magazines. Its not always cheap , but if it saves you time learning you should just spend that little money. You’ll get that money back with your skills later.

Get your head around this object-orientation-thingy. Don’t use GOTO. Don’t put the whole code in the main-method. Classes are just there to produce objects and objects are nothing more than some fields and methods in one instance. If you write a main-method, produce an object that does that work from there. Objects can be tested nicely and are more useful.

Its not just coding. Software design, team management, data structures, design patterns, team-collaboration, algorithms, time management are all with you at that party. And much more. And don’t you ever forget your social skills. They might be the most important after all. Even programmers need friends ;-)

Be careful with your coffeine comsumption. A programmer is a person who converts coffee to code, after all. If you still want to code, connect with me on Twitter. What do you think I missed? Do you have more hints for the newbies? What was not ever told YOU, that you should have known from the start? Just add a comment …

You seem to be using an unsafe, outdated browser. Click here to install the world's fastest and safest browser for free! X