Members optimized for iPhone

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Innerhalb des Wahlpflichtpraktikums im SS 09 sollten die noch fehlenden Module des eStudy2Go für das iPhone optimiert werden. Dieser Artikel beschäftigt sich mit der Optimierung des Mitglieder-Moduls.
Der Titel dieser Seite ist "Members optimized for iPhone" anstatt "Mitglieder-Modul optimized for iPhone", da leider noch ein alter Artikel mit diesem Namen im Wiki herumgeistert.

Das Mitglieder-Modul

Das Mitglieder-Modul ist zum einen zuständig für die Anzeige der eStudy-User, die online sind, zum anderen aber auch zur integrierten Anzeige der Buddy-Liste, zum Suchen nach Usern und zum Anzeigen der Profile.

Warum Optimierung für das iPhone?

Bis dato gab es noch keine Implementierung des Mitglieder-Moduls für das iPhone. Genutzt wurde das des normalen eStudy. Dies ist aber nicht wirklich geeignet, da zu viele Informatinen auf zu engen Raum dargestellt werden müssen. Somit musste das Ziel sein, für den iPhone-User unwichtige Details wegzulassen und somit die Navigation zu verbessern.

Probleme

Zuerst war geplant, das Modul nicht komplett neu zu implementieren. Es sollte über CSS der Style soweit abgeändert werden, dass er auf dem iPhone darstellbar ist. Dies schlug leider bei dem Mitglieder-Modul fehl. Bei der Implementierung wurde nicht genügend auf die Trennung von Funktionalität und Style geachtet. Es wäre somit nicht möglich gewesen, gewisse Teile oder Bereiche auszublenden. Lediglich an der Farbe oder Größe hätte sich zum Teil etwas ändern lassen, was aber nicht zu einer merklichen Verbesserung der Nutzung auf einem iPhone geführt hätte.
Somit blieb nur der Weg der vollständigen Neuimplementierung.
Die häufige Verwendung von globalen Settings, auf die von außerhalb nicht zugegriffen werden kann, erschwerte die Implementierung. Z.B. die Buddyliste, die in einem anderen Modul untergebracht ist, musste angepasst werden.
Auch musste ich noch Änderungen im Messaging-Modul (optimized for iPhone) vornehmen. Genaueres siehe unten bei Screenshots.

Implementierung

Da das eStudy2Go bereits mit dem Zend-Framwork implementiert war, habe ich das Mitglieder-Modul ebenfalls nach dem Model-View-Control-Prinzip realisiert.

Dateien

Sobald der Code online ist, wird er hierher verlinkt.
Model
Member.php
View
IndexAction: index.phtml
SearchAction: index.phtml -> search.phtml -> show.phtml
Control
IndexControler.php
Search-Controler.php
Details zu den Dateiein und ihre Funktionen siehe bei Screenshots.

Screenshots

Member suchen.png

Die Index-Seite des Member-Moduls zeigt das Suchformular zur Mitgliedersuche an. Die Mitglieder können per Nachname gesucht werden. Es werden alle gefunden, die einen Teil des Suchbegriffs in ihrem Nachnamen enthalten haben.


Member online.png

Unter dem Suchformular werden alle User angezeigt, die online sind.


Member buddies.png

Hat der User Buddys eingetragen, werden diese unter den Onlineusern angezeigt.


Member perginator.png

Die Suchergebnisse werden alphabetisch nach dem Nachnamen aufgelistet. Ist ein Bild hinterlegt, wird dieses angezeigt, ansonsten das Standart-eStudybild.

Member details.png

Die Anzeige der Userdetails wurde auf das Nötigste gekürzt und mit iPhone-Toolkits versehen. Zum Senden einer PN dient der Briefumschlag.


Member pn2.png

Das Massaging-Modul musste soweit abgeändert werden, dass es möglich war, die UserId automatisch als Empfänger zu übergeben. Aus der UserID wird automatisch der Name des Empfängers generiert und eingetragen.

Testumgebung

Da ich leider weder ein iPhone noch einen iPodTouch besitze, musste ich auf iPhone-Simulatoren zurückgreifen. Der wohl bekannteste IBB Demo kam für mich leider nicht in Frage, da ich unter Ubuntu entwickelt habe. Nach langem suchen und ausprobieren, habe ich mich für das iPhone-Testinterface entschieden.
Die grundlegenden Funktionen konnten somit getestet werden. Auch der Style sollte auf einem echten iPhone entsprechend sein. Das Einzige, wofür ich nicht garantieren kann, sind Toolkits, die von Firefox nicht unterstützt werden. So zum Beispiel class = "tel": laut meinen Recheren sollte dies auf dem iPhone ermöglichen, durch das direkte anklicken die Nummer anrufen zu können. Ob es tatsächlich klappt, kann ich nicht mit Sicherheit sagen.

Fazit

Mir hat die Arbeit am eStudy2Go sehr viel Spaß gemacht. Es bot einmal ein wenig Abwechslung, nicht für einen normalen Browser zu entwickeln, sondern die Bedürfnisse des iPhones mit einbeziehen zu müssen.
Ich denke, dass das eStudy auf dem iPhone nur nutzbar ist, wenn alle Module angepasst werden, da die Seiten sonst viel zu überladen sind.
Was ich allerdings ein wenig schade finde ist, dass ich mein projekt nicht vollständig selber testen kann. Leider besitze ich kein iPhone und einige Feinheiten sind nur mit, wenn auch wirklich guten und tollen, Simulatoren nicht testbar.
Wenn eine andere Studentin oder ein anderer Student meine Arbeit weiter führt in Zukunft (es gibt bestimmt noch einiges zu verbessern), stehe ich für Fragen zum Code gerne zur Verfügung.


--Dominke-RTD8e 17:25, 18. Apr. 2009 (UTC)